Prof. Carlos Alberto Seixas Sistemas Operacionais - Aula 6.

Post on 16-Apr-2015

103 views 0 download

Transcript of Prof. Carlos Alberto Seixas Sistemas Operacionais - Aula 6.

Prof. Carlos Alberto Seixas

Sistemas Operacionais - Aula 6

Agenda da aulaParte I - ConceitosParte II – Exercícios

Conceitos

Parte I

SO no mundo...Sistema Operacional Singularity Fonte: BBC

Parte IIConceitos

ProcessosChamadas do Sistema (System Calls)

Recordando...O QUE É UM SISTEMA OPERACIONAL.O QUE É UM SISTEMA OPERACIONAL.Sistema Operacional é um programa que

atua como um intermediário entre o usuário (seja ele um usuário "real" ou aplicativo) e o hardware do computador. O Sistema Operacional cria uma camada de abstração entre o usuário e o hardware facilitando a vida do usuário e também possui rotinas (bibliotecas) que gerencia todo o seu hardware.

Recordando.... Kernel

Kernel

Recordando ...KernelO QUE É UM KERNEL.O Kernel é o software que fornece serviços

básicos para todas as outras partes de um SO. De forma mais detalhada, o Núcleo é um conjunto de rotinas que oferecem serviços aos usuários do sistema e suas aplicações, bem como a outras rotinas do próprio SO.

SO

Recordando ...SRecordando ...Shellhell

Processos São execuções em andamento no sistema,

para realização de tarefa, o Kernel é o escalonador são responsável por criarem as threads (organiza e exercuta processos), o Kernel ele controla a parte do hardware é faz com que os processos sejam executados na cpu, diferente do escalonador que organiza qual dos processos tem mais prioridades para serem processados.

ProcessosProcesso é o conceito central em qualquer

sistema operacional, uma abstração de um programa em execução, ou seja, o programa é o código e o processo é a execução.

Programa

P1

P2 P1

Processo

Execução

Na prática...Os computadores podem fazer várias

tarefas ao mesmo tempo: enquanto executa um programa do usuário, ele pode estar lendo os dados de um disco e também enviando algo para ser impresso.

Na realidade ele esta executando vários processos, saltando um a um tão rápido que nos dá a falsa impressão que estão sendo executados todos ao mesmo tempo, é o que chamamos de processos seqüenciais.

ExemploQuando o sistema operacional é carregado

ele aciona vários processos, alguns em primeiro plano, que são os que interagem com o usuário, e outros em segundo plano, que são aqueles que estão prontos para serem usados a qualquer momento, como por exemplo, um programa para aceitar mensagens eletrônicas, ele fica inativo a maior parte do dia, mais é acionado ao momento que chega uma mensagem.

Características dos processos Proprietário do processo( quando são

criados os processos). Estado do processo(em espera ou não). Prioridade de Execução(como escalonador

ve quem tem prioridade). Recursos de memória(gerênciar a memória

para que os processos sejam executados).

ProcessosPara que sejam controlados os processos tem

que ser gerenciados através de números de identificação que se chamam PID.

No SO Unix através do comando PS você sabe qual os processos que estão em execução, a sua visualização e os processos parados através dos JOBS. A necessidade de haver comunicação entre processos, e os sinais são os verdadeiros responsáveis por isso.

ProcessosAlguns comandos indispensáveis de

Sinais: TOP - Esse sinal tem a função de

interromper a execucão de um processo. CONT - Esse sinal tem a função de

execução, após ter sido interrompido. ILL - Esse informa erros de instrução

ilegal(quando ocorre a divisão por zero). KILL - Esse tem a função de matar um

processo.

CHAMADAS DE SISTEMASAs chamadas ao Sistemas são um

mecanismo que tem por objetivo proteger o Núcleo do sistema e de acessar os seus serviços.

Quando uma aplicação ou um programa deseja utilizar algum serviço do Sistema Operacional, realiza a chamada por meio de uma Rotina( procedimento de biblioteca) e essa rotina acessa a System Calls que retorna o dado(objeto, instrução) requerida.

Exemplo System CallsA System Calls ReadPara podermos acessar a System Calls Read é

necessário fazer uma chamada através da rotina da biblioteca, que por ocasião tem o mesmo nome Read.

E quem faz essa chamada a biblioteca é o programa ou o usuário.

Que no caso se o programa é escrito em C ficaria assim: contador = read (arquivo,buffer,nbytes)

A System Calls após receber a chamada da biblioteca, vai no lugar alocado e retorna o resultado de nbytes do arquivo ao usuário.

Níveis de AcessoPara melhor proteção do núcleo do S.O,

existe dois níveis de acesso: Modo de acesso privilegiado: que pode

entrar no Kernel e interagir com ele, tem o poder de comprometer o sistema pois atuam diretamente no hardware. Mas só o S.O, por segurança, tem acesso a esse modo e acesso total de instrução do processador;

Modo usuário ou não privilegiado: que não fornece nenhum tipo de perigo pois tem acesso a um número reduzido de instruções.

Shell e System CallsO interpretador de comando chamado de Shell é

extremamente útil.É a interface primária entre o usuário e o S.O, Ele e o núcleo são programas separados que se

comunicam através de um conjunto de System Calls . Nele o usuário digita um comando e o Shell comunica-se com o núcleo e pede que crie um processo filho. O processo filho executará o comando através de uma System Calls .

Esquema Shell e System Calls

Syste

m

Calls

Núcleo

Syste

m

Calls

SO

Shell

Finalização do processoO Shell esperará que o processo filho termine para

que possa novamente voltar a estar ativo.Quando o processo filho termina ele através de outra System Calls avisa o núcleo, que por sua vez avisa o Shell pra que volte a se ativar..

Syste

m

Calls

Núcleo

Syste

m

Calls

SO

Shell

Exercícios

Parte II

Questões1. Qual a função do kernel para o sistema operacional?2. Quais as características um sistema operacional

deve manter?3. Quais os componentes de um SO?4. Cite um exemplo:

De um programa e um processo criado por ele no SO Windows XP.

Localize e descreva a quantidade de memória utilizada pelo processo criado.

5. Defina e diferencie: programa e processo.

Editar arquivo com as respostas e enviar para:seixas.alberto@gmail.com

WebibliografiaArquitetura de Sistemas Operacionais Francis Berenger Machado &

Luiz Paulo Maia 4a Edição - 2007 - Ed. LTC Francisco Jos´e da Silva e Silva Grupo de

Engenharia de Sistemas e Mobilidade (SisMo) Departamento de Informatica / UFMA http://www.sismo.deinf.ufma.br