Вы находитесь на странице: 1из 19

Sistemas Operacionais

Prof. Srgio Santos


Turma do 6 Semestre Ano de 2007/2

Viso Geral
Sistema Operacional nada mais do que um conjunto de instrues executadas pelo processador. Sua funo controlar o funcionamento de um computador, gerenciando a utilizao e o compartilhamento dos seus diversos recursos, como processadores, memrias e dispositivos de entrada e sada. Sem SO, usurio deveria conhecer profundamente o computador para poder interagir com ele. Implicaria em trabalho lento e com possibilidade de erros. A diferena entre um SO e aplicaes convencionais a maneira como as rotinas so executadas em funo do tempo. O SO no tem incio, meio e fim como as aplicaes. Dependem de eventos assncronos. Tambm pode ser chamado de Programa monitor, Executivo, supervisor ou Controlador.

Funes Bsicas
Facilidade de acesso aos recursos do sistema:
Usurio no precisa se preocupar como feita a comunicao com monitores, discos, impressoras, etc. O SO uma interface entre o usurio e os recursos do sistema. Este conceito de ambiente simulado pelo SO tambm chamado de Mquina Virtual. Compiladores, linkers, bibliotecas, depuradores e outras ferramentas so utilitrios que facilitam a interao do usurio com o computador.

Compartilhamento protegida:

de

recursos

de

forma

organizada

Em sistemas onde diversos usurios compartilham recursos, necessrio controlar o uso concorrente destes recursos. Ex: Impressora, a impresso de um usurio no deve interferir na do outro. O SO controla estes acessos concorrentes. O compartilhamento tambm permite reduo de custos, quando diversos usurios podem compartilhar perifricos como impressoras, discos, etc. Dependendo do SO, podemos executar diversas tarefas ao mesmo tempo, como imprimir um documento e baixar um arquivo da Internet. E o SO que controla estas atividades concorrentes.

Funes Bsicas
Viso do Sistema Operacional
programadores e analistas usurios programas, sistemas e aplicativos

Usurios

Sistema Operacional

memria Hardware UCP

discos

fitas

impressoras

monitores

Mquina de Nveis
Uma mquina, do ponto de vista do hardware, tem pouca utilidade. atravs do software que esta mquina ganha utilidade (como armazenamento de dados, impresso, etc.) Uma operao efetuada por software pode ser implementada em hardware, bem como uma funo executada pelo hardware pode ser simulada via software. Os primeiros computadores eram programados atravs de fios ligados em painis, criando grandes dificuldades e exigindo grande conhecimento da mquina. A soluo veio com o surgimento do SO, tornando a interao com o usurio mais simples, confivel e eficiente.

Mquina de Nveis
Viso do computador pelo usurio
usurios

Sistema Operacional

Hardware

Mquina de Nveis
O computador pode ser visualizado como uma mquina de nveis ou mquina de camadas. Inicialmente vemos apenas dois nveis: hardware (nvel 0) e SO (nvel 1). Assim, o usurio pode enxergar a mquina como sendo apenas o SO, como se o hardware no existisse. Esta viso chamada de mquina virtual. Na verdade no existem apenas dois nveis, e sim tanto quantos forem necessrios para adequar o usurio s suas diversas aplicaes.

Mquina de Nveis
A figura ao lado representa a estrutura da maioria dos computadores, podendo conter mais ou menos camadas. A linguagem utilizada em cada um destes nveis diferente, variando da mais elementar (baixo nvel) mais sofisticada (alto nvel).
Aplicativos

Utilitrios

Sistema Operacional

Linguagem de Mquina

Microprogramao

Circuitos Eletrnicos

Tipos de SO
Os tipos de SOs e sua evoluo esto diretamente relacionados com a evoluo do hardware e das aplicaes por ele suportadas. A figura abaixo sintetiza os diversos tipos de SOs, cujas caractersticas, vantagens e desvantagens sero abordadas em seguida.

Tipos de Sistemas Operacionais

Sistemas Monoprogramveis/ Monotarefa

Sistemas Multiprogramveis/ Multitarefa

Sistemas com Mltiplos P rocessadores

Monoprogramveis/Monotarefa
Os primeiros SOs eram voltados para a execuo de um nico programa. Qualquer outra aplicao deveria aguardar a aplicao concorrente terminar, para ser executada. Estes sistemas vieram a ser conhecidos como sistemas monoprogramveis e se caracterizavam por permitir que o processador, a memria e os perifricos estejam exclusivamente dedicados execuo de um nico programa. Este tipo de SO est relacionado aos primeiros computadores da dcada de 60. Voltou a ser utilizado na dcada de 70 em estaes de trabalho. Nos sistemas monotarefas, como tambm so conhecidos, todos recursos do sistema ficam exclusivamente dedicados a uma nica tarefa.

Monoprogramveis/Monotarefa
Neste tipo de SO, o processador fica ocioso, por exemplo, quando espera a digitao de um dado. A memria sub-utilizada caso no seja preenchida totalmente, e os perifricos, como discos e impressoras, esto dedicadas a um nico usurio, nem sempre de forma integral.

UCP

programa/ tarefa

Memria P rincipal

Dispositivos de E/ S

Multiprogramveis/Multitarefa
Os SOs multiprogramveis ou multitarefas so uma evoluo do SO monoprogramveis. Neste tipo de SO os recursos computacionais so compartilhados entre diversos usurios e aplicaes. Aqui vrias aplicaes compartilham esses mesmos recursos.

Aqui tambm, enquanto um programa espera por uma operao de leitura ou gravao em disco, outros programas podem estar sendo processados neste intervalo de tempo.

Multiprogramveis/Multitarefa
programa/ tarefa programa/ tarefa

UCP

Memria P rincipal

Dispositivos de E/ S

programa/ tarefa

programa/ tarefa

O SO se preocupa em gerenciar o acesso concorrente a seus diversos recursos, de forma ordenada e protegida, entre os diversos programas.
programa/ tarefa

Multiprogramveis/Multitarefa
A vantagem deste tipo de SO a reduo do tempo de resposta das aplicaes processadas no ambiente e de custos, a partir do compartilhamento de recursos do sistema entre diferentes aplicaes. Apesar de mais eficientes, os SO multiprogramvel tem implementao muito mais complexa.

Multiprogramveis/Multitarefa
Baseado no nmero de usurios que interagem com o sistema, o SO multiprogramvel pode ser classificado como monousurio ou multiusurio.
Os sistemas multiprogramveis monousurio so encontrados em computadores pessoais e estaes de trabalho, onde apenas um usurio interage com o sistema. Por exemplo, um usurio pode executar um editor de texto, ao mesmo tempo em que acessa a Internet e imprime um documento. Nos sistemas multiprogramveis multiusurios, permite-se que diversos usurios conectarem-se ao sistema simultaneamente. A tabela a seguir relaciona os tipos de sistemas em funo do nmero de usurios.
Um usurio Monoprogramao / Monotarefa Multiprogramao / Multitarefa Monousurio Monousurio Dois ou mais usurios No disponvel Multiusurio

Multiprogramveis/Multitarefa
Os SO multiprogramveis ou multitarefa, podem ainda ser classificados pela forma com que suas aplicaes so gerenciadas, podendo ser divididos em sistemas batch, de tempo compartilhado ou de tempo real. Um SO pode suportar um ou mais destes tipos de processamento, dependendo de sua implementao.

Sistemas Multiprogramveis/ Multi tarefa

Sistemas Batch

Sistemas de T empo Compartilhado

Sistemas de T empo Real

Multiprogramveis/Multitarefa
Sistemas de Batch: foram os primeiros SOs multiprogramveis implantados na dcada de 60. Os programas, tambm chamados de jobs, eram executados atravs de cartes perfurados e armazenados em discos ou fitas, onde aguardavam para serem processados. Posteriormente, em funo da disponibilidade de espao na memria principal, os jobs eram executados, produzindo uma sada em disco ou fita. Este tipo de processamento se caracteriza por no exigir a ateno do usurio com a aplicao. Todas entradas e sadas eram implementadas por algum tipo de memria secundaria, geralmente discos.

Clculos numricos, compilaes, ordenaes e backups so exemplos de aplicaes batch.

Multiprogramveis/Multitarefa
Os sistemas de tempo compartilhado (time-sharing), permitem que diversos programas sejam executados a partir da diviso de tempo do processador em pequenos intervalos, chamados de fatia de tempo (time-slice). Caso o tempo disponibilizado no seja suficiente para a concluso do programa, este interrompido pelo SO e substitudo por um outro, enquanto fica aguardando por uma nova fatia de tempo. Este ambiente d a impresso que todo o sistema esta dedicado, exclusivamente, para cada usurio. Geralmente, nestes sistemas a interao com o usurio se d atravs de terminais de vdeo, teclado e mouse. Estes sistemas possuem uma linguagem de controle prpria, permitindo ao usurio comunicar-se diretamente com o SO atravs de comandos. Assim, possvel por exemplo, a verificar arquivos armazenados num disco, ou cancelar a execuo de um programa.

Multiprogramveis/Multitarefa
Devido a este tipo de interao, os sistemas de tempo compartilhado tambm so chamados de sistemas on-line. A maioria das aplicaes comerciais atuais so processadas em sistemas de tempo compartilhado, pois oferecem tempos baixos de resposta aos usurios e menores custos, em funo da utilizao compartilhada de diversos.