Aula 1 (Ref. - Cap. 1 do livro)

Documentos relacionados
COMPONENTES CENTRAIS DO SISTEMA OPERACIONAL. Prof. Eduardo H. S. Oliveira

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

Estrutura dos Sistemas Operacionais. Adão de Melo Neto

Sistemas Operacionais Aula 3

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

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

Estruturas de Sistemas Operacionais

Introdução aos Sistemas Operacionais

Estrutura do Sistema Operacional

Curso: Redes de Computadores

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

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

Fundamentos de Sistemas Operacionais de Arquitetura Aberta. CST em Redes de Computadores

Estrutura dos Sistemas Operacionais. Adão de Melo Neto

Sistemas Operacionais. Tipos de SO

Sistemas Operacionais. Visão Geral

Sistemas Operacionais (SO)

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

Prof. Gregorio Perez 2007

INTRODUÇÃO À TECNOLOGIA DA INFORMAÇÃO ESTRUTURA DE UM SISTEMA OPERACIONAL PROFESSOR CARLOS MUNIZ

Sistemas Operacionais

Sistemas Operacionais

Sistemas Operacionais João Bosco T. Junior. Sistemas Operacionais João Bosco Junior - V1.3

Conceitos básicos e serviços dos Sistemas Operacionais

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

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

Sistemas Operacionais

Sistemas Operacionais

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

Aula 2. Prof: Carlos Eduardo de Carvalho Dantas

Sistemas Operacionais Estrutura do Sistema Operacional. Arquiteturas do Kernel

SISTEMAS OPERACIONAIS

Sistemas Operacionais. Introdução

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

Sistemas Operacionais Visão Geral

Montagem e Manutenção

Estrutura dos Sistemas Operacionais. Adão de Melo Neto

Sistemas Operacionais. Estrutura do Sistema Operacional

Características de Sistemas Distribuídos

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)

Tipos de Sistemas Operacionais

Características de Sistemas Distribuídos

Sistema Operacional. Etapa

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

Blog: om.br/ Facebook:

Sistemas Distribuídos

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

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

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

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

Programação Paralela e Distribuída

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

Fundamentos de Sistemas Operacionais

Arquitetura de Computadores. Processamento Paralelo

TIPOS DE SISTEMAS OPERACIONAIS. Ademar Alves Trindade

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

Sistemas Operacionais Processos. Carlos Ferraz Jorge Cavalcanti Fonsêca

Sistemas Operacionais

INFORMÁTICA: Informação automática

Sistemas Distribuídos

Caracterização de Sistemas Distribuídos

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

IV Estrutura do Sistema Operacional

Estrutura do SO. Prof. Paulo Cesar F. de Oliveira, BSc, PhD

Conceitos de Sistemas Distribuídos

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

AULA 03: PROCESSAMENTO PARALELO: MULTIPROCESSADORES

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

Informática Sistemas Operacionais Aula 5. Cleverton Hentz

INTRODUÇÃO AOS SISTEMAS OPERACIONAIS SEMANA 07

Disciplina: Sistemas Operacionais

Informática. Sistemas Operacionais. Professor Márcio Hunecke.

Sistemas Operacionais. Introdução a Sistemas Operacionais

APOSTILA 2 - TUTORIA SISTEMAS OPERACIONAIS

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

SSC0640 Sistemas Operacionais I

Sistemas Operacionais

Processos ca 3 pítulo

Programação Concorrente

Sistemas Operacionais. Prof. André Y. Kusumoto

Introdução a Sistemas Operacionais

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

Prof. Esp. Fabiano Taguchi SOFTWARES

Sistemas Operacionais - Aula 02

Sistemas Distribuídos. Plano de Curso. Plano de Curso 04/03/12 ! EMENTA:

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

O uso consciente da tecnologia para o gerenciamento. Editora Saraiva Emerson de Oliveira Batista

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

SISTEMAS DISTRIBUÍDOS

Sistemas Operacionais

Sistema Distribuído. Sistema Distribuído. Aplicações Distribuídas. Conceitos Básicos

Sistemas Operacionais. Visão Geral

Parte I Multiprocessamento

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

Transcrição:

Sistemas Operacionais Aula 1 (Ref. - Cap. 1 do livro) Visão Geral; Evolução; Arquiteturas Aula 1 Slide 1 Sumário O que é um SO Funções e características de um SO Evolução dos SOs Principais arquiteturas de SOs Aula 1 Slide 2 s Pág. 1

Funções básicas de um SO O SO é composto por uma camada de software especial que se interpõe entre os aplicativos de usuários e o hardware de um computador O SO abstrai as especificidades e detalhes do hardware para o usuário final Existem duas formas de interação: CLI e GUI Desde a década de 60 o SO evoluiu a uma velocidade sem precedentes, juntamente com o hardware O software que contem os componentes centrais do SO é denominado núcleo (kernel) O SO gerencia os recursos de hardware (HW) e software (SW) de um sistema Primeiro programa a ser instalado Aula 1 Slide 3 Principais vertentes de SOs Os principais sistemas de mercado seguem duas vertentes: Sistemas fechados e abertos Windows Código proprietário (fechado) GUI mas cada vez mais oferecendo CLI Pago (licenciamento) Linux Código disponibilizado livremente (aberto) CLI mas cada vez mais oferecendo GUI Gratuito É importante notar que os dois projetos seguem padrões da indústria e a intercomunicação entre SOs diferentes torna-se cada vez mais comum nas empresas Aula 1 Slide 4 s Pág. 2

Evolução: Décadas de 40 e 50 Os primeiros computadores digitais eletrônicos não tinham SOs e eram configurados através de lingugem de máquina e comutadores mecânicos Dadas as dificuldades do processo surgiram as perfuradoras de cartão e a linguagem assembly No início dos anos 50 surgiu o processamento em lote de fluxo único (batch) para atender job O job é um conjunto de instruções de programas correspondente a uma tarefa particular Os programadores precisavam controlar recursos diretamente, como memória e E/S Os primeiros SOs eram usados simplesmente para controlar jobs e exigiam de um programa fosse carregado por inteiro na memória para poder executar Aula 1 Slide 5 Evolução: Década de 60 Carregamento e execução simultânea de jobs orientados a processamento e E/S, servindo como base para a multiprogramação Surge a figura do usuário que interage um o computador central on-line através de terminais, servindo como base para os sistemas tempo compartilhado (time-sharing), reduzindo de modo drástico o tempo de retorno dos processos Surgem os conceitos de processo, multiprogramação e multiprocessamento Os SOs ganharam características de processo em lote e tempo real No final da década surgem os primeiro SOs que implementam memória virtual Aula 1 Slide 6 s Pág. 3

Evolução: Década de 70 Evolução na eletrônica através de VLSI (very large scale integration) que permite miniaturização e redução de custos Protocolo TCP/IP se firmando como padrão de comunicação por software Redes Ethernet se firmando como tecnologia base de hardware para rede Surgimento das LANs e implementação dos primeiros SORs A comunicação através de LAN e WANs chamou a atenção para os problemas de segurança em redes Surgiram as linguagens Pascal e C, empresas como Apple e Microsoft e o processador Intel 8080 Aula 1 Slide 7 Evolução: Década de 80 Surgimento do conceito de computador pessoal (PC) e estação de trabalho (Workstation) Surgiram as primeiras GUIs e, com isso, o uso e aprendizado do computador se tornou mais fácil Softwares como processador de texto, planilha, aplicativos de BD e aplicativos gráficos ajudaram a popularizar o PC e levá-lo para as empresas Aparecimento da arquitetura cliente / servidor e dos primeiros sistemas distribuídos SOs multiusuários começam a aparecer Aula 1 Slide 8 s Pág. 4

Evolução: Internet e WWW A evolução da ARPAnet formou a Internet, e permitiu o surgimento de uma rede mundial de computadores baseada em TCP/IP A largura de banda cresceu e os custos de HW e comunicação caíram vertiginosamente A World Wide Web (WWW) trouxe capacidades de gráfico, áudio e vídeo para aplicativos de rede O FTP possibilitou a troca de arquivos entre sistemas diferentes O correio eletrônico implemento um novo padrão de comunicação mais ágil e mais econômico A integração entre SO e Internet passou a ser um fator chave nos projetos dos SOs modernos Aula 1 Slide 9 Evolução: Década de 90 O desempenho continuou a melhorar de forma exponencial: O PC já ganha capacidades de armazenar 1 GB em disco rígido (HD) e executar milhões de instruções por segundo (MIPS) A computação distribuída em computadores de pequeno porte começou a substituir os sistemas de grande porte, dado o seu alto custo Surgimento do DOS e Windows A tecnologia de orientação a objeto começou a se tornar popular na programação e, com isso, surgiram os primeiros SOs orientados à objetos Os aplicativos ficaram mais sofisticados Cresce o movimento em favor do software livre Aula 1 Slide 10 s Pág. 5

Evolução: 2000 em diante Uso cada vez mais intensivo de middleware e serviços web, por de conexões de banda larga Linguagens de programação sequencial são substituídas por linguagens concorrentes e o uso de threads nos aplicativos tornam-se comuns Os SOs dão suporte à vários processadores e o uso de paralelismo maciço vem aumentando Padronização de interfaces gráficas e APIs para melhorar a compatibilidade entres SOs Dispositivos móveis e redes wireless ganham cada vez mais espaço no mundo da computação Aula 1 Slide 11 Classificação dos SOs Quanto ao número de aplicativos Monoprogramação (monotarefa) Multiprogramação (multitarefa) Quanto ao número de usuários Monousuário Multiusuário Quanto a quantidade de processadores Monoprocessado Multiprocessado (simétrico e assimétrico) Fortemente acoplados Fracamente acoplados Quanto ao tipo de trabalho Lote (batch) Tempo compartilhado (time-sharing) Tempo real Aula 1 Slide 12 s Pág. 6

Ambientes de SOs Sistemas de uso geral Sistemas embarcados Sistemas de tempo real Ambientes de missão crítica Máquina virtual (VM) Máquina virtual Java (JVM) Aula 1 Slide 13 Contexto do SO Através de uma aplicação, o usuário interage com o SO por meios de seu Shell (também conhecido com interpretador de comandos) O SO oferece uma série de APIs que os aplicativos usam para realizar operações detalhadas ao nível de hardware, através do núcleo do SO O software que contem os componentes centrais de um SO é conhecido como núcleo (ou kernel), sendo as principais rotinas: Escalonador de processo Gerenciador de memória Gerenciador de E/S Gerenciador do sistema de arquivos Gerenciador de comunicação interprocessos (IPC) Os componentes centrais do SO comunicam-se com o hardware, através de drivers de dispositivos Aula 1 Slide 14 s Pág. 7

Metas de um SO No projeto de um SO, alguns fatores podem ser conflitantes e o projetista preciso fazer opções Algumas das características mais desejadas nos SOs são listadas a seguir: Baixo custo Estabilidade em condições extremas de uso (robustez) Segurança forte e rastreabilidade Alto desempenho e eficiência Escalabilidade Administração, suporte e extensibilidade (manutenibilidade) Oferecimento de uma ampla gama de serviços e aplicativos Disponibilidade dos serviços incorporados (funcionamento redundante ou em cluster) Facilidade de uso e aprendizado (usabilidade) Facilidade para criação de aplicativos e drivers Portabilidade Conformidade com padrões internacionais Aula 1 Slide 15 Arquiteturas de SO A arquitetura do SO define como seus diversos componentes se relacionam e interagem O SO é um software grande e complexo A arquitetura do SO permite aos projetistas gerenciar a complexidade, definindo a organização de seus componentes e privilégios de execução Um SO de mercado pode se enquadrar em uma ou mais dessas arquiteturas A principais arquiteturas encontradas são: Monolítica Em camadas Micronúcleo Distribuída através de redes Aula 1 Slide 16 s Pág. 8

Arquitetura monolítica Arquitetura mais antiga e mais comum Os componentes do SO são contidos no núcleo e interagem livremente entre si As funções do núcleo tem acesso irrestrito ao hardware Não há mudança de modo e, com isso, o sistema tende a ser por um lado mais eficiente mas, por outro lado, também é mais suscetível à códigos mal feitos ou maliciosos que estão rodando no modo usuário Difícil de isolar fontes de problemas e erros Aula 1 Slide 17 Arquitetura monolítica Aplicativo Aplicativo Aplicativo System Call Modo usuário Modo kernel Módulo Módulo Módulo Módulo Módulo Hardware Módulo Módulo Aula 1 Slide 18 s Pág. 9

Arquitetura em camadas Dada a complexidade da arquitetura monolítica, foi criada a arquitetura em camadas e organizar os componentes que realizam tarefas similares Uma camada comunica-se somente com a camada de cima e a camada de baixo Uma camada pode ser modificada sem causar efeitos em outras camadas Camadas de nível mais baixo prestam serviços às de nível mais alto usando uma interface que oculta sua implementação A requisição de um processo pode ter que passar por várias camadas, invocando métodos adicionais de passagem de parâmetros entre camadas e, com isso, degradando o desempenho Aula 1 Slide 19 Arquitetura em camadas Aplicativo Aplicativo Aplicativo System Call Gerenciamento de E/S Modo usuário Modo kernel Interpretador de mensagem Gerenciamento de memória Alocação de processador e escalonamento de processo Hardware Aula 1 Slide 20 s Pág. 10

Arquitetura de micronúcleo Na tentativa de manter o núcleo pequeno e simples, seus serviços são reduzidos ao máximo Só as principais funções como o gerenciamento de memória e comunicação / sincronização entre processos são mantidos no núcleo Gerenciamento de processos, dispositivos, rede e sistema de arquivos vão para fora do núcleo e rodam com privilégio mais baixo Como um componente não depende do outro, a falha em um deles é menos perceptível ao SO e aos aplicativos Essa arquitetura de micronúcleo exibe um alto grau de modularidade, o que a torna portável, extensível e escalável Arquitetura pouco implementada na prática Aula 1 Slide 21 Arquitetura de micronúcleo Aplicativo Aplicativo Aplicativo Aplicativo System Calls Sistema de arquivos Escalonador de processos Gerenciador de dispositivos GDI Gerenciador de Rede Mensagens Mensagens Mensagens Mensagens Modo usuário Modo kernel Microkernel Hardware Aula 1 Slide 22 s Pág. 11

Arquitetura distribuída Um sistema operacional distribuído gerencia recursos em mais de um sistema de computador Em vez de simplesmente cooperar com outros computadores em rede, como ocorre nos SORs, os sistemas distribuídos, através de seus SOs, controlam vários computadores de uma rede Passam a ilusão de que vários computadores compõem um único computador de grande poder Um processo poderá acessar recursos em outros computadores pela rede, independente da sua localização física Requerem algoritmos complicados para permitir comunicação e compartilhamento transparentes Arquitetura muito estudada atualmente Aula 1 Slide 23 Arquitetura distribuída Aula 1 Slide 24 s Pág. 12

modelos de hardware, suporta multitarefa, processamento multiusuário e redes. Exercícios 1. (Petrobras 2005) Na arquitetura de um sistema operacional em camadas, o sistema é dividido em vários níveis ou camadas, onde cada camada oferece um conjunto de funções que podem ser utilizadas apenas pelas camadas superiores. Para este tipo de estruturação são consideradas como vantagens: I - isolar as funções do sistema operacional, facilitando sua manutenção e depuração; II - criar uma hierarquia de níveis de modos de acesso, protegendo as camadas mais internas; III - criar um nível intermediário entre o hardware e o sistema operacional. Está(ão) correta(s) a(s) afirmativa(s): (A) I, apenas. (B) II, apenas. (C) III, apenas. (D) I e II, apenas. (E) I, II e III. 2. (TCU 2002) Analise as seguintes afirmações relativas a Sistemas Operacionais: I. O Windows 95 é um sistema operacional de 32 bits com uma GUI simplificada, utiliza comandos textuais e limita o uso da memória a programas que requerem menos de 640 Kbytes. Seu substituto, o Windows 98, passou a suportar multitarefa, permitiu um melhor desempenho em rede e facilitou o acesso à internet; II. O Windows NT surgiu como um sistema operacional de 32 bits, existente em duas versões, uma para servidor de rede e outra para computadores ligados à rede, pode suportar mais de uma CPU e não está limitado a processadores da Intel; III. O DOS é um sistema operacional para PCs IBM e compatíveis. Pode beneficiar-se do multiprocessador de 32 bits, suporta multitarefas e redes, e pode executar grandes programas que exigem mais de 640 Kbytes de memória; IV. O UNIX é um sistema operacional para PCs poderosos, workstations e minicomputadores, utilizável em diferentes Indique a opção que contenha todas as afirmações verdadeiras. a) I e II b) II e III c) III e IV d) I e III e) II e IV 3. (TCU 2002) Analise as seguintes afirmações relativas a sistemas distribuídos: I. Um sistema distribuído é uma coleção de processadores que compartilham memória. II. Um sistema distribuído é uma coleção de processadores fracamente acoplados interconectados por uma rede de comunicação. Do ponto de vista de um processador específico em um sistema distribuído, os demais processadores e seus respectivos recursos são remotos, enquanto seus próprios recursos são locais. III. Em um sistema operacional distribuído, os usuários acessam recursos remotos da mesma forma que fazem com os recursos locais. IV. A grande desvantagem de um sistema distribuído é que, como acontece na Internet, se um site falhar os outros sites envolvidos também irão parar. Indique a opção que contenha todas as afirmações verdadeiras. a) I e II b) II e III c) III e IV d) I e III e) II e IV 4. (TCU 2002) Analise as seguintes afirmações relativas a sistemas operacionais distribuídos: I. Um sistema distribuído pode ser definido como uma coleção de processadores fracamente acoplados, interconectados por uma rede de comunicação. s Pág. 13

II. Um sistema distribuído pode ser definido como uma coleção de processadores que não compartilham memória nem relógio. III. Um sistema distribuído pode ser definido pela capacidade que um único processador tem para distribuir várias tarefas simultaneamente. IV. Em um sistema operacional distribuído os usuários só podem acessar recursos locais. Indique a opção que contenha todas as afirmações verdadeiras. a) I e II b) II e III c) III e IV d) I e III e) II e IV 5. São vantagens de um sistema distribuído: I. Eles comportam-se como se fossem um único computador de grande desempenho II. Um processo poderá acessar quaisquer recursos do sistema, independente de onde eles estiverem sendo executado II Sua implementação é fácil e rápida Indique a opção que contenha todas as afirmações verdadeiras. a) I,II e III b) I e II c) I e III d) II e III 7. Um sistema que apresenta paralelismo maciço. a) possui um processador que executa partes distintas do processamento ao mesmo tempo b) possui um grande número de processadores que executam partes distintas do processamento de modo simultâneo c) comunica-se através de uma rede e distribui as tarefas entre vários computadores independentes d) NRA 8. O conjunto de rotinas de software que contem as principais funções de um SO é chamado de? a) controlador b) ULA c) kernel d) driver 6. Um sistema operacional pode ser adaptado com facilidade às novas tecnologias e pode ser modificado para executar tarefas além do seu projeto original; já um sistema operacional é projetado falhar o mínimo possível e também não permitir que um programa mal comportado desestabilize seu funcionamento. a) robusto / portável b) extensível / portável c) escalável / extensível d) extensível / robusto Gabarito Exercício Resposta 1 D 2 E 3 B 4 A 5 B 6 D 7 B 8 C s Pág. 14