A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

TC – DEI, 2005/2006.

Apresentações semelhantes


Apresentação em tema: "TC – DEI, 2005/2006."— Transcrição da apresentação:

1 TC – DEI, 2005/2006

2 Paulo Marques pmarques@dei.uc.pt http://www.dei.uc.pt/~pmarques
Sistemas Operativos Paulo Marques Tecnologia dos Computadores 2005/2006

3 Organização do Software/Hardware
Aplicações Sistema Operativo Hardware TC – DEI, 2005/2006

4 Diferentes Tipos de Software
Device Drivers TC – DEI, 2005/2006

5 Funções do Sistema Operativo
Esconder os detalhes do hardware subjacente ao sistema Gestão de memória Gestão de dispositivos genéricos Gestão de dispositivos de armazenamento (discos/etc.) Segurança “Virtualizar” a utilização do processador e dos recursos associados à máquina Cada programa corre sobre a aparência de ser o único no sistema O sistema operativo fornece um interface unificado aos dispositivos da máquina TC – DEI, 2005/2006

6 Virtualização do Processador/Dispositivos
Processadores Virtuais (... máquinas virtuais...) Processador Real TC – DEI, 2005/2006

7 Virtualização da Máquina
Dois aspectos fundamentais... Multiprogramação Trata-se de uma técnica de manter múltiplos programas em memória simultaneamente. Cada programa executa como se fosse o único existente na máquina. Gestão de Memória Em qualquer altura o Sistema Operativo tem de saber que programas estão em memória e onde é que cada um deles reside TC – DEI, 2005/2006

8 Conceito de Processo Um programa em execução com...
Um identificador único Recursos próprios (e.g. ficheiros abertos) Um espaço de endereçamento (i.e. memória própria protegida de todos os outros “processos”) MS Word (1 processo) MS Excel (1 processo) TC – DEI, 2005/2006

9 Comutação entre Processos
De alguns em alguns ms é gerada uma “interrupção” Quanto existe uma interrupção, deixa-se de executar o código do utilizador e passa-se a executar o código do sistema operativo O sistema operativo pode então comutar para outro processo (escalonamento preemptivo) total = 0; for (int i=0; i<20000; i++) total = total + i; printf(“total=%d\n”, total); while (!feof(fd)) { if (fscanf(fd, “%d”, &d) == 1) printf(“%d\n”, d); } (...) Nível do Utilizador Nível do Kernel RTC Interrupt Handler TC – DEI, 2005/2006

10 Comutação de Processos
TC – DEI, 2005/2006

11 Ciclo de Vida de um Processo
Terminated New Ready (to execute) Dispatch Running Interrupt I/O or event waiting Blocked (waiting for something) End of I/O or event completed TC – DEI, 2005/2006

12 Filas do Sistema Operativo
Ready Queue Fila onde aguardam todos os processos que estão à espera de executar Blocked Queue Fila onde aguardam todos os processos que estão à espera que uma operação de entrada/saída complete ou de um “evento especial” Running (não é uma fila) Processo que se encontra a executar Apenas este processo o Sistema Operativo ocupam tempo de processador TC – DEI, 2005/2006

13 Escalonamento de Processos
Suponhamos que existem vários processos na Ready Queue.... Como é que se decide qual é que executa a seguir? Existem diversos algoritmos, um bastante conhecido e utilizado é o Round-Robin TC – DEI, 2005/2006

14 Round Robin É decidido à priori qual a fatia de tempo a atribuir a cada processo. Timeslice ou Quantum de Execução A “Ready Queue” é um lista ordenada Cada processo executa até se esgotar o seu timeslice. Quando isso acontece, é colocado no final da ready queue O próximo processo a executar é o que está à frente na ready queue TC – DEI, 2005/2006

15 Gestão de Memória É absolutamente fundamental que cada processo não possa aceder à memória dos outros processos Questão de segurança de dados Protecção contra “ponteiros” perdidos e bugs de software Grande problema dos Windows 95, 98 e Macs antigos! TC – DEI, 2005/2006

16 Memória Segmentada “Real”
A cada processo corresponde um endereço base e um limite (registos especiais no processador) Sempre que existe um acesso a memória, o processador verifica se o processo se encontra a aceder à sua memória ou não 71433 Processo B MOV AX, [60000] ERRO, Acesso proibido! 70000 60530 Processo A OK, dentro do espaço de endereçamento MOV AX, [50124] 50060 TC – DEI, 2005/2006

17 GPF e Segmentation Faults! 
TC – DEI, 2005/2006

18 Memória Virtual Actualmente, todos os sistemas utilizam o conceito de memória virtual Cada processo vê toda a memória do computador, como sendo dele Quando um processo gera um endereço, esse endereço é virtual. O processador, com a ajuda do sistema operativo transforma-o num endereço físico 4Gb 4Gb Disco 5000 256Mb 1000 1000 Espaço de endereçamento do processo A Espaço de endereçamento do processo B Tabela(s) de Tradução de Endereços Memória física TC – DEI, 2005/2006

19 Memória Virtual Paginada
O sistema mais utilizado nas máquinas actuais Funciona tal como o esquema indicado anteriormente, com os seguinte pormenores A memória física é dividida em pequenos pedaços chamados páginas (e.g. 4Kbytes) A memória de cada processo também é dividida em páginas Existe uma tabela de páginas por cada processo, que é gerida pelo sistema operativo. É utilizando esta tabela que é feita a tradução dos endereços virtuais em endereços físicos Sempre que é colocado outro processo em execução, a sua tabela de páginas é carregada e utilizada TC – DEI, 2005/2006

20 Noção de Thread Processo Thread 1 Thread 2 Thread 3
TC – DEI, 2005/2006

21 Noção de Thread A troca de processos é uma operação extremamente cara... É necessário reorganizar os espaços de endereçamento É necessário estabelecer novos contextos de segurança É necessário gerir a informação associada aos processos em causa Thread É um “fluxo de execução” dentro de um processo; é um mini-processo dentro de um processo. O espaço de endereçamento é o mesmo A comutação entre threads é muito, muito rápida! TC – DEI, 2005/2006

22 Quem são estes Senhores?
Dennis Ritchie Ken Thompson Steve Jobs Bill Gates Bill Joy Linus Torvalds Andrew Tanenbaum TC – DEI, 2005/2006

23 » OPERATING SYSTEMS ARE LIKE UNDERWEAR – NOBODY
REALLY WANTS TO LOOK AT THEM « Bill Joy, Chief Scientist and Co-Founder of Sun Microsystems TC – DEI, 2005/2006

24 Para saber mais... Computer Science, An Overview
Capítulo 3 (3.1, 3.2, 3.3) Computer Science Illuminated Capítulo 10 (10.1, 10.2, 10.3, 10.4 [apenas “Round-Robin”]) TC – DEI, 2005/2006


Carregar ppt "TC – DEI, 2005/2006."

Apresentações semelhantes


Anúncios Google