Você está na página 1de 37

Instituto Presbiteriano Mackenzie

Faculdade de Computao e Informtica Disciplina de Sistemas Operacionais

Sistemas Operacionais 1 parte

Instituto Presbiteriano Mackenzie

Faculdade de Computao e Informtica Disciplina de Sistemas Operacionais

Bibliografia

Arquitetura de Sistemas Operacionais


MACHADO, Francis B. 4 ed, LTC, 2007.

Sistemas Operacionais com JAVA


SILBERSCHATZ, Abraham. 6 ed. Editora Campus

Sistemas Operacionais Modernos


TANENBAUM, Andrew. 2 ed. Editora Pearson, 2003.

Instituto Presbiteriano Mackenzie

Faculdade de Computao e Informtica Disciplina de Sistemas Operacionais

Definies
Para Tanembaum: uma mquina estendida
Oculta os detalhes complicados que tm quer ser executados Apresenta ao usurio uma mquina virtual, mais fcil de usar Cada programa tem um tempo com o recurso Cada programa tem um espao no recurso

um gerenciador de recurso

Para Machado: Um sistema operacional por mais complexo que possa parecer, apenas um conjunto de rotinas executado pelo processador, de forma semelhante aos programas dos usurios...A grande diferena entre um S.O. e aplicaes convencionais a maneira como suas rotinas so executadas em funo do tempo. Um s.o. no executado de forma linear como na maioria das aplicaes, com inicio, meio e fim. Suas rotinas so executadas concorrentemente em funo de eventos assncronos, ou seja eventos que podem ocorrer a qualquer momento. Para Silberschatz: Um programa que atua como intermedirio entre o usurio de um computador e o hardware do computador Objetivos do sistema operacional:
Executar programas do usurio e facilitar a resoluo de problemas do usurio Tornar o uso do sistema de computador conveniente Usar o hardware de computador de uma maneira eficiente

Instituto Presbiteriano Mackenzie

Faculdade de Computao e Informtica Disciplina de Sistemas Operacionais

Viso do Sistema Operacional

programadores e analistas

usurios

programas, sistemas e aplicativos

Usurios

Sistema Operacional

memria Hardware UCP

discos

fitas

impressoras

monitores

Instituto Presbiteriano Mackenzie

Faculdade de Computao e Informtica Disciplina de Sistemas Operacionais

Mquina de Nveis
Aplicativos

Utilitrios
u su r i o s

Sistema Operacional

Sist e m a O p e r a ci o n a l

Linguagem de Mquina

H ardw a re

Microprogramao

Circuitos Eletrnicos

Instituto Presbiteriano Mackenzie

Faculdade de Computao e Informtica Disciplina de Sistemas Operacionais

Estrutura

Instituto Presbiteriano Mackenzie

Faculdade de Computao e Informtica Disciplina de Sistemas Operacionais

Estrutura
Linguagem de mquina
Linguagem de programao que realmente entendida pelo processador, no requerendo qualquer tipo de traduo ou compilao. Cada processador possui um conjunto definido de instrues de mquina, definidos pelo seu fabricante.

Microarquitetura
Diversos dispositivos fsicos so agrupados em unidades funcionais. Esse nvel contm alguns registradores internos CPU e unidade lgica-aritmtica.

Instituto Presbiteriano Mackenzie

Faculdade de Computao e Informtica Disciplina de Sistemas Operacionais

Histrico
Antes da dcada de 40
Em 1642 o matemtico francs Blaise Pascal inventa uma mquina de somar. E 1673 o matemtico e filsofo alemo Gottfried Leibniz cria uma mquina de somar e multiplicar utilizando o conceito de acumulador. Em 1820 o francs Charles Colmar inventa uma mquina capaz de executar as quatro operaes. Em 1822 o ingls Charles Babbage cria uma mquina para clculos polinomiais. Em 1833 ele inventa a mquina analtica o que mais se aproxima com o computador atual. Possua unidade central de processamento, memria, dispositivos de entrada e sada. Augusta Ada Byron era responsvel pela seqncia de instrues. O ingls George Boole cria a lgica booleana. Final do sculo XIX, Herman Hollerith cria o mecanismo de cartes perfurados. Em 1896 funda a Tabulating Machine Company em 1924 torna-se a International Business Machine (IBM). Em 1930 o alemo Konrad Zue desenvolve o Z-1, uma calculadora eletronica a base de reles. Nos EUA, John Vincent Atanasoff e Clifford Berry desenvolvem uma mquina para clculo de equaes lineares o primeiro computador da histria. Em 1937 o matemtico ingles Alan Turing desenvolve um modelo terico conhecido como Mquina Universal ou Mquina de Touring, capaz de executar qualquer seqncia de instrues ou algoritmos.

Instituto Presbiteriano Mackenzie

Faculdade de Computao e Informtica Disciplina de Sistemas Operacionais

Histrico
Dcada de 1940
1944, construdo o primeiro computador eletromecnicoMark I. 1945, lanado o primeiro computador digital eletrnicoENIAC. 1949, implementado o primeiro computador com o conceito de programa armazenadoEDSAC. Nesta fase os computadores ainda no possuam sistema operacional ou funes de interfaces com o usurio tais como teclados e monitores. John von Neumann desenvolve a arquitetura de programao armazenada ou arquitetura von Neumann.

Instituto Presbiteriano Mackenzie

Faculdade de Computao e Informtica Disciplina de Sistemas Operacionais

Histrico
Dcada de 1950
As vlvulas comeam a substitudas pelos transistores. Em 1951 lanado o 1 computador para fins comerciaisUNIVAC. Em 1951 posto em operao pelo MIT o Whirwind que oferece, entre outras inovaes, a tecnologia de memria magntica e o conceito de processamento batch. (prximo slide) O primeiro sistema operacional desenvolvido em 1953 para tentar automatizar as tarefas manuais. Desenvolvido pelos usurios do computador IBM 701. Surge as primeiras linguagens de programao de alto nvel: FORTRAN, ALGOL E COBOL.

10

Instituto Presbiteriano Mackenzie

Faculdade de Computao e Informtica Disciplina de Sistemas Operacionais

Processamento Batch
job n

(a)

job 2 job 1 cartes perfurados

Processamento fita de entrada

(b) fita de entrada

Processamento fita de sada

relatrio n

(c) fita de sada

Processamento

relatrio 2 relatrio 1

relatrios

11

Instituto Presbiteriano Mackenzie

Faculdade de Computao e Informtica Disciplina de Sistemas Operacionais

Histrico
Dcada de 60
introduzido o conceito de multiprogramao permitindo que vrios programas compartilhassem a memria ao mesmo tempo e, enquanto um programa executava uma estrada ou sada, o processador executava um outro programa. A IBM lana em 1964 o System/360seu s.o. OS/360 implementa sistemas batch, multiprogramao e time-sharing, este desenvolvido em 1962 pelo MIT. So introduzidos vdeo e teclado para interao usurio/mquina. A Digital lana o PDP-8, criando o mercado de minicomputadores, antes dominado somente por mainframes. Em 1969 Ken Thompson desenvolve, utilizando um PDP-7, o s.o. que viria a ser conhecido por Unix.

12

Instituto Presbiteriano Mackenzie

Faculdade de Computao e Informtica Disciplina de Sistemas Operacionais

Histrico
Dcada 1970
Com a integrao em larga escala e muito larga escala surge o PDP-11 e o sistema VAX/VMS de 32 bits. Em 1971 a Intel lana o primeiro microprocessadorIntel 4004 e 3 anos depois o Intel 8080. Em 1976 Steve Jobs lana o Apple II de 8 bits. Apple e Microsoft so criadas e o s.o. dominante o CP/M (Control Program Monitor So desenvolvidas as arquiteturas de rede SNA e NCP (predecessor do TCP/IP). Em 1975 Dennis Ritchie desenvolve a linguagem C Com tcnicas de paralelismo, multiprocessadores e processadores vetoriais lanado em 1976 o Cray-1 e surge assim os supercomputadores.

13

Instituto Presbiteriano Mackenzie

Faculdade de Computao e Informtica Disciplina de Sistemas Operacionais

Histrico
Dcada de 1980
A IBM lana o IBM PC em 1981. Utiliza o intel8088 de 16bits e o s.o. o DOS (Disk Operating Systems). lanada a arquitetura TCP/IP. Na rea de mini e superminis ganha impulso os sistemas multiusurios e surge as estaes de trabalho. Em 1982 fundada a Sun Microsystems. Surge os primeiros s.o. com interface grfica para microprocessadores. lanado o Microsoft Windows e OS/2 e surgem os sistemas operacionais de rede com o Novell Netware e os D.O.S. (Distributed Operating System).

Dcada de 1990
Em o finlands Linus Torvalds comea a desenvolver o Linux. Em 1993 a Microsoft lana o Windows NT.
14

Instituto Presbiteriano Mackenzie

Faculdade de Computao e Informtica Disciplina de Sistemas Operacionais

Tipos de Sistemas Operacionais


Tipos de Sistemas Operacionais

Sistemas Monoprogramveis/ Monotarefa

Sistemas Multiprogramveis/ Multitarefa

Sistemas com Mltiplos Processadores

Sistemas Batch

Sistemas de Tempo Compartilhado

Sistemas de Tempo Real

Sistemas Fortemente Acoplados

Sistemas Fracamente Acoplados

15

Instituto Presbiteriano Mackenzie

Faculdade de Computao e Informtica Disciplina de Sistemas Operacionais

Sistemas Monoprogramveis/Monotarefa

UCP

programa/ tarefa

Memria Principal

Dispositivos de E/ S

16

Instituto Presbiteriano Mackenzie

Faculdade de Computao e Informtica Disciplina de Sistemas Operacionais

Sistemas Multiprogramveis/Multitarefa

programa/ tarefa

UCP

programa/ tarefa

Memria Principal

Dispositivos de E/ S

programa/ tarefa

programa/ tarefa

programa/ tarefa

17

Instituto Presbiteriano Mackenzie

Faculdade de Computao e Informtica Disciplina de Sistemas Operacionais

Sistemas Fortemente Acoplados

UCP

Memria Principal

UCP

Dispositivos de E/ S

Dispositivos de E/ S

18

Instituto Presbiteriano Mackenzie

Faculdade de Computao e Informtica Disciplina de Sistemas Operacionais

Sistemas Fracamente Acoplados

link de comunicao UCP UCP

Memria Principal

Dispositivos de E/ S

Memria Principal

Dispositivos de E/ S

19

Instituto Presbiteriano Mackenzie

Faculdade de Computao e Informtica Disciplina de Sistemas Operacionais

Paralelismo

20

Instituto Presbiteriano Mackenzie

Faculdade de Computao e Informtica Disciplina de Sistemas Operacionais

Hardware - Componentes

21

Instituto Presbiteriano Mackenzie

Faculdade de Computao e Informtica Disciplina de Sistemas Operacionais

Hardware - Componentes

22

Instituto Presbiteriano Mackenzie

Faculdade de Computao e Informtica Disciplina de Sistemas Operacionais

CPU
Principais componentes
Contador de programa (PC): indica a prxima instruo a ser executada. Registrador de instruo (IR): contm a instruo que est sendo executada.

Processador / UCP
Unidade Lgica e Aritmtica Unidade de Controle

Memria Principal
Registradores

Dispositivos de E/ S

23

Instituto Presbiteriano Mackenzie

Faculdade de Computao e Informtica Disciplina de Sistemas Operacionais

Execuo
Execuo de instruo
1. 2. 3. 4. Trazer a prxima instruo da memria at o registrador. Alterar o contador de programa para indicar a prxima instruo. Determinar o tipo de instruo trazida. Se a instruo utilizar uma palavra de memria, determinar aonde esta palavra est. 5. Trazer a palavra para dentro da CPU, se necessrio. 6. Executar a instruo. 7. Voltara etapa 1 para iniciar a execuo da instruo seguinte.

24

Instituto Presbiteriano Mackenzie

Faculdade de Computao e Informtica Disciplina de Sistemas Operacionais

Arquitetura Pipeline com Quatro Estgios


P1 Unidade de busca da instruo P2 Analisador da instruo P3 Unidade de busca dos dados P4 Unidade de execuo da instruo

P1

Instr.1 Instr.2 Instr.3 Instr.4 Instr.5 Instr.6 Instr.7

P2

Instr.1 Instr.2 Instr.3 Instr.4 Instr.5 Instr.6

P3

Instr.1 Instr.2 Instr.3 Instr.4 Instr.5

P4

Instr.1 Instr.2 Instr.3 Instr.4 tempo

25

Instituto Presbiteriano Mackenzie

Faculdade de Computao e Informtica Disciplina de Sistemas Operacionais

CPU Caminho de dados


The data path of a typical Von Neumann machine.

26

Instituto Presbiteriano Mackenzie

Faculdade de Computao e Informtica Disciplina de Sistemas Operacionais

Barramentos Processador-Memria e de E/S

UCP

Memria Principal

Barramento processador-memria

Adaptador

Adaptador

Barramento de E/ S

Barramento de E/ S

27

Instituto Presbiteriano Mackenzie

Faculdade de Computao e Informtica Disciplina de Sistemas Operacionais

Barramento de Backplane
Memria Principal

UCP

Barramento processador-memria

Adaptador
Barramento de backplane

Adaptador

Adaptador

Barramento de E/ S

Barramento de E/ S

28

Instituto Presbiteriano Mackenzie

Faculdade de Computao e Informtica Disciplina de Sistemas Operacionais

Barramento Pentium

29

Instituto Presbiteriano Mackenzie

Faculdade de Computao e Informtica Disciplina de Sistemas Operacionais

Arquiteturas de processadores
Linguagem de mquina a linguagem de programao que realmente entendida pelo processador. Cada processador possui um conjunto de instrues definido pelo fabricante Processador com arquitetura RISC (Reduced Intruction Set Computer) possui poucas instrues, em geral simples, que so executadas diretamente pelo hardware (SPARC_Sun). Processador com arquitetura CISC (Complex Intruction Set Computer) possui instrues complexas que so interpretadas pelos microprogramas. (Pentium_Intel). Os microprogramas definem a linguagem de mquina de um computador CISC

30

Instituto Presbiteriano Mackenzie

Faculdade de Computao e Informtica Disciplina de Sistemas Operacionais

Arquitetura RISC x Arquitetura CISC


Aplicativos

Utiltrios

Sistema Operacional

Linguagem de Mquina
Arquitetura RISC

Microprogramao

Circuitos Eletrnicos

31

Instituto Presbiteriano Mackenzie

Faculdade de Computao e Informtica Disciplina de Sistemas Operacionais

Memria
Registradores Fazem parte do prprio processador. Memria cache Memria voltil de alta velocidade aonde so armazenados os dados mais utilizados pela CPU e resultados temporrios.

Memria Principal Conhecida como RAM (random access memory). Toda as requisies da CPU que no podem ser atendidas pela memria cache vo para a memria principal.
Memria Secundria Composta pelas fitas e discos magnticos, memrias flash, floppy disk, etc.. Memrias com tecnologia CMOS.
32

Instituto Presbiteriano Mackenzie

Faculdade de Computao e Informtica Disciplina de Sistemas Operacionais

Memria Principal com 64 Kbytes


0 1 2 instruo ou dado

endereos

2 -1

16

clula = 8 bits

33

Instituto Presbiteriano Mackenzie

Faculdade de Computao e Informtica Disciplina de Sistemas Operacionais

Relao entre Dispositivos de Armazenamento

Registradores

Memria Cache

maior capacidade de armazenamento

Memria Principal

maior custo e velocidade de acesso

Memria Secundria

34

Instituto Presbiteriano Mackenzie

Faculdade de Computao e Informtica Disciplina de Sistemas Operacionais

Dispositivos de E/S
Dispositivos compostos dor duas partes: o controlador e o dispositivo propriamente dito. Controlador Dispositivo composto por um chip ou um conjunto de chips em uma placa. O programa que se comunica com um controlador denominado driver de dispositivo. Entradas e sadas podem ser realizadas como:
Exceo Interrupo

35

Instituto Presbiteriano Mackenzie

Faculdade de Computao e Informtica Disciplina de Sistemas Operacionais

Controle de Interrupo

(a) (b)

Passos para iniciar um dispositivo de E/S e obter uma interrupo Como a CPU interrompida

36

Instituto Presbiteriano Mackenzie

Faculdade de Computao e Informtica Disciplina de Sistemas Operacionais

Dois Mtodos de E/S Sncrona

Assncrona

37