TC – DEI, 2005/2006.

Slides:



Advertisements
Apresentações semelhantes
INTRODUÇÃO À COMPUTAÇÃO
Advertisements

SISTEMAS OPERACIONAIS
Capitulo 6: Entrada e Saída
Sistemas Operacionais
Sistema Operacional Introdução
Introdução aos Sistemas Distribuídos
Sistema Operativo Linux
Processos e Threads Processos.
Programação Orientada aos Objectos Paulo Marques Departamento de Eng. Informática Universidade de Coimbra Out/2005 Core C++: Uma abordagem.
The new way! The old way... TC – DEI, 2005/2006.
Software do sistema Software de aplicação
Sistemas Operacionais
Virtualização de Máquinas
Sistemas Operacionais
Concepts and Capabilities
Sistemas Operacionais
Sistemas Operacionais
Implementação da CPU Análise de um computador simplificado Implementação da Unidade de Controle para o computador simplificado.
Curso Técnico em Manutenção e Suporte em Informática
Threads.
Sistemas Operacionais
Sistemas Operacionais I
Luiz Augusto da Silva Alves Professo Luís Henrique Maciel Kosmalski Costa Professor Otto Carlos Muniz Bandeira Duarte Redes 2 Novembro 2010.
XEn Universidade Federal do Rio de Janeiro
Fundamentos da Arquitetura de Computadores
Introdução aos Sistemas Operativos
Sistemas Operativos (S.O.)
Faculdade Cambury Sistemas Operacionais
Sistemas Operacionais
Ana Duarte e Ana Marques 8ºB Nº1 e Nº2
Virtualização.
Gerencia de Redes Redes de Computadores II
MY DRIVERS.
Desenvolvimento de Ambientes Virtuais
Conteúdo Processos e threads Partes do processo
Sistemas de Tempo-Real Anatomia de um Sistema Operativo de Tempo Real João Figueiredonº Rui Lealnº Outubro 06.
Módulos de um S.O. Tiago Gomes Nº21 11ºi.
Introdução à Informática
SISTEMAS OPERATIVOS UNIVERSIDADE EDUARDO MONDLANE FACULDADE DE ENGENHARIA ENGENHARIA INFORMÁTICA – PÓS LABORAL 2012 CADEIRA DE INFORMÁTICA.
Sistemas Operacionais
Sistemas Distribuídos
Computação L1: Infra-Estrutura Básica
Sistemas Operacionais
Fundamentos de Arquitetura da Computação
Processos.
SISTEMAS OPERACIONAIS I
Introdução a Banco de Dados Aula 04
Sistemas Operacionais
Módulos de um sistema operativo
Virtualização de Máquinas Uma visão geral e informal.
Sistema Operativo Um sistema operativo basicamente é o ``volante´´ do computador (em comparação ao carro),este controla o computador, este permite uma.
Tecnologias de Informação e Edição (2014/15) UBI - Dep. de Informática 34 Sistema Operativo Sistema Operativo Aplicações Utilizador Máquina Processador.
Sistemas Operacionais
SISTEMAS OPERACIONAIS
Sistemas Operacionais
Sistemas Operacionais Aula 2 Danielle Costa
Sistemas Operativos.
Estrutura de Interconexão
Tipos de Sistemas Operacionais
Sistemas Operacionais Funcionamento Básico
Introdução às Tecnologias de Informação e Comunicação (ITIC) 7º ano Escola Secundária do Padrão da Légua.
Escola de Engenharia de Piracicaba Administração Sistema de Comunicação de Dados Aula 1 – Introdução Alberto Martins Júnior Flávio I. Callegari.
Disciplina: Sistema Operacional Professor: Luciano Ricardi Scorsin.
Sistemas Operacionais IV – Gerenciamento de E/S
Administração de Sistemas Operacionais 1 -Windows
Capítulo 5 Entrada/Saída 5.1 Princípios do hardware de E/S
Trabalho realizado: Cláudio Cortesão Professora: Miguela Fernandes Disciplina: I.M.C.
Estruturas de Sistemas Operacionais. Componentes Comuns do Sistema Administração de Processos Administração da Memória Principal Administração do Armazenamento.
Sistemas Operacionais de Redes Virtualização IGOR ALVES.
Bruna Cavallero Martins Universidade Católica de Pelotas.
Transcrição da apresentação:

TC – DEI, 2005/2006

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

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

Diferentes Tipos de Software Device Drivers 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 TC – DEI, 2005/2006

Virtualização do Processador/Dispositivos Processadores Virtuais (... máquinas virtuais...) Processador Real 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 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 Word (1 processo) MS Excel (1 processo) 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 TC – DEI, 2005/2006

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

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

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

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

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

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

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

GPF e Segmentation Faults!  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 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

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

Noção de Thread Processo Thread 1 Thread 2 Thread 3 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! TC – DEI, 2005/2006

Quem são estes Senhores? Dennis Ritchie Ken Thompson Steve Jobs Bill Gates Bill Joy Linus Torvalds Andrew Tanenbaum 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 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”]) TC – DEI, 2005/2006