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

Introduo a Sistemas Operacionais

Professor: Esp. Marcelo Mendes Turmas: MBI-1 Perodo: 29/01 a 14/02/2013 CH: 40h

Pontos Importantes
Objetivos da disciplina Avaliaes Bibliografia
Livro: Arquitetura de Sistemas Operacionais(2 Edio) Francis Machado e Luiz Paulo Maia Livro: Sistemas Operacionais Modernos Andrew Tanenbaum

Recursos Didticos
Filme sobre S. O. Data show

Avaliaes
1 Terica 1 Prtica Listas resolvidas Datas: 05/02/2013 e 08/02/2013 Materiais disponveis em: www.mrmsistemas.com.br/mendes

Sumrio
Introduo Histrico O que um Sistema Operacional Tipos de Sistemas Operacionais Sistemas Mainframe Sistemas de mesa (Desktops) Sistemas Multiprocessadores Sistemas Distribudos Sistemas Agrupados Sistemas de Tempo Real Sistemas Palmer Migrao de caractersticas

Introduo
Um Sistema Operacional um programa que gerencia o hardware do computador. Ele tambm fornece uma base para os programas aplicativos e atua como intermedirio entre o usurio de um computador e o hardware do computador. Sua principal funo controlar o funcionamento do computador, como um gerente dos diversos recursos disponveis no sistema.

O que um SO?
Um S.O uma parte importante de quase todos os sistemas de computao. So programas que controlam todos os recursos do computador e fornecem a base para o desenvolvimento dos programas de aplicao. Tem como objetivo principal a eficcia para o usurio. (fcil para os usurios). Eficincia para os grandes sistemas, compartilhados e com multiusurios.

O que fazem?
Virtualizam os recursos de hardware. Gerenciam os recursos do hardware.

O que se espera de um S.O.?


Execuo de programas de usurios.
Permitir a soluo de problemas.

O ponto de vista do usurio


usurios

O S.O projetado para facilidade de uso, com alguma ateno dada ao desempenho, e nenhuma ateno utilizao dos recursos

Sistema Operacional

Hardware

O ponto de vista do sistema


programadores e analistas usurios

Programa mais ntimo do hardware. Alocador de recursos. Programa de controle.

programas, sistemas e aplicativos

Usurios

Sistema Operacional

memria Hardware UCP

discos

fitas

impressoras

monitores

Componentes genricos de um Sistema Operacional


Hardware Recursos bsicos (memrias, dispositivos de I/O, CPU) Sistema Operacional Controla e coordena o uso do hardware entre vrios programas aplicativos e usurios Programas aplicativos e de sistema Define como os recursos de hardware so empregados na soluo de um problema(compiladores, jogos, banco de dados, interpretadores) Usurios Pessoas, mquinas, outros computadores, etc.

Histrico dos Sist. Operacionais


Primeira Fase (1945 -1955) Segunda Fase (1956 1965) Terceira Fase (1966 1980) Quarta Fase (1981 1990) Quinta Fase (1991 )

Sistemas Mainframe
Os sistemas de computao mainframe foram os primeiros computadores usados para atender a muitas aplicaes comerciais e cientficas; Seu crescimento teve incio com os sistemas batch, onde o computador opera, uma e somente uma, aplicao, at os sistemas de tempo compartilhado, que permitem o usurio interagir com o computador.

Pipelining
O conceito de processamento pipeline se assemelha muito a uma linha de montagem, onde uma tarefa dividida em uma seqncia de subtarefas, executadas em diferentes estgios, dentro da linha de produo.

Pipelining
Da mesma forma que em uma linha de montagem, a execuo de uma instruo pode ser dividida em subtarefas, como as fases de busca da instruo e dos operandos, execuo e armazenamento dos resultados. O processador, atravs de suas vrias unidades funcionais, funciona de forma a permitir que, enquanto uma instruo se encontra na fase de execuo possa estar na fase de busca simultaneamente. A tcnica de pipelining pode ser empregada em sistemas com um ou mais processadores, em diversos nveis.

Arquitetura RISC e CISC

Um processador com arquitetura RISC (Reduced Instruction Set Computer) se caracteriza por possuir poucas instrues de mquina, em geral bastante simples, que so executadas diretamente pelo hardware. Na sua maioria, estas instrues no acessam a memria principal, trabalhando principalmente com registradores que, neste tipo de processador, se apresentam em grande nmero. Estas caractersticas, alm de ajudarem as instrues serem executadas em alta velocidade, facilitam a implementao do pipeline. Como exemplos de processadores RISC podemos citar o Sparc (SUN), RS-6000 (IBM), PA-RISC (HP), Alpha AXP (DEC).

Arquitetura RISC e CISC


Os processadores CISC (Complex Instruction Set computers) j possuem instrues complexas que so interpretadas por microprogramas. O nmero de registradores pequeno e qualquer instruo pode referenciar a memria principal. Neste tipo de arquitetura, a implementao do pipeline mais difcil. So exemplos de processadores CISC o VAX (DEC), 80x86 e o Pentium (Intel), e o 68xx (Motorola).

Compilador
o utilitrio responsvel por gerar, a partir de um programa escrito em uma linguagem de alto nvel, um programa em linguagem de mquina no executvel.

As linguagens de alto nvel, como pascal, fortran, cobol no tem nenhuma relao direta com a mquina, ficando essa preocupao exclusivamente com o compilador.

Interpretador
O interpretador considerado um tradutor que no gera cdigo-objeto. A partir de um programa fonte, escrito em linguagem de alto nvel, o interpretador, no momento da execuo do programa, traduz cada instruo e a executa em seguida.

Linker
O linker (ligador), tambm chamado de linkagem, o utilitrio responsvel por gerar, a partir de um ou mais mdulos-objetos, um nico programa executvel.

Linker

Loader
Tambm chamado carregador o utilitrio responsvel por colocar fisicamente na memria um programa para execuo. O procedimento de carga varia com o cdigo gerado pelo linker e, em funo deste, o loader classificado como sendo do tipo absoluto ou relocvel. Tipo absoluto - o loader s necessita conhecer o endereo de memria inicial e o tamanho do mdulo para realizar o carregamento. Ento, ele transfere o programa da memria secundria para a memria principal e inicia sua execuo.

Loader
No caso de cdigo relocvel, o programa pode ser carregado em qualquer posio de memria, e o loader responsvel pela relocao no momento do carregamento.

Cdigo fonte com ponteiros em C exibindo o endereo de memria


void main() { float F, *PF, **PPF;

F = 3; PF = &F; PPF = &PF;


printf("Valor de F: %f ",F); printf("\nValor de *PF: %f ",*PF);

printf("\nValor de **PPF: %f ",**PPF);


printf("%x %x %x",&F,&PF,&PPF); getch();

Veja o resultado

Interpretador de comandos (shell)


O sistema operacional o cdigo executor de chamadas de sistema. Os editores, compiladores, ligadores e interpretadores de comando no fazem parte do sistema operacional, apesar de serem softwares muito importantes e muito teis. Esses comandos quando digitados pelos usurios, so interpretados pelo Shell, que verifica sua sintaxe, envia mensagens de erro e faz chamadas a rotinas do sistema. Dessa forma o usurio dispe de uma interface interativa com o sistema operacional, para realizar tarefas como acessar uma arquivo em disco ou consultar um diretrio.

Processos
Um conceito chave da teoria dos sistemas operacionais o conceito de processo. Um processo basicamente um programa em execuo, sendo constitudo do cdigo executvel, dos dados referentes ao cdigo.

Chamadas de Sistema
Os programas de usurio solicitam servios do sistema operacional atravs da execuo de chamadas de sistema. A cada chamada corresponde um procedimento de uma biblioteca de procedimentos que o programa do usurio pode chamar.

Linguagem de Mquina
A linguagem de mquina de um computador a linguagem de programao que o processador realmente consegue entender. Cada processador possui um conjunto nico de instrues de mquina, definido pelo prprio fabricante. As instrues especificam detalhes, como registradores, modos de endereamento e tipos de dados, que caracterizam um processador e suas potencialidades.

Tipos de Sistemas Operacionais


Monoprogramveis/Monotarefa Multiprogramveis/Multitarefa Sistemas batch Sistema de tempo compartilhado Sistema de tempo real Sistemas com Mltiplos Processadores

Tipos de Sistemas Operacionais


Sistemas Fortemente Acoplados Sistemas Assimtrico Sistemas Simtricos Multiprocesamento Sistemas Fracamente Acoplados Sistemas Operacionais de rede Sistemas Operacionais distribudos

Sistemas Operacionais Monoprogramveis


Os primeiros sistemas operacionais eram tipicamente voltados para a execuo de um nico programa (job). Qualquer outro programa, para ser executado, deveria aguardar o trmino do programa corrente. Os sistemas monoprogramveis, como vieram a ser conhecidos, se caracterizam por permitir que o processador, a memria e os perifricos permaneam exclusivamente dedicados execuo de um nico programa.

Sistemas Operacionais Monoprogramveis


Neste tipo de sistema, enquanto um programa aguarda por um evento, como a digitao de um dado, o processador permanece ocioso, sem realizar qualquer tipo de processamento. A memria subtilizada caso o programa no a preencha totalmente, e os perifricos, como discos e impressoras, esto dedicados a um nico usurio. Comparados a outros sistemas, os sistemas monoprogramveis/monotarefa so de simples implementao, no existindo muita preocupao com problemas de proteo.

Sistemas Operacionais Monoprogramveis

Sistemas Multiprogramados
O aspecto importante do agendamento dos jobs a capacidade de multiprogramar. Um nico usurio no pode, em geral, manter tanto a CPU como os dispositivos de I/O ocupados durante todo o tempo. A multiprogramao aumenta a utilizao da CPU organizando os jobs de modo que a CPU tenha sempre um deles para executar. O S.O. mantm vrios jobs na memria simultaneamente.

Sistemas Operacionais Multiprogramados


Por exemplo, enquanto um programa espera por uma operao de leitura ou gravao em disco, outros programas podem estar sendo processados neste mesmo intervalo de tempo. Neste caso, podemos observar o compartilhamento de memria e do processador. Nos sistemas monoprogramveis, apenas um nico usurio pode interagir com o sistema, enquanto nos multiprogramveis permitido que mais de um usurio o utilize. A partir do nmero de usurios que interagem, podemos classificar como monousurio e multiusurio.

Sistemas Operacionais Multiprogramados

Sistemas BATCH
Os sistemas batch (lote) foram os primeiros sistemas multiprogramveis a serem implementados e caracterizam-se por terem seus programas, quando submetidos, armazenados em disco ou fita, onde esperam para ser executados seqencialmente. O sistema operacional estava sempre residente na memria. Alguns exemplos de aplicaes processadas em batch so compilaes, linkedies, backups e todas aquelas onde no necessria a interao com o usurio. Esses sistemas, quando bem projetados, podem ser bastante eficientes, devido a melhor utilizao do processador. Entretanto, o tempo de resposta poder ser longo.

Sistemas BATCH
job n (a) job 2 job 1 cartes perfurados Processamento fita de entrada

(b) fita de entrada

Processamento fita de sada

relatrio n

(c) fita de sada

Processamento

relatrio 2 relatrio 1

relatrios

Sistemas de Tempo Compartilhado


Os sistemas de tempo compartilhado (timesharing) permitem a interao dos usurios com o sistema, basicamente atravs de terminais que incluem vdeo, teclado e mouse. Dessa forma, o usurio pode interagir diretamente com o sistema em cada fase de desenvolvimento de suas aplicaes e, se preciso, modific-las imediatamente. Devido a esse tipo de interao, os sistemas de tempo compartilhado tambm ficaram conhecidos como sistemas on-line.

Sistemas de Tempo Compartilhado


Para cada usurio, o sistema operacional aloca uma fatia de tempo (time-slice) do processador. Caso o programa do usurio no esteja concludo nesse intervalo de tempo, ele substitudo por um de outro usurio, e fica esperando por uma nova fatia de tempo. No s o processador compartilhado nesse sistema, mas tambm a memria e os perifricos, como discos e impressoras. O sistema cria para o usurio um ambiente de trabalho prprio, dando a impresso de que todo o sistema est dedicado, exclusivamente, a ele.

Sistemas de Tempo Real


Os sistemas de tempo real (real time) so bem semelhantes em implementao aos sistemas de tempo compartilhado. A maior diferena o tempo de resposta exigido no processamento das aplicaes.

Enquanto em sistemas de tempo compartilhado o tempo de resposta pode variar sem comprometer as aplicaes em execuo, nos sistemas de tempo real os tempos de resposta devem estar dentro de limites rgidos, que devem ser obedecidos, caso contrrio podero ocorrer problemas irreparveis.

Sistemas de Tempo Real


Frequentemente utilizados como um dispositivo de controle em uma aplicao dedicada tal como controlando experimentos cientficos, sistemas mdicos de imageamento, sistemas de controle industrial e alguns dispositivos de "display". No existe idia de fatia de tempo, um programa detm o processador o tempo que for necessrio, ou at que aparea outro prioritrio em funo de sua importncia no sistema. Esses sistemas, normalmente, esto presentes em controle de processos, como no monitoramento de refinarias de petrleo, controle de trfego areo, de usinas termeltricas e nucleares, ou em qualquer aplicao onde o tempo de resposta fator fundamental.

Sistemas com Mltiplos Processadores


Os sistemas com mltiplos processadores caracterizam-se por possuir duas ou mais UCPs interligadas, trabalhando em conjunto. Um fatorchave no desenvolvimento de sistemas operacionais com mltiplos processadores a forma de comunicao entre as UCPs e o grau de compartilhamento da memria e dos dispositivos de entrada e sada. Em funo desses fatores, podemos classificar os sistemas em fortemente acoplados ou fracamente acoplados.

Sistemas com Mltiplos Processadores

Sistemas fortemente acoplados


Nos sistemas fortemente acoplados existem vrios processadores compartilhando uma nica memria e gerenciados por apenas um sistema operacional. 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. Dessa forma, possvel ampliar a capacidade de computao de um sistema, adicionando-se apenas novos processadores, com um custo muito inferior aquisio de outros computadores.

Sistemas fortemente acoplados


Com o multiprocessamento, novos problemas de concorrncia foram introduzidos, pois vrios processadores podem estar acessando as mesmas reas de memria. Alm disso, existe o problema de organizar de forma eficiente os processadores, a memria e os perifricos. Uma conseqncia do multiprocessamento foi o surgimento dos computadores voltados, principalmente, para processamento cientfico, aplicado, por exemplo, ao desenvolvimento aeroespacial, prospeco de petrleo, simulaes, processamento de imagens e CAD. A princpio qualquer aplicao que faa uso intensivo da UCP ser beneficiada pelo acrscimo de processadores ao sistema.

Sistemas fortemente acoplados

UCP

Memria Principal

UCP

Dispositivos de E/ S

Dispositivos de E/ S

Sistemas fortemente acoplados


Multiprocessamento Simtrico (SMP): Cada processador roda uma cpia idntica do sistema operacional. Muitos processos podem rodar de uma vez sem perda de performance. A maioria dos S.O. modernos suportam SMP

Multiprocessamento Assimtrico: Cada processador recebe uma tarefa especfica; um processador mestre escalona e aloca trabalho para os processadores escravos. Mais comum em sistemas extremamente grandes.

Multiprocessamento
Desde sua criao, os computadores tm sido vistos como mquinas seqncias, onde a UCP executa a instrues de um programa, uma de cada vez. Na realidade, essa viso no totalmente verdadeira, pois, em nvel de hardware, mltiplos sinais esto ativos simultaneamente, o que pode ser entendido como uma forma de paralelismo. Com a implementao de sistemas com mltiplos processadores, o conceito de simultaneidade ou paralelismo pode ser expandido a um nvel mais amplo, denominado multiprocessamento, onde uma tarefa pode ser dividida e executada, ao mesmo tempo, por mais de um processador.

Sistemas Fracamente Acoplados


Os sistemas fracamente acoplados caracterizam-se por possuir dois ou mais sistemas de computao interligados, sendo que cada sistema possui o seu prprio sistema operacional, gerenciando os seus recursos, como processador, memria e dispositivos de entrada/sada. At meados da dcada de 80, os sistemas operacionais e as aplicaes suportadas por eles eram tipicamente concentradas em sistemas de grande porte, com um ou mais processadores. Nos sistemas centralizados, os usurios utilizam terminais no inteligentes conectados a linhas seriais dedicadas ou linhas telefnicas pblicas para a comunicao interativa com esses sistemas.

Sistemas Fracamente Acoplados


No modelo centralizado, os terminais no tm capacidade de processamento. Sempre um usurio deseja alguma tarefa, o pedido encaminhado ao sistema, que realiza o processamento e retorna uma resposta, 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 de computao, chamado de modelo de rede de computadores.

Sistemas Fracamente Acoplados

Sistemas Operacionais de Rede


Em sistemas operacionais de rede (SOR), cada n possui seu prprio sistema operacional, alm de um hardware e software que possibilitam ao sistema ter acesso a outros componentes da rede, compartilhando seus recursos. O SOR permite entre outras funes: Cpia remota de arquivos Emulao de terminal Impresso remota Gerncia remota Correio eletrnico.

Sistemas Operacionais de Rede


Cada n totalmente independente do outro, podendo inclusive possuir sistemas operacionais diferentes. Caso a conexo entre os ns sofra qualquer problema, os sistemas podem continuar operando normalmente, apesar de alguns recursos se tornarem indisponveis. O melhor exemplo da utilizao dos sistemas operacionais de rede so as redes locais. Nesse ambiente, cada estao pode compartilhar seus recursos com o restante da rede. Caso uma estao sofra qualquer, os demais componentes da rede podem continuar o processamento, apenas no dispondo dos recursos oferecidos por ela.

Sistemas Distribudos
Em sistemas distribudos, cada componente da rede tambm possui seu prprio sistema operacional, 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.

Sistemas Distribudos
A grande vantagem desses sistemas a possibilidade do balanceamento de carga, ou seja, quando um programa admitido para execuo, a carga de processamento de cada sistema avaliada e o processador mais livre escolhido. Depois de aceito para processamento, o programa executado no mesmo processador at o seu trmino. Tambm possvel o compartilhamento de impressoras, discos e fitas, independentemente do sistema em que a aplicao esteja sendo processada. Este tipo de sistema distribudo muitas vezes chamado de cluster.

Sistemas fracamente acoplados


link de comunicao UCP UCP

Memria Principal

Dispositivos de E/ S

Memria Principal

Dispositivos de E/ S

Sistemas Agrupados
Possibilitam que mltiplas mquinas processem dados contidos em memria compartilhada e permitem que o processamento continue em caso de falha de algum conjunto de componentes agrupados. Diferem dos sistemas paralelos no sentido de que so compostos de dois ou mais sistemas individuais acoplados. Compartilham memria e so proximamente conectados atravs de uma rede LAN. O agrupamento habitualmente utilizado para proporcionar alta disponibilidade

Sistemas Palmer
Os sistemas palmer incluem os assistentes digitais pessoais (PDAs personal digital assistant), como os Palm-Pilots ou os telefones celulares com conectividade de rede como a Internet. Desenvolvedores de aplicaes palmer enfrentam muitos desafios, maior parte deles devido ao tamanho limitado de tais dispositivos, pouca memria, processamento lento, telas pequenas. O sistema operacional e as aplicaes precisam gerenciar eficientemente a memria alocada. Isso inclui retornar toda a memria alocada de volta ao gerenciador de memria, assim que no estiver mais sendo usada.

Sistemas de Mesa (Desktops)


Personal computers PC : sistemas de computao dedicados a um nico usurio. Dispositivos de E/S: teclados, mouses, monitores, pequenas impressoras. Convenincia ao usurio e responsividade. No pode adotar tecnologia desenvolvida para SOs grandes; normalmente um usurio somente utiliza o computador e no se faz necessria a utilizao dos recursos avanados de proteo da CPU.

Migrao das Caractersticas


De modo geral, um exame dos sistemas operacionais para mainframes e microcomputadores mostra que caractersticas antes disponveis somente em mainframes foram adotadas pelos microcomputadores.

Вам также может понравиться