Estrutura do Sistema Operacional. Inicialmente... Inicialmente... 17/08/2011. Ademar Alves Trindade

Documentos relacionados
IV Estrutura do Sistema Operacional

Sistemas Operacionais. Estrutura do Sistema Operacional

Sistemas Operacionais. Estrutura do Sistema Operacional: Modos de Acesso

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

Estrutura do Sistema Operacional

Estrutura dos Sistemas Operacionais. Adão de Melo Neto

Conceitos. Pedro Cruz. EEL770 Sistemas Operacionais

Estrutura dos Sistemas Operacionais. Adão de Melo Neto

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

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

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

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

Sistemas Operacionais Processos. Carlos Ferraz Jorge Cavalcanti Fonsêca

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

Sistemas de Informação. Sistemas Operacionais

Sistemas operacionais INTRODUÇÃO

Introdução aos Sistemas Operacionais

Sistema Operacional. Etapa

Sistemas Operacionais I

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

Sistemas Operacionais I

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

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

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

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

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

Sistemas Operacionais. Prof. Fabio Augusto Oliveira

Estruturas de Sistemas Operacionais

Sistemas Operacionais Prof. Esp. André Luís Belini Bacharel em Sistemas de Informações MBA em Gestão Estratégica de Negócios. Aula 06.

Sistemas Operacionais

Chamadas de Sistema (SYSCALL)

Aula 5 Arquitetura do Sistema Operacional

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

Gerência de Dispositivos. Adão de Melo Neto

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

Sistemas Operacionais. BSI / UAB 2013 Hélio Crestana Guardia

Sistemas Operacionais. Processos e Threads

Conceitos básicos e serviços dos Sistemas Operacionais

Sistemas Operacionais

Sistemas Operacionais Aula 3

Capítulo 2. Multiprogramação. Conteúdo. Objetivo. Recordando. Recordando. DCA-108 Sistemas Operacionais

Aula 02 Sistemas Multiprogramáveis

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

Sistemas Operacionais Estrutura do Sistema Operacional. Arquiteturas do Kernel

Sistemas de Informação. Sistemas Operacionais

Introdução à Sistemas Operacionais

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

Sistemas Operacionais

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

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

Sistemas Operacionais. Visão Geral

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

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

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

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

Sistemas Operacionais

SSC510 Arquitetura de Computadores 1ª AULA

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

Exercícios de Sistemas Operacionais 3 B (1) Gerência de Dispositivos de Entrada e Saída

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

Sistemas Operacionais

Roteiro 20/9/2010. Serviço do sistema operacional. Interface. Chamadas de sistemas (System Call) Programas do sistema Projeto e Implementação

Sistemas Operacionais

Gerência de Dispositivos. Adão de Melo Neto

Fundamentos de Sistemas Operacionais. Threads. Prof. Edwar Saliba Júnior Março de Unidade Threads

Montagem e Manutenção

Sistemas Operacionais (SO)

AULA 06: PROGRAMAÇÃO EM MÁQUINAS PARALELAS

Sistemas Operacionais. Interrupção e Exceção

Sistemas Operacionais. Entrada/Saída

SOP Sistemas Operacionais Módulo 04: Processo

Sistemas Operacionais. Introdução a Sistemas Operacionais

Informática básica. Professor: Francisco Ary

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

Arquitetura de Sistemas Operacionais

INTRODUÇÃO A SISTEMAS OPERACIONAIS

Função Fundamental do SO

Sistemas Operacionais

Sistemas Operacionais II. Prof. Gleison Batista de Sousa Aula 01

Processos. Adão de Melo Neto

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

Introdução. Introdução aos Sistemas Operacionais Volnys Bernal. Sumário. Introdução aos Sistemas Operacionais. Sobre esta apresentação

Técnicas Avançadas de Programação

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

Componentes do Sistema Operacional (Parte 2)

Arquitetura de Computadores

SISTEMAS OPERACIONAIS

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

Introdução aos Sistemas Operacionais

SOP - TADS Fundamentos de Sistemas Operacionais

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

ESTRUTURA DOS SISTEMAS OPERACIONAIS

Arquitetura de Sistemas Operacionais Francis Berenger Machado / Luiz Paulo Maia (Material Adaptado)

AULA Nº 08 SISTEMAS OPERACIONAIS. Threads

Introdução aos Sistemas Operacionais

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

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

Sistemas Operacionais. Prof. Andrique Amorim

Transcrição:

Estrutura do Sistema Operacional Ademar Alves Trindade Inicialmente... Sistema Operacional: não é composto por uma sequência de início, meio e fim como um aplicativo/programa. Baseado em eventos, de forma assíncrona. Assim, é formado por um conjunto de rotinas (procedimentos, tarefas) que oferece serviços aos usuários e aplicações, denominado núcleo do sistema ou kernel. Inicialmente... Um usuário pode se comunicar com o kernel por intermédio das chamadas rotinas do sistema realizadas por aplicações (usuários), por meio de utilitários (sistema) ou linguagem de comandos. 1

Inicialmente... Resumindo... O kernel representa a camada de software mais próxima ao hardware. Segundo alguns autores, o kernel é o seu coração, sua mente e seu sistema nervoso. Ele é responsável exclusivamente pelo transporte das informações de mais baixo nível que tornam todas as outras tarefas possíveis. Fazendo malabarismos com diversos processos que ocorrem simultaneamente, gerenciando sua memória de forma que não interfiram uns nos outros, satisfazendo suas solicitações de acesso a um disco e muito mais. Resumindo... 2

Funções do Núcleo Rotinas executadas concorrentemente, sem ordem pré-definida, tendo como base eventos assíncronos. Muitos desses eventos estão relacionados ao hardware e a tarefas internas do próprio SO. Funções do Núcleo Tratamento de interrupções e exceções; Criação e eliminação de processos; Sincronização e comunicação entre processos; Escalonamento e controle dos processos. Funções do Núcleo Gerência de memória; Gerência do sistema de arquivos; Gerência de dispositivos de E/S; 3

Funções do Núcleo Suporte a redes locais e distribuídas; Contabilização do uso do sistema; Auditoria e segurança do sistema. Resumindo... Basicamente o kernel começa a funcionar assim que o computador é ligado, nesse momento ele inicia a detecção de todo o hardware indispensável. O SO é carregado em seguida espera que o usuário faça seu login, feito isso o Kernel passa a administrar as principais funções dentro do SO, isso inclui por exemplo o gerenciamento da memória, dos processos, dos arquivos e de todos os dispositivos. Resumindo... Ele é o responsável por garantir que todos os programas terão acesso aos recursos de que necessitam (memória RAM, por exemplo) simultaneamente, fazendo com que haja um compartilhamento concorrente. 4

Resumindo... Exemplo: diversos usuários compartilham os mesmos recursos. Isso exige que o Sistema Operacional garanta a confiabilidade na execução concorrente de todos os programas e nos dados dos usuários, além da garantia da integridade do próprio SO. Modos de Acesso Muitas das principais implementações de segurança de um sistema operacional itilizam um mecanismo presente no hardware dos processadores, conhecido como modo de acesso. Em geral, os processadores possuem dois modos de acesso: modo usuário e modo kernel Modos de Acesso Modo usuário: Uma aplicação só pode executar instruções conhecidas como não privilegiadas, tendo acesso a um número reduzido de instruções. Modo kernel: Uma aplicação pode ter acesso ao conjunto de instruções do processador. 5

Modos de Acesso Instruções privilegiadas: têm o poder de comprometer o sistema. O modo de acesso é um mecanismo para impedir problemas de segurança e até mesmo violação do sistema. Modos de Acesso Apenas o SO tem acesso as instruções privilegiadas. Exemplo:Uma aplicação necessita de um serviço que pode colocar o sistema em risco. Modos de Acesso 1) Solicitação é realizada através de uma system call (Chamada do Sistema). 2) System Call altera o modo de acesso do processador para modo kernel. 3) Se caso um programa tente executar uma instrução privilegiada, sem o processador estar em modo kernel, uma execução é gerada e o programa é encerrado. 6

Modos de Acesso 4) Se for permitido ele executa a tarefa solicitada 5) O modo de acesso é retornado para o modo usuário ao término da rotina do sistema. Modos de Acesso Instruções privilegiadas não devem ser usadas de maneira indiscriminada pelas aplicações. Exemplo: A aplicação atualize um arquivo em disco. Como o disco é um recurso compartilhado, sua utilização deverá ser gerenciada unicamente pelo sistema operacional. Modos de Acesso Proteção ao núcleo: Caso uma aplicação tenha acesso a áreas de memória onde está carregado o sistema operacional, um programador mal-intencionado ou Estrutura do Sistema Operacional um erro de programação poderia gravar nesta área, violando o sistema causando-o sérios danos. 7

As rotinas do sistema operacional compõem o núcleo do sistema. Todas as funções do núcleo são implementadas por rotinas do sistema que necessariamente possuem em seu código Estrutura do Sistema Operacional instruções privilegiadas. Para que estas rotinas possam ser executadas o processador deve estar obrigatoriamente em modo kernel, o que exige a implementação de mecanismos de proteção para garantir a confiabilidade do sistema. O controle de execução de rotinas do sistema operacional é realizado pelo mecanismo conhecido como system calls. Toda vez que uma aplicação desejar chamar uma rotina do SO, o mecanismo de system call é ativado. Inicialmente, o SO verifica se a aplicação possui privilégios necessários para executar a rotina desejada. Em caso negativo... SO impedirá o desvio para a rotina do sistema, sinalizando ao programa chamador que a operação não é possível. Este é um mecanismo de proteção por software, no qual o SO garante que as aplicações só poderão executar rotinas previamente autorizadas, que é realizada pelo administrador do sistema. 8

Em caso afirmativo... SO salva o conteúdo corrente nos registradores, troca o modo de acesso do processador de usuário para kernel e realiza o desvio para a rotina alterando o registrador PC com o endereço da rotina chamada. Ao término da execução da rotina do sistema, o modo de acesso é alterado de kernel para usuário e o contexto dos registradores restaurados para que a aplicação continue a execução. Este é um mecanismo de proteção por software. 9

Caso uma aplicação tente executar diretamente uma instrução privilegiada sem ser por intermédio de uma chamada à rotina do sistema, um mecanismo de proteção por hardware (implementado no hardware do processador) garantirá a segurança do sistema, impedindo a operação, sinalizando uma exceção. Concluindo... Os mecanismos de system call e de proteção por hardware garantem a segurança e a integridade do sistema. Eles impedem que aplicações executem instruções privilegiadas sem a autorização e supervisão do sistema operacional. Exemplos de chamadas ao sistema Gerência de processos: pid = fork() waitpid(pid, &statloc, options) execve(name, argv, environp) exit(status) 10

Exemplos de chamadas ao sistema Gerência de arquivos open(file, how) close(fd) read(fd, buffer, nbytes) write(fd, buffer, nbytes) lseek(fd, offset, whence) Exemplos de chamadas ao sistema Gerência de arquivos e diretórios mkdir(name,mode) rmdir(name) link(name1,name2) mount(special,name,flag) Exemplos de chamadas ao sistema Diversas chdir(dirname) chmod(name,mode) kill(pid,signal) 11

As rotinas do sistema e o mecanismo de system call podem ser entendidas como uma porta de entrada para o núcleo do SO e a seus serviços. Sempre que uma aplicação desejar algum serviço do sistema, deve ser realizada uma chamada a uma de suas rotinas através de uma system call. 12

Por intermédio dos parâmetros fornecidos na system call, a solicitação é processada e uma resposta é retornada à aplicação juntamente com um estado de conclusão indicando se houve erro. O termo System Call é tipicamente utilizado em sistems UNIX, porém em outros sistemas o mesmo conceito é apresentado com diferentes nomes. System Services no Open VMS. Aplication Program Interface (API) no Windows. Cada SO possui seu própio conjunto de rotinas, com nomes, parâmetros e formas de ativação peculiares. Uma aplicação desenvolvida utilizando serviços de um determinado SO não pode ser portada diretamente para um outro sistema, exigindo algumas correções no códigofonte. 13

Exemplo do uso de uma API. GetSystemTime(SystemTime); DataHoraT := SystemTimeToDateTime(SystemTime); DataHoraS := DateTimeToStr(DataHoraT); RichEdit1.Lines.Add(DataHoraS); A API GetSystemTime obtem a data e a hora do sistema Windows. A função SystemTimeToDateTime converte a data e a hora para o formato DataHoraT do Delphi e em seguida, para o formato texto DataTimeStr. A última linha exibe a data e a hora do sistema em uma janela previamente criada. Resumindo... A maioria dos progamadores e usuários desconhe os detalhes envolvidos, por exemplo, em um simples comando de leitura de um arquivo utilizando uma linguagem de alto nível. Resumindo... O comando da linguagem de alto nível é convertido pelo compilador para uma chamada a uma rotina específica que, quando executada, verifica a ocorrência de erros e retorna os dados ao programa de forma transparente ao usuário. As rotinas do sistema podem ser divididas por grupos de função. 14

Uma tentativa de padronização pela ISO (International Organization for Standardization) e IEEE (Institute of Electrical and Electronics Engineers) resultou em um conjunto conhecido como POSIX (Portable Operating System Interface for Unix). Alguns SOs modernos oferecem algum suporte ao padrão POSIX como o Windows, IBM-AIX, HP-UX e o SUN-Solaris. Linguagem de Comandos Tem a função de permitir que o usuário se comunique de uma forma direta com o Sistema Operacional na execução de tarefas mais específicas. O interpretador de comandos (shell) não faz parte do núcleo do sistema. Assim, é permitida a criação de novos interpretadores de comandos. Linguagem de Comandos Interpretador tem a função de comunicar com o núcelo para verificar a permissão de execução daquele referifo comando. Em alguns sistemas como Windows, são utilizadas janelas com mais de uma camada, acima dos comandos, para melhorar a interação com o usuário. 15

Linguagem de Comandos Interpretador tem a função de comunicar com o núcelo para verificar a permissão de execução daquele referifo comando. Em alguns sistemas como Windows, são utilizadas janelas com mais de uma camada, acima dos comandos, para melhorar a interação com o usuário. Linguagem de Comandos Na maioria dos SOs, as linguagens de comando evoluíram no sentido de permitir a interação mais amigável com os usuários, utilizando interfaces gráficas como janelas e ícones, a exemplo Windows. Linguagem de Comandos 16

Linguagem de Comandos Cada comando, depois de digitado pelo usuário, é: interpretado pelo shell ou interpretador de comandos, que: verifica a sintaxe do comando; faz chamadas a rotinas do sistema; apresenta um resultado ou uma mensagem informativa. Linguagem de Comandos O bash é um interpretador de comandos, uma espécie de tradutor entre o sistema operacional e o usuário, normalmente conhecido como shell. Permite a execução de seqüências de comandos direto no prompt do sistema ou escritas em arquivos de texto, conhecidos como shell scripts. Linguagem de Comandos 17