Professional Documents
Culture Documents
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 S.O projetado para facilidade de uso, com alguma ateno dada ao desempenho, e nenhuma ateno utilizao dos recursos
Sistema Operacional
Hardware
Usurios
Sistema Operacional
discos
fitas
impressoras
monitores
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.
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).
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.
Veja o resultado
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.
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 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
relatrio n
Processamento
relatrio 2 relatrio 1
relatrios
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.
UCP
Memria Principal
UCP
Dispositivos de E/ S
Dispositivos de E/ S
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 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.
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.