Introdução ao Computador

Propaganda
SUMÁRIO
A História do Computador _________________________________________________________________________________________ 2
As Gerações dos Computadores __________________________________________________________________________________ 5
Primeira Geração (1946-1954) _____________________________________________________________________________________ 5
Alan Turing – O pai da Ciência da Computação ________________________________________________________________________________ 6
O primeiro bug da história ______________________________________________________________________________________________________ 6
Segunda Geração (1955-1964) _____________________________________________________________________________________ 7
Terceira Geração (1964-1977) _____________________________________________________________________________________ 7
Quarta Geração (1977-1991) _______________________________________________________________________________________ 9
Quinta Geração (1991-dias atuais) _________________________________________________________________________________ 9
Representação da Informação _________________________________________________________________________________ 10
Como um Computador é Formado? ____________________________________________________________________________ 11
Arquitetura de Computador (John Von Neumman) ___________________________________________________________ 11
Dispositivos de entrada e saída (E/S) _________________________________________________________________________________________ 12
Memória _________________________________________________________________________________________________________________________ 15
Processador _____________________________________________________________________________________________________________________ 18
O Barramento ___________________________________________________________________________________________________________________ 19
Exercícios ____________________________________________________________________________________________________________ 20
Sistemas Operacionais ___________________________________________________________________________________________ 22
Histórico ______________________________________________________________________________________________________________ 22
Classificação quanto aos Usuários________________________________________________________________________________ 23
Sistemas Monousuário/monotarefa __________________________________________________________________________________________ 23
Sistemas Monousuário/multitarefa ___________________________________________________________________________________________ 24
Sistemas Multiusuários ________________________________________________________________________________________________________ 24
Tipos de Sistemas Operacionais __________________________________________________________________________________ 24
Sistemas Monoprogramáveis/Monotarefa ___________________________________________________________________________________ 24
Sistemas Multiprogramáveis/Multitarefa ____________________________________________________________________________________ 25
Sistemas com Múltiplos Processadores _______________________________________________________________________________________ 27
Estrutura do Sistema Operacional _______________________________________________________________________________ 30
Modo de Acesso _____________________________________________________________________________________________________ 32
Funções do Sistema _________________________________________________________________________________________________ 32
Exercícios ____________________________________________________________________________________________________________ 36
V e r s ã o
1 . 0
P á g i n a 1 de 36
INTRODUÇÃO
A História do Computador
O homem sempre procurou produzir mais com
menos esforço e criou as máquinas para a simplificação
e a evolução do trabalho humano.
O ábaco foi um dos primeiros instrumentos desenvolvidos para auxiliar os humanos na realização de
cálculos. Muitos atribuem sua criação à China, mas
existem evidências deles na Babilônia no ano 300 A.C.
A ideia básica no ábaco é considerar as contas
(bolinhas) contidas na parte inferior, chamada de chão
do Ábaco, com valor unitário e cada conta contida na
parte superior, chamada de céu do Ábaco, com valor de
cinco unidades. Cada valor unitário tem representação
diferente dependendo da coluna em que se encontra,
logo, uma unidade na primeira coluna tem valor 1 em
nosso sistema numérico, já uma unidade na segunda
coluna tem valor 10.
NASA, na década de 1960, nos programas que levaram
o homem à Lua.
A primeira calculadora que realizava operações
de soma e subtração, denominada “La Pascaline”, foi
criada em 1642 pelo francês Blaise Pascal. Essa máquina funcionava por meio de uma engrenagem de rodas dentadas que levava os dígitos de uma coluna a outra. Os resultados apareciam em uma espécie de janelinha.
Figura 2. A primeira calculadora que realizava operações de soma
e subtração: "La Pascaline", criada por Blaise Pascal
Leibniz, sucessor de Pascal, construiu uma máquina bem sofisticada, com avanços práticos. Ela trabalhava por meio de alavancas e relógios.
Figura 1. O ábaco chinês
Em 1614, Napier inventou o que ficou conhecido
por “Ossos de Napier”, que auxiliavam na realização de
multiplicações, baseando-se na teoria de logaritmos. Já
criação da Régua de Cálculo, em 1632 na Inglaterra, foi
diretamente influenciada pelos Ossos de Napier. Esta
régua chegou a ser utilizada pelos engenheiros da
V e r s ã o
1 . 0
Figura 3. A máquina de Leibniz, que já incluía operações como
multiplicação e divisão
P á g i n a 2 de 36
Um destaque para a história da computação foi
invenção de máquinas programáveis, que funcionavam
de forma diferente de acordo com uma programação
que lhes era fornecida.
Em 1804, o Francês Joseph Marie Jacquard inventou uma máquina de tear que trançava o tecido de
acordo com uma programação que era fornecida através de furos num cartão.
Em 1837, Charles Babbage anunciou um projeto
para construção da Máquina Analítica. Influenciado
pelo tear de Jacquard, Babbage propôs uma máquina
de propósito genérico, utilizando uma programação
através de cartões perfurados.
Babbage trouxe um grande avanço intelectual na
utilização de cartões perfurados, enquanto Jacquard
utilizava os cartões apenas para acionar ou desativar o
funcionamento uma determinada seção da máquina de
tear, Babbage percebeu que os cartões poderiam ser
utilizados para armazenar ideias abstratas, sejam elas
instruções ou números, e que poderiam ser referenciados posteriormente, adotando para sua máquina o conceito de memória.
Figura 4. Máquina de tear usando programação através de cartões
perfurados
Na época da Revolução Industrial, foram colocadas as primeiras grandes ideias sobre o trabalho humano vir a ser realizado por máquinas. O projeto dessa
máquina é considerado como o primeiro semelhante
ao nosso atual computador: a máquina diferencial
(1822). Juntamente com esse projeto, o matemático inglês Charles Babbage desenvolveu a ideia de um dispositivo de entrada e saída. Essa máquina usava cartões
perfurados.
Figura 6. Cartões perfurados
A Primeira programadora. A condessa de Lovelace, Ada Byron, se interessou pela máquina analítica
de Babbage e se comunicava com ele através de cartas
e encontros. Ela passou a escrever programas que a
máquina poderia ser capaz de executar, caso fosse
construída. Ela foi a primeira a reconhecer a necessidade de loops e sub-rotinas. Por esta contribuição, Ada
ficou reconhecida na história como a primeira programadora.
Linha do tempo dos precursores dos computadores
Figura 5. A Máquina Analítica, projetada por Charles Babbage,
fazia cálculos avançados e permitia a utilização de cartões
perfurados para operações de leitura e escrita de dados
computados
V e r s ã o
1 . 0
300 a.C.
1614
1632
1642
1672
1804
1822
1837
Ábaco
Ossos de Napier
Régua de Cálculo
“La Pascaline”
Calculadora de Leibniz
Tear de Jacquard
Máquina Diferencial (Babbage)
Máquina Analítica
P á g i n a 3 de 36
Alan Turing desenvolveu o que conhecemos hoje como
a base de todas as técnicas de programação, numa
forma de inserir dados das máquinas chamada de decodificação. As informações eram transformadas em sinais (0 e 1). A partir daí, as máquinas puderam trabalhar com todos os tipos de informação.
O crescente avanço da tecnologia utilizada na
criação das máquinas chamou a atenção dos militares
norte-americanos, que, interessados no poder que essas máquinas poderiam trazer a longo prazo, empregaram vultosos investimentos em pesquisas e projetos
sobre computadores. Durante a 2ª Guerra Mundial, os
militares começaram a ter os primeiros resultados desses investimentos.
O Mark I, um enorme computador que utilizava
milhares de relés, foi desenvolvido pela Marinha em
parceria com a Universidade de Harvard e a IBM, em
1944. Um dos problemas apresentados pelo Mark I era
o ruído alto e intenso que ele emitia quando estava em
funcionamento.
Figura 7. A máquina de Alan Turing, que trabalhava com o processo de decodificação e introduziu a codificação binária (de zeros
e uns – 0..1), conseguiu decifrar mensagens nazistas criadas pela
ENIGMA - 1940 (ilustração acima)
A evolução da máquina de computar e calcular
informações teve a chance de ser testada em um
grande evento: o censo norte-americano de 1890. A
grande inovação introduzida por Herman Hollerith foi
a utilização da eletricidade.
Figura 9. Para o seu funcionamento, o Mark I utilizava componentes eletromecânicos (relés)
No decorrer da 2ª Guerra Mundial, criou-se um
novo grande computador, com fins bélicos: o ENIAC
(Electronic Numeric Integrator and Calculator). Ele funcionava por meio de um sistema construído inteiramente por válvulas. Esse computador não chegou a ser
utilizado, pois ficou pronto somente em 1946, quando
a guerra já havia terminado.
Após o ENIAC, foi elaborado o projeto de um outro computador, o EDVAC, projetado com uma programação interna.
Figura 8. A máquina de Herman Hollerith, utilizada no senso americano de 1890
V e r s ã o
1 . 0
P á g i n a 4 de 36
As ideias de Von Neumann transformaram o
mundo da computação. Outro avanço tecnológico foi a
criação do transistor, peça eletrônica com materiais semicondutores e com a mesma função das válvulas, porém, mais rápida, de maior confiabilidade, eficiência e
durabilidade, utilizando menores quantidades de energia, além de não esquentar como as válvulas.
O transistor possibilitou a redução contínua dos
custos de produção dos computadores, tornando os
preços mais acessíveis.
Figura 10. Para o seu funcionamento, o ENIAC utilizava um conjunto de componentes eletromecânicos (válvulas)
Em 1949, os computadores eram usados apenas
em projetos governamentais e acadêmicos. Então a
IBM começou, em 1951, a produzir computadores em
série.
Um professor de Princeton (EUA), Von Neumann, criou um sistema de estrutura lógica para o computador, para que pudesse trabalhar com variados tipos de informações ao mesmo tempo.
Com a evolução dos transistores, desenvolveuse a ideia de criar uma peça eletrônica com maior capacidade de processamento de informações: criou-se o
chip em apenas uma peça.
A história da computação modifica-se continuamente e, hoje, chegamos a um estágio em que todos os
equipamentos se acabam tornando obsoletos, pois a
cada dia cria-se um equipamento novo, mais rápido,
mais confiável, mais eficiente e com maior poder de
nos auxiliar em nosso trabalho diário.
Compilado de: Enciclopédia Módulo do Ensino Integrado (Editora
DCL) e em http://producao.virtual.ufpb.br/books/camyle/introducaoa-computacao-livro/livro/livro.chunked/ch01s01.html
As Gerações dos Computadores
Os computadores são máquinas capazes de realizar vários cálculos automaticamente, além de possuir
dispositivos de armazenamento e de entrada e saída.
fluxo de elétrons. As válvulas aqueciam bastante e
costumavam queimar com facilidade.
Nesta seção iremos ver a evolução dos computadores até os dias atuais.
Primeira Geração (1946-1954)
A primeira geração dos computadores é marcada pela utilização de válvulas. A válvula é um tubo
de vidro, similar a uma lâmpada fechada sem ar em
seu interior, ou seja, um ambiente fechado a vácuo, e
contendo eletrodos, cuja finalidade é controlar o
V e r s ã o
1 . 0
Figura 11. As válvulas eram do tamanho de uma lâmpada
P á g i n a 5 de 36
Além disso, a programação era realizada diretamente na linguagem de máquina, o que dificultava
a programação e consequentemente despendia muito
tempo. O armazenamento dos dados era realizado
em cartões perfurados, que depois passaram a ser feitos em fita magnética.
Um dos representantes desta geração é o
ENIAC. Ele possuía 17.468 válvulas, pesava 30 toneladas, tinha 180 m² de área construída, sua velocidade era da ordem de 100 kHz e possuía apenas 200
bits de memória RAM.
Nenhum dos computadores da primeira geração possuíam aplicação comercial, eram utilizados
para fins balísticos, predição climática, cálculos de
energia atômica e outros fins científicos.
Alan Turing – O pai da Ciência da
Computação
Alan Mathison Turing (23 de Junho de 1912 —
7 de Junho de 1954) foi um matemático, lógico, criptoanalista e cientista da computação britânico. Foi
influente no desenvolvimento da ciência da computação e proporcionou uma formalização do conceito
de algoritmo e computação com a máquina de Turing, desempenhando um papel importante na criação do computador moderno. Durante a Segunda
Guerra Mundial, Turing trabalhou para a inteligência britânica em Bletchley Park, num centro especializado em quebra de códigos. Por um tempo ele foi
chefe de Hut 8, a seção responsável pela criptoanálise
da frota naval alemã. Planejou uma série de técnicas
para quebrar os códigos alemães, incluindo o método
da bomba, uma máquina eletromecânica que poderia
encontrar definições para a máquina de criptografia
alemã, a Enigma. Após a guerra, trabalhou no Laboratório Nacional de Física do Reino Unido, onde
criou um dos primeiros projetos para um computador de programa armazenado, o ACE.
poderia manipular símbolos de um sistema de regras
próprias. A máquina teórica de Turing pode indicar
que sistemas poderosos poderiam ser construídos.
Tornou possível o processamento de símbolos, ligando a abstração de sistemas cognitivos e a realidade concreta dos números. Isto é buscado até hoje
por pesquisadores de sistemas com Inteligência Artificial (IA). Para comprovar a inteligência artificial ou
não de um computador, Turing desenvolveu um
teste que consistia em um operador não poder diferenciar se as respostas a perguntas elaboradas pelo
operador eram vindas ou não de um computador.
Caso afirmativo, o computador poderia ser considerado como dotado de inteligência artificial. Sua máquina pode ser programada de tal modo que pode
imitar qualquer sistema formal. A ideia de computabilidade começou a ser delineada.
A maior parte de seu trabalho foi desenvolvida
na área de espionagem e, por isso, somente em 1975
veio a ser considerado o "pai da Ciência da Computação".
O primeiro bug da história
A palavra bug (inseto em inglês) é empregada
atualmente para designar um defeito, geralmente de
software. Mas sua utilização com este sentido remonta a esta época. Conta a história que um dia o
computador apresentou defeito. Ao serem investigadas as causas, verificou-se que um inseto havia prejudicado seu funcionamento. A foto abaixo, supostamente, indica a presença do primeiro bug.
Até hoje os insetos costumam invadir os equipamentos eletrônicos, portanto observe-os atentamente, evite deixar comida próximo ao computador
e não fique sem utilizá-lo por um longo período.
Aos 24 anos de idade, consagrou-se com a projeção de uma máquina que, de acordo com um sistema formal, pudesse fazer operações computacionais. Mostrou como um simples sistema automático
V e r s ã o
1 . 0
P á g i n a 6 de 36
linguagem assembly, também conhecida como linguagem simbólica. A linguagem assembly possibilita
a utilização de mnemônicos para representar as instruções de máquina.
Figura 12. Registro do primeiro bug da história
Segunda Geração (1955-1964)
A segunda geração de computadores foi marcada pela substituição da válvula pelo transistor. O
transistor revolucionou a eletrônica em geral e os
computadores em especial. Eles eram muito menores
do que as válvulas a vácuo e tinham outras vantagens:
não exigiam tempo de pré-aquecimento, consumiam
menos energia, geravam menos calor e eram mais rápidos e confiáveis. No final da década de 50, os transistores foram incorporados aos computadores.
Figura 14. Computadores IBM da segunda geração
Em seguida vieram as linguagens de alto nível,
como, por exemplo, Fortran e Cobol. No mesmo período surgiu o armazenamento em disco, complementando os sistemas de fita magnética e possibilitando ao usuário acesso rápido aos dados desejados.
Terceira Geração (1964-1977)
A terceira geração de computadores é marcada
pela utilização dos circuitos integrados, feitos de
silício. Também conhecidos como microchips, eles
eram construídos integrando um grande número de
transistores, o que possibilitou a construção de equipamentos menores e mais baratos.
Figura 13. Circuito com vários transistores (esquerda). Comparação do circuito com válvulas (canto superior-direito) com um circuito composto de transistores (inferior-direito).
Na segunda geração o conceito de Unidade
Central de Procedimento (CPU), memória, linguagem de programação e entrada e saída foram desenvolvidos. O tamanho dos computadores diminuiu
consideravelmente. Outro desenvolvimento importante foi a mudança da linguagem de máquina para a
V e r s ã o
1 . 0
Figura 15. Comparação do tamanho do circuito integrado com
uma moeda (esquerda) e um chip (direita)
Mas o diferencial dos circuitos integrados não
era o apenas o tamanho, mas o processo de fabricação que possibilitava a construção de vários circuitos
P á g i n a 7 de 36
simultaneamente, facilitando a produção em massa.
Este avanço pode ser comparado ao advento da impressa, que revolucionou a produção dos livros.
Didaticamente os circuitos integrados são categorizados de acordo com a quantidade de integração que eles possuem:
LSI (Large Scale Integration – 100 transistores): computadores da terceira geração.
VLSI (Very Large Scale Integration – 1.000
transistores): computadores da quarta geração.
ULSI (Ultra-Large Scale Integration – milhões de transistores): computadores da quinta geração.
Um computador que representa esta geração
foi o IBM’s System/360, voltado para o setor comercial e científico. Ele possuía uma arquitetura plugável, na qual o cliente poderia substituir as peças que
dessem defeitos. Além disso, um conjunto de periféricos eram vendidos conforme a necessidade do cliente.
Figura 17. Computador Apple I
Outro evento importante desta época foi que a
IBM passou a separar a criação de hardware do desenvolvimento de sistemas, iniciando o mercado da
indústria de softwares. Isto foi possível devido a utilização das linguagens de alto nível nestes computadores.
Uma linguagem é considerada de alto nível
quando ela pode representar ideias abstratas de forma
simples, diferente da linguagem de baixo nível que representa as próprias instruções de máquina.
Exemplo de linguagem de alto nível:
x = y*7 + 2
Mesmo código em baixo nível (assembly):
load y
mul 7
add 2
store x
Figura 16. Arquitetura plugável da série 360 da IBM
A IBM, que até então liderava o mercado de
computadores, passou a perder espaço quando concorrentes passaram a vender periféricos mais baratos
e que eram compatíveis com sua arquitetura. No final
desta geração já começaram a surgir os computadores pessoais.
V e r s ã o
1 . 0
Load, mul, add e store são os mnemônicos que representam as instruções em código de máquina (binário).
P á g i n a 8 de 36
Quarta Geração (1977-1991)
Quinta Geração (1991-dias atuais)
Os computadores da quarta geração são reconhecidos pelo surgimento dos processadores (CPU ou
UCP) — Unidade Central de Processamento. Os sistemas operacionais como MS-DOS, UNIX, Apple’s Macintosh foram construídos. Linguagens de programação orientadas a objeto como C++ e Smalltalk foram
desenvolvidas. Discos rígidos eram utilizados como
memória secundária. Impressoras matriciais, e os teclados com os layouts atuais foram criados nesta
época.
Os computadores da quinta geração usam processadores com milhões de transistores. Nesta geração surgiram as arquiteturas de 64 bits, os processadores que utilizam tecnologias RISC e CISC, discos
rígidos com capacidade superior a 600GB, pen-drives com mais de 1GB de memória e utilização de disco
ótico com mais de 50GB de armazenamento.
Os computadores eram mais confiáveis, mais
rápidos, menores e com maior capacidade de armazenamento. Esta geração é marcada pela venda de
computadores pessoais.
Figura 19. Computador da quinta geração
A quinta geração está sendo marcada pela inteligência artificial e por sua conectividade. A
inteligência artificial pode ser verificada em jogos e
robores ao conseguir desafiar a inteligência humana.
A conectividade é cada vez mais um requisito das indústrias de computadores. Hoje em dia, queremos
que nossos computadores se conectem ao celular, a
televisão e a muitos outros dispositivos como geladeira e câmeras de segurança.
Figura 18. Computador pessoal da quarta geração
V e r s ã o
1 . 0
Conteúdo integral em (fonte): http://producao.virtual.ufpb.br/books/camyle/introducao-a-computacao-livro/livro/livro.chunked/ch01s01.html
P á g i n a 9 de 36
COMPUTADORES E PRINCIPAIS COMPONENTES
Representação da Informação
Você provavelmente já ouviu alguém falar que os computadores trabalham internamente apenas com 0 e 1
(zero e um). Tudo o que você assiste, escuta ou cria no computador, é processado internamente através de sequências de zeros e uns. O computador ao ler estas sequências, consegue interpretá-las e em seguida apresentar as informações contidas nelas. Vamos começar nossos estudos aprendendo sobre os bits e bytes.
Um bit ou dígito binário (binary digit), é a unidade básica que os computadores e sistemas digitais utilizam
para trabalhar, ele pode assumir apenas dois valores, 0 ou 1. Um byte é uma sequência de 8 bits.
Fisicamente, um bit pode ser representado de várias formas: através de dois valores de voltagem aplicados num fio, diferentes direções de magnetização em uma fita magnética, entre outras. O importante é que seja possível identificar dois estados diferentes.
O byte é a menor unidade de armazenamento utilizada pelos computadores atuais. Isto quer dizer que, nós
nunca conseguiremos salvar menos do que 8 bits.
Exemplo:
Como um bit só pode assumir dois valores (0 ou 1), só será possível representar exatamente dois estados distintos. Abaixo, nós temos exemplos de como podemos associar significados aos valores do bit.
Bit
0
1
Porta
Lâmpada
Sexo
Detector Movimento
Estado Civil
Aberta
Apagada
Masculino
Sem movimento
Solteiro
Fechada
Acesa
Feminino
Com movimento
Casado
Portanto, em um sistema com trava eletrônica, o valor 0 poderia indicar que a porta estava fechada, enquanto
1 indicaria que a porta está aberta. Em outro sistema que registra o estado civil, 0 poderia representar Solteiro, enquanto 1 seria Casado.
Observe que o número de possibilidades diferentes que podemos representar depende do tamanho da sequência de bits que estamos utilizando, mais precisamente 2tamanho:
2¹= 2
2²= 4
6
2 = 64
27= 128
264= 18.446.744.073.709.551.615
2³= 8
28= 256 (1byte)
24= 16
216= 65.535
25= 32
232= 4.294.967.295
Portanto, para representar mais de dois valores distintos nós precisamos de uma sequência de bits maior.
Conteúdo integral em (fonte): http://producao.virtual.ufpb.br/books/camyle/introducao-a-computacao-livro/livro/livro.chunked/ch01s01.html
V e r s ã o
1 . 0
P á g i n a 10 de 36
Como um Computador é Formado?
Hardware: é a parte física do equipamento, seus circuitos, dispositivos e unidades periféricas. São as partes mecânicas
e eletrônicas do computador.
Software: são os programas que o computador executa, já que o hardware não é capaz de realizar nenhuma tarefa
sozinho. O hardware necessita de um comando para que ele possa executar o que lhe é ordenado e isso é feito por
meio dos softwares. O organograma abaixo apresenta os principais Tipos de Software:
Básicos
•São programas que gerenciam todo o funcionamento do
computador, além de propiciar uma interface com o usuário:
•Exemplo: Sistemas Operacionais
Utilitários
•São programas que oferecem opções aos usuários de
executar tarefas complementares às oferecidas pelos
sistemas operacionais.
•Exemplo: antivírus, desfragmentador de disco e compactador
de arquivos
Aplicativos
•Os softwares aplicativos têm como objetivo facilitar o
trabalho do usuário, auxiliando-o nas tarefas diárias
específicas.
•Exemplo: Word, Excel e CorelDraw
Arquitetura de Computador (John Von Neumman)
A Arquitetura de John von Neumann (pronunciado Nóimann) é uma arquitetura de computador que se caracteriza pela possibilidade de uma máquina digital armazenar seus programas no mesmo espaço de memória que os dados,
podendo assim manipular tais programas. Esta arquitetura é um projeto modelo de um computador digital de programa armazenado que utiliza uma unidade de processamento (CPU) e uma de armazenamento (“memória”) para
comportar, respectivamente, instruções e dados.
A máquina proposta por Von Neumann reúne os seguintes componentes: (i) uma memória, (ii) uma unidade
central de processamento (CPU), composta por diversos Registradores, por uma Unidade de Controle (UC) e por uma
Unidade Lógica e Aritmética (ULA), cuja função é a mesma da tabela de controle da Máquina de Turing universal: buscar um programa na memória, instrução por instrução, e executá-lo sobre os dados de entrada; além de (iii) dispositivos de entrada e saída, e seus respectivos controladores, para fornecerem os insumos e mostrarem o resultado
dos processamentos efetuados pela máquina.
A Figura 20 esboça a conexão entre os principais elementos da arquitetura do computador.
V e r s ã o
1 . 0
P á g i n a 11 de 36
Figura 20. Componentes da Arquitetura de John Von Neumman
Dispositivos de entrada e saída (E/S)
Entrada/Saída (E/S) compreende todas as maneiras como o computador se comunica com os usuários e outras
máquinas ou dispositivos. Os dispositivos de entrada aceitam dados e instruções do usuário, os dispositivos de saída
retornam os dados processados.
Os dispositivos de saída mais comuns são a tela de vídeo, conhecida como monitor, e a impressora. Os dispositivos de entrada mais conhecidos são teclado e mouse. Os sistemas de multimídia possuem alto-falante como saída e
microfone como entrada adicional.
Os dispositivos de E/S trabalham com a memória do computador do seguinte modo: os dados captados pelos
dispositivos de entrada são representados em pulsos elétricos e transmitidos ao computador, ali estes pulsos são convertidos em dados binários e armazenados na memória do computador. No caminho inverso, a informação binária é
transformada em pulso elétrico e encaminhada para o dispositivo de saída especialista para tratá-lo e gerar uma saída
ao usuário.
Um dispositivo especial de E/S de um computador é o disco rígido (HD), nele são armazenados todos os dados
que devem persistir num sistema computacional, mesmo na ausência de energia. Todos os programas que não estão
em execução se encontram no disco, seu único problema é o tempo excessivo para a recuperação e escrita de uma
informação, havendo assim a necessidade de se trabalhar com a memória volátil (memória principal), mais rápida,
porém mais cara.
Quando um periférico insere dados no computador, dizemos que ele é um dispositivo de entrada. Agora quando
esses dados são colocados à mostra, ou quando saem para outros dispositivos, dizemos que estes periféricos são dispositivos de saída. Quando eles acumulam as duas funções, dizemos que é de entrada e de saída.
Conteúdo integral em (fonte): http://producao.virtual.ufpb.br/books/camyle/introducao-a-computacao-livro/livro/livro.chunked/ch01s01.html
V e r s ã o
1 . 0
P á g i n a 12 de 36
Dispositivos de Entrada do Computador
Teclado – Principal dispositivo de entrada do computador. É nele que você insere caracteres
e comandos do computador. Sua existência é primordial para que o ser humano possa interagir com o computador. Nos primórdios da computação, era a única forma de interação do homem com o computador (ocasião em que a inserção de dados era feita através dos prompt de
comandos). Hoje em dia, utilizar o teclado para realizar comandos de prompt ficou mais rara.
Mouse – Não menos importante que os teclados, os mouses ganharam grande importância
com advento da interface gráfica. É através dos botões do mouse que interagirmos com o computador. Os sistemas operacionais de hoje estão voltados para uma interface gráfica e intuitiva
onde é difícil imaginar alguém usando um computador sem este periférico de entrada. Ícones
de programas, jogos e links da internet, tudo isto é clicado através dos mouses.
Touchpad – É um dispositivo sensível ao toque que na informática tem a mesma função que
o mouse. São utilizados principalmente por profissionais que desenham ou fazem concepções
artísticas no computador. Também designa o dispositivo que funciona como o mouse, que já
vem incorporado aos notebooks.
Webcam – Câmera acoplada no computador e embutida na maioria dos notebooks. Dependendo do programa usado, sua função e capturar imagens que podem ser salvos tanto como
arquivos de imagem ou como arquivos de vídeo.
Scanner – Periférico semelhante a uma copiadora, mas desprovida da função de reprografia.
O scanner tem a função de capturar imagens e textos de documentos expostos sobre a sua
superfície. Estes dados serão armazenados no próprio computador.
Microfone – Periférico de entrada com a função de gravação de voz e testes de pronuncias.
Também podem ser usados para conversação online.
Dispositivo de Saída do Computador
Monitor – Principal dispositivo de saída de um computador. Sua função é mostrar tudo que está
sendo processado pelo computador.
V e r s ã o
1 . 0
P á g i n a 13 de 36
Impressora – Dispositivo com a função de imprimir documentos para um plano, folha A4,
A3, A2, A1 e etc. Este documento pode ser um desenho, textos, fotos e gravuras. Existem diversos tipos de impressora as mais conhecidas são a matricial, jato de tinta, a laser e a Plotter.
Caixas de Som – Dispositivo de saída essencial para quem desejar ouvir arquivos de áudio como
MP3, WMA e AVI.
Dispositivos de Entrada e de Saída
O avanço da tecnologia deu a possibilidade de se criar um dispositivo com a capacidade de enviar e transmitir
dados. Tais periféricos são classificados como dispositivos de entrada e de saída. São eles:
PenDrives (HDs externos) – Tipo de memória portátil e removível com capacidade de transferir dados ou retirar dados de um computador.
Impressora Multifuncional – Como o próprio nome já diz este tipo impressora poder servir
tanto como copiadora ou scanner, além de muitas trabalharem como um dispositivo de fax.
Monitor Touchscreen – Tela de monitor sensível ao toque. Através dela você recebe dados
em forma de imagem e também enviar dados e comandos ao computador através do toque. A
tecnologia é mais usada na indústria telefônica e seu uso em monitores de computadores
ainda está em fase de expansão.
Headset – dispositivo multimídia que acumula a função de caixa de som com a de microfone.
Atenção:
Não se confunda! Dispositivos de entrada e saída é o mesmo que periféricos de entrada e
saída. As palavras “dispositivos” e “periféricos” são usadas como sinônimos.
Conteúdo integral em (fonte): http://www.brcomputador.com/2013/02/dispositivos-de-entrada-e-saida-do.html
V e r s ã o
1 . 0
P á g i n a 14 de 36
Memória
Da mesma forma que o cérebro humano, o computador também possui uma memória, onde, quando está ligado,
são armazenadas as informações. A menor unidade utilizável para representação de informações num computador é
o BIT. Como este único bit é insuficiente para representar um carácter eles são reunidos em conjuntos de oito. Estes
conjuntos de 8 bits recebem a denominação de BYTE.
Sobre as informações armazenadas num computador, utiliza-se o termo byte, correspondendo a um caractere.
Tendo em conta que a unidade byte é muito pequena para indicar valores mais extensos, utilizam-se múltiplos do byte.

Kbyte (quilobyte): Unidade equivalente a 1.024 bytes

Mbyte (megabyte): Unidade equivalente a 1.024 Kbytes

Gbytes (gigabyte): Unidade equivalente a 1.024 Mbytes
RAM
Memória
Principal
Tipos de
Memória
ROM
Cache
Memória
Secundária
Discos (HD, CD,
etc.), fitas e
memórias flash
A Memória Principal
A memória do computador consiste numa coleção de registradores numerados consecutivamente (endereçados), onde cada um possui um tamanho denominado de tamanho da palavra, que pode variar em 16, 32, 64 e 128
bits, com a palavra de 32 bits sendo a mais comum hoje em dia, e a palavra de 64 bits aumentando de popularidade.
Cada registrador tem um endereço, chamado de localização na memória, estas são organizadas linearmente em
ordem consecutiva. O número único que identifica cada palavra é chamado de endereço. A memória possui um espaço
de endereçamento representado pelo tamanho em bits do seu endereço, logo, um espaço de endereçamento de 32 bits
pode acessar qualquer palavra de memória em qualquer lugar no intervalo de 0 a 232-1.
O espaço de endereçamento pode ser dividido em regiões distintas usadas pelo sistema operacional, dispositivos de E/S, programas de usuário e pilha do sistema operacional.
V e r s ã o
1 . 0
P á g i n a 15 de 36
Figura 21. Mapa da memória do computador
As regiões ilustradas na Figura 21 compõem um possível mapa de memória. Os endereços acima (em vermelho)
são reservados para uso do sistema operacional. O espaço do usuário (em amarelo) é onde um programa do usuário
será carregado. A porção do espaço de endereçamento (em cinza) está reservada para dispositivos de E/S. Já a pilha
do sistema (em azul) será o local onde as variáveis serão alocadas dinamicamente durante utilização dos programas
do usuário.
É importante manter clara a distinção entre o que é endereço e o que é dado. Uma palavra na memória, pode ter
distintas representações dependendo do seu uso. Ela pode armazenar uma instrução contendo a operação e os operandos (dados de entrada) para a realização de uma específica operação, mas também pode armazenar o endereço de
uma outra região de memória. Logo, o endereço é um apontador para uma posição de memória que contém dados, e
estes são informações significativas para a realização de alguma atividade no computador, ou a representação de alguma informação.
Tipos de Memória
Memória RAM– É um tipo de memória essencial
para o computador, sendo usada para guardar dados e
instruções de um programa. Tem como características
fundamentais, a volatilidade, ou seja, o seu conteúdo é
perdido quando o computador é desligado; o acesso
aleatório aos dados e o suporte à leitura e gravação de
dados, sendo o processo de gravação um processo destrutivo e a leitura um processo não destrutivo. Existem dois tipos básicos de memória RAM. Ela pode ser de dois tipos:
estática (velocidade alta) ou dinâmica (velocidade lenta).
V e r s ã o
1 . 0
P á g i n a 16 de 36
Memória ROM- É um tipo de memória que contém instruções imutáveis,
nela estão localizadas rotinas que inicializam o computador quando este é ligado;
É não-volátil, ou seja, os dados não são perdidos com a ausência de energia; É
também de acesso aleatório. Alguns dos tipos de memória ROM são: EPROM e
EEPROM.

EPROM- É um tipo de ROM especial que pode ser programada pelo
usuário. Seu conteúdo pode ser apagado pela exposição a raios ultravioletas.

EEPROM- É também um tipo especial de ROM muito semelhante à
EPROM, tendo como diferença apenas o fato de que seu conteúdo é apagado aplicando-se uma voltagem
específica em um dos seus pinos de entrada.
Memória Cache – É uma memória de alta velocidade que faz a interface entre o processador e a memória do
sistema. Para usar uma memória RAM dinâmica com um processador rápido é necessário este hardware extra. Todos
os acessos da memória pelo processador são alimentados pelo sistema de cache, que compreende:

Um comparador de endereços que monitora as requisições do processador.

Memória RAM estática (alta velocidade).

Chips extras de hardware.
Atenção:
A memória RAM dinâmica é frequentemente usada em
computadores modernos. Isto, é devido a características como:
baixo consumo, chips de alta densidade, e baixo custo. No entanto, é uma memória lenta não podendo assim suportar processadores velozes. Quando um processador requer dados da memória, ele espera recebê-los num tempo máximo. Isto é chamado
ciclo de clock.
O sistema de cache inicia tentando ler tantos dados da meFigura 22. Memórias cache L1 e L2 (níveis) – esquemático,
mória dinâmica quanto possível e guarda-os em sua memória es- com a respectiva comunicação com o CORE do processador e
com a memória RAM.
tática de alta velocidade (ou cache). Quando requisições do processador chegam, ela checa se os endereços requisitados são os
mesmos dos que já foram lidos da memória, caso seja, os dados são enviados diretamente da cache para o processador,
caso contrário, ela permite que o processador acesse a memória principal (o processador realiza este acesso lentamente). Então o sistema de cache atualiza seu conteúdo com o que foi lido da memória pelo processador e tenta ler
tantos dados quanto possível antes que a próxima requisição do processador chegue.
Quando o sistema de cache atende a uma requisição do processador, é chamado cache hit. Se o sistema de cache
não atende a uma requisição do processador, é chamado cache miss.
Memória Secundária - a memória principal (RAM) não é o único meio de armazenamento existente. Devido a
algumas características que são peculiares a este tipo de memória – por exemplo: volatilidade e alto custo –, surgiu a
V e r s ã o
1 . 0
P á g i n a 17 de 36
necessidade de implementação de outro tipo de memória,
chamado memória secundária. Este tipo de memória, não
volátil, tem maior capacidade de armazenamento e é mais
barata. Estas memórias podem ser removíveis ou não.
Neste contexto, "removíveis" significa que ela pode ser retirada do computador e transportada facilmente para outro. O winchester ou disco rígido, por exemplo, não é removível. Já os demais podem ser chamados de removíveis.
Estes são os tipos de memória secundária disponíveis
hoje:

Fitas Magnéticas;

Discos rígidos (HD) e flexíveis;

Discos: CD-ROM e CD-RW, DVD-ROM, DVDRW, Blu-ray;

Pen-drives e cartões de memória, etc.
Figura 23. Disco Rígido (HD), Flexível (Disquete), CD-ROM e Fita Magnética e seus respectivos "drivers"
Conteúdo integral em (fonte): http://www.ime.usp.br/~weslley/memoria.htm#func
Figura 24. Pen-drivers e cartões de memória (diversos tamanhos,
marcas e capacidades)
Processador
A Unidade Central de Processamento (UCP, ou em inglês CPU), é composta por duas partes principais: a
unidade lógica e aritmética (ULA, ou em inglês ALU), formada por circuitos que manipulam os dados através de
operações binárias (dois operandos) e unárias (um operando); E, a unidade de controle (UC), cujos circuitos são
responsáveis por coordenar as operações da UCP.
Para o armazenamento e a comunicação entre estas duas unidades a UCP contém circuitos de armazenamento
chamados de registradores, que se assemelham às células de armazenamento da memória principal.
Alguns registradores funcionam como posições intermediárias de armazenamento para os dados manipulados
pela UCP. Nestes registradores são armazenados os dados de entrada para a ULA e ainda proporcionam um local de
armazenamento para o resultado das operações.
Os dados a serem manipulados pela ULA tem origem na memória principal, sendo de responsabilidade da unidade de controle transferir estes dados aos registradores, informar à ULA sobre quais registradores estão os dados
de entrada, ativar o circuito da operação apropriada e informar em que registrador deve guardar o resultado da operação.
V e r s ã o
1 . 0
P á g i n a 18 de 36
A transferência desta informação oriunda da memória principal se dá através do barramento que é responsável por transmitir padrões de bits entre a UCP, os dispositivos de E/S e a memória principal.
Nota
Executar uma simples operação de soma é mais complexo que apenas somar estes números. Coordenado pela
unidade de controle, os registradores intermediam a comunicação da memória principal e a ULA. Este processo pode ser resumido no “Exemplo simplificado”, abaixo.
Exemplo simplificado
Passos:
1. Obter da memória um dos valores da soma e guardar em um registrador;
2. Obter da memória o outro número a ser somado e armazená-lo em outro registrador;
3. Acionar o circuito de adição tendo os registradores do passo 1 e 2 como entrada, e escolher outro registrador para armazenar o resultado;
4. Armazenar o resultado na memória principal;
Finalizar operação.
Conteúdo integral em (fonte): http://producao.virtual.ufpb.br/books/camyle/introducao-a-computacao-livro/livro/livro.chunked/ch01s01.html
O Barramento
O objetivo do barramento é reduzir o número de interconexões entre a UCP e seus subsistemas. Em lugar de
mantermos um caminho de comunicação entre a memória e cada um dos dispositivos de entrada e saída, a UCP é
interconectada com os mesmos via barramento de sistema compartilhado.
Figura 25. Modelo de Barramento do Computador
V e r s ã o
1 . 0
P á g i n a 19 de 36
Os componentes são interconectados ao barramento da forma ilustrada na Figura 25. A UCP gera endereços que
são colocados no barramento de endereços, e a memória recebe endereços do mesmo. O caminho inverso desta
operação não é possível, como pode ser observado na figura.
Durante a execução de um programa, cada instrução é levada até à ULA (Unidade Lógica e Aritmética) a partir
da memória, uma instrução de cada vez, junto com qualquer dado que seja necessário para executá-la. A saída do
programa é colocada em um dispositivo, tal como display de vídeo ou disco. A comunicação entre os três componentes
(UCP, memória e E/S) é feita sempre pelos barramentos.
Conteúdo integral em (fonte): http://producao.virtual.ufpb.br/books/camyle/introducao-a-computacao-livro/livro/livro.chunked/ch01s01.html
Exercícios
1. São características da memória ROM:
a) Memória somente de leitura de informações que
tem como principal função o armazenamento temporário de dados.
b) Chip de memória não volátil que é programado
numa etapa posterior a sua fabricação.
c) Memória não volátil, somente para leitura de informações, ou seja, as suas informações são gravadas
pelo fabricante uma única vez e após isso não podem
ser alteradas ou apagadas, somente acessadas.
3. Em informática, memória são todos os dispositivos que permitem a um computador guardar dados, temporariamente ou permanentemente. Memória é um termo genérico para designar componentes de um sistema capazes de armazenar dados e programas. Sabendo disto, diferencie memória RAM e memória ROM.
4. Como funciona a Unidade Central de Processamento (CPU)? Comente.
d) Memória volátil, somente para leitura de informações, ou seja, as suas informações são gravadas pelo
fabricante uma única vez e após isso não podem ser
alteradas ou apagadas, somente acessadas.
5. São exemplos de periféricos que acumulam a
função de entrada e saída de dados:
e) Esta memória é responsável pela inicialização do
Sistema Operacional.
II) Touch Screen
I) Modem estão corretas
III) Teclado
2. Sabe-se que a Arquitetura de Von Neumann é
um projeto modelo de um computador digital de
programa armazenado que utiliza uma unidade de
processamento (CPU) e uma de armazenamento
(memória) para comportar, respectivamente, instruções e dados. Com base nestas informações caracterize essa arquitetura computacional enfatizando as funcionalidades principais de seus componentes.
V e r s ã o
1 . 0
IV) Scanner
V) Monitor
a) As respostas I e II
b) As respostas III e IV estão corretas.
c) As respostas I e III estão corretas.
d) As respostas III e V estão corretas.
P á g i n a 20 de 36
6. Associe aos periféricos:
(1) Periféricos de Entrada
(2) Periféricos de Saída
(3) Periféricos de Entrada e Saída.
(
) Teclado
(
) Modem
(
) Leitura Ótica
(
) Mouse
(
) Monitor
(
) Kit Mutimídia
(
) Microfone
(
) Scanner
(
) Disquete
(
) HD
(
) Cd-Rom
(
) Caixa de Som
(
) Impressora
(
) Plotter
V e r s ã o
1 . 0
P á g i n a 21 de 36
Sistemas Operacionais
Definição: é um tipo de software básico capaz de realizar as principais atividades de gerenciamento do hardware do
computador, abstraindo os seus detalhes de implementação de baixo-nível e, por isso, servindo de interface entre o
hardware do computador e o homem.
Histórico
Antes da década de 50, os computadores eram muito difíceis de serem programados. Era necessário conhecer
totalmente sua arquitetura, e tal operação era efetuada em painéis com cerca de 6.000 conectores, em linguagem de
máquina. Nesta fase os computadores não possuíam ainda dispositivos para interagir com o usuário, como teclados e
monitores.
Na década de 50, já com a utilização de transistores, sucedeu-se um grande avanço tecnológico, melhorando a
velocidade dos processadores e a capacidade dos meios de armazenamento, em especial a memória e os discos magnéticos.
Por volta de 1953 foi introduzido o primeiro sistema operacional, um programa de controle que permitia uma
interação, mesmo que limitada, entre o operador e a máquina, otimizando a execução das tarefas. Em 1959 foi criada
uma versão de sistema operacional que já implementava conceitos de memória virtual, conceito este largamente utilizado nos sistemas atuais.
Na década de 60, a partir do surgimento dos circuitos integrados, foi possível difundir o uso de sistemas computacionais em empresas, com diminuição de custos e tamanho dos equipamentos. Além disso, esta década presenciou
inúmeras inovações na área de sistemas operacionais, presentes até hoje, como os ambientes de multitarefa, multiprogramação, multiprocessamento e time-sharing, tendo o desenvolvimento destas técnicas avançado até o meado da
década de 70, onde também foram implementadas as tecnologias baseadas em arquitetura VLSI (chips), as primeiras
redes de computadores, e o desenvolvimento de diversas linguagens de programação de alto nível.
A década de 80 foi marcada pela criação dos microcomputadores, baseados em microprocessadores de uso pessoal. Liderados pela IBM, diversos fabricantes seguiram por essa linha, porém alguns deles não abandonando a fabricação dos computadores de grande porte, como foi o caso da própria IBM.
Nota-se que, a partir do meado da década de 80, acontece uma divisão de águas, com a indústria passando a
produzir equipamentos de grande porte e muitos modelos de microcomputadores, que também precisavam de sistemas operacionais bastante evoluídos.
Foram, então, utilizadas as técnicas modernas já existentes nos ambientes de grande porte na implementação
de sistemas operacionais para os microcomputadores, com versões diversas, todas inicialmente monousuário/monotarefa (devido à baixa capacidade de armazenamento dos micros, naquela época). Com o avanço da tecnologia, os micros ganharam discos rígidos e outros periféricos, possibilitando a criação de sistemas operacionais mais evoluídos
nesta categoria de computadores, quando surgiram os sistemas monousuário/multitarefa, que executam até hoje.
V e r s ã o
1 . 0
P á g i n a 22 de 36
Figura 26. Histórico: cronologia dos principais eventos da história dos sistemas operacionais até o advento dos microcomputadores pessoais,
em detrimento dos computadores de grande porte (mainframes)
Classificação quanto aos Usuários
Usuários e
Sistemas
Operacionais
Sistemas
Monousuário /
Monotarefa
Sistemas
Monousuário /
Multitarefa
Sistemas
Multiusuários
Sistemas Monousuário/monotarefa
O sistema operacional foi criado para que um único usuário possa fazer uma coisa por vez. O Palm OS dos computadores Palm é um bom exemplo de um moderno sistema operacional monousuário e monotarefa. O MS-DOS também pode ser enquadrado nesta categoria.
V e r s ã o
1 . 0
P á g i n a 23 de 36
Sistemas Monousuário/multitarefa
Este tipo de sistema operacional é o mais utilizado em computadores de mesa e laptops. As plataformas Microsoft Windows e Apple MacOS são exemplos de sistemas operacionais que permitem que um único usuário utilize diversos programas ao mesmo tempo. Por exemplo, é perfeitamente possível para um usuário de Windows escrever
uma nota em um processador de texto ao mesmo tempo em que faz download de um arquivo da Internet e imprime
um e-mail.
Sistemas Multiusuários
Um sistema operacional multiusuário permite que diversos usuários utilizem simultaneamente os recursos do
computador. O sistema operacional deve se certificar de que as solicitações de vários usuários estejam balanceadas.
Cada um dos programas utilizados deve dispor de recursos suficientes e separados, de forma que o problema de um
usuário não afete toda a comunidade de usuários. Unix, VMS e sistemas operacionais mainframe como o MVS são
exemplos de sistemas operacionais multiusuário.
Tipos de Sistemas Operacionais
Tipos de Sistemas
Opercionais
Sistemas
Monoprogramáveis
/ Monotarefa
Sistemas
Multiprogramáveis
/ Multitarefa
Sistemas Com
Múltiplos
Processadores
Sistemas Monoprogramáveis/Monotarefa
Os primeiros sistemas operacionais eram voltados tipicamente para a execução de um único programa. Qualquer outra aplicação, para ser executada, deveria aguardar o término do programa corrente. Neste tipo de sistema, o
processador, a memória e os periféricos permanecem exclusivamente dedicados à execução de um único programa.
Os sistemas monoprogramáveis estão diretamente ligados ao surgimento, na década de 50/60, dos primeiros
computadores. Embora os sistemas operacionais já tivessem evoluído com as tecnologias de multitarefa e multiprogramáveis, os sistemas monoprogramáveis voltaram a ser utilizados na plataforma de microcomputadores pessoais e
estações de trabalho devido à baixa capacidade de armazenamento destas máquinas, na época.
V e r s ã o
1 . 0
P á g i n a 24 de 36
Era muito clara a desvantagem deste tipo de sistema, no que diz respeito à limitação de tarefas (uma de cada
vez), o que provocava um grande desperdício de recursos de hardware.
Figura 27. Sistemas Monoprogramáveis/Monotarefa
Comparados a outros sistemas, os monoprogramáveis são de simples implementação, não existindo muita preocupação com problemas decorrentes do compartilhamento de recursos como memória, processador e dispositivos
de E/S.
Sistemas Multiprogramáveis/Multitarefa
Constituindo-se uma evolução dos sistemas monoprogramáveis, neste tipo de sistema os recursos computacionais são compartilhados entre os diversos usuários e aplicações: enquanto um programa espera por um evento, outros
programas podem estar processando neste mesmo intervalo de tempo. Neste caso, podemos observar o compartilhamento da memória e do processador. O sistema operacional se incumbe de gerenciar o acesso concorrente aos seus
diversos recursos, como processador, memória e periféricos, de forma ordenada e protegida, entre os diversos programas.
Figura 28. Sistemas Multiprogramáveis/Multitarefa
V e r s ã o
1 . 0
P á g i n a 25 de 36
As vantagens do uso deste tipo de sistema são a redução do tempo de resposta das aplicações, além dos custos
reduzidos devido ao compartilhamento dos recursos do sistema entre as diferentes aplicações. Apesar de mais eficientes que os monoprogramáveis, os sistemas multiprogramáveis são de implementação muito mais complexa.
Os sistemas multiprogramáveis/multitarefa podem ser classificados de acordo com a forma com que suas aplicações são gerenciadas, podendo ser divididos em sistemas batch, de tempo compartilhado e de tempo real, de acordo
com organograma abaixo.
Sistemas
Multiprogramáveis
/ Multitarefa
Sistemas Batch
Sistemas de Tempo
Compartilhado
Sistemas de Tempo
Real
Sistemas BATCH. Foram os primeiros sistemas multiprogramáveis a serem implementados na década de 60.
Nesta modalidade, os programas eram submetidos para execução através de cartões perfurados e armazenados em
disco ou fita, para posterior execução. Vem daí o nome batch (lote de cartões). O processamento em batch tem como
característica não exigir interação do usuário com o sistema ou com a aplicação. Todas as entradas ou saídas são implementadas por meio de algum tipo de memória secundária, geralmente disco ou fita. Aplicações deste tipo eram
utilizadas em cálculo numérico, compilações, backups, etc.
Estes sistemas, se bem projetados, podem ser bastante eficientes devido à melhor utilização do processador,
mas podem oferecer tempos de resposta bastante longos. Atualmente, os sistemas operacionais simulam este tipo de
processamento, não havendo sistemas dedicados a este tipo de execução.
Sistemas de Tempo Compartilhado. Também chamados sistemas de time-sharing, permitem que diversos
programas sejam executados a partir da divisão de tempo do processador em pequenos intervalos, denominados fatias
de tempo (ou time-slice). Caso a fatia de tempo não seja suficiente para a conclusão do programa, este é interrompido
pelo sistema operacional e substituído no processador por outro, enquanto aguarda nova fatia de tempo. Neste tipo
de processamento, cada usuário tem a impressão de que a máquina está dedicada ao seu programa, como se ele fosse
o único usuário a se utilizar do sistema.
Geralmente permitem interação do usuário com a aplicação através de terminais compostos por monitor, teclado e mouse. Estes sistemas possuem uma linguagem de controle que permite ao usuário interagir com o sistema
operacional através de comandos. Assim, é possível verificar arquivos armazenados em disco ou cancelar execução de
programas. Normalmente, o sistema responde em apenas alguns segundos à maioria destes comandos, o que se levou
a chamá-los também de sistemas on-line.
V e r s ã o
1 . 0
P á g i n a 26 de 36
A maioria das aplicações comerciais atualmente é processada em ambiente de tempo compartilhado, que oferece tempos baixos de respostas a seus usuários e menores custos, em função do alto grau de compartilhamento dos
diversos recursos do sistema.
Sistemas de Tempo Real. Este tipo de sistema é implementado de forma bastante semelhante ao de tempo
compartilhado. O que caracteriza a diferença entre eles é o tempo exigido no processamento das aplicações. Enquanto
nos sistemas de tempo compartilhado o tempo de processamento pode variar sem comprometer as aplicações em
execução, nos sistemas de tempo real os tempos de execução devem estar dentro de limites rígidos, que devem ser
obedecidos, caso contrário poderão ocorrer problemas irreparáveis.
No sistema de tempo real não existe a ideia de fatia de tempo como nos sistemas de tempo compartilhado. Um
programa ocupa o processador o tempo que for necessário ou até que apareça um outro com um nível de prioridade
maior. Esta prioridade de execução é definida pela própria aplicação e não pelo sistema operacional, como nos sistemas de tempo compartilhado.
Estes sistemas são utilizados em aplicações de controle de processos, como monitoramento de refinarias de
petróleo, controle de tráfego aéreo, de usinas, ou em qualquer aplicação onde o tempo de processamento é fator fundamental.
Sistemas com Múltiplos Processadores
Os sistemas com múltiplos processadores caracterizam-se por possuir duas ou mais CPUs interligadas e trabalhando em conjunto. A vantagem deste tipo de sistema é permitir que vários programas sejam executados ao mesmo
tempo ou que um mesmo programa seja subdividido em várias partes para serem executadas simultaneamente em
mais de um processador.
Esta técnica permitiu a criação de sistemas computacionais voltados para processamento científico, prospecção
de petróleo, simulações, processamento de imagens e CAD.
Um fator chave no desenvolvimento dos sistemas multiprocessados é a forma de comunicação entre as CPUs e
o grau de compartilhamento da memória e dos dispositivos de E/S. Em função destes fatores, podemos classificar os
sistemas multiprocessados de acordo com o organograma a seguir:
Sistemas com
Múltiplos
Processadores
Sistemas
Fortemente
Acoplados
Simétricos
V e r s ã o
1 . 0
Assimétricos
Sistemas
Fracamente
Acoplados
Redes
Distribuídos
P á g i n a 27 de 36
Na figura podemos perceber a divisão dos sistemas multiprocessados em duas categorias iniciais: sistemas fortemente acoplados e fracamente acoplados. A grande diferença entre estas duas categorias é que nos sistemas fortemente acoplados existe apenas uma memória a ser compartilhada pelos processadores do conjunto, enquanto que nos
fracamente acoplados cada sistema tem sua própria memória individual. A taxa de transferência entre processadores
e memória em sistemas fortemente acoplados é muito maior que nos fracamente acoplados.
Nos sistemas fortemente acoplados a memória principal e os dispositivos de E/S são gerenciados por um
único sistema operacional. Quando todos os processadores na arquitetura são iguais, diz-se que o sistema é simétrico. No entanto, quando os processadores são diferentes, dá-se à arquitetura a denominação assimétrica.
Figura 29. Arquitetura Geral dos Sistemas Fortemente Acoplados
Nos sistemas fracamente acoplados, como os processadores estão em arquiteturas diferentes, somente interligados por cabos de interconexão, cada CPU constitui uma máquina independente, com memória própria, dispositivos
de E/S e sistemas operacionais independentes. Nesta subdivisão, temos como exemplo as redes e os sistemas distribuídos.
No ambiente de rede, existem dois ou mais sistemas independentes (hosts), interligados por linhas telefônicas,
que oferecem algum tipo de serviço aos demais, permitindo que um host compartilhe seus recursos, como impressora
e diretórios, com os outros hosts da rede.
Figura 30. Arquitetura Geral do ambiente de Rede
V e r s ã o
1 . 0
P á g i n a 28 de 36
Enquanto nos sistemas em rede os usuários têm conhecimento dos hosts e seus serviços, nos sistemas distribuídos o sistema operacional esconde os detalhes dos hosts individuais e passa a tratá-los como um conjunto único,
como se fosse um sistema só, fortemente acoplado. Os sistemas distribuídos permitem, por exemplo, que uma aplicação seja dividida em partes e que cada parte seja executada por hosts diferentes na rede. Para os usuários e suas aplicações é como se não existisse a rede, mas um único sistema centralizado.
Outros exemplos de sistemas distribuídos são os clusters. Em um cluster podem existir dois ou mais servidores
ligados por algum tipo de conexão de alto desempenho, e o usuário não conhece os nomes dos membros do cluster e
nem quantos são. Quando é necessário algum serviço, basta solicitar ao cluster para obtê-lo, sem se preocupar com
quem vai dispor e oferecer tal serviço. Clusters são muito utilizados em servidores de bancos de dados e Web.
Figura 31. Arquitetura Geral dos Sistemas Distribuídos
Interrupção
Durante a execução de um programa, alguns eventos inesperados podem ocorrer, ocasionando um desvio forçado no seu fluxo normal de execução. Esses eventos são conhecidos como interrupção ou exceção, e podem ser resultado de sinalizações de algum dispositivo de hardware externo ao ambiente memória/processador. A diferença entre
interrupção e exceção é dada pelo tipo de evento ocorrido, embora alguns autores e fabricantes não façam tal distinção.
A interrupção é o mecanismo que permitiu a implementação da concorrência nos computadores, sendo o fundamento básico dos sistemas multiprogramáveis/multitarefa.
Uma interrupção é sempre gerada por um evento externo ao programa e, sendo assim, independe da instrução que está sendo executada. Um exemplo de interrupção é quando um dispositivo avisa ao processador que
alguma operação de E/S está completa. Neste caso, o processador deve interromper o programa para tratar o término da operação.
Ao término de cada instrução a Unidade de Controle (situada dentro do processador) verifica a ocorrência de
algum tipo de interrupção. Desta forma, o programa em execução é interrompido e seu controle é desviado para uma
rotina do sistema responsável por tratar o evento ocorrido, denominada rotina de tratamento de interrupção. Para
V e r s ã o
1 . 0
P á g i n a 29 de 36
que o programa interrompido possa retornar posteriormente à sua execução é necessário que, no momento da interrupção, um certo conjunto de informações sobre sua execução seja preservado.
Essas informações consistem basicamente no conteúdo dos registradores internos da CPU, que deverão ser restaurados para a continuação do programa.
Figura 32. Mecanismo de interrupção
Para cada tipo de interrupção existe uma rotina de tratamento associada, para onde o fluxo do programa é desviado. A identificação do tipo de evento ocorrido é fundamental para determinar o endereço da rotina adequada ao
tratamento da interrupção.
As interrupções podem ser geradas:

Pelo programa do usuário (entrada de dados pela console ou teclado)


Pelo hardware (operações de E/S)
Pelo sistema operacional (ao término da fatia de tempo do processador destinada ao programa)
As interrupções sempre são tratadas pelo Sistema Operacional.
A exceção é um evento semelhante à interrupção, pois também de fato interrompe um programa. A principal
diferença é que a exceção é o resultado da execução de uma instrução dentro do próprio programa, como a divisão por
zero ou a ocorrência de um overflow (estouro de capacidade de um campo) numa operação aritmética. Na maioria das
vezes, a exceção provoca um erro fatal no sistema, causando o término anormal do programa. Isto se deve ao fato de
que a exceção é melhor tratada dentro do próprio programa, com instruções escritas pelo programador.
Estrutura do Sistema Operacional
O sistema operacional é formado por um conjunto de rotinas que oferecem serviços essenciais aos usuários, às
suas aplicações, e também ao próprio sistema. A esse conjunto de rotinas dá-se o nome de núcleo do sistema ou kernel.
É fundamental não se confundir o núcleo do sistema com aplicações, utilitários ou o interpretador de comandos (shell), que acompanham o sistema operacional. As aplicações são utilizadas pelos usuários de maneira transparente, escondendo todos os detalhes da interação com o sistema. Os utilitários, como os compiladores, editores de
V e r s ã o
1 . 0
P á g i n a 30 de 36
texto e interpretadores de comandos permitem aos usuários, desenvolvedores e administradores de sistema uma interação amigável com o sistema.
Figura 33. Elementos da arquitetura Software/Hardware do sistema operacional: Shell e Kernel
System Calls. Uma grande preocupação no projeto de sistemas operacionais se refere à implementação de mecanismos de proteção ao núcleo do sistema e também o controle de acesso aos serviços oferecidos pelo sistema. Caso
uma aplicação que tenha acesso ao núcleo realize alguma operação que altere sua integridade, todo o sistema poderá
ficar comprometido e inoperante. As system calls (chamadas do sistema) podem ser entendidas como uma porta de
entrada para acesso ao núcleo do sistema e aos seus serviços. Sempre que um usuário ou uma aplicação necessita de
algum serviço do sistema, é realizada uma chamada a uma de suas rotinas através de uma system call.
Através dos parâmetros fornecidos na system call, a solicitação é processada e uma resposta é enviada à aplicação juntamente com um estado de conclusão indicando o sucesso ou não da operação. Para cada serviço disponível
existe uma system call associada, e cada sistema operacional possui seu próprio conjunto de chamadas, com nomes,
parâmetros e formas de ativação específicos. Isto explica por que uma aplicação desenvolvida utilizando serviços de
um determinado sistema operacional não pode ser diretamente portada para um outro sistema.
Figura 34. Interação dos componentes durante uma System Call
V e r s ã o
1 . 0
P á g i n a 31 de 36
Existe uma grande dificuldade em compreender a estrutura e o funcionamento do sistema operacional, pois ele
não é executado como uma aplicação tipicamente sequencial, com início, meio e fim. Os procedimentos do sistema são
executados concorrentemente sem uma ordem específica ou predefinida, com base em eventos dissociados do tempo.
Muitos desses eventos estão relacionados ao hardware e a tarefas internas do próprio sistema operacional. A estrutura
do sistema, a maneira como ele é organizado e o inter-relacionamento entre seus diversos componentes pode variar
conforme a concepção do projeto do sistema.
Modo de Acesso
Existem certas instruções que não podem ser colocadas diretamente à disposição das aplicações, pois a sua utilização indevida poderia ocasionar sérios problemas à integridade do sistema. Imagine que uma aplicação atualize um
arquivo em disco. O programa, por si só, não pode especificar diretamente as instruções que acessam seus dados no
disco pois, como o disco é um recurso compartilhado, sua utilização deve ser gerenciada unicamente pelo sistema
operacional. Tal procedimento evita que a aplicação possa ter acesso a qualquer área do disco indiscriminadamente,
o que poderia comprometer a segurança e a integridade do sistema de arquivos.
Assim, fica claro que existem certas instruções que só podem ser executadas pelo sistema operacional ou sob
sua supervisão. As instruções que têm o poder de comprometer o sistema são chamadas de instruções privilegiadas,
enquanto as instruções que não comprometem o funcionamento do sistema chamam-se instruções não-privilegiadas.
Para que uma aplicação possa executar uma instrução privilegiada, é preciso que haja um mecanismo de proteção no processador, chamado modos de acesso. Existem basicamente dois modos de acesso ao processador: modo
usuário e modo kernel.
Quando o processador trabalha no modo usuário, somente instruções não-privilegiadas podem ser executadas,
tendo assim acesso a um número limitado de instruções do processador. Já no modo kernel (ou supervisor), a aplicação pode ter acesso ao conjunto total de instruções do processador. A melhor maneira de controlar o acesso às instruções privilegiadas é permitir que apenas o sistema operacional tenha acesso a elas. Sempre que uma aplicação necessita executar uma instrução privilegiada, a solicitação deve ser feita através de uma system call, que altera o modo de
acesso ao processador do modo usuário para o modo kernel. Ao término da execução da rotina do sistema, o modo de
acesso retorna para o modo usuário.
Funções do Sistema
As principais funções do núcleo encontradas na maioria dos sistemas comerciais são as seguintes:
Gerenciamento de Processos: função responsável por alocar em memória todos os recursos necessários à
execução do processo. É esta função que aloca em memória, além do executável, o contexto do processo, o buffer de
leitura/gravação (se necessário), além de listas e estruturas de controle utilizadas pelo sistema operacional. Nesta
função também são estabelecidos vínculos físicos a arquivos em disco, fitas e outros periféricos que serão usados no
processamento. Quando do fim da execução do programa, é esta função que desaloca todos os espaços em memória
ocupados pelo processo, liberando-os para futuras alocações a outros processos:
V e r s ã o
1 . 0
P á g i n a 32 de 36

Escalonamento e controle de processos: função responsável por organizar a fila de acesso ao processador.
Utiliza parâmetros do sistema e do perfil do usuário para estabelecer a ordem em que os processos
permanecerão à espera pela liberação da CPU, para então entrarem em execução. Escalonamentos do
tipo não-preemptivos são aqueles onde o sistema operacional não pode interromper o processo em
execução para retirá-lo da CPU. Assim sendo, se nenhum evento externo ocorresse durante a execução
do processo, este permanecia na CPU até terminar ou então alguma instrução do próprio programa o
desviasse para o estado de espera (operação de E/S). Já os escalonamentos preemptivos são caracterizados pela possibilidade de o sistema operacional interromper o processo em execução para retirá-lo
da CPU e dar lugar a outro. Neste caso o processo retirado da CPU volta ao estado de pronto, onde permanece aguardando nova oportunidade de ocupar a CPU. Com o uso da preempção, é possível ao sistema priorizar a execução de processos, como no caso de aplicações em tempo real. Outro benefício é a
possibilidade de implementar políticas de escalonamento que compartilhem o processador de uma maneira mais uniforme, balanceando o uso da CPU entre os processos.
Gerenciamento de memória: função responsável por fornecer à função de criação/eliminação de processos
os endereços em memória disponíveis para alocação:

Swapping: É uma técnica aplicada à gerência de memória que visa dar maior taxa de utilização à memória principal, melhorando seu compartilhamento. Visa também resolver o problema da falta de memória
principal num sistema. Toda vez que um programa precisa ser alocado para execução e não há espaço
na memória principal, o sistema operacional escolhe entre os processos alocados que não tem previsão
de utilizar a CPU nos próximos instantes (quase sempre entre aqueles que estão em interrupção de E/S
ou no final da fila de pronto), e “descarrega” este processo da memória para uma área especial em disco,
chamada arquivo de swap, onde o processo fica armazenado temporariamente. Durante o tempo em
que o processo fica em swap, o outro que necessitava de memória entra em execução ocupando o espaço
deixado pelo que saiu. Pouco antes de chegar a vez do processo armazenado em swap utilizar a CPU, o
sistema escolhe um outro processo para descarregar para swap e devolve o anterior da área de swap
para a memória principal, para que este possa ser executado novamente. E vai trabalhando assim até
que os processos vão terminando. O problema dessa técnica é que pode provocar um número excessivo
de acesso à memória secundária (disco), levando o sistema a uma queda de desempenho.

Memória Virtual: É uma técnica sofisticada e poderosa de gerência de memória onde as memórias principal e secundária são combinadas, dando ao usuário a impressão de que existe muito mais memória do
que a capacidade real de memória principal. O conceito de memória virtual baseia-se em não vincular o
endereçamento feito pelo programa aos endereços físicos da memória principal. Desta forma, o programa e suas estruturas de dados deixam de estar limitados ao tamanho da memória física disponível,
pois podem possuir endereços vinculados à memória secundária, que funciona como uma extensão da
memória principal. Outra vantagem desta técnica é permitir um número maior de processos compartilhando a memória principal, já que apenas partes de cada processo estarão residentes. Isto leva a uma
utilização mais eficiente do processador, além de minimizar (ou quase eliminar) o problema da fragmentação.
Gerenciamento de sistemas de arquivos: responsável pelo gerenciamento dos arquivos e diretórios, bem
como seu compartilhamento pelos diversos usuários, implementando mecanismos de controle da segurança e direitos
de acesso às áreas utilizadas pelos usuários nos diversos dispositivos:

V e r s ã o
1 . 0
Estrutura de Diretórios: É como o Sistema organiza logicamente os arquivos. Contém entradas associadas aos arquivos, com as informações de localização, nome, organização e outros atributos:
P á g i n a 33 de 36
o
o
o
V e r s ã o
Nível único: é a implementação mais simples de uma estrutura de diretórios, onde existe um
único diretório contendo todos os arquivos do disco. É muito limitado, não permitindo a criação
de arquivos com o mesmo nome.
Diretório pessoal: Evolução do modelo anterior, permite a cada usuário ter ser “diretório” particular, sem a preocupação de conhecer os outros arquivos do disco. Neste modelo há um diretório “master” que indexa todos os diretórios particulares dos usuários, provendo o acesso a
cada um.
Múltiplos níveis (ÁRVORE): É o modelo utilizado hoje em dia em quase todos os Sistemas Operacionais. Nesta modalidade cada usuário pode criar vários níveis de diretórios (ou sub-diretórios), sendo que cada diretório pode conter arquivos e sub-diretórios. O número de níveis possíveis depende do Sistema Operacional.

Sistemas de alocação de arquivos:
o FAT: sistema criado no MS-DOS e depois utilizado no Windows. Usa listas encadeadas tem um
limite de área utilizável em partições de 2 GB, caracteriza-se por um baixo desempenho no
acesso e armazenamento.
o FAT32: igual ao FAT no que diz respeito a organização e desempenho, mas pode trabalhar com
partições de até 2TB.
o NTFS: NT File System, original da plataforma Windows NT/2000/XP. Opera com uma estrutura
em árvore binária, oferecendo alto grau de segurança e desempenho:
 nomes de arquivo com até 255 caracteres, podendo conter maiúsculas, minúsculas e
espaços em branco;
 dispensa ferramentas de recuperação de erros;
 bom sistema de proteção de arquivos;
 criptografia.
o UNIX: Usa diretório hierárquico, com um raiz e outros diretórios subordinados. Neste Sistema
Operacional todos os arquivos são considerados apenas como uma “seqüência” de bytes, sem
significado para o Sistema. É responsabilidade da aplicação controlar os métodos de acesso aos
arquivos. O UNIX utiliza também alguns diretórios padronizados, de exclusividade do Sistema.

Gerência de espaço livre: São três as formas de se implementar estruturas de espaços livres:
o A primeira é através de uma tabela denominada mapa de bits, onde cada entrada da tabela é
associada a um bloco do disco representado por um bit, que estando com valor 0 indica que o
espaço está livre, e com valor 1 representa um espaço ocupado. Gasta muita memória, pois para
cada bloco do disco há uma entrada na tabela;
o A segunda forma é utilizando uma lista encadeada dos blocos livres do disco. Desse modo, cada
bloco possui uma área reservada para armazenar o endereço do próximo bloco livre. Apresenta
problemas de lentidão no acesso, devido às constantes buscas sequenciais na lista; e,
o A terceira forma é a tabela de blocos livres. Nesta, leva em consideração que blocos contíguos
de dados geralmente são alocados/liberados simultaneamente. Desta forma, pode-se enxergar
o disco como um conjunto de segmentos de blocos livres. Assim, pode-se manter uma tabela
com o endereço do primeiro bloco de cada segmento e o número de blocos contíguos que se
seguem.

Proteção de acesso: Considerando-se que os meios de armazenamento são compartilhados por vários
usuários, é fundamental que mecanismos de proteção sejam implementados para garantir a integridade
e proteção individual dos arquivos e diretórios:
1 . 0
P á g i n a 34 de 36
o
o
o
Senha de acesso: mecanismo de simples implementação, mas apresenta duas desvantagens: não
é possível determinar quais os tipos de operação podem ser efetuadas no arquivo, e, se este for
compartilhado, todos os usuários que o utilizam devem conhecer a senha de acesso.
Grupos de usuário: é muito utilizada em muitos Sistemas Operacionais. Consiste em associar
cada usuário a um grupo. Os grupos são organizados logicamente com o objetivo de compartilhar arquivos e diretórios no disco. Este mecanismo implementa três níveis de proteção: OWNER (dono), GROUP (grupo) e ALL (todos). Na criação do arquivo o usuário especifica se o arquivo pode ser acessado somente pelo seu criador, pelo grupo ou por todos os usuários, além
de definir que tipos de acesso podem ser realizados (leitura, escrita, execução e eliminação)
Lista de controle de acesso: é uma lista associada ao arquivo onde são especificados quais os
usuários e os tipos de acesso permitidos. O tamanho dessa estrutura pode ser bastante extenso
se considerarmos que um arquivo pode ser compartilhado por vários usuários. Além deste problema, há o inconveniente de se fazer acesso sequencial à lista toda vez que um acesso é solicitado. Em determinados sistemas de arquivos pode-se utilizar uma combinação de proteção por
grupos de usuários ou por listas de acesso, oferecendo assim maior flexibilidade ao mecanismo
de proteção de arquivos e diretórios.
Gerenciamento de dispositivos de E/S: responsável por gerenciar os dispositivos, prestando auxílio à criação/eliminação de processos e à gerência de sistemas de arquivos no que diz respeito ao endereçamento e associação
de arquivos em periféricos (conhecidos como drivers):

Tratamento de interrupções e exceções: já explicados anteriormente, em detalhes;

Suporte a redes e teleprocessamento: é esta função que executa todos os serviços de rede, fazendo o empacotamento das mensagens vindas dos terminais para a CPU central e vice-versa, além de controlar e
confirmar o envio e recebimento de todas as mensagens que trafegam pela rede;
Contabilização de uso do sistema: responsável por contabilizar o uso de todos os recursos do sistema consumidos pelos usuários e suas aplicações. São registrados: tempo de CPU, tempo corrido, quantidade de área alocada em
memória, em disco, linhas impressas, páginas de papel, entre outros. Isto se faz necessário para servir de subsídio para
análise de performance, estatísticas de gastos com material de consumo e também para definição d e custos de processamento.
Auditoria e segurança do sistema: função extremamente importante, pois detecta e registra (num arquivo
especial de LOG) todas as ocorrências de erro e violação de direitos de acesso ao sistema, aos arquivos, à memória e a
todos os recursos do sistema. O arquivo de LOG é usado pela gerência de sistemas, com o intuito de verificar e aperfeiçoar os mecanismos de segurança e proteção ao sistema.
Conteúdo integral em (fonte): Apostila “Arquitetura de Sistemas Operacionais” do curso técnico em informática, IFNMG
V e r s ã o
1 . 0
P á g i n a 35 de 36
Exercícios
1) Pressuponha que tenha sido criado um novo sistema operacional denominado Doors. O Doors não
tem suporte a gerenciamento de usuários, pois somente o usuário Administrador pode realizar login
no sistema. Doors é especialmente desenhado para
executar um serviço de banco de dados desenhado
para aplicações críticas em relação ao desempenho
e que sejam executados em ambientes corporativos com milhares de usuários utilizando este serviço concorrentemente. Qual opção abaixo seria
correta em relação a este sistema operacional?
a) Não é economicamente viável por atuar em áreas
onde já existem produtos com liderança de mercado e
que dificilmente poderiam ser afetadas pela concorrência a este sistema operacional, seja em aplicações
gerais ou em aplicações de nicho.
b) É multiusuário, pois milhares de usuários podem
utilizar seus serviços de forma concorrente.
c) É multitarefa, pois dá suporte a execução de serviços
de banco de dados e acesso a ambientes corporativos.
a) É um periférico que exibe resultados na tela do computador com o objetivo de executar tarefas específicas.
Também pode ser definido como os programas que comandam o funcionamento de um computador.
b) É uma sequência de instruções escritas para serem
interpretadas por um computador com o objetivo de
executar tarefas específicas. Também pode ser definido como os programas que comandam o funcionamento de um computador.
c) É uma operação realizada somente em micros com
processador 80386 em diante. Também pode ser definido como os programas que comandam o funcionamento de um computador.
d) É todo conjunto de periféricos de saída de dados
com o objetivo de executar tarefas específicas. Também pode ser definido como os programas que comandam o funcionamento de um computador.
e) Nenhuma das alternativas acima.
d) Não é economicamente viável por não suportar gerenciamento de usuários.
4) Cite 2 ou 3 exemplos para cada tipo de software
elencado a seguir:
e) É monousuário, pois somente um usuário pode realizar login no sistema.
- Softwares Básicos
- Software Utilitário
- Software Aplicativo
2) Qual a definição de Sistemas Operacionais? Cite
algumas das principais funções de um Sistema Operacional.
3) É sabido que o computador é composto por dois
componentes fundamentais: hardware e software.
O hardware se refere à parte física e o software à
parte lógica do computador. Assim, podemos afirmar que o software:
V e r s ã o
1 . 0
5) Os Sistemas Operacionais são constituídos de
duas principais estruturas: shell e kernel. Qual a
principal diferença entre eles?
6) Quantos e quais são os meios de gerenciamento
de um Sistema Operacional? Caracterize-os.
P á g i n a 36 de 36
Download