Sei sulla pagina 1di 10

CAPTULO 2 INTRODUO SISTEMAS OPERACIONAIS

Fabio Augusto Oliveira FEPI Centro Universitrio de Itajub Curso de Sistemas de Informao

2. Sistema Operacional

Sistema operacional um conjunto de rotinas executadas pelo processador, que tem como funes bsicas: gerenciar os vrios recursos disponveis no sistema, para atender da maneira mais eficiente possvel o usurio; gerenciar a execuo dos programas do usurio, visando o melhor desempenho do sistema todo. Em sua forma mais usual, a estrutura de um sistema operacional pode ser visualizada em camadas hierrquicas mostrada na figura 7, onde a camada mais interna, correspondente ao hardware, que suporta todas as camadas de software. A primeira camada de software a envolver o hardware o ncleo (kernel), que se comporta como um sistema operacional bsico. Sobre o ncleo situam-se um conjunto de servios, constituindo-se o sistema operacional propriamente dito, que fornece o suporte necessrio a execuo de programas. Em seguida, tem-se a camada mais externa correspondendo ao nvel da aplicao, na qual este projeto atua diretamente.

Figura 1 - Estruturao de um Sistema Operacional em Camadas.

Sistemas Operacionais Notas de Aula Captulo 2 2

Os principais componentes do sistema operacional residem no ncleo e so relacionados a seguir: Gerenciamento de I/O: Esconde as peculiaridades do hardware, fornecendo mecanismo de bufferizao e drivers dos dispositivos. Mecanismo de bufferizao - poupa tempo de CPU evitando que as solicitaes de I/O sejam feitas diretamente nos dispositivos fsicos. Ao invs disso, as I/O so feitas em um buffer e de tempo em tempo so efetivadas nos dispositivos. Drivers - dos dispositivos so rotinas que implementam as funes bsicas tais como leitura e escrita de caracteres e string; assim no precisamos programar em baixo nvel. Gerenciamento de Arquivos: Implementa funes tais como: gerenciamento de espaos livres; criao e deleo de arquivos; criao e deleo de diretrios; primitivas para manipulao de arquivos e diretrios (dir, copy, cd etc...); mapeamento dos arquivos em disco etc... Gerenciamento de Processos: Implementa funes de manipulao e gerenciamento de processos tais como: criao e deleo de processos; escalonamento de processos; mecanismos de comunicao e sincronizao entre processos etc... Processos podem ser comparados com programas capazes de executar tarefas. Aos processos so associados alguns atributos tais como: nome, proprietrio, ponteiros para posies da memria, contexto (contedo dos registradores e variveis; situao em que o hardware estava quando o processo foi suspenso) etc... Existem basicamente dois tipos de processos: processos do usurio e processos do SO. Os processos do usurio executam as tarefas do usurio e os processos do SO executam as

Sistemas Operacionais Notas de Aula Captulo 2 3

tarefas do SO (basicamente todas as funes do SO so executadas por processos especficos) em beneficio dos usurios. Basicamente, os processos do usurio so ativados pelo SO e os processos do SO so ativados pelo prprio SO ou via interrupes (de hardware ou softwares). Gerenciamento de Memria: Implementa funes tais como: alocao e liberao de espao de memria; gerenciamento de memria virtual (paginao e segmentao) Proteo do Sistema: Protege o sistema contra usurios "espertinhos" e protege usurios contra outros usurios no autorizados. Existem vrios recursos do hardware que favorece o sistema de proteo fornecido pelo SO. Um destes recursos o prprio mecanismo de memria virtual, que veremos mais adiante. Neste mecanismo o hardware verifica se os acessos memria esto dentro dos limites de cada usurio. Um outro recurso a existncia de dois modos bsicos de execuo, fornecidos pelo hardware: o modo supervisor e o modo usurio. Quando o SO est com o controle da mquina, o hardware est setado no modo supervisor. Quando o SO passa o controle para a aplicao do usurio, ele seta o modo para usurio. Quando o controle volta para o SO, atravs de uma interrupo, o modo imediatamente setado para supervisor. Com isso, o hardware sempre sabe se o processo que est executando do sistema (modo supervisor) ou do usurio (modo usurio), e assim pode impedir acessos no autorizados.

2.1.

Tipos de Sistemas Operacionais

A evoluo do hardware e das aplicaes que ele suporta refletem na evoluo dos sistemas operacionais. comum voc instalar uma nova placa em sua mquina para controlar algum dispositivo e o sistema operacional j reconhec-lo e deix-lo pronto para operao, como o caso de placas plug-and-play. A evoluo dos sistemas operacionais para computadores pessoais popularizou vrios conceitos e tcnicas que antes s eram conhecidos em ambiente de grande porte. Surgiram

Sistemas Operacionais Notas de Aula Captulo 2 4

novos termos para conceitos j conhecidos, que foram apenas adaptados para uma nova realidade. A seguir so apresentados diversos tipos de sistemas operacionais, suas caractersticas, vantagens e desvantagens. Tipos de sistemas operacionais: Sistemas Monoprogramveis ou monotarefas Sistemas Multiprogramveis ou multitarefas Sistemas com mltiplos processadores Sistemas Monoprogramveis/Monotarefa Sistemas operacionais que controlam um nico programa por vez, ou seja, se o usurio rodar um editor de texto, por exemplo, outro programa a ser executado deve aguardar o trmino do programa em execuo. Um exemplo comum de sistema monotarefa que fez muito sucesso o DOS. Eles se caracterizam por permitir que o processador, a memria e os perifricos permanecem dedicados exclusivamente execuo de um nico programa. Enquanto um programa aguarda por um evento, como a digitao de um dado, o processador permanece ocioso, sem realizar qualquer tipo de processamento, os perifricos, como discos e impressoras, esto dedicados apenas a um nico usurio.

Figura 2 -Sistemas monoprogramveis/monotarefa

Sistemas Operacionais Notas de Aula Captulo 2 5

Sistemas Multiprogramveis/multitarefa Nos sistemas multiprogramveis, existem vrios programas dividindo os recursos disponveis, dando a impresso ao usurio de ocorrerem ao mesmo tempo. Enquanto um programa espera por uma operao de leitura ou gravao, outros programas podem estar sendo processados, assim sendo existir um compartilhamento da memria e do processador. O sistema deve gerenciar o acesso concorrente aos diversos recursos. Exemplos comuns deste tipo de sistema so: Windows; Linux; Unix; Etc.

Outra caracterstica importante dos sistemas multitarefa a possibilidade de vrios usurios poderem utilizar o sistema simultaneamente ou no. Cada qual ter suas configuraes independentes uns dos outros e com seus ambientes configurados de acordo com sua vontade. Portanto, podemos classificar os sistemas multiprogramveis como monousurio e multiusurio.

Figura 3 - Sistemas multiprogramveis/multitarefa

Sistemas Operacionais Notas de Aula Captulo 2 6

Sistemas com Mltiplos Processadores Nestes sistemas duas ou mais CPUs so interligadas, trabalhando juntas. Deve ser observada sempre a forma de comunicao entre elas e o grau de compartilhamento da memria e dos dispositivos de E/S. Assim sendo, os sistemas podem ser classificados como: Fortemente acoplados o o Sistemas simtricos Sistemas assimtricos Sistemas operacionais de rede Sistemas operacionais distribudos

Fracamente acoplados o o

Sistemas Fortemente acoplados Nestes sistemas existem dois ou mais processadores compartilhando uma nica memria e controlados por apenas um nico sistema operacional que fazem uso intensivo da CPU.

Figura 4 - Sistemas fortemente acoplados

Como

foi

dito,

apenas

um

SO

gerencia

os

vrios

processadores

compartilhamento de uma nica memria. Mltiplos processadores permitem que vrios programas sejam executados ao mesmo tempo, ou que um programa seja dividido em subprogramas, para execuo simultnea em mais de um processador.

Sistemas Operacionais Notas de Aula Captulo 2 7

Os sistemas fortemente acoplados podem ser divididos conforme a simetria existente entre seus processadores, ou seja, todos os processadores podem executar ou no as mesmas funes. Existem duas classificaes para esses tipos de sistemas: Sistemas Assimtricos Sistemas Simtricos

Sistemas Assimtricos Neste tipo de sistema, tambm chamado de mestre/escravo, somente um processador (mestre) pode executar servios do Sistema Operacional, como, por exemplo, realizar operaes de E/S. Uma conseqncia dessa organizao que se o processador mestre falhar todo o sistema para. Caso isso acontea, o sistema deve ser reconfigurado, para um escravo assumir o papel de mestre.

Figura 5 - Sistemas Assimtricos

Sistemas Simtricos Nestes sistemas existe a simetria dos processadores, todos eles realizam quase que as mesmas funes. Poucas delas ficam a cargo de um nico processador, como, por exemplo, a inicializao do sistema (boot). No processamento simtrico, um programa pode ser executado por qualquer processador, inclusive por vrios processadores ao mesmo tempo, o que conhecido como paralelismo. Alm disso, quando um processador falhar, o sistema continua em

Sistemas Operacionais Notas de Aula Captulo 2 8

funcionamento sem nenhuma interferncia manual, porm com menor capacidade de computao.

Figura 6 - Sistemas Simtricos

Sistemas Fracamente acoplados Esses sistemas possuem dois ou mais computadores interligados, cada um com o seu prprio SO, gerenciando os seus recursos, como processador, memria e dispositivos de E/S, eventualmente trocam informaes para utilizao de recursos, como uma impressora, discos, etc. Neste caso, se a mquina que tiver a impressora falhar, as outras continuam em funcionamento e o usurio pode continuar exercendo outra atividade menos impresso de documentos. Os sistemas fracamente acoplados caracterizam-se por possuir dois ou mais sistemas operacionais, conectados atravs de linhas de comunicao.

Figura 7 - Sistemas fracamente acoplados

A grande diferena entre os dois tipos que nos fortemente acoplados existe apenas um espao de endereamento de memria compartilhado por todos os processadores, enquanto nos sistemas fracamente acoplados cada sistema tem sua prpria memria

Sistemas Operacionais Notas de Aula Captulo 2 9

individual. Alm disso, a taxa de transferncia entre CPUs e memria nos fortemente acoplados normalmente maior que nos fracamente acoplados. At a dcada de 80, os SOs e as aplicaes eram tipicamente concentrados em sistemas de grande porte, com um ou mais processadores, os usurios utilizam terminais no inteligentes conectados a linhas seriais dedicadas, esses terminais no tinham capacidade de processamento, encaminhavam os pedidos ao sistema, que realizava o processamento e depois retornava o resultado, utilizando as linhas de comunicao. Com a evoluo dos computadores pessoais e das estaes de trabalho, juntamente com o avano das telecomunicaes e da tecnologia de redes, surgiu um novo modelo, chamado modelo de rede de computadores.

Figura 8 Redes de Computadores

Sistemas Operacionais Distribudos Em sistemas distribudos, cada componente da rede tambm possui seu prprio SO, memria, processador e dispositivos. O que define um sistema distribudo a existncia de um relacionamento mais forte entre os seus componentes, onde geralmente os Sistemas Operacionais so os mesmos. Para o usurio e suas aplicaes, como se no existisse uma rede de computadores, mas sim um nico sistema centralizado. A grande vantagem desses sistemas a possibilidade do balanceamento de carga, ou seja, quando um programa selecionado para execuo, sua carga ser efetuada no processador mais livre. Nos sistemas distribudos uma aplicao pode ser executada por

Sistemas Operacionais Notas de Aula Captulo 2 10

qualquer processador. permitida a diviso de uma aplicao em diferentes partes (aplicaes distribudas), que se comunicam atravs de linhas de comunicao, podendo cada parte ser processada em um sistema independente. Como as aplicaes esto distribudas por diversos sistemas, caso ocorra algum problema com um dos componentes, possvel que um deles assuma o papel do sistema defeituoso. Em aplicaes de misso crtica, como controle de trfego areo, existem sistemas especialmente desenvolvidos para essa finalidade, conhecidos como sistemas de tolerncia falhas (fault tolerance).

Potrebbero piacerti anche