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
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.
Anderson Moreira Sistemas Operacionais – Aula 1 agosto de 11
Agenda
Apresentação do Professor
Disciplina
Como irá funcionar?
Cronograma
Avaliação e trabalhos
Introdução a Sistemas Operacionais (SO)
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;
Anderson Moreira Sistemas Operacionais – Aula 1 agosto de 11
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.
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
Anderson Moreira Sistemas Operacionais – Aula 1 agosto de 11
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!).
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
;
Anderson Moreira Sistemas Operacionais – Aula 1 agosto de 11
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!).
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.
Anderson Moreira Sistemas Operacionais – Aula 1
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!)
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.
Anderson Moreira Sistemas Operacionais – Aula 1 agosto de 11
Sistemas Operacionais - Definições
programadores e analistas Usuários Hardware Sistema Operacional memória UCP impressoras discos fitas monitores programas, sistemas e aplicativos usuários 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
Núcleo (kernel) Programas do Sistema
Dispositivos (Device Drivers) Chamadas do Sistema (systems calls)
S ist em a O p er aci o n al 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…
Anderson Moreira Sistemas Operacionais – Aula 1 agosto de 11
Sistemas Operacionais - Definições
Máquina de níveis Utilitários Circuitos Eletrônicos Microprogramação Linguagem de Máquina Sistema Operacional Aplicativos 15/26Sistemas 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.
Anderson Moreira Sistemas Operacionais – Aula 1
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.
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 Processamento Processamento Processamento (a) (b) (c) fita de entrada fita de entrada cartões perfurados fita de saída relatórios fita de saída job 2 job n relatório 1 relatório 2 relatório n job 1 17/26
Job A Job B
Sistemas Operacionais - Histórico
Idéia seguinte: poupar-se o desperdício de CPU devido às Entradas/Saídas:
Job A
Dispositivo
Tempo
Anderson Moreira Sistemas Operacionais – Aula 1 agosto de 11
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”
SOs multiprogramáveis /multitarefa Sistemas Multiprogramáveis/ tarefa Multi Sistemas Batch Sistemas de Tempo Real Sistemas de Tempo Compartilhado
Anderson Moreira Sistemas Operacionais – Aula 1 agosto de 11
Sistemas Operacionais - Tipos
Tipos de Sistemas Operacionais Sistemas Monoprogramáveis/ Monotarefa Sistemas com Múltiplos Processadores Sistemas Multiprogramáveis/ Multitarefa 21/26
SOs monoprogramáveis/monotarefa Memória Principal Dispositivos de E/ S UCP programa/ tarefa
Anderson Moreira Sistemas Operacionais – Aula 1 agosto de 11 SOs multiprogramáveis/multitarefa Memória Principal Dispositivos de E/ S
UCP programa/tarefa programa/ tarefa programa/ tarefa programa/ tarefa programa/ tarefa
Sistemas Operacionais - Tipos
Sistemas fortemente acoplados
UCP UCP
Memória Principal
Dispositivos Dispositivos
Anderson Moreira Sistemas Operacionais – Aula 1 agosto de 11
Sistemas fracamente acoplados
UCP UCP Memória Principal Memória Principal Dispositivos de E/ S link de comunicação Dispositivos de E/ S
Sistemas Operacionais - Tipos
Anderson Moreira Sistemas Operacionais – Aula 1 agosto de 11