Top Banner
1 Faculdade de Ciências e Tecnologia Departamento de Matemática e Computação Bacharelado em Ciência da Computação Introdução à Ciência da Computação Aula 05 Rogério Eduardo Garcia ([email protected]) Arquitetura de Von Neumann 18/06/2015 Rogério Eduardo Garcia 2
22

Introdução à Ciência da Computação - fct.unesp.br · Controle de processos Gerenciamento de arquivos Gerenciamento de dispositivos Controle de informações do sistema Comunicação

Jan 21, 2019

Download

Documents

hanhi
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Introdução à Ciência da Computação - fct.unesp.br · Controle de processos Gerenciamento de arquivos Gerenciamento de dispositivos Controle de informações do sistema Comunicação

�1

Faculdade de Ciências e Tecnologia

Departamento de Matemática e Computação

Bacharelado em Ciência da Computação

Introdução à Ciência da Computação

Aula 05

Rogério Eduardo Garcia([email protected])

Arquitetura de Von Neumann

18

/06

/20

15

Ro

rio

Ed

ua

rdo

Ga

rcia

2

Page 2: Introdução à Ciência da Computação - fct.unesp.br · Controle de processos Gerenciamento de arquivos Gerenciamento de dispositivos Controle de informações do sistema Comunicação

�2

Arquitetura

18

/06

/20

15

Ro

rio

Ed

ua

rdo

Ga

rcia

3

Sistemas Operacionais

� Definição: “Um programa que age comointermediário entre o usuário de umcomputador e o hardware”

Silberchatz, et al. “Operating Systems”, 7a. Edição

SO

Page 3: Introdução à Ciência da Computação - fct.unesp.br · Controle de processos Gerenciamento de arquivos Gerenciamento de dispositivos Controle de informações do sistema Comunicação

�3

Sistemas Operacionais

� Gerenciador de recursos

– Cada programa tem um tempo definido para utilizaro recurso

– Cada programa tem um espaço definido no recurso

Modern Operating System. Tanenbaum

Sistemas Operacionais

Silberchatz, et al. “Operating Systems”, 7a. Edição

Page 4: Introdução à Ciência da Computação - fct.unesp.br · Controle de processos Gerenciamento de arquivos Gerenciamento de dispositivos Controle de informações do sistema Comunicação

�4

Sistemas Operacionais

� Por que utilizar um sistema operacional

– Gerenciamento de processos

– Gerenciamento da memória

– Gerenciamento de arquivos

– Gerenciamento de periféricos e dispositivos de

entrada e saída

– Ambiente de rede e distribuído

– Segurança

Gerenciamento de processos

Page 5: Introdução à Ciência da Computação - fct.unesp.br · Controle de processos Gerenciamento de arquivos Gerenciamento de dispositivos Controle de informações do sistema Comunicação

�5

Gerenciamento de Processos

18

/06

/20

15

Ro

rio

Ed

ua

rdo

Ga

rcia

9

Gerenciamento de Processos

� O sistema operacional é responsável pelo ciclo deexecução dos processos: carga, execução efinalização

� Dividir o tempo de processamento entre os processosativos

– Escalonador

� Como escalonar de um processo para o outro?

– Arquitetura de computadores!!!

� Prover a comunicação entre processos

– Estrutura de dados !!!

� Prover a sincronização entre processos

– Algoritmos e métodos!!!

Page 6: Introdução à Ciência da Computação - fct.unesp.br · Controle de processos Gerenciamento de arquivos Gerenciamento de dispositivos Controle de informações do sistema Comunicação

�6

Gerenciamento de memória

Gerenciamento de memória

� O sistema operacional deve gerenciar a memóriadisponível no computador

– Alocação da memória entre os diferentes processos

� Arquitetura de computadores

– Proteção da memória entre diferentes processos

� Arquitetura de computadores

� Memória virtual: utilizar a memória secundária paraaumentar a memória disponível.

– O que acontece quando um processo não está na memóriaprincipal?

– Quais são os processos que serão temporariamentearmazenados na memória secundária?

� Algoritmos e arquitetura de computadores

Page 7: Introdução à Ciência da Computação - fct.unesp.br · Controle de processos Gerenciamento de arquivos Gerenciamento de dispositivos Controle de informações do sistema Comunicação

�7

Gerenciamento de arquivos

� Como armazenar os arquivos de maneiraeficiente?

� Como acessar os arquivos de maneiraeficiente?

� Como prover confiabilidade dearmazenamento?

� Como prover um modelo comum paradiferentes tipos de armazenamento?

– Discos rígidos, cartões de memória

Gerenciamento de periféricos

� Diferentes tipos de periféricos

– Dispositivos de entrada

– Dispositivos de saída

– Dispositivos síncronos

� Monitor

– Dispositivos assíncronos

� Teclado

– Métodos de acesso:

� Polling: espera ativa

� Interrupção

Page 8: Introdução à Ciência da Computação - fct.unesp.br · Controle de processos Gerenciamento de arquivos Gerenciamento de dispositivos Controle de informações do sistema Comunicação

�8

Sistemas Operacionais: FAQ

� Vamos aprender a instalar o Linux? Ou Windows?

– Não

� Você deve aprender?

– Sim

� Por que aprenderemos isso?

– Como o SO é a interface entre as aplicações e o hardware, odesenvolvimento de qualquer camada acima ou abaixo exige conhecimentosólido em sistemas operacionais

� Qual o melhor sistema operacional?

– Depende, qual a finalidade? Ou, o que é melhor? (preço, manutenção,usabilidade)

� Quantos sistemas operacionais existem?

– Vários: Windows, Linux, SunOS, MacOS, uCOS, TRON, SymbianOS,PalmOS, QNX, VxWorks, entre outros

� O Windows é o sistema operacional mais utilizado no mundo?

– Não, sistemas embarcados vendem muito mais que PCs, e vários utilizam umsistema operacional. Ex: TRON (mais de 4 bilhões de aparelhos), eSymbianOS (celulares da Nokia)

Faculdade de Ciências e Tecnologia

Departamento de Matemática e Computação

Bacharelado em Ciência da Computação

Histórico

Page 9: Introdução à Ciência da Computação - fct.unesp.br · Controle de processos Gerenciamento de arquivos Gerenciamento de dispositivos Controle de informações do sistema Comunicação

�9

Histórico

� 1955- 1965

– Sistemas de lote

� 1965- 1980

– Multiprogramação

� 1980 – Atualmente

– Computadores pessoais

– Multitarefas

– Multi-usuário

– Multiprocessador

– Dispositivos Embarcados

Sistemas de lote� Mainframes

Lote Lote multiprogramaçãoCPU compartilhada entre os processos

Aumentar a utilização da CPU durante a

entrada e saída

Page 10: Introdução à Ciência da Computação - fct.unesp.br · Controle de processos Gerenciamento de arquivos Gerenciamento de dispositivos Controle de informações do sistema Comunicação

�10

Faculdade de Ciências e Tecnologia

Departamento de Matemática e Computação

Bacharelado em Ciência da Computação

Interrupções

Interrupções

Page 11: Introdução à Ciência da Computação - fct.unesp.br · Controle de processos Gerenciamento de arquivos Gerenciamento de dispositivos Controle de informações do sistema Comunicação

�11

Tratamento de uma interrupção

Multi-tarefas (tempo compartilhado)

� CPU é compartilhada entre os diversosprocessos

� Uma pequena fatia de tempo é dado a cadaprocesso < 1ms

� Interativo

� Preempção: o processo não controla quando ocontrole da CPU será dado a outro processo

Page 12: Introdução à Ciência da Computação - fct.unesp.br · Controle de processos Gerenciamento de arquivos Gerenciamento de dispositivos Controle de informações do sistema Comunicação

�12

Multiprogramação

Exemplo

JOB1 JOB2 JOB3

Type of job Heavy compute Heavy I/O Heavy I/O

Duration 5 min. 15 min. 10 min.

Memory required50K 100 K 80 K

Need disk? No No Yes

Need terminal No Yes No

Need printer? No No Yes

Stallings. Operating Systems

Page 13: Introdução à Ciência da Computação - fct.unesp.br · Controle de processos Gerenciamento de arquivos Gerenciamento de dispositivos Controle de informações do sistema Comunicação

�13

Exemplo

Uniprogramming Multiprogramming

Processor use 22% 43%

Memory use 30% 67%

Disk use 33% 67%

Printer use 33% 67%

Elapsed time 30 min. 15 min.

Throughput rate 6 jobs/hr 12 jobs/hr

Mean response time 18 min. 10 min.

Stallings. Operating Systems

Faculdade de Ciências e Tecnologia

Departamento de Matemática e Computação

Bacharelado em Ciência da Computação

Sistemas Operacionais -Estruturas

Page 14: Introdução à Ciência da Computação - fct.unesp.br · Controle de processos Gerenciamento de arquivos Gerenciamento de dispositivos Controle de informações do sistema Comunicação

�14

Estrutura Simples

� MS-DOS

– Sem módulos

– Pouca separação entre o nível supervisor e

aplicações

Organização em camadas

� O sistema operacional é dividido em camadas

� Cada camada utiliza serviços de camadasinferiores e provê serviços para camadassuperiores

Page 15: Introdução à Ciência da Computação - fct.unesp.br · Controle de processos Gerenciamento de arquivos Gerenciamento de dispositivos Controle de informações do sistema Comunicação

�15

Núcleo monolítico

� Aplicações do usuário + Núcleo (kernel) dosistema operacional

� O núcleo provê o acesso ao hardware atravésde chamadas de sistema

Módulos

� Módulos: carga dinâmica

– Flexibilidade

– Núcleo menor

� Drivers, Arquivos de sistema, System calls,network driver

Page 16: Introdução à Ciência da Computação - fct.unesp.br · Controle de processos Gerenciamento de arquivos Gerenciamento de dispositivos Controle de informações do sistema Comunicação

�16

Microkernel

� Utiliza um núcleo com serviços mínimos

� Demais serviços (sistemas de arquivos,sistema de IO) são disponibilizados através deservidores

� Benéficios

– Fácil para estender

– Fácil para portar

� Contras

– Desempenho

Máquinas virtuais

� Máquina virtual: camada lógica do hardware

� Fornece uma camada do hardware

� Máquinas virtuais podem executar concorrente

Non-virtual Machine Virtual Machine

Page 17: Introdução à Ciência da Computação - fct.unesp.br · Controle de processos Gerenciamento de arquivos Gerenciamento de dispositivos Controle de informações do sistema Comunicação

�17

VMware

Java

1. Linguagem de programação

2. Application programming interface

(API)

3. Especificação da máquina virtual

Page 18: Introdução à Ciência da Computação - fct.unesp.br · Controle de processos Gerenciamento de arquivos Gerenciamento de dispositivos Controle de informações do sistema Comunicação

�18

Faculdade de Ciências e Tecnologia

Departamento de Matemática e Computação

Bacharelado em Ciência da Computação

Chamadas de sistema (System calls)

Chamadas de sistema

� Através de interrupções de software ou trap

� User mode x Kernel mode

– Acesso a instruções privilegiadas

– Acesso aos periféricos

– Acesso a área de dados específicas

Page 19: Introdução à Ciência da Computação - fct.unesp.br · Controle de processos Gerenciamento de arquivos Gerenciamento de dispositivos Controle de informações do sistema Comunicação

�19

Chamadas de sistema

� Interface de programação entre aplicações e sistema

operacional

� Normalmente acessada via API (application

programming interface) ao invés do acesso direto a

chamadas de sistema

– Exemplos:

� Win32

� POSIX Unix

� Por que utilizar APIs e não chamadas de sistema?

Operating System Concepts – 7th Edition, Jan 14, 2005 Silberschatz, Galvin and Gagne ©2005

API – Chamada de sistema

Page 20: Introdução à Ciência da Computação - fct.unesp.br · Controle de processos Gerenciamento de arquivos Gerenciamento de dispositivos Controle de informações do sistema Comunicação

�20

Exemplo de API

� Win32 API—função para leitura de arquivo

Parâmetros ReadFile()

– HANDLE file—the file to be read

– LPVOID buffer—a buffer where the data will be read into and written from

– DWORD bytesToRead—the number of bytes to be read into the buffer

– LPDWORD bytesRead—the number of bytes read during the last read

– LPOVERLAPPED ovl—indicates if overlapped I/O is being used

API: Biblioteca C padrão

� printf() => invoca a chamada de sistema write()

Page 21: Introdução à Ciência da Computação - fct.unesp.br · Controle de processos Gerenciamento de arquivos Gerenciamento de dispositivos Controle de informações do sistema Comunicação

�21

Chamadas de sistema

� Cada chamada de sistema tem um númeroassociado

� Passagem de parâmetros para chamadas desistema

– Registradores

– Tabela

– Pilha

� A utilização de tabelas e registradores é maisflexível e não é limitada ao número deregistradores do processador

Passagem de parâmetros via registrador

Page 22: Introdução à Ciência da Computação - fct.unesp.br · Controle de processos Gerenciamento de arquivos Gerenciamento de dispositivos Controle de informações do sistema Comunicação

�22

Tipos de chamadas de sistema

� Controle de processos

� Gerenciamento de arquivos

� Gerenciamento de dispositivos

� Controle de informações do sistema

� Comunicação

Leitura recomendada

� Capítulo 1, 2 e 3 do livro

– Siberschatz. A. Sistemas Operacionais. 6a. Edição.

Editora John Wiley and Sons.