Introdução aos Sistemas Operacionais

Documentos relacionados
Curso: Redes de Computadores

MÁQUINAS VIRTUAIS VIRTUALIZAÇÃO AULA 04 Sistemas Operacionais Gil Eduardo de Andrade

Sistemas Operacionais

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

Sistemas Operacionais

Prof. Gregorio Perez 2007

Introdução aos Sistemas Operacionais

SISTEMAS OPERACIONAIS

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

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

Sistemas Operacionais. Visão Geral

Sistemas Operacionais. Universidade Federal de Minas Gerais. Aula 1. Introdução

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

Fundamentos de Sistemas Operacionais

- Campus Salto. Disciplina: Sistemas Operacionais Docente: Fernando Santorsula

Organização de Computadores Computação paralela; Sistema de entrada e saída (I/O); Suporte a Sistema operacional. Professor: Francisco Ary

Sistemas Operacionais

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

SSC0640 Sistemas Operacionais I

Sistemas Operacionais. Visão Geral

Sistemas Operacionais

Sistemas Operacionais

SO: SISTEMAS OPERACIONAIS Curso: Sistemas de Informação

Introdução a Sistemas Operacionais

INTRODUÇÃO A SISTEMAS OPERACIONAIS

Sistemas Operacionais

Evolução de Sistemas Operacionais. Evolução ao longo da História da Computação!! UNIX: Um breve apanhado de sua evolução!!!

HISTÓRIA DOS SISTEMAS OPERACIONAIS. Prof. Alan F.M.

Arquivos, Pastas e Extensões. Sistemas Operacionais. Conceitos básicos. Evolução

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

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

Introdução ao Sistema UNIX

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

Sistemas Operacionais

Introdução ao Sistema UNIX

Fundamentos de Sistemas Operacionais

Apresentação do Professor

Sistemas Operacionais

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

Estrutura dos Sistemas Operacionais. Adão de Melo Neto

Sistemas Operacionais Visão Geral

Tipos de Sistemas Operacionais. Professores : Jones - Wendell

Sistemas Operacionais. Introdução a Sistemas Operacionais

Sistemas Operacionais

Estruturas de Sistemas Operacionais

Introdução à Computação

Sistemas Operacionais (SO)

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

UFRJ IM - DCC. Departamento de Ciência da Computação. Sistemas Operacionais II. 30/09/2016 Profª Valeria Menezes Bastos 1

Introdução ao Linux. Thiago Yukio Kikuchi Oliveira

APOSTILA 1 - TUTORIA SISTEMAS OPERACIONAIS

Introdução ao Sistema UNIX

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

LABORATÓRIO DE SISTEMAS OPERACIONAIS. PROFª. M.Sc. JULIANA HOFFMANN QUINONEZ BENACCHIO

Sistemas Operacionais

Informática I. Aula /09/2006 1

Tipos de Sistemas Operacionais

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

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

Breve Introdução aos Sistemas Operativos. Disciplina de Informática PEUS, U.Porto

Programação de Computadores I - PRG1 Engenharia Elétrica

INFORMÁTICA (NCINF) SOFTWARE SISTEMAS OPERACIONAIS

Informática Sistemas Operacionais Aula 5. Cleverton Hentz

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

Introdução à Programação de Computadores Fabricação Mecânica

PROVA 03/07 Segunda-feira (semana que vem)

Introdução. Pedro Cruz. EEL770 Sistemas Operacionais

Sistemas Operacionais. Tipos de SO

Introdução à Sistemas Operacionais

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

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

Aula 2. Prof: Carlos Eduardo de Carvalho Dantas

TIPOS DE SISTEMAS OPERACIONAIS. Ademar Alves Trindade

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

Sistemas Operacionais. Prof. André Y. Kusumoto

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

SISTEMAS OPERACIONAIS. Prof. André Aparecido da Silva.

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

Sistemas Operacionais. Introdução

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

Sistemas Operacionais. Prof. André Y. Kusumoto

Sistemas Operacionais

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

Conceitos básicos sobre computadores

Redes de Computadores. Fundamentos de Sistemas Operacionais - 2º Período

I TR T ODUÇÃO O À I N I FO F RMÁ M TI T C I A OBJETIVO

Disciplina: Sistemas Operacionais

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

Sistemas Operacionais. Introdução

Sistema Operacional. O S.O. é o programa mais importante do computador. - Realizar a interação entre o usuário, o hardware e o firmware -(BIOS)

Programação Paralela e Distribuída

Sistemas Operacionais

Introdução à Computação MAC0110

Informática Aplicada. Introdução

Sistema Operacional. Disciplina: Softwares, Aplicativos e Sistema Operacional. Professor: Thiago Silva Prates

Sistemas Operacionais. Sistema de entrada e Saída

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

Transcrição:

Introdução aos Sistemas Operacionais Prof. Dr. André Carvalho andre@icomp.ufam.edu.br

Agenda Conceitos Básicos Tipos de Sistemas Operacionais Histórico Geração Breve Evolução Referências 2

Conceitos Básicos

Sistema de Computação Um sistema de computação é constituído basicamente por: Hardware (processador, memória, I/O, periféricos, entre outros). Software (programas como editores de texto, navegadores, jogos, etc.). Entre esses componentes reside uma camada de software multi-facetada, chamada Sistema Operacional. 4

Sistema de Computação Arquitetura genérica de um sistema de computação aplicativos editor de textos Estudar os as fucionamento dos sistemas operacionais fdf modernos, dando dfddd sdsdsdsdsdsd reprodutor de mídia editor gráfico Sistema Operacional hardware Fonte: [Maziero 2011] discos memória portas USB rede 5

O que é um Sistema Operacional? Um programa que age como intermediário entre um usuário de um sistema de computação e o hardware Ou seja, um S.O. controla e coordena o uso dos recursos de hardware (CPU, memória, dispositivos de E/S,...) pelos programas de aplicação destinados aos usuários. 6

Objetivos de um Sistema Operacional Quais os objetivos de um S.O.? Executar programas de aplicação e facilitar; Tornar o sistema de computação conveniente ao uso; Tornar eficiente o uso dos recursos de hardware. Resumindo, os objetivos básicos de um S.O. são a abstração e gerência de recursos 7

Objetivos de um Sistema Operacional Abstração de Recursos Uma vez que manipular recursos de hardware em um sistema de computação pode ser difícil e complexo devido a fatores com, por exemplo, o padrão de comunicação das interfaces. O S.O. tem a função (tarefa) de definir interfaces abstratas para os recursos do hardware. 8

Objetivos de um Sistema Operacional Com a abstração, o S.O. consegue: Prover interfaces de acesso aos dispositivos, mais simples que as de baixo nível, para simplificar a construção de programas aplicativos. Tornar os aplicativos independentes do hardware. Definir interfaces de acesso homogêneas para dispositivos com tecnologias distintas. 9

Objetivos de um Sistema Operacional Gerência de Recursos Os programas aplicativos usam o hardware para atingir seus objetivos. Em um sistema com várias atividades simultâneas, podem surgir conflitos no uso do hardware (dois ou mais aplicativos precisam dos mesmos recursos). Cabe ao S.O. definir políticas para gerenciar o uso dos recursos de hardware pelos aplicativos, e resolver eventuais disputas e conflitos. 10

Objetivos de um Sistema Operacional Gerência de Recursos O uso do processador e da memória RAM do computador, a fila de impressão e até a detecção e mitigação de ataques de negação de serviço (DoS) são exemplos de atividades de gerência de recursos do S.O. 11

Tipos de Sistemas Operacionais 12

Tipos de Sistemas Operacionais Os sistemas operacionais podem ser classificados segundo diversos parâmetros e perspectivas, como tamanho, velocidade, suporte a recursos específicos, acesso à rede, etc.

Tipos de Sistemas Operacionais Alguns tipos são: Batch: antigos sistemas operacionais. Rede: deve possuir suporte a rede Distribuído: os recursos de cada máquina estão disponíveis globalmente, de forma transparente aos usuários. Multi-usuário: deve suportar a identificação do dono de cada recurso e impor regras de controle de acesso. 14

Tipos de Sistemas Operacionais Desktop: voltado ao atendimento do usuário doméstico e corporativo. Servidor Embarcado: opera em hardware com recursos escassos. Tempo real: deve ter comportamento temporal previsível 15

Histórico

Gerações 1ª. Geração (1945/1955) Sistemas Batch simples 2ª. Geração (1955/1965) Sistemas Batch Off-Line 3ª. Geração (1965/1980) Sistemas Batch com Spooling 4ª. Geração (1975/*) Computadores pessoais Outras Gerações 17

1ª. Geração Sistemas Batch Necessidade de um operador Programas e dados eram lidos via cartão Programas similares eram lidos em sequência Primeiro S.O. rudimentar Uso de um programa (Monitor Residente) em memória para controlar a transferência de controle entre Jobs

1ª. Geração Sistemas Batch Problemas Como o monitor sabe a natureza de um job ou qual programa executar? Como o monitor distingue um job de outro job ou entre dados e um programa? Solução Cartões de controle

1ª. Geração Sistemas Batch Cartões especiais que diziam o que o monitor devia executar Caracteres especiais distinguem cartões de controle dos cartões de dados e de programas

1ª. Geração Sistemas Batch Exemplo de cartões de controle Fonte: [Tanenbaum 2007]

1ª. Geração Sistemas Batch Monitor Residente é composto por: Interpretador de cartão de controle, responsável por ler executar as instruções dos cartões. Loader, responsável pela carga de programas na memória. Device drivers, controlam dispositivos de entrada e saída.

1ª. Geração Sistemas Batch Problema do Monitor Residente Baixa performance: Solução atividades de CPU e E/S não simultâneas; leitora de cartões lenta Operação Off-line Carregar os jobs na memória através de fita Saída da memória para a fita

2ª. Geração Sistemas Batch Off-Line Operação Off-Line

3ª. Geração Sistemas Batch c/ Spooling Spooling Torna simultânea a execução de jobs. Próximo Job é lido e armazenado em disco (job queue). Saída do Job anterior é feita do disco para a impressora. Job pool (estrutura de dados).

3ª. Geração Sistemas Batch c/ Spooling disco Leitor de cartão CPU impressoras

3ª. Geração Sistemas Batch c/ Spooling Batch Multiprogramado Vários jobs são mantidos na memória simultaneamente A CPU é multiplexada entre eles. 0 Sistema Operacional Job 1 Job 2 Job 3 512k Job 4

3ª. Geração Sistemas Batch c/ Spooling Multiprogramação CPU I/O Job 1 Job 2 CPU Job 3 I/O

4ª. Geração Computadores Pessoais Computadores Pessoais Originalmente dedicados a um único usuário. Introduziram novos dispositivos de E/S como teclado, mouse, display, impressoras, etc. Características marcantes: conveniência do usuário e interatividade. 29

Outras Gerações Sistemas Paralelos Sistemas de Tempo Real Sistemas Distribuídos

Outras Gerações Sistemas Paralelos Sistemas multiprocessadores com mais de uma CPU em comunicação próxima e constante. Sistemas Fortemente Acoplados (Tightly coupled system) Processadores compartilham a memória e o clock. A comunicação geralmente se dá via memória compartilhada.

Outras Gerações Como vantagens, os sistemas paralelos apresentam: Aumento de vazão ou throughput (volume de saída por unidade de tempo). Economia no uso de dispositivos compartilhados. Aumento de confiabilidade Tolerância a falhas.

Outras Gerações Os sistemas paralelos são classificados em: Multiprocessamento Simétrico (SMP) Cada processador roda uma cópia do S.O. Muitos processo podem executar ao mesmo tempo sem degradação de performance. CPU CPU... CPU Memória

Outras Gerações Os sistemas paralelos são classificados em: Multiprocessamento Assimétrico Cada processador tem uma tarefa específica. Processador mestre escalona e aloca o trabalho entre os processadores escravos. Mais comum em sistemas de grande porte.

Outras Gerações Sistemas de Tempo Real Geralmente utilizados como controladores em aplicações dedicadas. Controle de experimentos científicos. Sistemas de imagens médicas. Sistema de controle industrial. Aeronaves. Restrições de tempo estritas e bem definidas.

Outras Gerações Os sistemas de tempo real podem ser classificados em: Soft real-time system Atrasos podem ocasionar falhas. Gravação de CD, reprodução de música Útil para aplicações que necessitam de r e c u r s o s a v a n ç a d o s d e s i s t e m a s operacionais (multimídia, realidade virtual e aumentada).

Outras Gerações Os sistemas de tempo real podem ser classificados em: Hard real-time system. Atrasos são inaceitáveis. Muito dinheiro e até vidas humanas podem ser perdidas Memória secundária limitada ou ausente. Dados armazenados em memória principal.

Outras Gerações Sistemas Distribuídos Distribuem a computação por vários processadores físicos. Sistemas Fracamente Acoplados (Loosely coupled system): Cada processador tem sua própria memória local. Se comunicam via troca de mensagem através de uma rede.

Breve Evolução dos Sistemas Operacionais

Breve Evolução dos Sistemas Operacionais Anos 40: cada programa executava sozinho e tinha total controle do computador. Anos 50: os sistemas de computação fornecem bibliotecas de sistema (system libraries) que encapsulam o acesso aos periféricos, para facilitar a programação de aplicações. 1961: o grupo do pesquisador Fernando Corbató, do MIT, anuncia o desenvolvimento do CTSS Compatible Time-Sharing System [Corbató et al., 1962], o primeiro sistema operacional com compartilhamento de tempo.

Breve Evolução dos Sistemas Operacionais 1965: a IBM lança o OS/360, um sistema operacional avançado, com compartilhamento de tempo e excelente suporte a discos. 1965: um projeto conjunto entre MIT, GE e Bell Labs define o sistema operacional Multics, cujas ideias inovadoras irão influenciar novos sistemas durante décadas. 1969: Ken Thompson e Dennis Ritchie, pesquisadores dos Bell Labs, criam a primeira versão do UNIX.

Breve Evolução dos Sistemas Operacionais 1981: a Microsoft lança o MS-DOS, um sistema operacional comprado da empresa Seattle Computer Products em 1980. 1984: a Apple lança o sistema operacional Macintosh OS 1.0, o primeiro a ter uma interface gráfica totalmente incorporada ao sistema. 1985: primeira tentativa da Microsoft no campo dos sistemas operacionais com interface gráfica, através do MS-Windows 1.0.

Breve Evolução dos Sistemas Operacionais 1987: Andrew Tanenbaum, um professor de computação holandês, desenvolve um sistema operacional didático simplificado, mas respeitando a API do UNIX, que foi batizado como Minix. 1987: IBM e Microsoft apresentam a primeira versão do OS/2, um sistema multitarefa destinado a substituir o MS-DOS e o Windows. Mais tarde, as duas empresas rompem a parceria; a IBM continua no OS/2 e a Microsoft investe no ambiente Windows.

Breve Evolução dos Sistemas Operacionais 1991: Linus Torvalds, um estudante de graduação finlandês, inicia o desenvolvimento do Linux, lançando na rede Usenet o núcleo 0.01, logo abraçado por centenas de programadores ao redor do mundo. 1993: a Microsoft lança o Windows NT, o primeiro sistema 32 bits da empresa. 1993: lançamento dos UNIX de código aberto FreeBSD e NetBSD. 1995: Windows 95, primeiro S.O. De fato para desktops da Microsoft.

Breve Evolução dos Sistemas Operacionais 2001: a Apple lança o MacOS X, um sistema operacional derivado da família UNIX BSD. 2001: lançamento do Windows XP. 2004: lançamento do núcleo Linux 2.6. 2006: lançamento do Windows Vista.

Referências Operating System Concepts. A. Silberschatz, P. Galvin e G. Gagne. 8 th edition. John Wiley & Sons, Inc. ISBN-13: 9780470128725 (2008). Modern Operating Systems. A.S. Tanenbaum. 3 rd edition. Prentice-Hall, ISBN-13 978-0136006633 (2007). Livro de Sistemas Operacionais. Carlos A. Maziero. Disponível em http://www.ppgia.pucpr.br/~maziero/ doku.php/so:livro_de_sistemas_operacionais. 2011 47