Buscar

Aula01 Sistemas Operacionais

Prévia do material em texto

Estrutura de dados 
Tipo abstrato de dados 
(TAD) 
Sistemas Operacionais
Introdução aos Sistemas Operacionais
Sistemas Operacionais – O que é um sistema operacional 2 
O que é um sistema operacional 
 
De acordo com Silberschatz (2000), um sistema operacional é “um 
programa que atua como intermediário entre o usuário e o hardware de um 
computador”. 
A figura 1 ilustra um sistema de computação típico, com sistema 
operacional encapsulando o hardware. Observe que os programas aplicativos 
utilizados precisam “passar” pelo sistema operacional para chegar ao 
hardware. Isso não é uma verdade absoluta sempre, mas em geral é assim 
que o acesso acontece. 
 
 
 
 
 
 
 
 
 
 
 
 
Figura 1. Visão geral de um sistema de computação. (Silberschatz, 
2000) 
 
Na realidade, o sistema operacional é formado por um conjunto de 
programas, com um papel fundamental em um sistema de computação. De 
maneira geral, esse software encapsula o hardware sobre o qual está 
instalado, isolando-o dos softwares aplicativos que estão em execução no 
hardware. Um dos motivos para que isso aconteça é o sistema operacional 
ficar responsável pela segurança e gerenciamento de conflitos que podem 
surgir em um ambiente compartilhado. 
 
 
 
Curiosidade 
Sistemas Operacionais – O que é um sistema operacional 3 
Há diversos sistemas operacionais sendo executados nos 
computadores atualmente. Você sabe qual é o sistema operacional mais 
utilizado hoje? No link abaixo, você pode ver as estatísticas atualizadas com 
visão mundial, ou aplicar um filtro por país. 
<http://gs.statcounter.com/>. Acesso em: jul. 2013. 
 
1.1 Responsabilidades de um 
sistema operacional 
 
Para se entender a importância que este software tem, é preciso 
conhecer as tarefas que são atribuídas a ele. 
 
1.1.1 Gerenciador de recursos 
 
Um dos papéis primários de um sistema operacional é servir como um 
gerente de recursos, controlando o uso do hardware sob o qual ele está 
instalado. Por meio desta tarefa, o sistema operacional recebe pedidos de 
aplicativos para acessar determinados recursos, como a memória, e decide 
se esse recurso será concedido para quem o solicitou. Ao atender uma 
solicitação, o sistema operacional deve tomar cuidado para que uma 
aplicação não interfira na execução de outra aplicação. Além disso, o papel 
de gerente de recursos inclui controlar o tipo (leitura ou escrita) e prioridades 
de acesso. 
 
1.1.2 Provedor de serviços 
 
Analisando o sistema operacional do ponto de vista de uma aplicação 
ou de um usuário, ele pode ser entendido como um provedor de serviços. Por 
exemplo, um programa aplicativo pode solicitar ao sistema operacional que 
grave um determinado arquivo em disco, ou que faça a leitura de um arquivo 
que está armazenado em disco e o carregue em memória. 
Diferente do que a maioria dos usuários imagina, não é a própria 
aplicação que executa as tarefas chamadas de “baixo nível”, ou seja, lê ou 
grava os arquivos em disco: isso é tarefa desempenhada pelo sistema 
operacional. 
 
1.1.3 Máquina virtual 
Sistemas Operacionais – O que é um sistema operacional 4 
 
Uma vez que o sistema operacional pode ser observado como uma 
camada entre o hardware e a aplicação, ele pode ser entendido como uma 
máquina virtual. Isso significa que os programas aplicativos não sabem os 
detalhes do hardware sobre o qual estão de fato executando, uma vez que o 
sistema operacional irá fornecer os recursos de forma abstrata para a 
aplicação. Para deixar mais claro, considere que um aplicativo solicita para o 
Sistema Operacional armazenar um arquivo no seguinte local: 
“f:\docs\arquivo.txt”. Que tipo de mídia é o local “f”? Pode ser um hard disc 
(HD) tipo magnético, ou pode ser um pendrive, que é uma memória flash. A 
maneira como cada um desses dispositivos funciona é muito diferente, mas 
para a aplicação isso não importa. O sistema operacional fornece uma 
abstração chamada “f:” Neste exemplo, e é tudo que a aplicação precisa 
saber. 
 
2.0 Visão geral de hardware 
 
Antes de prosseguir, é necessário apresentar algumas informações 
sobre hardware para explicar como o sistema operacional interagirá com o 
hardware sobre o qual está executando. 
Um sistema de computação, de maneira geral, é formado pelos 
componentes básicos listados a seguir. 
 
 CPU: Unidade Central de Processamento, também conhecida 
como processador. É responsável pela execução das instruções e, 
portanto, é a peça fundamental para o funcionamento do sistema. 
É por meio da CPU que se tem uma das medidas de desempenho 
de um sistema. 
 Mecanismos de armazenamento: Entram nesta categoria os 
mecanismos de armazenamento temporário, como a memória 
RAM, e persistente, como os discos rígidos (hard disc). 
 Barramentos: São conexões físicas que ligam os diversos 
componentes dentro da placa do sistema, como ligam a CPU com 
a memória RAM. 
 Estruturas de entrada e saída (E/S): Componentes que permitem 
ao usuário interagir com um sistema de computação. Pode-se 
destacar aqui o teclado, o mouse, e o monitor, como os 
componentes mais utilizados para realizar estas tarefas. 
 
Quando um sistema operacional é projetado e implementado, existem 
Sistemas Operacionais – O que é um sistema operacional 5 
diversos tipos e modelos de hardware disponíveis no mercado. E após a 
implementação e a venda do sistema operacional, outros dispositivos que 
são criados. Como a equipe que desenvolve o sistema operacional pode 
prepará-lo para funcionar com todas as opções disponíveis? Na realidade, 
ele não “conhece” todo o hardware. Há mais uma camada entre o sistema 
operacional e o hardware, uma pequena peça de software chamada driver de 
dispositivo. Ele é responsável por fazer a comunicação entre os diferentes 
tipos de dispositivos e o sistema operacional. 
 
Leitura complementar 
 
Para conhecer outros detalhes e componentes de hardware, leia a 
matéria disponível em: <http://informatica.hsw.uol.com.br/pc.htm>. Acesso 
em: jul. 2013. 
 
 
Curiosidade 
 
A Intel, reconhecida fabricante de processadores, oferece diversos 
softwares que permitem monitorar e configurar alguns parâmetros dos seus 
processadores. Para conhecer, acesse: 
<www.intel.com/support/pt/utilitytools.htm?iid=subhdr-BR+res_toolutil>. 
Acesso em: jul. 2013. 
 
2.1 Interrupções 
 
Uma vez que existem diversos componentes de hardware presentes 
em um sistema de computação e a que CPU deve coordená-los, deve haver 
algum tipo de mecanismo para que haja comunicação entre estes 
componentes e a CPU. Para realizar esta tarefa, um sistema de computação 
conta com um mecanismo chamado de interrupção. 
Uma interrupção é um sinal enviado ao processador para indicar que 
uma ação deve ser tomada para responder a algum evento que aconteceu no 
sistema. Quando a CPU recebe uma interrupção, ela deve parar o que está 
fazendo e verificar a interrupção que foi recebida e se tem maior importância 
do que aquilo que ela estava fazendo. Caso afirmativo, a CPU trata a 
interrupção para somente depois voltar a sua tarefa inicial. 
A interrupção pode ser gerada por hardware ou por software. No caso 
da gerada por hardware, um componente do sistema, como um HD, envia um 
sinal pelo barramento, indicando que uma leitura ou uma escrita que estava 
Sistemas Operacionais – O que é um sistema operacional 6 
em andamento foi concluída, por exemplo. No caso de uma interrupção por 
software, temos uma chamada ao sistema (System call) que é a maneira que 
um programa aplicativo utiliza para fazer solicitações ao sistema operacional, 
como gravar um arquivoem disco. 
 
2.2 Iniciando o sistema 
 
Quando um computador é ligado normalmente se observa alguns leds 
acendendo, como os do teclado e do HD. Antes de o sistema operacional 
entrar em funcionamento, existe outro programa que é carregado e iniciado: o 
bootstrap program ou programa de partida. No início do processo de partida 
do sistema, é possível verificar o hardware sendo testado e alguns leds 
piscando indicando testes em dispositivos de entrada e saída e de 
armazenamento. Depois disso, o bootstrap program assume seu papel de 
carregar o sistema operacional na memória e iniciar sua execução; então, o 
sistema operacional se torna o responsável por todos os demais eventos que 
acontecem no sistema. 
 
3.1 Breve histórico dos sistemas 
operacionais 
 
Vamos aqui resumir os fatos mais importantes que aconteceram nas 
últimas décadas no cenário da computação e que marcaram a história dos 
sistemas operacionais ao longo do tempo. Este guia é apenas um breve 
relato, não pretendendo esgotar o assunto ou cobrir todos os fatos. 
Na década de 1950, com a criação dos primeiros computadores 
transistorizados, houve o desenvolvimento dos precursores dos sistemas 
operacionais que utilizamos hoje. Obviamente, eles eram muito mais simples, 
com apenas algumas das funções que um sistema operacional moderno 
contempla. Uma das tarefas era carregar um programa o colocá-lo em 
execução. Nesse ambiente, somente um programa era carregado de cada 
vez, e somente após a finalização de um programa é que outro poderia ser 
executado. Também não havia nesta época a interação com o usuário, com 
teclado e mouse. Havia uma leitora de cartões e uma impressora para 
desempenharem o papel dos dispositivos de entrada e saída. 
Durante a década de 1960, surgiram os computadores que utilizavam 
circuitos integrados (CIs) e com eles surgiu o conceito de multiprogramação. 
A ideia básica era manter em memória, não apenas um, mas diversos 
programas ao mesmo tempo, fazendo com que o tempo ocioso do 
Sistemas Operacionais – O que é um sistema operacional 7 
processador, que ficava parado esperando a conclusão das operações de 
entrada e saída de dados, fosse então ocupado com o processamento de 
outra tarefa. Para isso, o sistema operacional passou a dividir a memória em 
porções, e em cada uma ele alocava um programa e os dados deste 
programa, e deveria gerenciar estas porções de memória para que um 
programa não invadisse a área de memória de outro. 
Ainda durante a década de 1960, outro aspecto muito importante foi o 
surgimento dos discos magnéticos, que permitiram um grande ganho em 
velocidade de carregamento de programas e no armazenamento de dados. 
Obviamente, esta foi mais uma que passou a fazer parte das tarefas dos 
sistemas operacionais. Foi também durante esta década que o MIT 
(Massachusetts Institute of Technology), juntamente com a GE (General 
Eletronics) e o Bell Laboratories, desenvolveu o Multics, um sistema 
operacional que permitia um único computador ser utilizado por centenas de 
pessoas, com a tecnologia de tempo compartilhado. Variações desta técnica 
são utilizadas ainda hoje nos sistemas operacionais modernos, permitindo 
que várias pessoas, ou programas, possam se conectar a uma máquina e 
utilizar seus recursos remotamente. Um exemplo disso são os servidores de 
internet, onde milhares de pessoas se conectam para buscar informações 
diariamente. 
Na década de 1970, alguns eventos mudaram o cenário da 
computação no mundo. O surgimento dos microchips fez com que o preço 
dos computadores despencasse e tornou possível que fossem comprados 
por pessoas físicas e não apenas por empresas. Foi também nesta década 
que as conexões de rede começassem a se difundir e preparar o cenário que 
temos hoje, com computadores interligados por todo o mundo. 
Foi na década de 1980 que o famoso empresário Bill Gates da 
Microsoft inicialmente comercializou o sistema operacional MS-DOS e mais 
tarde o Windows, dotado de uma interface gráfica, permitindo que pessoas 
sem conhecimento técnico pudessem operar os computadores de forma mais 
fácil. O uso de interface gráfica, acompanhada de um mouse, fez com que a 
utilização dos computadores se popularizasse ainda mais, e tornou a 
Microsoft uma empresa milionária em pouco tempo. 
Para terminar nosso breve relato da história dos sistemas 
operacionais, não poderíamos deixar de citar na década de 1990, o 
desenvolvimento da Word Wide Web, que definitivamente muda a forma com 
que nos comunicamos com o mundo e está modificando as relações de 
comércio e trabalho. Uma grande demanda da chamada computação 
distribuída tem surgido e os sistemas operacionais mais uma vez são parte 
integrante desta demanda, gerenciado a comunicação entre os diversos 
computadores que se interligam nas diversas redes. 
 
Sistemas Operacionais – O que é um sistema operacional 8 
Leitura complementar 
 
A história da evolução dos sistemas operacionais está intimamente 
ligada à evolução dos computadores. Para saber um pouco mais sobre os 
primórdios da computação, leia a matéria disponível no link a seguir. 
<www.tecmundo.com.br/linux/2031-a-historia-dos-sistemas-
operacionais.htm>. Acesso em: jul. 2013. 
 
4.0 Tipos de sistemas 
operacionais 
 
Serão abordados aqui quatro tipos de sistemas operacionais, 
classificados de acordo com a forma com que processam os pedidos e 
programas em execução no sistema. 
 
4.1.1 Sistemas operacionais em batch 
 
Neste tipo de sistema operacional, a ideia básica é submeter uma 
tarefa ao sistema aguardar até que ela seja concluída, sem que durante esse 
tempo de espera haja iteração com o computador. Dessa forma, reúnem-se 
grupos de trabalhos em lotes (batch) e cada trabalho é finalizado antes de 
iniciar o próximo. 
 
 
 
4.1.2 Sistemas operacionais de tempo compartilhado 
 
Neste tipo de sistema, diversas tarefas são executadas 
concorrentemente, ou seja, não é necessário que uma tarefa tenha que 
esperar até a conclusão de outra para iniciar seu processamento. Como isso 
é possível? Se estivéssemos em um sistema com múltiplos processadores, 
poderíamos imaginar que cada tarefa seria executada em um dos 
processadores. Mas não é esse o caso: mesmo em uma máquina com um 
único processador disponível, pode-se ter diversas tarefas sendo executadas. 
Isso é conseguido alternando-se entre as tarefas que estão esperando para 
executar, em um intervalo de tempo muito pequeno. 
Para entender esse conceito, considere que em um computador 
Sistemas Operacionais – O que é um sistema operacional 9 
executa um aplicativo de edição de texto, um para tocar música e um 
navegador de internet. Enquanto o usuário ouve música, ele pode deixar o 
download de um arquivo e ao mesmo tempo o usuário pode digitar um texto 
no editor. O que o sistema operacional faz neste caso é alternar entre a 
execução dos aplicativos, de forma tão rápida, que o usuário não consegue 
perceber a troca entre os aplicativos. 
 
4.1.3 Sistemas operacionais distribuídos 
 
Neste ambiente, um único sistema operacional trata diversas CPUs e 
memórias, de vários computadores interligados, como recursos que ele 
administra. Isso é diferente de se interligar diversos computadores, cada um 
contendo seu próprio sistema operacional local, e que se comunicam, mas 
não compartilham dos recursos: cada sistema operacional local administra 
seus próprios recursos. 
Um sistema operacional distribuído é formado por vários 
processadores, mas todos eles dispostos na mesma máquina, ou seja, eles 
estão conectados por um mesmo barramento e não por cabos remotos. 
Neste cenário, o sistema operacional deve ser capaz dedistribuir os 
diversos aplicativos entre os processadores, de forma a obter o melhor 
desempenho possível, não sobrecarregando ou deixando ocioso nenhum dos 
processadores. 
 
 
4.1.4 Sistemas operacionais de tempo real 
 
Sistemas operacionais de tempo real são construídos para executar 
em sistemas de missão crítica, nos quais o tempo é um fator principal a ser 
considerado, e não pode haver atrasos na execução das tarefas. Como 
exemplos de sistemas deste tipo, considere sistemas de controle de aviões, 
de braços mecânicos e de temperatura em indústrias, ou ainda sistemas de 
navegação automáticos, como piloto-automático em carros. Neles, não pode 
haver demora na resposta do sistema ou um grave acidente poderia 
acontecer. 
 
BIBLIOGRAFIA 
 
SILBERSCHATZ, A.; GALIN, P.; GAGNE, G. Sistemas operacionais: 
Conceitos e aplicações. Rio de Janeiro: Campus, 2000. 
 
Sistemas Operacionais – O que é um sistema operacional 10 
TANENBAUM, A. S. Sistemas operacionais modernos. São Paulo: Pearson 
Prentice Hall, 2009. 
 
DEITEL, H. M; DEITEL, P. J.; CHOFFNES, D.R. Sistemas operacionais. São 
Paulo: Pearson Prentice Hall, 2005.

Continue navegando