Prof. Carlos Alberto Seixas Sistemas Operacionais - Aula 6.

26
Prof. Carlos Alberto Seixas Sistemas Operacionais - Aula 6

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

Page 1: Prof. Carlos Alberto Seixas Sistemas Operacionais - Aula 6.

Prof. Carlos Alberto Seixas

Sistemas Operacionais - Aula 6

Page 2: Prof. Carlos Alberto Seixas Sistemas Operacionais - Aula 6.

Agenda da aulaParte I - ConceitosParte II – Exercícios

Page 3: Prof. Carlos Alberto Seixas Sistemas Operacionais - Aula 6.

Conceitos

Parte I

Page 4: Prof. Carlos Alberto Seixas Sistemas Operacionais - Aula 6.

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

Page 5: Prof. Carlos Alberto Seixas Sistemas Operacionais - Aula 6.

Parte IIConceitos

ProcessosChamadas do Sistema (System Calls)

Page 6: Prof. Carlos Alberto Seixas Sistemas Operacionais - Aula 6.

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.

Page 7: Prof. Carlos Alberto Seixas Sistemas Operacionais - Aula 6.

Recordando.... Kernel

Kernel

Page 8: Prof. Carlos Alberto Seixas Sistemas Operacionais - Aula 6.

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.

Page 9: Prof. Carlos Alberto Seixas Sistemas Operacionais - Aula 6.

SO

Page 10: Prof. Carlos Alberto Seixas Sistemas Operacionais - Aula 6.

Recordando ...SRecordando ...Shellhell

Page 11: Prof. Carlos Alberto Seixas Sistemas Operacionais - Aula 6.

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.

Page 12: Prof. Carlos Alberto Seixas Sistemas Operacionais - Aula 6.

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

Page 13: Prof. Carlos Alberto Seixas Sistemas Operacionais - Aula 6.

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.

Page 14: Prof. Carlos Alberto Seixas Sistemas Operacionais - Aula 6.

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.

Page 15: Prof. Carlos Alberto Seixas Sistemas Operacionais - Aula 6.

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).

Page 16: Prof. Carlos Alberto Seixas Sistemas Operacionais - Aula 6.

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.

Page 17: Prof. Carlos Alberto Seixas Sistemas Operacionais - Aula 6.

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.

Page 18: Prof. Carlos Alberto Seixas Sistemas Operacionais - Aula 6.

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.

Page 19: Prof. Carlos Alberto Seixas Sistemas Operacionais - Aula 6.

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.

Page 20: Prof. Carlos Alberto Seixas Sistemas Operacionais - Aula 6.

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.

Page 21: Prof. Carlos Alberto Seixas Sistemas Operacionais - Aula 6.

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 .

Page 22: Prof. Carlos Alberto Seixas Sistemas Operacionais - Aula 6.

Esquema Shell e System Calls

Syste

m

Calls

Núcleo

Syste

m

Calls

SO

Shell

Page 23: Prof. Carlos Alberto Seixas Sistemas Operacionais - Aula 6.

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

Page 24: Prof. Carlos Alberto Seixas Sistemas Operacionais - Aula 6.

Exercícios

Parte II

Page 25: Prof. Carlos Alberto Seixas Sistemas Operacionais - Aula 6.

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:[email protected]

Page 26: Prof. Carlos Alberto Seixas Sistemas Operacionais - Aula 6.

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