Formação: Bacharel em Ciências da Computação Especialização em Desenvolvimento de Sistemas Web Analista de TI Analista de Desenvolvimento Técnico em Adm. De Empresas P1 e P2 Primeira Nota: Trabalho 1,5 pontos Segunda Nota: Trabalho 1,5 pontos Terceira Nota: Prova escrita - 7 pontos Média Final (P1 + P2) / 2
Introdução O que é um Sistema Operacional Funções de um SO Componentes de um SO Tipos de SO Gerência de Processos Conceito de processo Estados de processo Tipos de processo Sincronização! Semáforos, monitores, Comunicação entre processos Problemas! Deadlock,! Starvation " Gerência de Memória Endereços lógicos e físicos. Alocação Swapping Memória Virtual Paginação Segmentação Gerencia de Dispositivos Device drivers Dispositivos de E/S. Sistemas de arquivos Arquivos Diretórios Alocação de espaço Proteção Projeto de Sistema Operacional Natureza do problema Interface Estudos de caso #
& $ Antes de 1940 % Computadores eram grandes calculadoras % 1642 Pascaline; % 1673 Máquina de somar e multiplicar; % 1820 Máquina realiza as 4 operações; % 1833 Máquina analítica; % 1854 Lógica booleana; % 1890 Leitor de Cartões perfurados; % 1930 Z1 (Computador com reles); % 1937 Máquina Universal (Turing); - Executava algoritmos e processamento de símbolos - Base de toda a ciência da computação moderna Década de 40 1943 ENIGMA (decifrar códigos de guerra) 1944 Colossus (IBM) 1946 ENIAC 1949 EDSAC, EDVAC, IAS, MARK1... (
) Década de 50 Transistor + velocidade de processamento Memórias magnéticas acesso + rápido 1951 Whirtwind 1º computador (processamento real) 1953 IBM 701 1º Sistema Operacional Processamento em Bath (ocorre através de um lote de tarefas enfileiradas, de modo que o sistema operacional só processa a próxima tarefa após o término completo da tarefa anterior.) * Década de 60 Circuito Integrado CI 1964 IBM Suystem 360 OS/360 Multiprogrmação, time-sharing, on-line 1965 MULTICS múltiplos processadores 1969 UNIX Versão do MULTICS (Kent Tompson) +,
- Década de 70 Circuitos Integrados de Larga Escala LSI PDP-11, VAX-VMS 1971 ALTAIR Processador 8008, Pascal e C 1976 APPLE II Steve Jobs e Steve Wozniak Fundação da Apple e da Microsoft CM/P Sistema Operacional da Digital Research + + Década de 80 IBM PC Processador 8080 de 16 bits UNIX Berkeley = BSD 1982 Sun Microsystem (RISC com SunOS e Solaris) Microsoft Windows, IBM OS/2, Novell Netware, Microsoft Lan Manager +
. Década de 90 Sistemas especialistas, multimídia, BD distribuídos IA, Redes Neurais Processadores + rápidos, Memórias + baratas Unidades de E/S menores UNIX (HP VX e IBM AIX), Microsoft Windows, Linux + Momento Atual (2012...) Evolução mais rápida do hardware Novas interfaces Linguagens naturais, som, realidade virtual Processamento Distribuído Sistemas Operacionais Embarcados +
/ Hardware Provê recursos para execução de instruções, manipulação de dados Programa de Aplicação Solução computacional de um problema Define a utilização dos recursos do sistema PROBLEMA O hardware sozinho não oferece um ambiente de utilização simples para resolução computacional de problemas + " Problema Exemplo Considere a implementação de um sistema computacional onde duas entidades (software) produz e consome dados da memória, respectivamente. Como sincronizar a produção e o consumo de dados? + #
0 DEFINIÇÕES 1. Conjunto de programas que trabalham de modo cooperativo com o objetivo de prover uma máquina mais flexível e adequada ao programador do que aquela apresentada pelo hardware. 2. Programa que age como um intermediário entre o usuário de um computador e o hardware deste computador. + & Definição (MACHADO, 2002): Conjunto de rotinas executadas pelo processador controlar o funcionamento de um computador, gerenciando a utilização e o compartilhamento dos seus recursos: 1 Processadores 1 Memórias 1 Dispositivos de Entrada e Saída Definição (TANENBAUM, 2003): Programa de computador que age como intermediário entre o usuário e o hardware + (
Um Sistema Operacional...... possibilita o uso eficiente e controlado dos recursos de hardware.... implementa políticas e estruturas de software de modo a assegurar um melhor desempenho do sistema de computação. + * 2 3 4 5 3 6 7 6 8 9 : ; < = >? 6 @ A 4 2 3 4 5 3 6 7 6 8 9 4 B >8 C : 7 6 D 6 3 9 E 6 3 :,
+ 1ª FASE (1945-1955) ENIAC Programação painéis - linguagem de máquina; Não existia o conceito de SO e LP; 2ª FASE (1956-1965) Primeiras LP, cartões perfurados, SO processamento Bath, Input/Output; 3ª FASE (1966-1980) IBM OS/360 Multiprogramação, Sistemas de Tempo Compartilhado Surgimento do UNIX (1969) Primeiros Microcomputadores de 8 bits da Apple SO CP/M
4ª FASE (1981-199) 1 Miniaturização de equipamentos; 1 Personal Computer (PC) 16 bits da IBM; 1 Microsoft MS-DOS; 1 Sistemas Multitarefas: 1-Preemptivos e 2-Cooperativos; 1 Sistemas Operacionais de Rede (SOR); 5ª FASE (1990-...) 1 Sistemas para arquiteturas paralelas; 1 Sistemas de processamento distribuído; 1 Arquitetura Cliente/Servidor; 1 Interfaces Gráficas Amigáveis; 1 Software Livre; Exemplos de Sistemas Operacionais: UNIX, XENIX, MINIX, IBM AIX 5L, Sun OpenSolaris, HP OpenVMS, FreeBSD; THE, CPM, MS-DOS, IBM OS2 Warp, Mac OS X Tiger, QNX, Novell, Lantastic; Windows 3.1/3.11, Windows NT 4/, Windows 95/98/Me, Windows 2000 NT Server, Windows 2000, Windows 2003, Windows XP Home/Professional, Windows 7 (Starter Edition, Home Basic, Home Premium, Professional, Enterprise, Ultimate), Windows CE/Mobile;
Ameba, Clouds, Mach; SUSE, Mandrake, Conectiva, Mandriva, Red Hat, Fedora, Debian, Slackware, Yellow Dog, Ubuntu, Gentoo, Knoppix, Kurumim, Freedows, TAMU, Caldera Open, Yggdrasil, TurboLinux, Tropix, Muriqui,... Android; Symbian OS; PalmOS; Chrome OS. " #
F G H I J K L I I M KN N O PG Q R PG S T U J O RS G V R O WN V T W X J I YH Q N J Z I T I YZ I YS T Z [\ J [ ] V [Z YI J [S G V [ V YPL G J Z [\ J [ ] Z ] T W YG Z N & Por quê utilizar um Sistema Operacional? Aproveitamento de hardware; Executar programas e facilitar a solução de problemas; Usar o hardware de maneira eficiente; ( $
^ ^ Função do Sistema Operacional Oferecer uma interface simplificada do sistema computacional para o usuário Fornece abstrações simplificadas Exemplo: Arquivos no Windows Gerenciar os recursos do hardware ^ Define, aplica e supervisiona políticas de acesso e utilização dos recursos ^ Exemplo: Gerência do espaço de endereçamento * Função do Sistema Operacional Alocador de Recursos ^ Gerencia e aloca recursos aos usuários Programa de controle ^ Controla a execução de programas do usuário e operações de dispositivos de E/S, )
Kernel É o componente central do sistema; Ele serve de ponte entre aplicativos e o processamento real de dados feito a nível de hardware. Grande organizador: é ele o responsável por garantir que todos os programas terão acesso aos recursos de que necessitam simultaneamente, fazendo com que haja um compartilhamento concorrente mas sem oferecer riscos à integridade da máquina. + Funções Básicas: Interface com o usuário (shell, ambiente); Gerenciamento de processos; Gerenciamento de memória; Tratamento de interrupções; Gerenciamento do sistema de arquivos; Operações de entrada/saída; -
_ CARACTERÍSTICAS DESEJÁVEIS Eficiência Baixo tempo de resposta, pouca ociosidade da UCP e alta taxa de processamento. Confiabilidade Pouca incidência de falhas e exatidão dos dados computados. Mantenabilidade Facilidade de correção ou incorporação de novas características. Pequena dimensão Simplicidade e baixa ocupação da memória Concorrência Capacidade de manutenção de tarefas concorrentes Compartilhamento de recursos _ Gerencia de recursos de hardware e software compartilhados Núcleo Responsável pela gerência do processador, tratamento de interrupções, comunicação e sincronização de processos. Gerente de Memória Responsável pelo controle e alocação de memória aos processos ativos. Sistema de E/S Responsável pelo controle e execução de operações de E/S e otimização do uso dos periféricos. Sistema de Arquivos Responsável pelo acesso e integridade dos dados residentes na memória secundária. Processador de Comandos / Interface com o Usuário Responsável pela interface conversacional com o usuário..
Os vários tipos surgiram da evolução histórica dos sistemas operacionais Gerações de Sistemas operacionais; Tipos mais comuns SO de Computadores Pessoais; SO de Computadores de Grande Porte; SO de Servidores; SO de Tempo Real; SO de Embarcados; SO de Cartões Inteligentes; " SO de Computadores de Grande Porte O hardware caracteriza-se por grande capacidade de E/S ` Servidores WEB As operações caracterizam-se por execução simultânea de muitas tarefas requerendo muita E/S Tarefas ` Lote ` Transações ` Tempo Compartilhado # /
^ a a a a SO de Servidores São computadores pessoais de grande porte ^ Permitem o compartilhamento de hardware e software Prestam serviço a muitos usuários Impressão Arquivo Mensagens Web & SO de Tempo Real O atendimento ao tempo de resposta é a principal preocupação; ^ O tempo de resposta pode ser crítico ou não crítico; SO de Embarcados Apresentam restrições quanto ao espaço de memória ocupado e consumo de potência; Geralmente também possuem restrição de tempo; ( 0
SO de Cartões Inteligentes Os menores sistemas operacionais; Dispositivos do tamanho de cartão de crédito que contem um CHIP de CPU; Possuem restrições severas de consumo de energia e de memória; Podendo realizar apenas uma única função, como pagamentos eletrônicos, ou múltiplas funções no mesmo cartão inteligentes. * Realizar Pesquisa sobre Máquina de Turing: Funcionamento; Características; Exemplos. A ser entregue até a aula do dia 23/02/2012; Impresso ou E-mail; Dupla;,
Sistemas Operacionais Modernos Andrew S. Tanenbaum Sistemas Operacionais Abrahan Silberschatz, Peter Galvin, Greg Gagne +