Igor.ramos@uninove.br Objetivos Fornecer ao aluno conhecimentos acerca da arquitetura e organizao dos computadores. Propiciar ao aluno os fundamentos e conceitos na rea de sistemas operacionais, conceitos na rea de sistemas operacionais, bem como os princpios que orientam a engenharia de software. Contedo Programtico 1. Introduo O que um Sistema operacional Histria dos Sistemas operacionais Conceito de S.O. (processos, arquivos, shell) Chamadas de sistema Chamadas de sistema Estrtutura de S.O. 2. Processos 3. Entrada/Sada 4. Gerenciamento de Memria 5. Sistemas de arquivo Bibliografia Bibliografia Bsica TANENBAUM, Andrew S.Souza. Sistemas operacionais modernos. So Paulo: Pearson, 2009. PRESSMAN, Roger. Engenharia de software. So Paulo: Makron Books, 2009. STALLINGS, William. Arquitetura e organizao de computadores. So Paulo: Pearson, 2010. Bibliografia Complementar OLIVEIRA, Rmulo Silva de ; CARISSIMI, Alexandre da Silva ; TOSCANI, Simo Sirineo. Sistemas OLIVEIRA, Rmulo Silva de ; CARISSIMI, Alexandre da Silva ; TOSCANI, Simo Sirineo. Sistemas operacionais. Porto Alegre: Sagra, 2004. PAIXO, Renato Rodrigues. Montando e configurando PCs com inteligncia. So Paulo: rica, 2004. SOMMERVILLE, Ian. Engenharia de software. So Paulo: Editora Addison Wesley, 2003. TOCCI, Ronald J. ; WIDMER, Neal S. ; MOSS, Gregory L. Sistemas digitais: princpios e aplicaes. So Paulo: Pearson Prentice Hall, 2007. WAGNER, Flvio Rech ; REIS, Andr Incio ; RIBAS, Renato Perez. Fundamentos de circuitos digitais. Porto Alegre: Bookman, 2008. 1. Introduo O que um Sistema operacional Histria dos Sistemas operacionais Conceitos de S.O. (processos, arquivos, shell) Chamadas de sistema Estrtutura de S.O. Estrtutura de S.O. O programa de sistema mais fundamental o Sistema Operacional, que controla todos os recursos do computador e fornece a base sobre a qual os programas aplicativos podem ser escritos O que um Sistema operacional? O microprograma um interpretador buscando as instrues de linguagem de mquina como ADD, MOVE, e JUMP executando-as em uma srie de pequenos passos Conjunto de Instrues (50 a 300 instrues) O que um Sistema operacional? Executam basicamente 2 funes: Opera como uma Mquina Virtual, onde esconde do usurio as complexas aes que realiza no controle de todo o Hardware controle de todo o Hardware Opera como um Gerenciador de Recursos, onde oferece uma alocao ordenada e controlada dos processadores, das memrias e dos dispositivos de E/S entre os vrios programas que competem com eles A Histria dos Sistemas Operacionais Como os S.O.s estiveram intimamente ligados arquitetura dos computadores, examinaremos as sucessivas geraes de computadores computadores Primeiro computador digital Projetado pelo matemrico ingls Charles Babbage (1792-1871) Puramente mecnico Nunca conseguiu faz-lo funcionar Nunca conseguiu faz-lo funcionar adequadamente pelas imprecises de roldanas, engrenagens da poca No havia um sistema operacional 1 Gerao (1945-1950): Vlvulas e Painis Conectores Howard Aiken John Von Neumann Presper Eckert Willian Mauchley outros Sucesso na Construo Mquina de clculos utilizando vlvulas - Eram enormes - ocupavam salas inteiras - muito mais lentas que as - muito mais lentas que as calculadoras de hoje - controladas por fios ligados a painis - o progrador lia os escritos e fazia as conexes manualmente - No incio da dcada de 50, a rotina havia melhorado com a introduo dos cartes perfurados 2 Gerao (1955-1965): Transistores e Sistemas de Lote Com os transistores os computadores tornaram-se mais confiveis Somente grandes corporaes, universidades, etc tinha condies Para executar um job (programa), programador primeiro escrevia o programa em papel (Fortran ou Assembly) e ento o transformava em cartes perfurados Sistema de processamento em lotes (batch) Sistema de processamento em lotes (batch) Ajuntar uma poro de cartes, transformava em fita Sistema operacionais tpicos: FMS (Fortran Monitoring System) e IBSYS 3 Gerao (1965-1980): CIs e Multiprogramao A IBM criou uma srie de mquinas (360) compatveis ao nvel de SW A linha 360 foi criado para realizar tanto clculos cientficos como comerciais A linha 360 foi a primeira a utilizar CIs proporciando uma vantagem de custo-desempenho O sistema operacional era complexo e grande (para atender os diferentes O sistema operacional era complexo e grande (para atender os diferentes modelos) Quando um job fazia uma pausa a CPU ficava desocupada A soluo foi dividir a memria em vrias parties com um job diferente em cada partio aumentando a ocupao da CPU. Spooling: capacidade de ler jobs de cartes para o disco logo que eram trazidos para a sala de computador (Simmultaneous Peripheral On line) 4 Gerao (1980-hoje): Computadores Pessoais Processos Introduo a processos Os computadores modernos podem fazer vrias coisas ao mesmo tempo A CPU alterna de um programa a outro, executando A CPU alterna de um programa a outro, executando cada um por dezenas de milisegundos. No entanto a CPU executa apenas um programa por vez. Monitorar mltiplas atividades paralelas um problema complicado. Assim os projetistas de SO, desenvolveram um modelo (processos) que torna o paralelismo mais fcil de tratar Processos Um processo um programa em execuo A rpida alternncia da CPU chamada de multiprogramao Programa vs Processo Receita de Bolo Ingredientes (Farinha, ovos, acar, etc.) CPU Programa Dados de entrada Processo: atividade de ler a receita, buscar os ingredientes e cozinhar o bolo Dados de sada