Logo Passei Direto
Buscar

Aula 2 - Introdução aos Sistemas Operacionais

User badge image

Enviado por Adriana Saldanha Cabral em

Esta é uma pré-visualização de arquivo. Entre para ver o arquivo original

Sistemas Operacionais 
Introdução aos Sistemas Operacionais 
 
 
Prof. Rogério Colpani 
E-mail: rocolpani@gmail.com 
1 
Roteiro 
1. História sobre a evolução dos computadores. 
 
2. O que é um sistema operacional. 
 
3. Funcionamento de um sistema operacional. 
 
4. Funções de um sistema operacional. 
 
5. Serviços oferecidos pelo sistema operacional. 
 
6. Componentes e objetivos do sistema operacional. 
 
7. Tipos de sistema operacional. 
 
8. Arquiteturas do sistema operacional. 
Sistemas Operacionais I 2 
História sobre a evolução dos computadores 
Ábaco 
 
• Origem: Mesopotâmia, há mais de 5.000 anos. 
 
• Antigo instrumento de cálculo, formado por uma moldura com 
bastões paralelos, dispostos no sentido vertical, correspondentes 
cada um a uma posição digital (unidades, dezenas, ...) e nos quais 
estão os elementos de contagem (fichas, bolas ...) que podem fazer-
se deslizar livremente. 
 
 
 
 
Sistemas Operacionais I 3 
História sobre a evolução dos computadores 
Computadores Mecânicos (1642 – 1945) 
 
 Blaise Pascal construiu em 1642 a primeira máquina de 
calcular, baseada em engrenagens e alavancas, e que 
permitia fazer adições e subtrações. 
 
 Leibniz (1646 - 1716) construiu outra máquina no 
mesmo estilo, porém permitia também a realização de 
multiplicações e divisões. 
 
 
 
 
Sistemas Operacionais I 4 
História sobre a evolução dos computadores 
 Máquina analítica 
• Charles Babbage em 1833. 
• Máquina de propósito geral (similar aos computadores atuais). 
• Usava sistema decimal. 
• Somava, subtraia, dividia e multiplicava em sequência 
automática. 
• Composta por: memória, unidade de computação, unidade de 
entrada e unidade de saída. 
 
Computadores à Válvula - década de 1945 – 1955 
 
Os primeiros computadores não tinham sistemas operacionais. 
 
A programação era feita diretamente em linguagem de 
máquina. 
 
 
 
 
 
 
Sistemas Operacionais I 5 
História sobre a evolução dos computadores 
 COLOSSUS 
• Primeiro computador digital eletrônico construído pelo 
Governo Britâncico em 1943. 
• Cada máquina usava 2.000 válvulas eletrônicas. 
• Objetivo: decodificar as mensagens (que eram criptografadas) 
trocadas pelos alemãs durante a Segunda Guerra Mundial. 
 
 
 
 
 
 
Sistemas Operacionais I 6 
Colossus Mark I 
História sobre a evolução dos computadores 
 ENIAC 
• Construído em 1946 para fins militares. 
• 18.000 válvulas; 1500 relés (interruptores 
eletromecânicos); 30 toneladas; 140 Kilowatts; 20 
registradores de números decimais de 10 dígitos. 
• Não tinha SO e seu funcionamento era parecido com uma 
calculadora simples de hoje. 
• Operação feita manualmente. 
 
 A calculadora efetua cálculos a partir de teclas 
pressionadas, fazendo interação direta com o hardware, como 
no ENIAC, no qual era preciso conectar fios, relés e sequências 
de chaves para que se determinasse a tarefa a ser executada. 
A cada tarefa diferente o processo deveria ser refeito. A 
resposta era dada por uma sequência de lâmpadas. 
 
 
 
 
 
 
 
Sistemas Operacionais I 7 
História sobre a evolução dos computadores 
ENIAC 
Sistemas Operacionais I 8 
História sobre a evolução dos computadores 
 Máquina de Von Neuman 
• 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. 
• Componentes: memória, ULA, unidade de controle e 
dispositivos de E/S. 
 
A década de 1955 – 1965 
 
 Invenção do Transistor (componente eletrônico) 
• Tornou o computador mais confiável possibilitando sua 
comercialização. 
• Mainframes. 
 
No entanto, devido aos altos custos poucos tinham acesso a essa 
tecnologia. 
• Grandes empresas, órgãos governamentais ou universidades. 
 
 
 
 
 
 
 
 
 
 
Sistemas Operacionais I 9 
História sobre a evolução dos computadores 
 
 
 Surgimento do primeiro SO. 
 
 Execução de um job por vez. 
 
 Um job (serviço) era composto de um conjunto de 
instruções de programas correspondentes a uma tarefa 
computacional particular, como folhas de pagamento ou 
estoque. 
 
 Os jobs demoravam minutos, horas ou dias para serem 
executados. 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Sistemas Operacionais I 10 
História sobre a evolução dos computadores 
 
 
 Esses computadores eram denominados de sistemas de 
processamento em lote de fluxo único. Porque programas 
e dados eram submetidos em grupos ou lotes carregando-os 
consecutivamente em uma fila ou disco. 
 
 O que limitava o tamanho e capacidades dos programas é 
que eles deveriam ser carregados na memória para serem 
executados. Como era relativamente cara, a quantidade de 
memória disponível naqueles computadores era pequena. 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Sistemas Operacionais I 11 
História sobre a evolução dos computadores 
A década de 1965 
 
 Circuitos integrados (chips). 
 
 Sistemas de processamento em lote, mas com execução de 
vários jobs ao mesmo tempo. 
• Um job poderia usar o processador, enquanto outros 
utilizavam os dispositivos periféricos. 
 
 Desenvolvimento de sistemas de multiprogramação: gerencia 
diversos jobs ao mesmo tempo. 
 
 Em um ambiente multiprogramação, o SO comuta 
rapidamente o processador de job em job mantendo vários 
deles em andamento e, ao mesmo tempo, os dispositivos 
periféricos também em uso. 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Sistemas Operacionais I 12 
História sobre a evolução dos computadores 
 
 Tempo de retorno – tempo entre a submissão de um job e o 
retorno de seus resultados foi reduzido. Com isso, era 
permitido entrar com o programa, fazer a compilação, 
receber uma lista de erros de sintaxe, corrigi-los 
imediatamente, recompilar e continuar esse ciclo até o 
programa estar livre de erros de sintaxe. 
 
 Desenvolvimento de SOs mais avançados para atender 
usuários interativos ao mesmo tempo. Usuários interativos 
comunicam-se com seus jobs durante a execução. Com isso, 
o sistema de computador precisava responder rapidamente
às solicitações do usuário, caso contrário, sua produtividade 
poderia ser prejudicada. 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Sistemas Operacionais I 13 
História sobre a evolução dos computadores 
 
A década de 1980 
 
 Computador pessoal. 
 
 Softwares como programas de planilhas de cálculo, editores 
de texto, pacotes de bancos de dados e pacotes gráficos 
ajudavam a dar impulso à revolução da computação pessoal, 
criando demanda entre as empresas que podiam usar esses 
produtos para aumentar sua produtividade. 
 
 Evolução da Engenharia de Software. 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Sistemas Operacionais I 14 
História sobre a evolução dos computadores 
 
 Interfaces Gráficas com o usuário (GUI): utilizam símbolos 
gráficos como janelas, ícones e menus para facilitar a 
interação do usuário com os programas. 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Sistemas Operacionais I 15 
História sobre a evolução dos computadores 
 
 A medida que o custo se declinava, a transferência de 
informações entre computadores interconectados em rede 
tornou-se mais econômica e prática. 
• Correio eletrônico, transferência de arquivos ... 
 
 Computação Distribuída (usar vários computadores 
independentes para desempenhar uma tarefa comum) 
proliferou com o modelo cliente/servidor. 
 
 Lançamento do SO DOS. 
 
 Desenvolvimento do primeiro Windows. 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Sistemas Operacionais I 16 
História sobre a evolução dos computadores 
A década de 1990 até hoje 
 
 No final da década, os computadores executavam milhões de 
instruções por segundo. 
 
 Armazenamento de grandes quantidades de informações. 
 
 Diminuição do preço e consequentemente maior acessibilidade 
para as empresas e pessoas. 
 
 Criação da WWW levou a popularidade da computação 
distribuída. 
 
 Família do Windows e o Linux. 
 
 Computação em dispositivos móveis (ex: celulares, PDAs ...) 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Sistemas Operacionais I 17 
Sistema Operacional 
 
O que é um Sistema Operacional? 
 
 É um software que habilita aplicações a se comunicar com os 
hardwares de um computador. 
 
 Faz o gerenciamento de softwares e hardwares de um 
sistema. 
 
Sistemas Operacionais I 18 
Hardware 
Sistema Operacional 
Aplicativos 
Funcionamento de um Sistema Operacional 
 Um programa consiste em um conjunto de instruções 
para o computador. 
 
Sistemas Operacionais I 19 
Solicita a 
impressão do 
documento 
Comunica 
Repassa o pedido 
para o hardware 
Impressão 
do 
documento 
Escrevendo 
um texto 
 SO funciona como tradutor, ele 
traduz o que foi solicitado pelo programa 
através de comandos em linguagem de 
máquina para que o hardware entenda, com 
isso, o hardware executa a função e retorna 
à saída desse comando para que o SO 
novamente traduza de uma forma que possa 
repassar para o usuário de uma maneira que 
ele entenda. 
Funções de um Sistema Operacional 
Os Sistemas Operacionais possuem duas funções básicas: 
1. Gerenciador de Recursos. 
2. Máquinas Estendidas. 
 
 Gerenciador de Recursos 
 
 O Sistema Operacional permite o acesso ordenado aos 
recursos (processador, memória, disco rígido e demais 
elementos de hardware), para que todos os programas possam 
ter acessos aos recursos disponíveis. 
 
Exemplo: Imagine que você está executando quatro programas, os dois 
primeiros estão querendo gravar dados no HD e os dois últimos necessitam 
imprimir algo, isso tudo simultaneamente. Alguém teria que coordenar o 
acesso ao disco e à impressora, para que nenhum problema ocorra devido ao 
conflito entre os programas em execução. 
Sistemas Operacionais I 20 
Funções de um Sistema Operacional 
 Máquina Estendida 
 
 Se não existissem os SO´s para facilitar a interação 
entre os demais softwares e os recursos de hardware do 
computador, um programador precisaria construir seus 
programas em uma linguagem que o hardware fosse capaz de 
entender, ou seja, em linguagem de máquina (sequencias de 
0´s e 1´s). 
 
 O Objetivo do Sistema Operacional é reduzir a 
complexidade dessas tarefas, escondendo-as dos 
programadores. 
 
 Podemos dizer que o SO fornece uma máquina virtual 
onde os programadores podem criar aplicativos de forma mais 
simples, usando uma linguagem de mais alto nível. 
 
Sistemas Operacionais I 21 
Serviços oferecidos pelo SO 
 Criação de aplicativos 
 
 
 
 
 Execução de programas 
 
 
 
 
 
 
 Acesso a dispositivos de E/S 
 
 
Sistemas Operacionais I 22 
Componentes e objetivos do SO 
Componentes centrais do Sistema Operacional 
 
 Shell (interpretador de comandos): modo de interação 
entre o usuário e o SO. 
 
 Implementado como interfaces de texto que habilitam 
o usuário a emitir comandos por meio de um teclado, ou como 
GUIs que permitem que o usuário “aponte-e-clique” e 
“arraste-e-solte” ícones para requisitar serviços do SO. 
 
 Chamadas de sistemas: podem ser entendidas como 
uma porta de entrada para o acesso ao núcleo do SO. 
Sempre que o usuário ou aplicação desejar algum serviço 
do sistema, é realizada uma chamada a uma de suas 
rotinas através de uma chamada de sistemas. 
 
 
Sistemas Operacionais I 23 
Componentes e objetivos do SO 
 
 O software que contém os componentes centrais do SO 
chama-se kernel (núcleo) e são compostos por: 
 
 Escalonador de processo: determina quando e por 
quanto tempo um processo é executado em um 
processador. 
 
 Gerenciador de memória: determina quando e como a 
memória é alocada aos processos e o que fazer quando a 
memória principal estiver cheia. 
 
 Gerenciador de E/S: atende às solicitações de E/S de e 
para dispositivos de hardware respectivamente. 
Sistemas Operacionais I 24 
Componentes
e objetivos do SO 
 
 
 Gerenciador de comunicação interprocessos (IPC): 
permite que os processos se comuniquem uns com os 
outros. 
 
 Gerenciador de sistema de arquivo: organiza coleções 
nomeadas de dados em dispositivos de armazenamento e 
fornece uma interface para acessar os dados nesses 
dispositivos. 
 
Sistemas Operacionais I 25 
Componentes e objetivos do SO 
 
Metas do Sistema Operacional 
 
 Usuários passaram a esperar certas características dos 
sistemas operacionais como: 
 
• Eficiência: alto rendimento e baixo tempo de retorno. 
 
 O rendimento mede a quantidade de trabalho que um 
processador pode concluir em um certo período de tempo. Um 
SO eficiente minimiza o tempo gasto oferecendo esses 
serviços. 
 
 
Sistemas Operacionais I 26 
Componentes e objetivos do SO 
 
• Robustez: tolerante a falhas e confiável. 
 
 O sistema não falhará devido a erros isolados de 
aplicações ou de hardware e, se falhar, ele o fará 
graciosamente (isto é, minimizando perda de trabalho e 
evitando danos ao hardware do sistema). 
 
• Escalabilidade: permite acrescentar novos recursos. 
 
 É capaz de usar recursos a medida que são 
acrescentados. Se o SO não for escalável, rapidamente chegará 
a um ponto em que recursos adicionais não serão utilizados 
totalmente. 
 
 
 Sistemas Operacionais I 27 
Componentes e objetivos do SO 
 
• Extensibilidade: executar tarefas que vão além do 
projeto original. 
 
 Adapta-se bem a novas tecnologias e fornece 
capacidades de estender o SO para executar tarefas que vão 
além de seu projeto original. 
 
• Portabilidade: operar muitas configurações de 
hardware. 
 
 Portabilidade de aplicações é importante porque 
desenvolver aplicações custa caro; a mesma aplicação deve 
rodar em uma variedade de configurações de hardware para 
reduzir custos de desenvolvimento. 
 
 
 
 
Sistemas Operacionais I 28 
Componentes e objetivos do SO 
 
• Segurança: impedir acessos a serviços e recursos. 
 
 Impede que usuários e softwares acessem serviços e 
recursos sem autorização. 
 
• Interatividade: resposta rápida ao usuário. 
 
 Permite que aplicações respondam rapidamente às 
ações do usuário ou a eventos. 
 
 
 
 
 
Sistemas Operacionais I 29 
Tipos de Sistemas Operacionais 
 
 
 
 
 
Sistemas Operacionais I 30 
Tipos de SO 
Sistemas 
Monotarefa 
Sistemas 
Multitarefa 
Sistemas com 
Múltiplos 
Processadores 
Tipos de Sistemas Operacionais 
 Sistemas Monotarefa 
 
Se caracterizam pela execução de uma única tarefa por vez, 
sendo que todos os recursos (processador, memória, 
periféricos) ficam exclusivamente a ela dedicados. 
 
Exemplo: MS-DOS. 
 
 
Sistemas Operacionais I 31 
A 
C 
B 
Programa 
Tempo 
Tipos de Sistemas Operacionais 
 Sistemas Multitarefa 
 
Se caracterizam por permitir que várias tarefas residam 
simultaneamente na memória e concorra pelo uso de recursos 
disponíveis (apenas uma tarefa detém, num determinado 
instante, o controle da CPU). 
 
 Exemplo: Windows, Linux. 
 
 
Sistemas Operacionais I 32 
A 
C 
B 
Programa 
Tempo 
Tipos de Sistemas Operacionais 
 Sistemas com Múltiplos Processadores 
 
Caracterizam-se por possuir duas ou mais CPU´s interligadas, 
trabalhando em conjunto. 
 
• Sistema fortemente acoplados: existem dois ou mais 
processadores compartilhando uma única memória e 
controlados por apenas um único SO. 
 
• Sistema fracamente acoplados: possui dois ou mais 
sistemas de computação conectados através de linhas de 
comunicação. Cada sistema funciona de forma 
independente, possuindo seu próprio processador, 
memória e dispositivos. 
 
Sistemas Operacionais I 33 
Arquiteturas de Sistemas Operacionais 
 
 Os sistemas operacionais de hoje tendem a ser 
complexos, porque prestam muitos serviços e suportam uma 
variedade de recursos de hardware e software. 
 
 Arquiteturas de sistemas operacionais podem ajudar 
projetistas a gerenciar essa complexidade organizando 
componentes de sistema e especificando o privilégio com que 
cada componente é executado. 
 
 Tipos de Arquitetura 
 Monolítica. 
 Camadas. 
 Micronúcleo. 
 
 
Sistemas Operacionais I 34 
Arquiteturas de Sistemas Operacionais 
Modos de acesso 
 
 Existem certas funções que não podem ser 
colocadas diretamente a disponibilidade das aplicações, 
pois sua utilização indevida ocasionaria sérios problemas a 
integridade do sistema. 
 
 Exemplo: suponha que uma aplicação deseja atualizar um 
arquivo diretamente no disco. O programa por si só não pode 
especificar diretamente as instruções que acessam seus dados. 
Como o disco é um recurso compartilhado, sua utilização deverá 
ser realizada unicamente pelo SO. 
 
Sistemas Operacionais I 35 
Arquiteturas de Sistemas Operacionais 
 
 As instruções que podem comprometer a segurança e 
integridade do sistema são chamadas de instruções privilegiadas 
enquanto que as não privilegiadas são as que não oferecem perigo 
ao sistema. 
 
 Para que uma aplicação possa acessar uma instrução 
privilegiada, o processador implementa o mecanismo de modo de 
acesso. 
 
 Modos de acesso: modo usuário e modo núcleo. 
 
 Quando um processador trabalha no modo usuário 
basicamente a aplicação somente pode acessar as instruções não 
privilegiadas, enquanto que no modo núcleo a aplicação pode ter 
acesso ao conjunto total de instruções do processador. 
Sistemas Operacionais I 36 
Arquiteturas de Sistemas Operacionais 
 Arquitetura Monolítica 
 
• É a arquitetura mais antiga e mais comum. 
 
• Cada componente do SO é contido no núcleo e pode 
comunicar-se diretamente com qualquer outro (usando 
chamadas à funções). 
 
• A intercomunicação direta entre componentes é que torna os 
sistemas operacionais monolíticos altamente eficientes, 
porque poucas chamadas atravessam do espaço do usuário 
para o espaço do núcleo. 
 
• Devido ao fato dos núcleos monolíticos agruparem os 
componentes todos juntos, é difícil isolar a fonte de problemas
e outros erros. 
 Sistemas Operacionais I 37 
Arquiteturas de Sistemas Operacionais 
 
• Como todo o código é executado com acesso irrestrito ao 
sistema, tornam-se particularmente suscetíveis a danos 
provocados por códigos sujeitos a erros ou mal-
intencionados. 
 
Sistemas Operacionais I 38 
Modo kernel
aplicação aplicação
Modo usuário
System call
Hardware
Arquiteturas de Sistemas Operacionais 
Analogia 
 
Um SO monolítico seria equivalente a uma kitnet, onde 
todos os cômodos (componentes) são acomodados em um 
só lugar (núcleo). 
 
Sistemas Operacionais I 39 
Exemplo de SOs: 
UNIX e MS-DOS. 
Arquiteturas de Sistemas Operacionais 
 Arquitetura em Camadas 
 
• Agrupa em camadas componentes que realizam tarefas 
similares. 
 
• Cada camada comunica-se exclusivamente com as camadas 
imediatamente acima e abaixo dela. 
 
• São mais modulares do que os monolíticos, porque a 
implementação de cada camada pode ser modificada sem 
exigir nenhuma modificação nas outras. 
 
• Cada componente oculta o modo como realiza sua tarefa e 
apresenta uma interface padrão que os outros componentes 
podem usar para requisitar seus serviços. 
 
Sistemas Operacionais I 40 
Arquiteturas de Sistemas Operacionais 
• A modularidade impõe estrutura e consistência ao SO, muitas vezes 
simplificando depuração, modificação ... 
 
• Entretanto, em uma abordagem de camadas, a requisição de um 
processo de usuário pode precisar passar por muitas camadas antes 
de ser atendida. Como é preciso invocar métodos adicionais para 
passar dados de uma camada para a seguinte, o desempenho se 
degrada em comparação ao do núcleo monolítico, que pode requerer 
apenas uma única chamada para atender a uma requisição similar. 
 
Sistemas Operacionais I 41 
Aplicação do usuário 
Gerenciamento de E/S 
Interpretador de mensagem 
Gerenciamento de memória 
Alocação de processador e 
escalonamento de processo 
Camada 4 
Camada 3 
Camada 2 
Camada 1 
Camada 0 
Espaço do usuário 
Espaço do núcleo 
Arquiteturas de Sistemas Operacionais 
Analogia 
 
Camada OSI 
 
 
 
 
 
 
 
 
 
• THE foi um dos primeiros SOs em camadas. 
Sistemas Operacionais I 42 
Aplicação 
Apresentação 
Sessão 
Transporte 
Rede 
Enlace 
Física 
Arquiteturas de Sistemas Operacionais 
 Arquitetura Micronúcleo 
 
• Fornece somente um número pequeno de serviços na tentativa 
de manter o núcleo pequeno e escalável. 
 Exemplo: gerenciamento de memória, comunicação entre processos ... 
 
• A maioria dos componentes do SO – como gerenciamento de 
processo, rede, sistemas de arquivo e gerenciamento de 
dispositivos é executada fora do núcleo com um nível de 
privilégio mais baixo. 
 
• Micronúcleos exibem um alto grau de modularidade, o que 
os torna extensíveis, portáteis e escaláveis. E como o 
micronúcleo não depende de cada componente para ser 
executado, um ou mais componentes podem falhar sem 
causar também a falha do SO. 
Sistemas Operacionais I 43 
Arquiteturas de Sistemas Operacionais 
• Entretanto, essa modularidade ocorre à custa de um maior nível 
de comunicação entre os módulos, o que pode degradar o 
desempenho do sistema. 
 
• O Linux e o Windows XP contêm componentes modulares. 
Sistemas Operacionais I 44 
Aplicações 
Interface de chamada ao sistema 
Espaço do usuário 
Espaço do núcleo 
Sistemas de Arquivos Escalonador de processos Gerenciador de dispositivos ... ... 
CEP 
Sincronização 
Gerenciamento de 
memória 
Referências 
Sistemas Operacionais 
 
DEITEL, H.M.; DEITEL, P.J.; CHOFFNES, D.R. 3.ed. São 
Paulo: Pearson Pretince Hall, 2005. 
 
Capítulo 1 
Sistemas Operacionais I 45

Teste o Premium para desbloquear

Aproveite todos os benefícios por 3 dias sem pagar! 😉
Já tem cadastro?