3/19/15

Rocely Leite - Sistemas Operacionais

SISTEMAS
OPERACIONAIS
Introdução a Sistemas Operacionais

1

3/19/15

Rocely Leite - Sistemas Operacionais

2

Objetivos
• Identificar as funções e os componentes de um Sistema




Operacional;
Diferenciar os tipos de Sistemas Operacionais existentes;
Identificar os modelos de estruturas existentes de
Sistemas Operacionais;
Compreender os modos de acesso e o funcionamento de
uma chamada ao sistema ("system call");
Compreender a importância e o funcionamento dos
mecanismos de interrupção;
Compreender os fundamentos de sistemas concorrentes.

3/19/15

Rocely Leite - Sistemas Operacionais

3

Introdução
Nesta aula, conheceremos as características de um Sistema
Operacional e a importância desse sistema em um ambiente
computacional. Para isso, trataremos de dois conceitos muito
importantes para o entendimento dos sistemas modernos:
interrupções e chamadas ao sistema.
Serão abordados, também, os principais tipos de Sistemas
Operacionais e suas características.
• Conceitos Fundamentais de Sistemas Operacionais;
• Classificação de Sistemas Operacionais;
• Estruturas dos Sistemas Operacionais Modernos;
• Interrupções;
• Conceitos de Concorrência.

3/19/15

Rocely Leite - Sistemas Operacionais

4

Conceitos Fundamentais de Sistemas Operacionais
Sistema Operacional é um conjunto de programas (software)
responsável por:
• fazer a interface com os usuários;
• gerenciar recursos;
• fazer a interface com o hardware.

Funções adicionais: contabilização de uso,
segurança de acesso, auditoria.

3/19/15 Rocely Leite .Sistemas Operacionais 5 Conceitos Fundamentais de Sistemas Operacionais O Sistema Operacional é o intermédio entre o usuário e o hardware .

3/19/15 Rocely Leite . . • Bibliotecas de software. • Espaço em memória. Esses recursos são: • Tempo de CPU.Sistemas Operacionais 6 Conceitos Fundamentais de Sistemas Operacionais Cada parte (módulo ou função) de um Sistema Operacional é responsável pelo gerenciamento de um recurso específico. • Espaço em disco. • Acesso aos dispositivos de comunicação.

3/19/15 Rocely Leite . . Na visão do usuário. • Possibilidade de criar e gerir arquivos e diretórios.Sistemas Operacionais 7 Conceitos Fundamentais de Sistemas Operacionais Gerenciar recursos é garantir a utilização compartilhada do recurso sem que ocorram erros que possam gerar instabilidade ou falha no sistema. • Acesso ao conteúdo de arquivos. • Acesso aos dispositivos de E/S. o Sistema Operacional fornece: • Acesso ao sistema. • Detecção de erros. • Ambiente para execução de programas.

3/19/15 Rocely Leite .Sistemas Operacionais 8 Classificação de Sistemas Operacionais A classificação é utilizada como uma forma sintética de apresentar. as características de um Sistema Operacional. em poucas palavras. Sistemas Monotarefa x Sistemas Multitarefa Sistemas Monousuário x Sistemas Multiusuário Sistemas Monoprocessados x Sistemas Multiprocessados .

Classificação de Sistemas Operacionais Sistemas Monotarefa x Sistemas Multitarefa Definem a capacidade de gerenciar mais de uma tarefa ao mesmo tempo.Sistemas Operacionais 9 . MacOS. Exemplo: DOS. Monotarefa: Admite e gerencia apenas uma tarefa em execução por vez. Linux. Multitarefa: Admite e gerencia várias tarefas em processamento concorrente. Windows 7. Exemplo: Windows XP. 3/19/15 Rocely Leite .

Sistemas Operacionais 10 Classificação de Sistemas Operacionais Executa Espera Executa Espera Monotarefa Programa A Executa Espera Executa Espera Programa B Espera Executa Espera Executa Multitarefa .3/19/15 Rocely Leite .

Exemplo: Windows XP. 3/19/15 Rocely Leite . Exemplo: Linux. Multiusuário: Admite e gerencia vários usuários – permite que mais de um usuário esteja "logado" simultaneamente. compartilhando os mesmo recursos de software e hardware. Monousuário: Admite e gerencia apenas um usuário – não permite que mais de um usuário esteja "logado" simultaneamente. VMS.Classificação de Sistemas Operacionais Sistemas Monousuário x Sistemas Multiusuário Definem a capacidade de gerenciar mais de um usuário ao mesmo tempo.Sistemas Operacionais 11 . Windows NT (exceto versão com Terminal Server).

Multitarefa. obrigatoriamente. pois cada usuário representa. .3/19/15 Rocely Leite . no mínimo.Sistemas Operacionais 12 Classificação de Sistemas Operacionais Atenção: Todo Sistema Operacional Multiusuário é. uma tarefa para ser executada.

Classificação de Sistemas Operacionais Sistemas Monoprocessados x Sistemas Multiprocessados Possuem a capacidade de reconhecer e gerenciar computadores com mais de um processador. Linux. Exemplo: Windows XP. Windows 7. Monoprocessado: Somente reconhece e utiliza um processador. Exemplo: Windows 98.Sistemas Operacionais 13 . 3/19/15 Rocely Leite . Multiprocessado: Reconhece e utiliza mais de um processador.

3/19/15 Rocely Leite . Atenção: Não se trata de velocidade de processamento. e sim de garantia de tempo de resposta. O resultado só é considerado correto se a execução acontecer no tempo previsto.Sistemas Operacionais 14 . O sistema deve garantir que uma tarefa possua todos os recursos necessários para sua execução em um intervalo de tempo pré-definido.Classificação de Sistemas Operacionais Outros sistemas com finalidades específicas Sistemas em Tempo Real Sistemas que possuem um forte vínculo com o tempo.

como telefones celulares.Classificação de Sistemas Operacionais Outros sistemas com finalidades específicas Sistemas Embarcados Sistemas inseridos em produtos com funções específicas. Atenção: Nem todo dispositivo eletrônico possui um microcontrolador. 3/19/15 Rocely Leite . e nem todo aparelho com microcontrolador possui um Sistema Operacional.Sistemas Operacionais 15 .

como o Windows 95.3/19/15 Rocely Leite . Quem já utilizou sistemas operacionais antigos. . A "tela azul" era de fato uma violação de acesso que tornava o sistema instável. certamente já se deparou com este problema.Sistemas Operacionais 16 Estruturas dos Sistemas Operacionais Modernos Um velho conhecido pelos usuários de microcomputadores é a famosa "tela azul".

geravam panes no sistema. A instabilidade evidenciada pela "tela azul" tem razões históricas. Dessa forma. todas as operações poderiam ser executadas diretamente pelas aplicações que. ao produzir erros.3/19/15 Rocely Leite .Sistemas Operacionais 17 Estruturas dos Sistemas Operacionais Modernos A partir do 80386. esse problema foi solucionado em termos de hardware através da possibilidade de 2 modos de execução: o modo protegido e o modo real. Os primeiros processadores da linha x86 possuíam um único modo de operação: o modo real. Ficava a cargo do sistema operacional a comutação entre esses dois modos por questões de compatibilidade. .

que verifica se o acesso ao kernel é seguro e. Ao invés de executar diretamente funções no kernel. modo que não possui privilégios para operações que coloquem o sistema em risco. responsável pela mudança de modo usuário para modo kernel. a aplicação executa uma função intermediária. só então.Estruturas dos Sistemas Operacionais Modernos Modo Usuário x Modo Kernel As aplicações são executadas em modo usuário. Essa mudança ocorre através de uma "system call" System Call (Chamada ao Sistema): Mecanismo (chamada ao sistema). tais como. Quando essas aplicações precisam executar tarefas críticas. é necessário que haja uma mudança para modo Kernel (núcleo do Sistema Operacional. ou seja. responsável pelas tarefas críticas do sistema). etc. criar novas tarefas. 3/19/15 Rocely Leite . completa a operação.Sistemas Operacionais 18 . escrever no disco.

se a execução não for segura.. ou seja.Sistemas Operacionais 19 Estruturas dos Sistemas Operacionais Modernos Voltando à "tela azul". o erro acontecia após a execução de uma função do kernel. Com a mudança de modo.. a aplicação será impedida de continuar a execução e o sistema permanecerá estável. As aplicações podiam executar diretamente as funções do kernel sem a proteção da mudança de modo. .3/19/15 Rocely Leite .

Sistemas Operacionais 20 .Estruturas dos Sistemas Operacionais Modernos Exemplo do Linux de uma chamada ao sistema 3/19/15 Rocely Leite .

Estruturas dos Sistemas Operacionais Modernos Exemplo do Linux de uma chamada ao sistema Invocação setitimer(ITIMER_VIRTUAL. unsigned int.Sistemas Operacionais 21 . NULL). &timer. seconds) Mudança de Modo Handler Rotina de serviço 3/19/15 _system_cal() unsigned int alarm(unsigned int seconds) Rocely Leite . Wrapper _syscall1(unsigned int. alarm.

denominado KERNEL. Os sistemas modernos são divididos em dois grandes grupos:  Arquitetura monolítica. camadas e microkernel.  Microkernel.Sistemas Operacionais 22 . A diferença entre elas está nas atribuições do núcleo do Sistema Operacional. 3/19/15 Rocely Leite .Estruturas dos Sistemas Operacionais Modernos Tipos de Estrutura Os sistemas são classificados em relação às atribuições do kernel e a relação entre seus módulos em monolíticos.

Estruturas dos Sistemas Operacionais Modernos Tipos de Estrutura Essa característica é muito importante no projeto de um Sistema Operacional e foi alvo de discussão entre dois grandes nomes da computação: Andrew Tanenbaum e Linus Torvalds. Link: http://oreilly. Quem ganhou? Os dois. Torvalds defendia um kernel monolítico por ser mais rápido e. Tanenbaum defendia o microkernel pela elegância e facilidade de adaptação e substituição de módulos. De um lado.html 3/19/15 Rocely Leite . de outro.Sistemas Operacionais 23 .com/catalog/opensources/book/appa.

Nota: O kernel do Linux incorporou características modulares.Estruturas dos Sistemas Operacionais Modernos Arquitetura Monolítica Todo o kernel é compilado e "linkado" em um único bloco.Sistemas Operacionais 24 . 3/19/15 Rocely Leite . tornando o código eficiente. porém de difícil manutenção. A inclusão ou exclusão de um módulo requer que todo o kernel seja recriado.

Estruturas dos Sistemas Operacionais Modernos Arquitetura Monolítica 3/19/15 Rocely Leite .Sistemas Operacionais 25 .

Estruturas dos Sistemas Operacionais Modernos Arquitetura Microkernel Somente as funções críticas fazem realmente parte do kernel. Demais funções são tratadas como tarefas e executam em modo usuário.Sistemas Operacionais 26 . não sendo necessário gerar um novo kernel a cada modificação e nem mesmo reiniciar o computador para ativação e desativação do módulo. Essa arquitetura simplifica a manutenção. fazendo chamadas ao kernel quando necessário. inclusão e exclusão de módulos do Sistema Operacional. 3/19/15 Rocely Leite .

Estruturas dos Sistemas Operacionais Modernos Arquitetura Microkernel 3/19/15 Rocely Leite .Sistemas Operacionais 27 .

permitindo que outras tarefas compartilhem o tempo de uso do processador. pois provocam a suspensão da tarefa em execução pela ocorrência de um evento externo. .Sistemas Operacionais 28 Interrupções São sinais de hardware fundamentais para a existência de sistemas multitarefa. ATENÇÃO: Neste caso.3/19/15 Rocely Leite . Cada tarefa utiliza 100% do processador. o que está sendo compartilhado é o TEMPO DE USO do processador e NÃO o processador em si.

3/19/15 Rocely Leite .Sistemas Operacionais 29 Interrupções Parte do mecanismo é executada pelo hardware (identificação do dispositivo. . empilhamento dos registradores de sistema) e parte é feita por software através da Rotina de Tratamento da Interrupção (interrupt handler).

3/19/15 Rocely Leite . Relógio (temporizador)  síncrona Dispositivos de E/S (sinalização de conclusão)  assíncrona Falha de hardware (paridade de memória.Sistemas Operacionais 30 Interrupções As interrupções são geradas por dispositivos de hardware e podem ocorrer de forma síncrona ou assíncrona. etc. erro de disco.)  assíncrona .

Sistemas Operacionais 31 Interrupções O termo interrupção é muitas vezes utilizado para qualquer atividade que suspenda a execução de uma tarefa. Estados de exceção: são provocados pela própria aplicação. Utilizaremos. mesmo que seja solicitada pelo próprio programa. o termo "estado de exceção". • Estouro aritmético. • Divisão por zero. . • Chamadas ao sistema. • Acesso não permitido. para este fim.3/19/15 Rocely Leite . • Instrução ilegal.

As interrupções de segurança não podem ser mascaradas.3/19/15 Rocely Leite .Sistemas Operacionais 32 Interrupções ATENÇÃO: Mascaramento de interrupções: Capacidade de inibir a ação de uma interrupção. .

3/19/15 Rocely Leite .Interrupções Tipos de Interrupções As interrupções podem acontecer de forma sequencial ou em cascata.Sistemas Operacionais 33 .

Sistemas Operacionais 34 . 3/19/15 Rocely Leite .Interrupções Interrupção Sequencial Uma interrupção só poderá ser atendida se nenhuma outra estiver em atendimento. o que pode eventualmente ocasionar uma perda de dados.  Uma nova interrupção só é tratada após o retorno. o processador verifica por interrupções adicionais.  Finalizada a Rotina de Serviço de Interrupção.  A interrupção pode demorar a ser tratada.  A Rotina de Serviço desabilita as interrupções.

Interrupções Interrupção Sequencial 3/19/15 Rocely Leite .Sistemas Operacionais 35 .

Interrupções Interrupção em Cascata Uma interrupção pode interromper a ação de uma rotina de tratamento de outra interrupção. 3/19/15 Rocely Leite .Sistemas Operacionais 36 .  Interrupções com alta prioridade interrompem Rotinas de Serviço de Interrupções de menor prioridade.  Interrupções têm prioridade.

Sistemas Operacionais 37 .Interrupções Interrupção em Cascata 3/19/15 Rocely Leite .

assim. .3/19/15 Rocely Leite . Os recursos são limitados e.Sistemas Operacionais 38 Concorrência Compartilhar recursos significa que diferentes usuários ou programas usam os recursos de forma concorrente. o uso dos mesmos pelos diferentes programas ou usuários precisa ser controlado e administrado de forma a evitar possíveis conflitos ou uma alocação por tempo indeterminado de algum recurso.

• Uma tarefa pode deixar a CPU por vontade própria. quando precisa aguardar por um recurso.3/19/15 Rocely Leite . . • Em particular. permitindo um melhor aproveitamento de recursos.Sistemas Operacionais 39 Concorrência Concorrência é a capacidade de execução concorrente de tarefas. ou por uma interrupção. uma interrupção de temporizador provoca a substituição da tarefa em execução. criando uma alternância entre as tarefas.

3/19/15 Rocely Leite . mas não é o que ocorre. .Sistemas Operacionais 40 Concorrência ATENÇÃO: A alternância entre as tarefas pode dar a impressão de execução simultânea de tarefas.

Sistemas Operacionais INTRODUÇÃO A SISTEMAS OPERACIONAIS Exercícios de Fixação 41 .3/19/15 Rocely Leite .

Sistemas Operacionais 42 Exercícios de Fixação 1. d) Gerenciar recursos de software e interromper uma tarefa em execução. b) Gerenciar recursos de hardware e interface com o usuário. . c) Interface com o usuário e correção ortográfica.3/19/15 Rocely Leite . São funções do Sistema Operacional: a) Gerenciar recursos de hardware e fornecer um aplicativo para navegação na Internet.

São funções do Sistema Operacional: a) Gerenciar recursos de hardware e fornecer um aplicativo para navegação na Internet.3/19/15 Rocely Leite . c) Interface com o usuário e correção ortográfica. .Sistemas Operacionais 43 Exercícios de Fixação 1. d) Gerenciar recursos de software e interromper uma tarefa em execução. b) Gerenciar recursos de hardware e interface com o usuário.

3/19/15 Rocely Leite . Interrupção de hardware. Chamada ao sistema. 44 . Solicitação ao administrador do sistema.Sistemas Operacionais Exercícios de Fixação 2. Para que uma aplicação execute instruções privilegiadas deverá executar um(a): a) b) c) d) Arquivo específico para gerenciamento de hardware.

b) Interrupção de hardware. d) Chamada ao sistema. a) 45 .Sistemas Operacionais Exercícios de Fixação 2.3/19/15 Rocely Leite . Para que uma aplicação execute instruções privilegiadas deverá executar um(a): Arquivo específico para gerenciamento de hardware. c) Solicitação ao administrador do sistema.

3/19/15 Rocely Leite .Sistemas Operacionais Exercícios de Fixação 3. d) Bibliotecas de software 46 . O uso de interrupções permite a utilização de: a) Sistemas concorrentes. c) Dispositivos de hardware como. teclado e mouse. b) Comunicação de dados.

c) Dispositivos de hardware como.3/19/15 Rocely Leite . b) Comunicação de dados. teclado e mouse. d) Bibliotecas de software 47 .Sistemas Operacionais Exercícios de Fixação 3. O uso de interrupções permite a utilização de: a) Sistemas concorrentes.

3/19/15 Rocely Leite .Sistemas Operacionais INTRODUÇÃO A SISTEMAS OPERACIONAIS Extras 48 .

3/19/15 Rocely Leite .Sistemas Operacionais Links • Navegando pelo kernel do Linux - http://lxr.linux.no/ 49 .