introdução sos sisetmas operacionais

23
Introdução aos Sistemas Operacionais Prof: Francisco Borges Carreiro

Upload: tide-linhares

Post on 17-Dec-2015

230 views

Category:

Documents


4 download

DESCRIPTION

Introdução sos sisetmas operacionais

TRANSCRIPT

Sistemas Tempo-Real

Introduo aos Sistemas OperacionaisProf: Francisco Borges Carreiro2INTRODUOSistema Computacional = hardware + software

Tipos de Software:Programas do sistema: gerenciam a operao do computador;Programas de aplicao: programas de usurio

Sistema Operacional: principal programa do sistema, que controla todos os recursos do computador (dispositivos fsicos e funes de software). Consideraes sobre o hadwareExiste grande distncia entre o hardware e os programas aplicativos;Os circuitos so complexos, acessados atravs de interfaces de baixo nvel;Portanto, torna-se desejvel oferecer aos programas aplicativos uma forma de acesso aos dispositivos fsicos, que permita abstrair as diferenas tecnolgicas entre eles.Objetivos de um sistema operacionalOs objetivos bsicos de um sistema operacional podem ser sintetizados em duas palavras-chave: abstrao e gerncia.O que um Sistema Operacional?O sistema operacional uma camada de software que opera entre o hardware e os programas aplicativos voltados ao usurio nal.

6O que um Sistema Operacional?O Sistema Operacional responsvel por alocar recursos de hardware e escalonar tarefas. Ele tambm deve prover uma interface para o usurio - ele fornece ao usurio uma maneira de acesso aos recursos do computador. Sobell.Um Sistema Operacional pode ser definido como um gerenciador dos recursos que compem o computador (processador, memria, I/O, arquivos, etc). Os problemas centrais que o Sistema Operacional deve resolver so o compartilhamento ordenado, a proteo dos recursos a serem usados pelas aplicaes do usurio e o interfaceamento entre este e a mquina. Stemmer.7PRINCIPAIS ATRIBUTOSAbstrao de Hardware apresentar ao usurio uma mquina mais simples O SO a poro de software que roda em modo kernel ou modo supervisor protege o hardware da ao direta do usurioEstabelecer critrios de uso dos recursos e ordem de acesso aos mesmos, impedindo violao de espao de memria de processos concorrentes e tentativas de acesso simultneo a um mesmo recurso gerncia e proteo dos dispositivos.8Tipos de SistemasOperacionaisSistemasMonoprogramveis / MonotarefaSistemasMultiprogramveis / MultitarefaSistemas comMltiplosProcessadoresTIPOS DE SISTEMAS OPERACIONAIS9SISTEMAS MONOPROGRAMVEIS / MONOTAREFAExecuo de um nico programa (job);Qualquer outro programa, para ser executado, deveria aguardar o trmino do programa corrente;Tipicamente relacionado ao surgimento dos mainframes;10SISTEMAS MULTIPROGRAMVEIS / MULTITAREFAMais complexos e mais eficientes;Vrios programas dividem os mesmos recursos;Aumento da produtividade dos seus usurios e a reduo de custos;11SISTEMAS COM MLTIPLOS PROCESSADORESCaracterizam por possuir duas ou mais CPUs interligadas, trabalhando em conjunto;Fortemente Acopladodois ou mais processadores compartilhando uma nica memria e controlados por apenas um nico SOFracamente AcopladoDois ou mais sistemas de computao interligados, sendo que cada sistema possui o seu prprio SO12ESTRUTURA DO SOFormado por um conjunto de que oferecem servios aos usurios do sistema e suas aplicaes, bem como a outras rotinas do prprio sistema. Esse conjunto de rotinas chamado ncleo do sistema ou kernel (crebro). Tipos de sistemas operacionaisBatch (de lote) : Funcionavam por lote. Os programas a serem executados, seus dados e demais informaes para execuo eram colocados em uma la. O processador recebia um programa aps o outro, processando-os em seqncia, o que permitia um alto grau de utilizao do sistema. Ex: OS/360 e VMS, entre outros;De rede : um sistema operacional de rede deve possuir suporte operao em rede, ou seja, a capacidade de oferecer s aplicaes locais recursos que estejam localizados em outros computadores da rede, como arquivos e impressoras. Ele tambm deve disponibilizar seus recursos locais aos demais computadores, de forma controlada.;Tipos de sistemas operacionaisDistribudo: em um sistema operacional distribudo, os recursos de cada mquina esto disponveis globalmente, de forma transparente aos usurios. Ao lanar uma aplicao, o usurio interage com sua janela, mas no sabe onde ela est executando ou armazenando seus arquivos: o sistema quem decide, de forma transparente. Os sistemas operacionais distribudos j existem h tempos (Amoeba [Tanenbaum et al., 1991] e Clouds [Dasgupta et al., 1991], por exemplo),mas ainda no so uma realidade de mercado;Multi-usurio : umsistema operacionalmulti-usurio deve suportar a identicao do dono de cada recurso dentro do sistema (arquivos, processos, reas dememria, conexes de rede) e impor regras de controle de acesso para impedir o uso desses recursos por usurios no autorizados. Essa funcionalidade fundamental para a segurana dos sistemas operacionais de rede e distribudos. Tipos de sistemas operacionaisServidor : um sistema operacional servidor deve permitir a gesto eciente de grandes quantidades de recursos (disco, memria, processadores), impondo prioridades e limites sobre o uso dos recursos pelos usurios e seus aplicativos. EX: Windos NT, Windows Server 2003, Windows Server 2008, Linux, etc;Embutido ou embarcado : um sistema operacional dito embutido (embedded) quando construdo para operar sobre um hardware especfico. Aplicaes tpicas desse tipo de sistema aparecem em telefones celulares, controladores industriais e automotivos, equipamentos eletrnicos. Ex: C/OS, Xylinx, LynxOS e VxWorks.Tipos de sistemas operacionaisTempo real : Sistema operacional que deve garantir previsibilidade temporal Funcionalidades de um SOGerncia do processador-> gerencia de uso do processador pelas tarefas;Gerncia de memria-> No permitir que tarefas diferentes usem a mesma regio de memria delimitada;Gerncia de dispositivos-> gerencia os dispositivos de E/SGerncia de arquivos-> gerir todas formas de arquivos;Gerncia de proteo-> Dene quais recursos que cada usurio pode acessar, as normas de acesso permitidas (leitura, escrita, etc) e garantir que essas denies sejam cumpridas Estrutura de um sistema operacionalNcleo (kernel) : o corao do sistema operacional, responsvel pela gerncia dos recursos do hardware usados pelas aplicaes;Drivers : mdulos de cdigo especcos para acessar os dispositivos fsicos. EX: Discos, portas USB, placa de rede, etc;Cdigo de inicializao : carrega o ncleo do sistema operacional em memria e iniciar sua execuo, inicializao do hardware (reconhecer os dispositivos instalados, test-los e congur-los, etc);Programas utilitrios : so programas que facilitam o uso do sistema computacional, fornecendo funcionalidades complementares ao ncleo, como formatao de discos e mdias, congurao de dispositivos, manipulao de arquivos (mover, copiar, apagar), interpretador de comandos, terminal, interface grca, gerncia de janelas, etc

Estrutura de um sistema operacional

Arquitetura de um computador tpico

InterrupesUm controlador de perifrico pode interagir com o processador de duas formas:Aguardar at que o processador o consulte, o que poder ser demorado caso o processador esteja ocupado com outras tarefas (o que geralmente ocorre);Noticar o processador atravs do barramento de controle, enviando a ele uma requisio de interrupo (IRQ Interrupt ReQuest);

Interrupes

Exerccios1. Quais os dois principais objetivos dos sistemas operacionais?2. Por que a abstrao de recursos importante para os desenvolvedores de aplicaes? Ela tem utilidade para os desenvolvedores do prprio sistema operacional?3. A gerncia de tarifas permite compartilhar o processador, executando mais de uma aplicao ao mesmo tempo. Identique as principais vantagens trazidas por essa funcionalidade e os desaos a resolver para implement-la.4. O que caracteriza um sistema operacional de tempo real? 5. O que diferencia o ncleo do restante do sistema operacional? 6. Seria possvel construir um sistema operacional seguro usando um processador que no tenha nveis de privilgio? Por que?