Sistemas Operacionais Prof. Fernando Freitas Introdução • O que é um sistema operacional • História dos sistemas operacionais • Tipos de sistemas operacionais • Conceitos sobre sistemas operacionais • Chamadas de sistema 1 Introdução • Um sistema computacional consiste em – hardware – Programas do modo núcleo – Programas do modo usuário 2 O que é um Sistema Operacional • É uma máquina estendida – Oculta os detalhes complicados que têm quer ser executados – Apresenta ao usuário uma máquina virtual, mais fácil de usar • É um gerenciador de recurso – Cada programa tem um tempo com o recurso – Cada programa tem um espaço no recurso 3 Evolução • 1ª Geração: Válvulas e painéis de programação • 2ª Geração: Transistores e Sistemas em Lote • 3ª Geração: CI´s e Multiprogramação • 4ª Geração: Computadores pessoais 4 Evolução - Curiosidade... • Alguém sabe o que quer dizer: “Ontogenia recapitula a filogenia” (Ernst Haeckel) 5 Tipos de Sistemas Operacionais • Sistemas operacionais de computadores de grande porte – – – – Em lote Processamento de transações Tempo compartilhado Ex: OS/390 • Sistemas operacionais de servidores – Servem múltiplos usuários – Compartilham recursos – Ex: Solaris, FreeBSD, Linux e Windows Server 6 Tipos de Sistemas Operacionais • Sistemas operacionais de multiprocessadores – Múltiplas CPU´s em um único sistema – Ex: Linux e Windows • Sistemas operacionais de computadores pessoais – Boa Interface com usuário – Ex: Linux, FreeBSD, Windows 7, etc. • Sistemas operacionais de computadores portáteis – Não trabalham com discos rígidos – Ex: Palm OS, Symbiam OS, etc 7 Tipos de Sistemas Operacionais • Sistemas operacionais embarcados – Não aceitam softwares instalados por usuários – Ex: QNX, VxWorks • Sistemas operacionais de nós sensores – SO dirigido por eventos. – Deve ser pequeno e simples – Ex: TinyOS 8 Tipos de Sistemas Operacionais • Sistemas operacionais de tempo-real – Ações devem acontecer em determinado momento – Crítico e não crítico – Ex: e-Cos • Sistemas operacionais de cartões inteligentes – Muito primitivo – Possuem restrições de consumo de energia e de memória – Geralmente são sistemas proprietários 9 Conceitos sobre Sistemas Operacionais • • • • Processo Memória Arquivos Etc... 10 Conceitos sobre Sistemas Operacionais (1) • Uma árvore de processos – A criou dois processos filhos: B e C – B criou três processos filhos: D, E, e F – Processos filhos recebem mesmo UID do pai 11 Conceitos sobre Sistemas Operacionais (2) • Espaços de Endereçamento – Nos sistemas atuais devem ser protegidos para evitar intervenções de outros processos. – Espaço de endereçamento do processo > memória disponível – memória virtual 12 Conceitos sobre Sistemas Operacionais (3) • Arquivos – – – – – – – – SO oculta detalhes do disco Há chamadas de sistema Arquivos são armazenados em diretórios Sistema de Arquivos – Organização em Árvore Caminhos absolutos ou relativos Sucesso ao acessar arquivos – descritor de arquivo Mount Arquivo especial (bloco e caractere) 13 Conceitos sobre Sistemas Operacionais (4) Sistema de arquivos de um departamento universitário 14 Conceitos sobre Sistemas Operacionais (5) • Antes da montagem, – os arquivos do disco flexível são inacessíveis • Depois da montagem do disco flexível em b, – os arquivos do disco fazem parte da hierarquia de arquivos 15 Conceitos sobre Sistemas Operacionais (6) Dois processos conectados por um pipe 16 Conceitos sobre Sistemas Operacionais (7) • E/S – Gerenciar dispositivos • Segurança – Bits de proteção – Outros tipos de segurança (contra usuários, por exemplo) • Shell – Não faz parte do SO, assim como as GUI´s – cat arq1 arq2 arq3 | sort > /dev/lp & 17 Os Passos de uma Chamada ao Sistema Os 11 passos para fazer uma chamada ao sistema read (fd, buffer, nbytes) 18 Algumas Chamadas ao Sistema para Gerenciamento de Processos Fork retorna um valor. Ele vale zero para o processo filho e é igual ao PID do processo filho no processo pai. 19 Chamadas ao Sistema - Processos • O interior de um shell: 20 Chamadas ao Sistema - Processos Os processos têm três segmentos: texto, dados e pilha 21 Algumas Chamadas ao Sistema para Gerenciamento de Arquivos 22 Algumas Chamadas ao Sistema para Gerenciamento de Diretório 23 Chamadas ao Sistema - Diretórios I-node (a) Dois diretórios antes da ligação de /usr/jim/memo ao diretório ast (b) Os mesmos diretórios depois dessa ligação Diretórios fazem referência a pares de informações (i-node e nome ASCII) 24 Chamadas ao Sistema - Diretórios (a) Sistema de arquivos antes da montagem (b) Sistema de arquivos depois da montagem 25 Algumas Chamadas ao Sistema para Tarefas Diversas 26 Chamadas ao Sistema Algumas chamadas da interface API Win32 27 Exercícios 1. 2. 3. 4. 5. 6. 7. O que é um Sistema Operacional? Quais suas funções principais? Diferencie SO de grande porte e SO de servidores. Diferencie SO de tempo real crítico e não crítico. Quando dizemos que na computação “Ontogenia recapitula a filogenia”, o que estamos querendo dizer? De modo resumido, fale sobre os 11 passos para efetuar uma chamada de Sistema read. O que acontece quando uma chamada unlink ocorre? Qual a função da chamada de sistema mount? 28