Sistemas Operacionais Aula 1 Anderson L. S. Moreira anderson.moreira@recife.ifpe.edu.br http://dase.ifpe.edu.br/~alsm Curso de Análise e Desenvolvimento de Sistemas de Informação Recife - PE 1/26
O que fazer com essa apresentação Anderson Moreira Sistemas Operacionais Aula 1 2
Créditos Professor: Anderson L. S. Moreira Disciplina: Sistemas Operacionais Home-page: http://dase.ifpe.edu.br/~alsm Aula 1 que visa apresentar ao aluno os principais aspectos que envolvem o projeto e a implementação de um sistema operacional, seus tipos e histórico. 2/26
Agenda Apresentação do Professor Disciplina Como irá funcionar? Cronograma Avaliação e trabalhos Introdução a Sistemas Operacionais (SO) 3/26
O professor Natural de Nazaré no estado da Bahia; Vida nômade (mudança constante); Contato com computadores desde pequeno (pelo que me lembre cresci sem saber quando foi o 1º que vi); Último lugar aonde morou: Ilhéus - Bahia; 4/26
O professor Área de atuação Trabalho com Sistemas Operacionais desde 1999; Trabalhei durante muito tempo na indústria; Área de pesquisa surgiu a 9 anos atrás; Já trabalhei: Sistemas Operacionais de Tempo Real e Algoritmos de Escalonamento para aplicações críticas UFPE; Fiz parte do Grupo de Engenharia da Computação GrecO UFPE (Sistemas de Tempo Real). Hoje: Faço parte do Grupo de Modelagem de Sistemas Concorrentes e Distribuídos na UFPE; Atualmente: Envelhecimento e Rejuvenescimento de software em máquinas virtuais de tempo real críticas. 5/26
Referências Bibliográficas para aulas Bibliografia Básica: TANENBAUM, A. S.; WOODHULL, A. S. Sistemas Operacionais. Porto Alegre: Bookman, 2000. OLIVEIRA, R.; CARÍSSIMI, A.; TOSCANI, S. Sistemas Operacionais. 2. ed. Porto Alegre: Sagra-Luzzatto, 2001. Bibliografia Opcional Tanenbaum, Andrew S. Sistemas Operacionais Modernos 2. ed. Prentice Hall ( Pearson ), 2003. Silberschatz, Abraham. Sistemas Operacionais. Editora CAMPUS, 2000. 6/26
Disciplina É uma disciplina FUNDAMENTAL, que envolve conceitos de importância inter-disciplinar; Precisa estudar muitos conceitos (parte chata) e praticar muito (parte boa!); Fundamental conhecimento de uma linguagem de controle (preferencialmente C/C++); Fundamental o entendimento da língua inglesa (os melhores livros estão em inglês!). 7/26
Disciplina Qual é a função dos alunos: Entender os conceitos; Saber identificar problemas que envolvam SO; Atenção e pontualidade são fundamentais! Qual a função do professor: Fazer com que o aluno aprenda; Ser prestativo sempre que o aluno precisar de ajuda na disciplina; Não enrolar em sala de aula. 8/26
Disciplina Os NÃO da disciplina: NÃO vamos aprender a usar um SO; NÃO gosto muito de usar recursos proprietários (preferência por Linux); NÃO quero ser o único a falar em sala de aula (aluno deve participar das aulas!). 9/26
Disciplinas Avaliações: Avaliação distribuída com exame final; Trabalhos individual ou em grupo (no máximo 2); Simulações em laboratórios (SOSim/windows e o Linux); Exercícios (valem pontos); M Miniteste P - Projeto Final Cálculo de Classificação por avaliação: M M = 0.2M + P(20-0.2M)/20 Lembrando que M e M são notas complementares com exercícios. 10/26
Observação Notas são disponibilizadas no site da disciplina; O esforço requerido para a realização desta disciplina é avaliado em 6 horas semanais; Divididas pelas aulas teóricas e prática e duas horas de estudo fora das aulas (ver link http://www.rtsystems.org/ensino.htm); Como se sabe, é preferível esclarecer as dúvidas no momento em que surgem, em vez de as deixar acumular para o final do semestre.; O docente da disciplina está disponíveis para esclarecer todas as dúvidas (quando possível!) Anderson Moreira Sistemas Operacionais Aula 1 agosto de 11
Sistemas Operacionais - Definições O que é um SO? É um recurso que serve como interface entre a máquina e o homem; Trabalha como um gerente; Qual o melhor SO? Depende de seu problema, você que deve julgar qual é o melhor. Eterna luta Windows x Linux. 11/26
Sistemas Operacionais - Definições Sistema Operacional usuários discos memória programadores e analistas Usuários Hardware fitas UCP monitores impressoras programas, sistemas e aplicativos 12/26
Sistemas Operacionais - Definições De forma clássica: SO é um conjunto operacional de programas incorporados de forma permanente no sistema. Sua missão consiste em ampliar o potencial e a utilidade global do sistema em tarefas como gestão do controle de entradas e saídas e de memória, detecção automática de erros, etc. Anderson Moreira Sistemas Operacionais Aula 1 agosto de 11
Sistemas Operacionais - Definições Chamadas do Sistema (systems calls) Programas do Sistema Núcleo (kernel) Sistema Operacional Dispositivos (Device Drivers) 13/26
Sistemas Operacionais - Definições Chamadas de sistema: são funções que os programas dos usuários podem usar para acessar os serviços do núcleo; Exemplo: ls, mkdir, cd, format, CTRL-C Núcleo: é o conjunto mínimo de serviços executados pelo SO; Definição de processos, escalonamento, Programas de sistema: são serviços menos críticos Compiladores, editores de texto, shell, GUI (Windows/Gnome), Firefox/IE 14/26
Sistemas Operacionais - Definições Máquina de níveis Aplicativos Utilitários Sistema Operacional Linguagem de Máquina Microprogramação Circuitos Eletrônicos 15/26
Sistemas Operacionais - Histórico Nos primórdios da Computação, não tinha SO O programador interagia diretamente com o hardware; A alocação dos recursos de hardware eram feitos por planilha. Nos anos 50, automatizou-se a execução dos jobs Definição de categorias de programas (filas) com uso parecido dos recursos = lotes (batches); Possibilidade de definir bibliotecas especializadas; Um operador profissional opera o hardware para executar os jobs; O mesmo fiscaliza a atribuição do hardware e o andamento dos jobs. 16/26
Sistemas Operacionais - Histórico Blaise Pascal (1623-1662) Criou a pascalina, máquina capaz de realizar somas e subtrações mediante a combinação de rodas dentadas. Leibnitz (1646-1716) Aperfeiçoou a pascalina possibilitando o cálculo de quatro operações básicas: soma, subtração, multiplicação, divisão. J. M. Jacquard (1752-1834) Criou o primeiro SO automatizado para funcionar controlando o tear mecânico. Usava fichas perfuradas e permitia realizar cópias perfeitas de protótipos de roupas. H. Hollerith (1860-1929) Construiu a máquina do censo com as idéias de Jacquard. Fundou a TMC, que hoje é a IBM. Anderson Moreira Sistemas Operacionais Aula 1 agosto de 11
Sistemas Operacionais - Histórico Charles Babbage (1792-1871) Professor de Cambridge, projetou a Analytical Engine para que pudesse realizar operações matemáticas sem intervenção humana. Não foi implementada. Tinha uma unidade de memória, uma impressora automática, um programa sequencial de controle e trabalhava com fichas perfuradas. Precursora dos computadores. J. von Newman (1903-1957) Modelou nos anos 40, a atual configuração dos computadores, sugerindo sistema binário como base de linguagem de máquina. Também especificou que todo computador devia ter entrada e saída, processamento e memória. Difícil encontrar máquinas que não seguem esse modelo. Anderson Moreira Sistemas Operacionais Aula 1 agosto de 11
Sistemas Operacionais - Histórico Processamento em batch job n (a) job 2 job 1 cartões perfurados Processamento fita de entrada (b) fita de entrada Processamento fita de saída relatório n (c) fita de saída Processamento relatório 2 relatório 1 relatórios 17/26
Sistemas Operacionais - Histórico Idéia seguinte: poupar-se o desperdício de CPU devido às Entradas/Saídas: Ociosidade Job A Job B Job A Dispositivo Tempo 18/26
Sistemas Operacionais - Evolução Evoluções naturais da multiprogramação: Compartilhamento de tempo: cada usuário possui um terminal próprio e acessa à mesma CPU; Multiusuário:mais de uma sessão podem ser abertas em um computador só, por vários usuários (Windows NT/2000, Unix ) Sistemas mais antigos eram monousuários (MS-DOS) Multitarefa:cada usuário pode usar mais de um job simultaneamente 19/26
Sistemas Operacionais - Tipos SOs multiprogramáveis /multitarefa Sistemas Multiprogramáveis/ Multitarefa Sistemas Batch Sistemas de Tempo Compartilhado Sistemas de Tempo Real 20/26
Sistemas Operacionais - Tipos Tipos de Sistemas Operacionais Sistemas Monoprogramáveis/ Monotarefa Sistemas Multiprogramáveis/ Multitarefa Sistemas com Múltiplos Processadores 21/26
Sistemas Operacionais - Tipos SOs monoprogramáveis/monotarefa UCP programa/ tarefa Memória Principal Dispositivos de E/ S 22/26
Sistemas Operacionais - Tipos SOs multiprogramáveis/multitarefa programa/ tarefa UCP programa/ tarefa Memória Principal Dispositivos de E/ S programa/ tarefa programa/ tarefa programa/ tarefa 23/26
Sistemas Operacionais - Tipos Sistemas fortemente acoplados UCP Memória Principal UCP Dispositivos de E/ S Dispositivos de E/ S 24/26
Sistemas Operacionais - Tipos Sistemas fracamente acoplados link de comunicação UCP UCP Memória Principal Dispositivos de E/ S Memória Principal Dispositivos de E/ S 25/26
Dúvidas? Anderson Moreira Sistemas Operacionais Aula 1 agosto de 11
Não percam no próximo episódio! Conceitos de hardware e software; Explicação sobre os simuladores! Dúvidas? 26/26