Introdução Sistema Operacional

download Introdução Sistema Operacional

of 50

Transcript of Introdução Sistema Operacional

SISTEMAS OPERACIONAISAULA 1 Viso geral sobre sistema operacional: Definies e Conceitos

Instituto Federal do Tocantins Campus Palmas Prof. Helder Cleber A. Pereira 2011

1

SISTEMAS OPERACIONAISRoteiroINTRODUO DEFINIES MODELOS DE SISTEMAS OPERACIONAIS CONCEITOS SOBRE SISTEMAS OPERACIONAIS CHAMADAS DE SISTEMA ESTRUTURA DOS SISTEMAS OPERACIONAIS

IFTO-Palmas Prof. Helder

2

SISTEMAS OPERACIONAIS

INTRODUO

IFTO-Palmas Prof. Helder

3

Introduo

Um sistema computacional consiste de um ou mais processadores, memria principal, discos, impressoras, teclado, mouse, monitor, interfaces de rede e outros dispositivos de entrada e sada; Dificuldades para o programador: Complexidade de um programador entender como cada dispositivo funciona detalhadamente; Complexibilidade de gerenciamento dos diversos dispositivos;

Da a importncia do sistema operacional.

IFTO-Palmas Prof. Helder

4

Introduo

A principal funo do sistema operacional fornecer aos programas do usurio um modelo de computador melhor, abstraindo a complexidade do sistema computacional, tornando a programao mais simples. As formas de interao do usurio com o sistema operacional: SHELL (interpretador de comandos); GUI (Graphical user interface);

IFTO-Palmas Prof. Helder

5

Introduo

Por questes de segurana existem duas formas de interao do usurio/programas com o sistema operacional: Modo ncleo (modo supervisor) nesse perfl existe o acesso completo ao hardware e possvel executar qualquer tipo de procedimento; Modo usurio nesse perfl apenas um subconjunto procedimentos estar disponvel para os usurios/programas. de

Em particular, aquelas instrues que afetam o controle da mquina ou realizam E/S so proibidas para programas em modo usurio. O programa de interface com o usurio, SHELL ou GUI o nvel mais inferior do software no modo usurio.

IFTO-Palmas Prof. Helder

6

Introduo

Figura 1 Onde o sistema operacional se encaixa IFTO-Palmas Prof. Helder 7

Introduo

Uma distino entre S.O e software normal (modo usurio): no modo usurio pode trocar ou mesmo reescrever outro software, mas no lhe permitido escrever seu prprio manipulador de interrupo de relgio, que parte do sistema operacional e normalmente est protegida pelo hardware contra tentativas de alterao pelo usurio; Esse conceito pode parecer confuso em certos sistemas operacionais, que podem no ter um modo ncleo, ou sistemas operacionais interpretados (como sistemas operacionais baseados em java, que usam interpretao, e no hardware, para separar os componentes).

IFTO-Palmas Prof. Helder

8

Introduo

Em muitos sistemas, h programas execudados em modo usurio, mas que auxiliam o sistema operacional ou realizam funes privilegiadas. Esses programas no fazem parte do sistema operacional e no executado em modo ncleo, mas realiza uma funo claramente dedicada e precisa ser protegida de maneira especial. Tudo que se executa no modo ncleo faz parte do sistema operacional, outros executados fora do modo ncleo tambm so inquestionavelmente parte dele, ou pelo menos esto intimamente associados a ele. (Ex: programas que permitem o usurio modificarem suas senhas); Com isso se torna um pouco confuso a identificao clara se um determinado programa est sendo executado em modo ncleo ou usurio.

IFTO-Palmas Prof. Helder

9

Introduo

Os sistemas operacionais geralmente possuem vida longa devido aos seguintes fatores: So difcies de escrever; Uma vez escrito, geralmente o proprietrio no se dispe a descartlo e comear um novo;

IFTO-Palmas Prof. Helder

10

SISTEMAS OPERACIONAIS

DEFINIES

IFTO-Palmas Prof. Helder

11

Definies

Podemos dizer que sistema operacional um software que executa em modo ncleo e mesmo isso nem sempre verdade. O sistema operacional (objetivo): Fornecer aos programadores de aplicativos ( e aos programas aplicativos) um conjunto de recursos abstratos e claros em vez de recursos confusos de hardware; Gerenciar recursos de hardware.

IFTO-Palmas Prof. Helder

12

Definies

Viso de um conjunto de dados abstratos:

Figura 2 Sistemas operacionais transformam hardware feio em abstraes bonitas IFTO-Palmas Prof. Helder 13

Definies

Gerencia do recursos (funo do sistema operacional): Computadores modernos so constitudos de vrios hardwares (processador, memria, dispositivos de E/S e etc); Sistemas operacionais modernos permitem que mltiplos programas sejam executados ao mesmo tempo; Impressora, um exemplo de dispotivo que necessita ser gerenciada (vrios programas tentando imprimir); Quando existem mltiplos usurios em um sistema existe a necessidade de gerenciar e proteger a memria, dispositivos de E/S, para que os usurios no interfiram uns nos outros; Os usurios muitas vezes precisam (arquivos, banco de dados e etc) compartilhar informaes

IFTO-Palmas Prof. Helder

14

Definies

Enfim a funo do S.O. manter controle sobre quem est usando qual recurso, garantindo suas requisies de recurso, controlando as contas e mediando conflitos de requisies entre diferentes programas e usurios O gerenciamento dos recusos por parte do S.O. realizado via compartilhamento ou multiplexao de duas formas diferentes: no tempo e no espao; Quando um recurso compartilhando/multiplexado no tempo diferentes programas ou usurios aguardam a sua vez para us-lo (Ex: no uso de uma CPU para atender vrios programas); Determinar como o recurso compartilhado no tempo quem vai depois de quem e por quanto tempo tarefa do sistema operacional; No caso do compartilhamento/multiplexao no espao, em vez dos programas ou usurios esperarem a sua vez para usar o recurso, cada um ocupa a sua parte do recurso (Ex: uso da memria RAM e HD);IFTO-Palmas Prof. Helder 15

SISTEMAS OPERACIONAIS

Modelos de Sistemas Operacionais

IFTO-Palmas Prof. Helder

16

Modelos de S.O.

Sistemas operacionais de computadores de grande porte; Sistemas operacionais de servidores; Sistemas operacionais de multiprocessadores; Sistemas operacionais de computadores pessoais; Sistemas operacionais de computadores portateis; Sistemas operacionais embarcados; Sistemas operacionais de ns sensores (sensor node); Sistemas operacionais de tempo real; Sistemas operacionais de cartes inteligentes (smart cards)

IFTO-Palmas Prof. Helder

17

Modelos de S.O.

Sistemas operacionais de computadores de grande porte; Distingue-se dos computadores pessoais em termos de E/S; Geralmente com capacidade para mais de mil HDs; Esto ressurgindo como sofisticados servidores Web; Sistema operacional projetado para o processamento simultneo de muitas tarefas, com quantidade prodigiosas de E/S; Exemplo de sistemas operacionais para computadores de grande porte: OS/390; Sistemas operacionais de computadores de grande porte esto sendo gradualmente substitudos por variantes UNIX, como o Linux;

IFTO-Palmas Prof. Helder

18

Modelos de S.O.

Sistemas operacionais de servidores Na verdade so sistemas operacionais de computadores pessoais muito grandes; Esses sistemas operacionais servem mltiplos usurios de uma vez em uma rede e permitem-lhes compartilhar recursos de hardware e software; Modelos: Solaris, FreeBsD, Linux e Windows Server 200x;

IFTO-Palmas Prof. Helder

19

Modelos de S.O.

Sistemas operacionais de multiprocessadores Para um conjunto de hardware que possui mltiplas CPUs para um nico sistema; Dependendo de como essas CPUs esto interligadas e o que compartilhado, podem ser classificados de: computadores paralelos, multicomputadores ou multiprocessadores; Essas mquinas precisam de sistemas operacionais especiais, com relao a aspectos de comunicao, conectividade e compatibilidade; Com o advento de chips multincleo os sistemas operacionais de computadores pessoais esto comeando a lidar com multiprocessadores em pequena escala; Sistemas operacionas populares como linux e windows tem capacidade de usufruir sistemas multiprocessados;IFTO-Palmas Prof. Helder 20

Modelos de S.O.

Sistemas operacionais de computadores pessoais Esses sistemas do suporte a multiprogramao, muitas vezes com dezenas de programas iniciados; Exemplos: Linux, FreeBsD, Windows Vista, MacOsX;

IFTO-Palmas Prof. Helder

21

Modelos de S.O.

Sistemas operacionais de computadores portteis um pequeno computador que cabe no bolso de uma camisa e executa um nmero pequeno de funes; Esses sistemas operacionais esto cada vez mais se parecendo com os dos computadores pessoais; Uma diferena importante entre portteis e PCs que o primeiro no tem HD; Exemplos de S.O.: Symbiam e Palm OS;

IFTO-Palmas Prof. Helder

22

Modelos de S.O.

Sistemas operacionais embarcados Sistemas embarcados so executados em maquinas que controlam dispositivos e que geralmente no so considerado computadores e que no aceitam instalao de softwares por parte do usurio; Ex: sistemas de forno micro-ondas, aparelhos de TV, carros, aparelhos de DVD, telefones celulares e reprodutores de MP3; A propriedade principal que distingue os sistemas embarcados dos portteis a certeza de que nenhum software no confivel jamais ser executado nele; Todo software est armazenado em uma ROM

IFTO-Palmas Prof. Helder

23

Modelos de S.O.

Sistemas operacionais de ns sensores Os ns so computadores minsculos que se comunicam entre si e com uma estao-base usando comunicao sem fio; Cada n sensor um verdadeiro computador, com CPU, RAM e ROM e um ou mais sensores ambientais; O sistema operacional tem que ser pequeno porque os ns tm RAM pequena e a durao da bateria uma questo relevante; Tal como nos sitemas embarcados os programas devem ser carregados antecipadamente; Exemplo: TinyOS;

IFTO-Palmas Prof. Helder

24

Modelos de S.O.

Sistemas operacionais de tempo real Geralmente para esses sistemas comum a imposio de prazos rgidos para a execuo de determinadas tarefas;

IFTO-Palmas Prof. Helder

25

Modelos de S.O.

Sistemas operacionais de cartes inteligentes Os menores sistemas operacionais so executados em cartes inteligentes dispositivos do tamanho de um carto de crdito que contm um chip de CPU; Possuem grandes restries de energia e memria; Alguns cartes inteligentes so orientados a Java. Isso significa que a ROM no carto inteligente contm um interpretador Java;

IFTO-Palmas Prof. Helder

26

SISTEMAS OPERACIONAIS

Conceitos sobre Sistemas Operacionais

IFTO-Palmas Prof. Helder

27

Processo

Processo basicamente um programa em execuo; A cada processo est associado o seu espao de endereamento, uma lista de posies de memria que vai de zero at um mximo que esse processo pode ler e escrever; O espao de endereamento contm o programa executvel, os dados do programa e sua pilha; Associado a cada processo est um conjunto de recursos: registradores, lista de arquivos abertos, lista de processos relacionados e etc;

IFTO-Palmas Prof. Helder

28

Processos

Em um sistema de tempo compartilhado, os processos fazem alternncia do uso do processador, ou seja, quando usa o processador ele est ativo quando lhe tirado o processador ele fica suspenso. Assim quando o processador tirado do processo temos a seguinte situao: Quando um processo suspenso temporariamente, todos os ponteiros devem ser salvos, de modo que quando o processo for reiniciado ele continue a ser executado do ponto em que foi interrompido; Em muitos sistemas operacionais, todas as informaes relativas a um processo que no sejam contedo do seu prprio espao de endereamento so armazenados em uma tabela do sistema operacional denominada tabela de processos.

IFTO-Palmas Prof. Helder

29

Processos

Quando se trabalha com processos em certos cenrios podem haver a necessidade de um processo criar outro processo. Nesse caso o processo criado denominado processo filho. O processo filho tambm podem criar outros processos filhos. Podemos ento chegar a uma estrutura de rvore para processos.

Figura 3 Uma rvore de processos IFTO-Palmas Prof. Helder 30

Processos

Os processos filhos criados so independente do processo pai e no compartilham rea comum na memria RAM para troca de informaes; Comunicao entre processos (IPC) a denominao dada as tcnicas utilizadas para fazerem com que processos se comuniquem, no importando se existe parentesco entre os processos; A comunicao entre processos tambm necessria quando mais de um processo esto trabalhando para concluir uma mesma tarefa, portanto, eles precisam se comunicar para que possa ocorrer uma sincronizao no trabalho.

IFTO-Palmas Prof. Helder

31

Processos

A cada pessoa autorizada a usar um sistema lhe atribuda uma UID pelo administrador do sistema; A todo processo iniciado, o sistema lhe atribuir um PID (identificador do processo). Se um processo for criado atravs da execuo de outro processo, esse processo filho ter a mesma UID do processo pai;

IFTO-Palmas Prof. Helder

32

Espao de Endereamento

Todo computador tem alguma memria principal que utiliza para armazenar programas em execuo; Nos sistemas operacionais de hoje mltiplos programas podem estar armazenados na memria ao mesmo tempo. Para impedi-los de interferir na atividade uns dos outros (e com o sistema operacional), algum tipo de mecanismo de proteo necessrio; Outro tema relacionado a memria e o gerenciamento do espao de endereamento dos processos. O endereamento do processo vai geralmente de 0 at a quantidade mxima de memria existente no sistema; Nos computadores de hoje as memrias so de 64 bits por isso o endereo mximo de 264. Quando um processo tiver um endereamento maior que a memria principal do computador e este quiser acess-la, nesse caso, entra a tcnica de memria virtual;IFTO-Palmas Prof. Helder 33

Arquivos

Uma das principais funes do sistema operacional ocultar as peculariedades dos discos e de outros dispositivos de E/S, fornecendo ao programador um modelo de arquivo agradvel e claro, independente do dispositivo; A maioria dos sistemas operacionais fornece o conceito de diretrio como modo de agrupar arquivos; Cada arquivo dentro de uma hierarquia de diretrios pode ser especificado fornecendo-se o caminho (path name) a partir do topo da hierarquia de diretrios, o diretrio-raiz; Antes que possa ser lido ou escrito, um arquivo precisa ser aberto e, nesse momento, as permisses so verificadas. Se o acesso for permitido, o sistema retorna um pequeno valor inteiro, chamado descritor de arquivo, para us-lo em operaes subsequentes;

IFTO-Palmas Prof. Helder

34

Arquivos

Figura 4 Modelo de ligao de um sistema de arquivos IFTO-Palmas Prof. Helder 35

Arquivos

Um conceito interessante no mundo unix/linux que dispositivos de armazenamento externos (pen-drive, DVDs e etc) devem ser agregados ao diretrio raiz do sistema atravs de procedimentos como mount; Outro conceito importante no mundo unix/linux o de arquivos especiais. Os arquivos especiais permitem que dispositivos de E/S paream-se com arquivos. Desse modo os mesmos procedimentos de leitura e escrita para arquivos podem ser usados nesses dispositivos; Existem dois tipos de arquivos especiais: arquivos especiais de bloco e arquivos especias de caracteres; Arquivos especiais de bloco so usados para modelar dispositivos que formam uma coleo de blocos aleatoriamente endereveis, como os discos; Arquivos especiais de caracteres so usados para modelar impressoras, modens e outros dispositivos que recebem e enviam caracteres serialmente;IFTO-Palmas Prof. Helder 36

Arquivos

Pipe um tipo de pseuarquivo que pode ser usado para conectar dois processos; O processo B pode ser os dados lendo-os do pipe como se fosse um arquivo de entrada;

Processo A Pipe

Processo B

Figura 5 Dois processos conectados por um pipe

IFTO-Palmas Prof. Helder

37

Segurana

Cabe ao sistema operacional gerenciar o sistema de segurana para que os arquivos, por exemplo, sejam acessveis apenas por usurios autorizados; Arquivos em Unix so protegidos atribuindo-se a cada um deles um cdigo de proteo de 9 bits; O cdigo de proteo consite em campos de 3 bits, um conjunto de 3 bits para o proprietrio, outro para o grupo do proprietrio e outro para outros membros; Esses trs bits so conhecidos como rwx (r read, w write, x execute);

IFTO-Palmas Prof. Helder

38

SISTEMAS OPERACIONAIS

Chamadas de sistema (system call)

IFTO-Palmas Prof. Helder

39

Chamadas de sistema

Chamadas de sistemas so mecanismos disponibilizados pelo sistema operacional para serem utilizados pelos programas executado no modo usurio no intuito de solicitar a realizao de procedimentos permitidos apenas a programas executando no modo ncleo, por exemplo, criar, ler, escrever ou excluir arquivos; As chamadas de sistema disponveis na interface de um sistema operacional variam de um sistema operacional para outro (embora os conceitos bsicos tendam a ser parecidos);

IFTO-Palmas Prof. Helder

40

SISTEMAS OPERACIONAIS

Estrutura de Sistemas Operacionais

IFTO-Palmas Prof. Helder

41

Estrutura de S. O.

Os sistemas operacionais geralmente pode ser encontrados em cinco estuturas diferentes: Sistemas monolticos; Sistemas de camadas; Microncleo; Modelo cliente-servidor; Maquinas virtuais

IFTO-Palmas Prof. Helder

42

Sistemas monolticos

o sistema mais comum. Nessa abordagem, o sistema operacional inteiro executado como um nico programa no modo ncleo; O sistema operacional escrito como uma coleo de rotinas, ligadas a um nico grande programa binrio executvel

Figura 6 Um modelo de estruturao simples para um sistema monolitico IFTO-Palmas Prof. Helder 43

Sistemas de camadas

Organizao do sistema operacional como uma hierarquia de camadas, cada uma delas constituda sobre a camada imediatamente inferior;Camada 5 4 3 2 1 0 O operador Programas de usurios Gerenciamento de entrada/sada Comunicao operador-processo Memria e gerenciamento do swap Alocao do processador e multiprogramao Funo

IFTO-Palmas Prof. Helder

44

Sistemas de camadas

Camada 0 trata a alocao do processador, realizando chaveamento de processos quando ocorrem as interrupes ou quando os temporizadores expiram. Camada 1 encarregava-se do gerenciamento de memria. Aloca espaos para os processos na memria principal; Camada 2 encarrega-se da comunicao entre cada processo e o console de operao (isto o usurio); Camada 3 encarrega do gerenciamento dos dispositivos de E/S e armazena temporariamente os fluxos de informao que iam para esses dispositivos ou que vinham deles; Camda 4 encontra-se os programas dos usurios;

IFTO-Palmas Prof. Helder

45

Microncleo

A idia por trs do projeto do microncleo alcanar alta confiabilidade por meio da diviso do sistema operacional em mdulos pequenos, bem definidos, e apenas um desses mdulos o microncleo executado no modo ncleo e o restante executado como processos de usurios comuns relativamente sem potncia; Com isso possveis erros tendem a interromper apenas um mdulo do ncleo, dessa forma, evita-se a parada do sistema operacional inteiro; Esses tipos de sistemas operacionais so comuns para aplicaes de tempo real, industriais, de avinica e militares, que so cruciais e tm requisitos de confiabilidade muito altos;

IFTO-Palmas Prof. Helder

46

Microncleo

Figura 7 Um modelo de implementao de um microncleo

IFTO-Palmas Prof. Helder

47

Modelo cliente-servidor

Variao da idia do microncleo distinguindo duas classes de processos, os servidores, que prestam algum servio, e os clientes que usam esses servios; Frequentemente a camada inferior o microncleo. A essncia a presena de processos clientes e servidores; Uma generalizao bvia executar clientes e servidores em computadores diferentes, conectados via lan ou wan

Figura 8 Um modelo cliente-servidor IFTO-Palmas Prof. Helder 48

Maquinas virtuais

Sistema operacional de tempo compartilhado que virtualiza uma mquina real. Esses sistemas operacionais so diretamente instalado no hardware. O que se usa hoje nos microcomputadores so aplicativos que se instala no software (virtual box); Como cada maquina virtual uma cpia exata do hardware, cada uma delas pode executar qualquer sistema operacional capaz de ser executado diretamente sobre o hardware. Diferentes mquinas virtuais podem executar diferentes sistemas operacionais; Exemplos de uso: algumas vezes grandes companhias necessitam instalar seus servios (ex: servidores web, ftp e etc) em sistemas operacionais diferentes. A virtualizao resolve esse problema

IFTO-Palmas Prof. Helder

49

Referncia BibliogrficaSistemas Operacionais Modernos - Andrew S. Tanenbaum. 3 edio, 2009; www.google.com.br.

IFTO-Palmas Prof. Helder

50