SISTEMAS OPERACIONAIS



Documentos relacionados
Sistemas Operacionais

SISTEMAS OPERACIONAIS. Apostila 03 Estrutura do Sistema Operacional UNIBAN

Figura 01 Kernel de um Sistema Operacional

Sistemas Operacionais

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

Arquitetura de Sistemas Operacionais Machado/Maia. Arquitetura de Sistemas

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

SO Sistemas Operacionais

4 Estrutura do Sistema Operacional Kernel

Sistemas Operacionais. Estruturas de SO. Edeyson Andrade Gomes.

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

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

SISTEMAS OPERACIONAIS

Estrutura, Processos e Threads

SISTEMAS OPERACIONAIS

Sistemas Operacionais

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

Sistemas Operacionais

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

SISTEMAS OPERACIONAIS 2007

Arquitetura de Computadores. Introdução aos Sistemas Operacionais

Sistemas Operacionais. Conceitos de um Sistema Operacional

Sistemas Operacionais. Roteiro. Hardware. Marcos Laureano

Sistemas Operacionais 2014 Introdução. Alexandre Augusto Giron

Fundamentos de Sistemas Computacionais Introdução

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

ESTUDO DE CASO WINDOWS VISTA

ESTRUTURA DE UM SISTEMA OPERACIONAL

7 Processos. 7.1 Introdução

Capítulo 8. Software de Sistema

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

1º Estudo Dirigido. Capítulo 1 Introdução aos Sistemas Operacionais

Visão Geral de Sistemas Operacionais

6 - Gerência de Dispositivos

Introdução. Sistemas Operacionais

Introdução aos Computadores

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

Sistemas Operacionais

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

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

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

Sistemas Operacionais

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

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

FundamentosemInformática

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

Sistema Operacional LINUX

Sistemas Operacionais

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

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

Arquitetura de Sistemas Operacionais

Virtualização de Sistemas Operacionais

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

SISTEMAS OPERACIONAIS. Maquinas Virtuais e Emuladores

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

Sistemas Operacionais Gerência de Dispositivos

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

Sistemas Operacionais

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

Sistemas Operacionais Introdução

Conceitos Básicos sobre Sistemas Operacionais

Organização e Arquitetura de Computadores I. de Computadores

Introdução à Linguagem Java

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

Sistemas Operacionais

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

ADMINISTRAÇÃO DE SISTEMA OPERACIONAL DE REDE (AULA 1)

Dispositivos de Memória

Hardware (Nível 0) Organização. Interface de Máquina (IM) Interface Interna de Microprogramação (IIMP)

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

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

3 Revisão de Software

8 Threads. 8.1 Introdução

Sistemas Operacionais

Processos. Adão de Melo Neto

Introdução à Sistemas Operacionais. Glauber Magalhães Pires

Modelos de Arquiteturas. Prof. Andrêza Leite

Sistemas Distribuídos

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

Introdução aos Sistemas Operativos

Resumo. Prof. Alejandro - Introdução à Sistemas Operacionais Resumo Informativo, complemente o material assistindo as Aulas 19/08/2015 1

Sistemas Distribuídos. Professora: Ana Paula Couto DCC 064

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

Introdução ao Modelos de Duas Camadas Cliente Servidor

Sistemas Operacionais Introdução

Sistemas Distribuídos

Sistemas Operacionais Aula 06: Threads. Ezequiel R. Zorzal

I N F O R M Á T I C A. Sistemas Operacionais Prof. Dr. Rogério Vargas Campus Itaqui-RS

ARQUITETURA DE COMPUTADORES E SISTEMAS OPERACIONAIS P/ CONCURSOS PÚBLICOS FOCO: ESAF/CESGRANRIO/FCC. Prof. Almeida Jr

Processos (Threads,Virtualização e Migração de Código)

Sistemas Distribuídos

FBV - Linguagem de Programação II. Um pouco sobre Java

Sistema Operacional Ex: Complexo Computador multiusuário com vários terminais Tem que administrar todos os pedidos de usuários e assegurar que eles

Sistemas Operacionais

Um Driver NDIS Para Interceptação de Datagramas IP

Transcrição:

SISTEMAS OPERACIONAIS Tópico 4 Estrutura do Sistema Operacional Prof. Rafael Gross prof.rafaelgross@fatec.sp.gov.br

FUNÇÕES DO NUCLEO As principais funções do núcleo encontradas na maioria dos sistemas comerciais estão listadas a seguir: - tratamento de interrupções e exceções; - criação e eliminação de processos e threads; - sincronização e comunicação entre processos e threads; - escalonamento e controle dos processos e threads; - gerência de memória; - gerência do sistema de arquivos; - gerência dos dispositivos de E/S; - suporte a redes locais e distribuídas; - contabilização do uso do sistema; - auditoria e segurança do sistema.

Modos de Acesso Em Geral os processadores possuem 2 modos de acesso: Modo usuário- Quando o processador está nesse modo só pode executar instruções conhecidas como não privilegiadas. Modo Kernel Nesse modo pode ter acesso ao conjunto total da instrução no processador. Instruções previlegiadas : São instruções que só devem ser executadas pelo sistema operacional ou sob sua supervisão, impedindo assim a ocorrencia de problemas de segurança e integridade do sistema.

ROTINAS DO SISTEMA OPERACIONAL E SYTEM CALLS As rotinas do sistema operacional compoem o núcleo do sistema, oferecendo serviços aos usuários e suas aplicações. Rotinas possuem um acesso privilegiado para poderem ser executas pelo processador isso exige que estejam em modo kernel, que exige um mecanismo de proteção garantindo a confiabilidade do sistema. O controle das rotinas no sistema operacional é chamado de Sytem Calls. Sytema Calls verifica se aplicação possui privilégios e essa verificação garante uma melhor segurança nas operações que iram ser realizadas pelo processador.

CHAMADA AS ROTINAS DO SISTEMA OPERACIONAL As rotinas do sistema operacional e o mecanismo de Sytem call pode ser entendido como uma porta de entrada para o núcleo do sistema operacional e seus serviços. Funçoes Gerência de processo e Threads Gerência de memória Gerência de arquivos Gerência de Dispositivo System Calls Criação e eliminação de Threads Alteração das caracteristicas de processo e Threads Alocação e desalocação de memória Criar, eliminar arquivos e diretórios Operação de entrada e saida em dispositivos.

Interpretador de Comandos (Shell) O interpretador de comando é um processo que perfaz a interface do usuário com o sistema operacional. Este processo lê o teclado a espera de comandos, interpreta-os e passa seus parâmetros ao sistema operacional. Serviços como login/logout, manipulação de arquivos, execução de programas, etc, são solicitados através do interpretador de comandos.

LINGUAGEM DE COMANDO linguagem de comando ou linguagem de controle, permite ao suário se comunique de uma forma simples com o sistema peracional. s comando usados são interpretados pelo Shell, ou interpretador e comandos, que verifica a sintaxe do comando e faz chamada a otina. Unix Bourne Shell, C Shell, Korn Shell xemplo: COMANDO dir cd type del mkdir DESCRIÇÃO Lista os arquivos e diretorios Altera o diretório atual Exibe o conteudo do arquivo Elimina arquivos Cria diretório

ATIVAÇÃO / DESATIVAÇÃO do SISTEMA Boot loader- Localizado na memória ROM da máquina. Processo de desativação na maioria dos sistema operacionais exite o processo de shutdown, com isso o sistema operacional é desativado de uma maneira ordenada, garantindo desta forma, sua integridade

ARQUITETURA DO NÚCLEO Os primeiro sistemas operacionais foram desenvolvido integralmente em assembly que tinha cerca de 1 milhão de instruções, nos dias atuais com aplicação de liguagem de alto nivel os sistemas operacionais tem por volta de 20 milhões de instruções. A estrutura do núcleo do sistema operacional, a maneira como o código do sistema é organizado e interelaciona como seus diversos componentes.

Arquitetura Monolítica A arquitetura monolítica pode ser comparada com uma aplicação formada por vários módulos que são compilados separadamente e depois linkados (ligados), formando um grande e único programa executável, onde os módulos podem interagir livremente. Os primeiros sistemas operacionais foram desenvolvidos com base neste modelo, o que torna seu desenvolvimento e, principalmente, sua manutenção bastante difícil. Devido a sua simplicidade e bom desempenho, a estrutura monolítica foi adotada no projeto MS-DOS e nos primeiros sistemas UNIX.

Arquitetura Monolítica

Arquitetura de Camadas Com o aumento da complexidade e do tamanho do código do sistema operacionais, técnicas de programação estruturada e modular foram incorporadas ao seu projeto. Na arquitetura de camadas, o sistema é dividido em níveis de sobrepostos. Uma grande vantagem desse modelo é isolar as funções do sistema operacional, facilitando sua programação e depuração, além de criar uma hierarquia de níveis de acesso protegendo as camadas mais internas. Uma desvantagem é o desempenho. Cada nova camada implica em mudanças no modo de acesso. Atualmente a maioria dos sistemas operacionais comerciais utiliza o modelo de duas camadas, onde existem os modos de acesso usuário (não-privilegiado) e kernel (privilegiado). As maiorias das versões do Unix e o Windows 2000 da Microsoft estão baseados neste modelo.

Máquina Virtual Um sistema computacional é formado por níveis, onde a camada de nível mais baixa é o hardware. Acima desta camada encontramos o sistema operacional, que oferece suporte às aplicações. O modelo de máquina virtual, ou virtual machine (VM), cria um nível intermediário entre o hardware e o sistema operacional, denominado gerência de máquinas virtuais. Este nível cria diversas máquinas virtuais independentes, onde cada uma oferece uma cópia virtual do hardware, incluindo os modos de acesso, interrupções, dispositivos de E/S, etc. Como cada máquina virtual é independente das demais, é possível que cada VM tenha seu próprio sistema operacional e que seus usuários executem suas aplicações como se todo o computador estivesse dedicado a cada um deles.

Qualquer sistema operacional pode suportar uma aplicação Java, desde que exista uma JVM desenvolvida para ele. Desta forma, a aplicação não precisa ser recompilada para cada sistema computacional, tornando-se independente do hardware e do sistema operacional utilizados. A desvantagem deste modelo é seu menor desempenho se comparado a uma aplicação compilada e executada diretamente em uma arquitetura específica. Máquina Virtual Além de permitir a convivência de sistemas operacionais diferentes no mesmo computador, este modelo cria o isolamento total entre cada VM, oferecendo grande segurança para cada máquina virtual. Uma desvantagem desta arquitetura é sua grande complexidade, devido à necessidade de se compartilhar e gerenciar os recursos do hardware entre as diversas VMs. Outro exemplo de utilização desta arquitetura ocorre na linguagem Java, desenvolvida pela Sun Microsystems. Para se executar um programa em Java é necessário uma máquina virtual Java (Java Virtual Machine JVM).

Arquitetura Microkernel Uma tendência nos sistemas operacionais modernos é tornar o núcleo do sistema operacional menor e mais simples possível. Para implementar esta idéia, os serviços do sistema são disponibilizados através de processos, onde cada um é responsável por oferecer um conjunto específico de funções, como gerência de arquivos, gerência de processos, gerência de memória e escalonamento. O conceito de arquitetura microkernel surgiu no sistema operacional Mach, na década de 1980, na Universidade Carnegie- Mellon. O núcleo do sistema Mach oferece basicamente quatro serviços: gerência de processos, gerência de memória, comunicação por troca de mensagens e operações de E/S, todos em modo usuário.

Arquitetura Microkernel Sempre que uma aplicação deseja algum serviço, é realizada uma solicitação ao processo responsável. A aplicação solicitante é chamada de cliente, enquanto que o processo que responde à solicitação é chamado de servidor. A principal função do núcleo é realizar a comunicação, ou seja, a troca de mensagens entre o cliente e o servidor. A utilização deste modelo permite que os servidores executem em modo usuário, ou seja, não tenham acesso direto a certos componentes do sistema. Apenas o núcleo do sistema, responsável pela comunicação entre os clientes e servidores, executa no modo kernel. Como conseqüência, se ocorrer um erro em um servidor, este poderá parar, mas o sistema não ficará inteiramente comprometido, aumentando assim a sua disponibilidade.