Capítulo 1 Introdução 1.1 O que é um sistema operacional 1.2 História dos sistemas operacionais 1.3 O zoológico de sistemas operacionais 1.4 Revisão sobre hardware de computadores 1.5 Conceitos sobre sistemas operacionais 1.6 Chamadas ao sistema 1.7 Estrutura de sistemas operacionais Pearson Education Sistemas Operacionais Modernos 2ª Edição 1
Introdução Um sistema computacional consiste em hardware programas do sistema programas de aplicação Pearson Education Sistemas Operacionais Modernos 2ª Edição 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 Pearson Education Sistemas Operacionais Modernos 2ª Edição 3
História dos Sistemas Operacionais Primeira geração 1945 1955 Válvulas, painéis de programação (não existiam sistemas operacionais) Segunda geração 1955-1965 transistores, sistemas em lote (sistemas operacionais típicos: FMS e IBSYS) Terceira geração 1965 1980 CIs e multiprogramação (sistema operacional OS/360) Quarta geração 1980 presente Computadores pessoais Pearson Education Sistemas Operacionais Modernos 2ª Edição 4
História dos Sistemas Operacionais 4a Geração : computadores pessoais Intel 8080 CP/M IBM PC DOS -> MSDOS IBM PC/AT utizando a CPU Intel 20286 Intel 80386, 80486 Apple Macintosh Windows 95, Windows 98 Windows NT, Windows 2000, Vista Pearson Education Sistemas Operacionais Modernos 2ª Edição 5
O Zoológico de Sistemas Operacionais Sistemas operacionais de computadores de grande porte Sistemas operacionais de servidores Sistemas operacionais de multiprocessadores Sistemas operacionais de computadores pessoais Sistemas operacionais de tempo-real Sistemas operacionais embarcados Sistemas operacionais de cartões inteligentes Pearson Education Sistemas Operacionais Modernos 2ª Edição 6
Revisão sobre hardware de computadores (1) Bus Componentes de um computador pessoal simples Pearson Education Sistemas Operacionais Modernos 2ª Edição 7
Revisão sobre hardware de computadores (2) (a) Um pipeline de três estágios (b) Uma CPU superescalar Pearson Education Sistemas Operacionais Modernos 2ª Edição 8
Revisão sobre hardware de computadores (3) 2-20 MB 2-32 GB 200-1000 GB 400-1600 GB Típica hierarquia de memória números mostrados são apenas aproximações Pearson Education Sistemas Operacionais Modernos 2ª Edição 9
Revisão sobre hardware de computadores(4) Estrutura de uma unidade de disco Pearson Education Sistemas Operacionais Modernos 2ª Edição 10
Revisão sobre hardware de computadores (5) Um par base-limite e dois pares base-limite Pearson Education Sistemas Operacionais Modernos 2ª Edição 11
Revisão sobre hardware de computadores (6) (a) Passos para iniciar um dispositivo de E/S e obter uma interrupção (b) Como a CPU é interrompida Pearson Education Sistemas Operacionais Modernos 2ª Edição 12
Revisão sobre hardware de computadores(7) Estrutura de um sistema Pentium grande Pearson Education Sistemas Operacionais Modernos 2ª Edição 13
Conceitos sobre Sistemas Operacionais (1) Processo é basicamente um programa em excecução Utiliza um espaço de endereçamento, uma lista de posições de memória S.O. armazena os processos numa tabela de processos Uma árvore de processos A criou dois processos filhos: B e C B criou três processos filhos: D, E, e F Comunicação interprocessos UID e GID Pearson Education Sistemas Operacionais Modernos 2ª Edição 14
Conceitos sobre Sistemas Operacionais (2) (a) Um deadlock potencial. (b) Um deadlock real. deadlock = impasse Pearson Education Sistemas Operacionais Modernos 2ª Edição 15
Conceitos sobre Sistemas Operacionais (3) Sistema de arquivos de um departamento universitário Pearson Education Sistemas Operacionais Modernos 2ª Edição 16
Conceitos sobre Sistemas Operacionais (4) Antes da montagem, os arquivos do disco flexível são inacessíveis a partir da Raiz Depois da montagem do disco flexível em b, os arquivos do disco fazem parte da hierarquia de arquivos Pearson Education Sistemas Operacionais Modernos 2ª Edição 17
Conceitos sobre Sistemas Operacionais (5) Dois processos conectados por um pipe: a saída padrão de um se liga à entrada padrão do outro Pearson Education Sistemas Operacionais Modernos 2ª Edição 18
Os Passos de uma Chamada ao Sistema Os 11 passos para fazer uma chamada ao sistema read (fd, buffer, nbytes) Pearson Education Sistemas Operacionais Modernos 2ª Edição 19
Algumas Chamadas ao Sistema para Gerenciamento de Processos Pearson Education Sistemas Operacionais Modernos 2ª Edição 20
Algumas Chamadas ao Sistema para Gerenciamento de Arquivos Pearson Education Sistemas Operacionais Modernos 2ª Edição 21
Algumas Chamadas ao Sistema para Gerenciamento de Diretório Pearson Education Sistemas Operacionais Modernos 2ª Edição 22
Algumas Chamadas ao Sistema para Tarefas Diversas Pearson Education Sistemas Operacionais Modernos 2ª Edição 23
Chamadas ao Sistema (1) O interior de um shell: fork() retorna o PID do processo filho ou 0 no caso de ser o processo filho Pearson Education Sistemas Operacionais Modernos 2ª Edição 24
Chamadas ao Sistema (2) Os processos têm três segmentos: texto, dados e pilha Pearson Education Sistemas Operacionais Modernos 2ª Edição 25
Chamadas ao Sistema (3) (a) Dois diretórios antes da ligação de /usr/jim/memo ao diretório ast/note (b) Os mesmos diretórios depois dessa ligação Pearson Education Sistemas Operacionais Modernos 2ª Edição 26
Chamadas ao Sistema (4) (a) Sistema de arquivos antes de uma montagem (b) Sistema de arquivos depois da montagem Pearson Education Sistemas Operacionais Modernos 2ª Edição 27
Chamadas ao Sistema (5) Algumas chamadas da interface API Win32 Pearson Education Sistemas Operacionais Modernos 2ª Edição 28
Estrutura de Sistemas Operacionais (1) Sistemas monolíticos Modelo simples de estruturação de um sistema monolítico Pearson Education Sistemas Operacionais Modernos 2ª Edição 29
Estrutura de Sistemas Operacionais (2) Sistemas de camadas Pearson Education Sistemas Operacionais Modernos 2ª Edição 30
Estrutura de Sistemas Operacionais (4) O modelo cliente-servidor Pearson Education Sistemas Operacionais Modernos 2ª Edição 31
Estrutura de Sistemas Operacionais (5) O modelo cliente-servidor em um sistema distribuído Pearson Education Sistemas Operacionais Modernos 2ª Edição 32
Estrutura de Sistemas Operacionais (3) Máquinas virtuais Estrutura do VM/370 com o CMS Ex.: DOS no Windows, JVM, etc Pearson Education Sistemas Operacionais Modernos 2ª Edição 33
Hipervisores (classificação) Pearson Education Sistemas Operacionais Modernos 2ª Edição
Hipervisores (classificação) Tipo 1 / Bare metal / Nativo Instalado diretamente sobre o hardware do servidor Exemplos: Vmware ESX, Microsoft Hyper-V, Citrix Xen Server, etc. Tipo 2 / Hosted Executado sobre um sistema operacional, como um processo do mesmo Exemplos: Oracle VirtualBox, Microsoft Virtual PC, etc. Pearson Education Sistemas Operacionais Modernos 2ª Edição
Tipos de virtualização Virtualização completa Abstração completa do hardware Exemplos: Hyper-V, Vmware ESX, VirtualBox, Xen Server (versão Corporativa), etc. Pearson Education Sistemas Operacionais Modernos 2ª Edição
Tipos de virtualização Paravirtualização Algumas chamadas podem ser executadas diretamente sobre o processador nativo, sendo mais rápido que a virtualização completa (mas isso antes de existir a virtualização assistida por hardware, como no Intel VT e no AMD-V) O sistema operacional da máquina virtual convidada precisa ser alterado Pearson Education Sistemas Operacionais Modernos 2ª Edição
Tipos de virtualização Virtualização a nível de sistema operacional (ou virtualização de kernel, ou baseada em conteiner) Utilização de mais de uma instância (containers, jails, etc) de user space O sistema operacional da instância convidado não pode ter o kernel diferente do host (ou seja, o SO é sempre o mesmo do host) Vantagens: baixo consumo de memória, flexibilidade na utilização de ferramentas de gerenciamento e migração de dados, não necessita da virtualização assistida por hardware, etc. Exemplos: LXC, OpenVZ, LinuxV-Server, FreeBSD Jail, etc. Pearson Education Sistemas Operacionais Modernos 2ª Edição
Virtualização baseada em container Pearson Education Sistemas Operacionais Modernos 2ª Edição
Softwares de Virtualização Bochs QEMU KVM Virtual PC Virtual Server VirtualBox VMware FreeBSD Jails XEN Valgrind MOL DOSEMU DosBox Parallels HyperV Linux LXC OpenVZ Pearson Education Sistemas Operacionais Modernos 2ª Edição
Virtualização na nuvem Pearson Education Sistemas Operacionais Modernos 2ª Edição
Virtualização na nuvem Pearson Education Sistemas Operacionais Modernos 2ª Edição
Virtualização na nuvem Pearson Education Sistemas Operacionais Modernos 2ª Edição
Unidades Métricas Os prefixos métricos Pearson Education Sistemas Operacionais Modernos 2ª Edição 44