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

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

TC – DEI, 2005/2006. Sistemas Operativos Paulo Marques Tecnologia dos Computadores 2005/2006.

Apresentações semelhantes


Apresentação em tema: "TC – DEI, 2005/2006. Sistemas Operativos Paulo Marques Tecnologia dos Computadores 2005/2006."— Transcrição da apresentação:

1 TC – DEI, 2005/2006

2 Sistemas Operativos Paulo Marques Tecnologia dos Computadores 2005/2006

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

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

5 TC – DEI, 2005/2006 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

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

7 TC – DEI, 2005/2006 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

8 TC – DEI, 2005/2006 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 Excel (1 processo) MS Word (1 processo)

9 TC – DEI, 2005/2006 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

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

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

12 TC – DEI, 2005/2006 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

13 TC – DEI, 2005/2006 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

14 TC – DEI, 2005/2006 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

15 TC – DEI, 2005/2006 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!

16 TC – DEI, 2005/2006 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 0 Processo A Processo B MOV AX, [50124] MOV AX, [60000] OK, dentro do espaço de endereçamento ERRO, Acesso proibido!

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

18 TC – DEI, 2005/2006 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 00 4Gb Espaço de endereçamento do processo A Espaço de endereçamento do processo B 1000 Memória física 0 256Mb 5000 Tabela(s) de Tradução de Endereços Disco

19 TC – DEI, 2005/2006 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

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

21 TC – DEI, 2005/2006 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!

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

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

24 TC – DEI, 2005/2006 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])


Carregar ppt "TC – DEI, 2005/2006. Sistemas Operativos Paulo Marques Tecnologia dos Computadores 2005/2006."

Apresentações semelhantes


Anúncios Google