Fundamentos de Sistemas Operacionais

Documentos relacionados
Sistemas Operacionais

Sistemas Operacionais

Notas da Aula 1 - Fundamentos de Sistemas Operacionais

Apresentação. Ementa da Disciplina. Objetivo da Disciplina. DCA-108 Sistemas Operacionais. Referências Bibliográfica. Referências Bibliográfica

Sistemas Operacionais. Introdução

Sis i te t mas a O perac a i c o i nai a s um p ouco c d a a h is i tó t ria i. a... SO His i t s ó t r ó ic i o

Curso: Redes de Computadores

Fundamentos de Sistemas Operacionais

E S C O L A T É C N I C A E S T A D U A L R E P Ú B L I C A

Aula 2: Tipos de Sistemas Operacionais. Instituto Federal da Bahia Campus Salvador INF009 - Sistemas Operacionais Profª Flávia Maristela

SISTEMAS OPERACIONAIS. TÁSSIO JOSÉ GONÇALVES GOMES

Aula 1: Introdução aos Sistemas Operacionais. Instituto Federal da Bahia INF009 - Sistemas Operacionais Profª Flávia Maristela

Exercícios Cap I. 1.1, 1.2, 1.3 (somente letras (a), (b) e (c)) , 1.8 e 1.12 IC - UFF

Prof. Gregorio Perez 2007

INTRODUÇÃO. Sistemas Operacionais. Vinícius Pádua

Montagem e Manutenção

Fundamentos de Sistemas Operacionais

Sistemas Operacionais Processos. Carlos Ferraz Jorge Cavalcanti Fonsêca

Tecnólogo em Análise e Desenvolvimento de Sistemas. Sistemas Operacionais (SOP A2)

Algoritmos e Lógica de Programação Sistemas Operacionais

Introdução aos Sistemas Operacionais

Fundamentos da Informática Aula 03 - Sistemas operacionais: Software em segundo plano Exercícios Professor: Danilo Giacobo

Sistemas Operacionais

Aula 01 Introdução aos Sistemas Operacionais. Por Sediane Carmem Lunardi Hernandes

Sistemas Operacionais - UCSAL Professor : Marco Antônio C. Câmara Primeira Lista de Exercícios

Sistemas Operacionais (SO)

ARQUITETURA DE SISTEMAS OPERACIONAIS. VISÃO GERAL DE UM SISTEMA OPERACIONAL Prof. André Luís Alves E. M. DR. LEANDRO FRANCESCHINI

SISTEMAS OPERACIONAIS

Sistemas Operacionais. Tipos de SO

Sistemas Operacionais

Sistemas Operacionais

Processo. Gerência de Processos. Um programa em execução. Centro de Informática/UFPE :: Infraestrutura de Software

Sistemas Operacionais. Visão Geral

TIPOS DE SISTEMAS OPERACIONAIS. Ademar Alves Trindade

Sistemas Operacionais

Processo. Gerência de Processos. Um programa em execução. Centro de Informática/UFPE :: Infraestrutura de Software

Sistemas Operacionais

SOP - TADS Threads. Revisão Ultima aula. Programa em execução Cada processo têm sua própria CPU

William Stallings Arquitetura e Organização de Computadores 8 a Edição

SSC0640 Sistemas Operacionais I

Sistemas Operacionais

Fundamentos de Sistemas Operacionais

Sistemas Operacionais Aula 3

Sistemas Operacionais

Sistemas Operacionais Visão Geral

INTRODUÇÃO A SISTEMAS OPERACIONAIS

Infra-Estrutura de Software. Escalonamento

Sistemas Operacionais

Sistemas Operacionais - Aula 02

Técnicas Avançadas de Programação

Sistemas Distribuídos

SOP Sistemas Operacionais Módulo 04: Processo

DEPARTAMENTO DE CIÊNCIA DA COMPUTAÇÃO BACHARELADO EM INFORMÁTICA SISTEMAS OPERACIONAIS I 1 0 SEM/05 Teste 1 Unidade I DURAÇÃO: 50 MINUTOS

Sistemas de Informação. Sistemas Operacionais

Tipos de Sistemas Operacionais

Sistemas Operacionais. Maria de Fátima de Freitas Bueno Marcílio

Processos O conceito de processos é fundamental para a implementação de um sistema multiprogramável. De uma maneira geral, um processo pode ser entend

Introdução à Informática

Prof. Kleber R. Rovai

Sistemas Operacionais

Infra Estruturas Computacionais. Sistemas Operacionais. Introdução. Sistema Operacional. Objetivos de um Sistema Operacional. Sistema Operacional

NÚCLEO DE TECNOLOGIA DEPARTAMENTO ACADÊMCIO DE CIÊNCIA DA COMPUTAÇÃO. I - Objetivo Geral: Introduzir os conceitos gerais de sistemas operacionais

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

Conceitos básicos e serviços dos Sistemas Operacionais

Noções de Processos. Plano da aula. Serviços oferecidos. Definição & Objetivos. Definição & Objetivos. Sistemas Operacionais : introdução

Programação Concorrente

ENADE 2011 SISTEMAS OPERACIONAIS

ARQUITETURA DE COMPUTADORES

INTRODUÇÃO. Sistemas Operacionais. Vinícius Pádua

Introdução aos Sistemas Operacionais

Informática Sistemas Operacionais Aula 5. Cleverton Hentz

Técnico de Gestão e Programação de Sistemas Informáticos. Sistemas Operativos 10º ano

Engenharia de Computação MATRIZ 535

SOP Sistemas Operacionais Módulo 02: Motivação / Conceitos Básicos / Classificação

Projeto Lógico de Computadores. Profa. MSc. Carolina Melo Santana

SISTEMAS OPERACIONAIS. TÁSSIO JOSÉ GONÇALVES GOMES

Introdução. Carlos Gustavo A. da Rocha. Sistemas Operacionais

Apresentação. Sistemas Operacionais. Universidade Federal de Uberlândia Faculdade de Computação Prof. Dr. rer. nat. Daniel D.

Sistemas Operacionais

Fundamentos de Sistemas Operacionais

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

UFRJ IM - DCC. Sistemas Operacionais I. Unidade IV Gerência de Recursos Entrada e Saída. 02/12/2014 Prof. Valeria M. Bastos

INTRODUÇÃO. Sistemas Operacionais. Vinícius Pádua

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

Sistemas Operacionais I

LabSO Gerência de Processos. Processos. Porque eu preciso entender este assunto?

Estruturas de Sistemas Operacionais

Sistemas de Informação. Sistemas Operacionais

Thread. Thread. Sistemas Operacionais. Leonard B. Moreira. UNIVERSIDADE ESTÁCIO DE SÁ fevereiro, / 41

Sistemas Operacionais de Tempo Real. Sérgio Campos

Organização de Computadores Sistema de entrada e saída (I/O) e computação paralela. Professor: Francisco Ary

18/08/2015. Funções dos sistemas operacionais. Capítulo 3: Sistemas Operacionais

Estrutura dos Sistemas Operacionais. Sérgio Portari Júnior

Introdução a Sistemas Operacionais. Carlos Eduardo Ba8sta

Introdução a Sistemas Operacionais. Adão de Melo Neto

Sistemas Operacionais. Prof. André Y. Kusumoto

Matéria: Sistema Computacional - SC. Prof.: Esp.: Patrícia Dias da Silva Peixoto

Sistemas Operacionais

Introdução à Informática Engenharia Agrícola

Introdução aos Sistemas Operativos

Transcrição:

Fundamentos de Sistemas Operacionais Aula 1: Introdução e Conceitos Diego Passos

Informações Básicas Horário: terças e quintas, 16h. Salas: 442/235 Contato: Por e-mail: dpassos@ic.uff.br Pela página: http://www.midiacom.uff.br/~diego/sisop/ Ou no Laboratório Midiacom (sala 408, bloco E). Avaliação: Duas provas. Média final m = (P1 + 2 * P2) / 3. Notas, avisos, etc, enviados por e-mail: Lista. Listas de exercícios: Ao final de cada aula. Não fazem parte da avaliação.

Calendário 29/03 Introdução e Conceitos 31/03 Processos 05/04 Segurança Inter-Processos 07/04 Programação Concorrente 12/04 Exclusão Mútua 14/04 Sistemas Distribuídos e Deadlock 19/04 Implementação de Processos e Threads 21/04 Feriado (Tiradentes) 26/04 Escalonamento 28/04 Escalonadores Não-Preemptivos 03/05 Escalonadores Preemptivos 05/05 Escalonamento: Estudo de Casos 10/05 Revisão para P1 12/05 P1 17/05 Vista de Prova (P1) / Compiladores e Montadores 19/05 Entrada e Saída: Dispositivos e Tipos de Acesso 24/05 Entrada e Saída: Software 26/05 Entrada e Saída: Estudo de Caso 31/05 SBRC (Não Haverá Aula) 02/06 SBRC (Não Haverá Aula) 07/06 Gerenciamento de Memória e Tipos de Alocação Primitivos 09/06 Segmentação e Paginação 14/06 Memória Virtual 16/06 Sistemas de Arquivo 21/06 Linux e Windows 2000 23/06 Feriado (Corpus Christi) 28/06 Revisão para P2 30/06 P2 05/07 Vista de Prova (P2) 07/07 VS 12/07 Vista de Prova (VS) 14/07 ---

Bibliografia "Sistemas Operacionais". Rômulo Oliveira, Alexandre Carissimi, Simão Toscani. 2a Edição. "Operating Systems Concepts". Silberschatz, Gavin, Gagne. Wiley. 6a Edição. "Modern Operating Systems". Andrew Tenenbaum. 2a Edição.

Conceitos

O que é um Sistema Operacional? Duas definições: Software que provê acesso ao hardware às aplicações do usuário. Software que gerencia e divide os recursos da máquina entre as aplicações. Um SO é um software, um programa. Ele administra o uso da máquina. Ele facilita o uso dos recursos de hardware, através de chamadas de sistema.

O que não é um Sistema Operacional? Certas aplicações são às vezes confundidas com o SO: Gerenciadores de janela. Utilitários de configuração. Shells (interface de linha de comando). Estes programas, embora distribuídos juntamente com o SO, não são parte integrande do sistema operacional.

Exemplos de Sistemas Operacionais DOS. Windows (a partir do Windows 95). Unix. BSD (e variantes). Linux. GNU Hurd. Symbian. MacOS. IOS. Android. TinyOS. RTOS....

Serviços de um SO Execução de Aplicações. Acesso a dispositivos de E/S: Discos, interfaces de rede, placas de video, etc. Controle de acesso à arquivos. Proteção de arquivos contra leitura e escrita por outros usuários.

Kernel vs. SO Todo SO possui um núcleo ou kernel. O núcleo é responsável pelas funções mais básicas do SO: Escalonamento. Gerenciamento de memória. Tratamento de interrupções. Outras funcionalidades podem ser implementadas "fora" do kernel. Manipulação de periféricos. Manipulação de acesso à disco. Kernel monolítico vs. Micro-Kernel.

Processo Uma aplicação é uma tarefa do usuário a ser efetuada. Um programa descreve como tal tarefa deve ser executada. Um processo é uma instância de execução de um programa. Um processo é composto por: Código do programa. Estado atual da execução (valores de variáveis, registradores, etc).

Espaço de Endereçamento Nos SOs modernos, cada processo tem seu próprio Espaço de Endereçamento. Um espaço de endereçamento é um conjunto de posições de memória disponíveis para o processo. Variáveis do processo são guardadas nele. Nos SOs atuais, o endereço utilizado nos programas é apenas lógico: São mapeados para posições variadas na memória física. Ou seja, o endereço 367 de um processo é diferente do endereço 367 de outro processo.

Escalonador Componente do SO que aloca o recurso "processador". Em geral, há mais processos que processadores disponíveis. O escalonador escolhe qual processo pode utilizar o processador a cada instante. Diversos critérios: Tempo de resposta. Vazão. Prioridades.

Histórico

Primeiros Computadores O Sistema Operacional não existia. O usuário programava a máquina para sua aplicação e iniciava a execução. A máquina ficava bloqueada até o fim da execução. Ao final, usuário recolhia os resultados e um novo usuário recomeçava o ciclo.

Sistema em Lotes (Batch) Evolução do modelo anterior. Conceito de Job: Uma aplicação do usuário. Um funcionário recebia os Jobs. Em cartão perfurado, por exemplo. O funcionário inseria os Jobs, sequencialmente, a medida que os anteriores acabavam. O funcionário atuava como um SO básico, distribuindo os recursos entre os vários Jobs.

Monitores Residentes O funcionário é substituído por um pequeno programa. O Monitor. Usuário colocava seu job em uma fila dentro da máquina. O monitor pegava lia o primeiro Job, o carregava em memória e passava o controle total da máquina para ele. Ao final da execução de um Job, o Monitor retornava à execução e selecionava o próximo da fila. Programas defeituosos paravam toda a fila: Era necessária intervenção manual.

Sistemas Batch Multiprogramado Problema: operações de E/S são lentas. e.g., leitura de um arquivo. Enquanto um processo aguarda o fim de uma operação de E/S, o processador fica ocioso. Solução: colocar vários programas em memória. Quando o processo atualmente em execução fica bloqueado, aguardando E/S, outro processo é colocado para executar. Fonte: "Sistemas Operacionais". Rômulo Oliveira, Alexandre Carissimi, Simão Toscani. 2a Edição.

Sistema de timesharing Sistemas batch não tem bons tempos de resposta. Uma aplicação só é executada após todas as predecessoras. Seria interessante poder executar todas "ao mesmo tempo". Mas há mais processos que processadores. Solução: compartilhar o tempo do processador. Cada processo ganha um quantum (ou slice) de tempo. Durante seu quantum, pode usar o processador. Ao final do quantum, um novo processo ganha a vez. Os quantuns são renovados periodicamente. Ilusão para o usuário de que a máquina está sempre disponível. Permitiu uso interativo.

Tipos de Sistemas (Operacionais)

Multitarefa vs. Monotarefa Sistemas multitarefa podem ter mais de um processo em memória (pronto para execução) por vez. Sistemas monotarefa executam apenas uma tarefa por vez.

Monousuário vs. Multiusuário Sistemas monousuário permitem que um único usuário acesse a máquina por vez. Exemplos: MS-DOS, Windows ME. Sistemas multiusuários permitem o acesso de vários usuários simultâneos. Exemplos: Linux, Windows 2000. Não confundir: Todo sistema multiusuário é multitarefa. Nem todo sistema monousuário é monotarefa.

Distribuído vs. Centralizado PCs são sistemas centralizados. Há apenas um "conjunto de hardware". Um ou mais processadores que acessam a mesma memória. A maior parte dos SOs são para este tipo de sistema. Existem também os sistemas distribuídos: Clusters, grades, etc. Conjuntos de máquinas completas conectadas por rede. Há SOs específicos para eles: Plan9, NetWare, Inferno. Mas podem ser usados com SOs centralizados. Aplicações se comunicam.

Sistemas Distribuídos (mais) Têm ganhado importância com: Aplicações Web. Armazenamento remoto. Cloud Computing. Exemplos: Webmail. Google Docs. Drop Box. Amazon EC2.

Paralelo vs. Monoprocessado Há computadores com vários processadores. Ou núcleos. Hoje, comum. Sistemas com mais de um processador são chamados Paralelos. Várias tarefas podem ser executadas (realmente) ao mesmo tempo. Maior complexidade de gerenciamento. Não confundir: Sistema paralelo: Fortemente acoplado (tightly coupled). Processadores compartilham memória e relógio. Sistema distribuído: Fracamente acoplado (loosely coupled). Memória e relógio independentes.

Sistemas Paralelos (mais) Dois tipos: Symmetric Multiprocessing (SMP). Todos os processadores executam qualquer tipo de tarefa (SO, aplicação, etc). Asymmetric Multiprocessing. Há processadores para tarefas da aplicação e processadores para tarefas do SO.

Sistemas de Tempo Real Há aplicações com requisitos fortes de tempo. e.g., sistema de freios em um carro. Se prazos máximos de execução não forem cumpridos, as consequências são ruins. Dois tipos: Hard Real Time: prazos não podem ser perdidos sob nenhuma hipótese. Soft Real Time: há um percentual de tolerância na perda de prazos. Este tipo de aplicação requer SOs com características específicas. Exemplo: Escalonador ciente dos prazos. Controle de admissão de novas tarefas.

Revisão

Para Lembrar Definição de sistema operacional. Kernel monolítico vs. Micro-kernel. Sistemas batch. Monitor residente. Multiprogramação. Timesharing Sistema Paralelo vs. Sistema Distribuído.