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



Documentos relacionados
Sistemas Operacionais: O quê? Por quê? Quando?

Sistemas Operacionais 2014 Introdução. Alexandre Augusto Giron

Sistemas Operacionais Aula 03: Estruturas dos SOs. Ezequiel R. Zorzal

Infra-Estrutura de Software. Introdução. (cont.)

Sistemas Operacionais. Prof. Pedro Luís Antonelli Anhanguera Educacional

Introdução. O que vimos. Infraestrutura de Software. (cont.) História dos Sistemas Operacionais. O que vimos 12/03/2012. Primeira geração:

Resumo até aqui. Gerenciamento Proteção Compartilhamento. Infra-estrutura de Software

Sistemas Operacionais

SO - Conceitos Básicos. Introdução ao Computador 2010/01 Renan Manola

Sistemas Operacionais. Roteiro. Hardware. Marcos Laureano

Prof. Marcos Ribeiro Quinet de Andrade Universidade Federal Fluminense - UFF Pólo Universitário de Rio das Ostras - PURO

Arquitetura de Computadores. Introdução aos Sistemas Operacionais

Introdução. Sistemas Operacionais

Sistemas Operacionais I Parte III Estrutura dos SOs. Prof. Gregorio Perez gregorio@uninove.br Roteiro. Componentes do Sistema

Pós-Graduação, Maio de 2006 Introdução aos Sistemas Operacionais. Prof. Dr. Ruy de Oliveira CEFET-MT

Capítulo 2: Estruturas de Sistema Operacional

4 Estrutura do Sistema Operacional Kernel

Figura 01 Kernel de um Sistema Operacional

SISTEMAS OPERACIONAIS

Sistemas Operacionais

Arquitetura de Sistemas Operacionais Machado/Maia. Arquitetura de Sistemas

SISTEMAS OPERACIONAIS

SISTEMAS OPERACIONAIS 2007

Sistemas Operacionais

Introdução aos Sistemas Operacionais. Computador = hardware + software. Como é formado o meu computador? E como estes componentes se comunicam?

SISTEMAS OPERACIONAIS. Apostila 03 Estrutura do Sistema Operacional UNIBAN

Sistemas Operacionais

UFRJ IM - DCC. Sistemas Operacionais I. Unidade I Introdução. 11/02/2014 Prof. Valeria M. Bastos

Sistemas Operacionais. Conceitos de um Sistema Operacional

UFRJ IM - DCC. Sistemas Operacionais I

Estrutura, Processos e Threads

Sistemas Operacionais. Introdução

Apresentação. Ementa da Disciplina. Objetivo da Disciplina. DCA-108 Sistemas Operacionais

Sistemas Operacionais. Prof. M.Sc. Sérgio Teixeira. Aula 05 Estrutura e arquitetura do SO Parte 2. Cursos de Computação

Sistemas Operacionais. Estruturas de SO. Edeyson Andrade Gomes.

Sistemas Operacionais. Patrícia Megumi Matsumoto Luciana Maria Gregolin Dias

Sistema Operacional Correção - Exercício de Revisão

Sistemas Operacionais

Visão Geral de Sistemas Operacionais

Sistemas Operacionais

Introdução. Nível do Sistema Operacional. Introdução. Um Sistema Operacional... Introdução a Sistemas Operacionais

Sistemas Operacionais

Sistemas Operacionais

Sistemas Operacionais. INTRODUÇÃO Prof. Rafael Alberto Vital Pinto FACSUL/CESUR

IFPE. Disciplina: Sistemas Operacionais. Prof. Anderson Luiz Moreira

Sistemas de Lotes (2) Sistemas de Lotes (3) Layout da MP em Sistemas de Lotes. Minimizar o tempo de resposta

Fundamentos de Sistemas Computacionais Introdução

Sistemas Operacionais. Alexandre Meslin

Sistemas Operacionais

Sistemas Operacionais

Introdução à Computação: Sistemas de Computação

Programação Concorrente Processos e Threads

Arquitetura de Computadores para. Sistemas Operacionais. Sistemas Operacionais. Sumário

Aspectos de Sistemas Operativos

Introdução a Computação

Everson Scherrer Borges João Paulo de Brito Gonçalves

Sistemas Operacionais Introdução

Apresentação da disciplina. Sistemas Operacionais I N. A disciplina. O Professor. Áreas de atuação na pesquisa. Referências bibliográficas básicas

Sistemas Operacionais

Noções básicas de Informática: Software

Sistemas Operacionais

Introdução aos Sistemas Operacionais

O que veremos nesta aula? Principais Aspectos de Sistemas Operacionais. Visão geral de um sistema computacional

Sistemas Operacionais Introdução. Professora: Michelle Nery

Sistemas Operativos. Princípios de sistemas operativos. Rui Maranhão

Sistemas Operacionais

Aula 3. Sistemas Operacionais. Prof: Carlos Eduardo de Carvalho Dantas

Nível do Sistema Operacional

Classificação de SO (Sistemas Operacionais) Técnico de Informática 2º. Módulo Profa. Madalena Pereira da Silva

Capítulo 1. Introdução

Sistemas Operacionais I. Introdução

6 - Gerência de Dispositivos

discos impressora CPU memória AULA 04 - Estruturas de Sistemas Computacionais Operação dos sistemas de computação Controlador de disco

Noções de Software. André Aziz Francielle Santos

Sistema Operacional. Prof. Leonardo Barreto Campos 1

Introdução aos Sistemas Operativos

Estrutura geral de um computador

Conceitos Básicos sobre Sistemas Operacionais

Sistemas Operacionais. Prof. M.Sc. Sérgio Teixeira. Aula 05 Estrutura e arquitetura do SO Parte 1. Cursos de Computação

Sistemas Operacionais - Prof. Fabricio Alessi Steinmacher - fsteinmacher@gmail.com OBJETIVOS OPERACIONAIS. fsteinmacher@gmail.

LINUX. Lapro I Profa. Fernanda Denardin Walker. - Aula 2 - Material adaptado de: Isabel Mansour, Marcia Moraes e Silvia Moraes SISTEMA OPERACIONAL

Sistema Operacional LINUX

Sistemas Operacionais. Prof. André Y. Kusumoto

Estruturas do Sistema de Computação

11/3/2009. Software. Sistemas de Informação. Software. Software. A Construção de um programa de computador. A Construção de um programa de computador

ESTRUTURA DE UM SISTEMA OPERACIONAL

Sistemas Operacionais

FundamentosemInformática

Notas da Aula 15 - Fundamentos de Sistemas Operacionais

Sistemas Operacionais e Introdução à Programação. Módulo 1 Sistemas Operacionais

Máquina de estados UNIX O

Máquina de estados UNIX O. Sistemas Operacionais 2008/1Profa. Patricia S.O. computação: recursos D. S.O S.O. controla eventos no sistema de

Sistemas Operacionais. Introdução

Funções de um SO. Gerência de processos Gerência de memória Gerência de Arquivos Gerência de I/O Sistema de Proteção

Um Driver NDIS Para Interceptação de Datagramas IP

SO Sistemas Operacionais

ESTUDO DE CASO WINDOWS VISTA

Transcrição:

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 (rogerio@fct.unesp.br) Arquitetura de Von Neumann 2 18/06/2015 Rogério Eduardo Garcia 1

Arquitetura 3 18/06/2015 Rogério Eduardo Garcia Sistemas Operacionais Definição: Um programa que age como intermediário entre o usuário de um computador e o hardware Silberchatz, et al. Operating Systems, 7a. Edição SO 2

Sistemas Operacionais Gerenciador de recursos Cada programa tem um tempo definido para utilizar o recurso Cada programa tem um espaço definido no recurso Modern Operating System. Tanenbaum Sistemas Operacionais Silberchatz, et al. Operating Systems, 7a. Edição 3

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 4

Gerenciamento de Processos 9 18/06/2015 Rogério Eduardo Garcia Gerenciamento de Processos O sistema operacional é responsável pelo ciclo de execução dos processos: carga, execução e finalização Dividir o tempo de processamento entre os processos ativos 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!!! 5

Gerenciamento de memória Gerenciamento de memória O sistema operacional deve gerenciar a memória disponí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 para aumentar a memória disponível. O que acontece quando um processo não está na memória principal? Quais são os processos que serão temporariamente armazenados na memória secundária? Algoritmos e arquitetura de computadores 6

Gerenciamento de arquivos Como armazenar os arquivos de maneira eficiente? Como acessar os arquivos de maneira eficiente? Como prover confiabilidade de armazenamento? Como prover um modelo comum para diferentes 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 7

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, o desenvolvimento de qualquer camada acima ou abaixo exige conhecimento só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 um sistema operacional. Ex: TRON (mais de 4 bilhões de aparelhos), e SymbianOS (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 8

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ção CPU compartilhada entre os processos Aumentar a utilização da CPU durante a entrada e saída 9

Faculdade de Ciências e Tecnologia Departamento de Matemática e Computação Bacharelado em Ciência da Computação Interrupções Interrupções 10

Tratamento de uma interrupção Multi-tarefas (tempo compartilhado) CPU é compartilhada entre os diversos processos Uma pequena fatia de tempo é dado a cada processo < 1ms Interativo Preempção: o processo não controla quando o controle da CPU será dado a outro processo 11

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 12

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 13

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 camadas inferiores e provê serviços para camadas superiores 14

Núcleo monolítico Aplicações do usuário + Núcleo (kernel) do sistema operacional O núcleo provê o acesso ao hardware através de chamadas de sistema Módulos Módulos: carga dinâmica Flexibilidade Núcleo menor Drivers, Arquivos de sistema, System calls, network driver 15

Microkernel Utiliza um núcleo com serviços mínimos Demais serviços (sistemas de arquivos, sistema de IO) são disponibilizados através de servidores 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 16

VMware Java 1. Linguagem de programação 2. Application programming interface (API) 3. Especificação da máquina virtual 17

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 18

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 7 th Edition, Jan 14, 2005 Silberschatz, Galvin and Gagne 2005 API Chamada de sistema 19

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() 20

Chamadas de sistema Cada chamada de sistema tem um número associado Passagem de parâmetros para chamadas de sistema Registradores Tabela Pilha A utilização de tabelas e registradores é mais flexível e não é limitada ao número de registradores do processador Passagem de parâmetros via registrador 21

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. 22