sistemas operacionais - (01) introdução a sistemas operacionais

49
Sistemas Operacionais Introdução a Sistemas Operacionais Fagner S. de Lima - Sistemas Operacionais 1 16/01/2022

Upload: fagner-lima

Post on 06-Jun-2015

30.287 views

Category:

Technology


4 download

DESCRIPTION

Nesta disciplina iremos estudar como funciona um sistema operacional identificando seus componentes, problemas e características nos sistemas modernos. Serão abordados os fundamentos de sistemas operacionais relacionando-os a tarefas e problemas conhecidos nas implementações mais usuais. Essa abordagem possibilita a solução de problemas com fundamentação teórica e um bom uso das características de cada sistema. Fornece ainda um grau de conhecimento que diferencia profissionais com uma formação adequada dos demais.

TRANSCRIPT

Page 1: Sistemas Operacionais - (01) Introdução a Sistemas Operacionais

Fagner S. de Lima - Sistemas Operacionais 113/04/2023

Sistemas Operacionais

Introdução a Sistemas Operacionais

Page 2: Sistemas Operacionais - (01) Introdução a Sistemas Operacionais

Fagner S. de Lima - Sistemas Operacionais 213/04/2023

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.

Page 3: Sistemas Operacionais - (01) Introdução a Sistemas Operacionais

Fagner S. de Lima - Sistemas Operacionais 313/04/2023

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.

Page 4: Sistemas Operacionais - (01) Introdução a Sistemas Operacionais

Fagner S. de Lima - Sistemas Operacionais 413/04/2023

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.

Page 5: Sistemas Operacionais - (01) Introdução a Sistemas Operacionais

Fagner S. de Lima - Sistemas Operacionais 513/04/2023

Conceitos Fundamentais de Sistemas Operacionais

O Sistema Operacional é o intermédio entre o usuário e o hardware

Page 6: Sistemas Operacionais - (01) Introdução a Sistemas Operacionais

Fagner S. de Lima - Sistemas Operacionais 613/04/2023

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.

Esses recursos são: Tempo de CPU; Espaço em memória; Espaço em disco; Acesso aos dispositivos de comunicação; Bibliotecas de software.

Page 7: Sistemas Operacionais - (01) Introdução a Sistemas Operacionais

Fagner S. de Lima - Sistemas Operacionais 713/04/2023

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.

Na visão do usuário, o Sistema Operacional fornece: Acesso ao sistema; Possibilidade de criar e gerir arquivos e diretórios; Ambiente para execução de programas; Acesso aos dispositivos de E/S; Acesso ao conteúdo de arquivos; Detecção de erros.

Page 8: Sistemas Operacionais - (01) Introdução a Sistemas Operacionais

Fagner S. de Lima - Sistemas Operacionais 813/04/2023

Classificação de Sistemas Operacionais

A classificação é utilizada como uma forma sintética de apresentar, em poucas palavras, as características de um Sistema Operacional.

Sistemas Monotarefa x Sistemas Multitarefa

Sistemas Monousuário x Sistemas Multiusuário

Sistemas Monoprocessados x Sistemas Multiprocessados

Page 9: Sistemas Operacionais - (01) Introdução a Sistemas Operacionais

Fagner S. de Lima - Sistemas Operacionais 913/04/2023

Classificação de Sistemas Operacionais

Definem a capacidade de gerenciar mais de uma tarefa ao mesmo tempo.

Monotarefa: Admite e gerencia apenas uma tarefa em execução por vez.Exemplo: DOS.

Multitarefa: Admite e gerencia várias tarefas em processamento concorrente.Exemplo: Windows XP, Windows 7, Linux, MacOS.

Sistemas Monotarefa x Sistemas Multitarefa

Page 10: Sistemas Operacionais - (01) Introdução a Sistemas Operacionais

Fagner S. de Lima - Sistemas Operacionais 1013/04/2023

Classificação de Sistemas Operacionais

Executa Espera Executa Espera

Monotarefa

Executa Espera Executa Espera

Espera Executa Espera Executa

Multitarefa

Programa A

Programa B

Page 11: Sistemas Operacionais - (01) Introdução a Sistemas Operacionais

Fagner S. de Lima - Sistemas Operacionais 1113/04/2023

Classificação de Sistemas Operacionais

Definem a capacidade de gerenciar mais de um usuário ao mesmo tempo, 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.Exemplo: Windows XP, Windows NT (exceto versão com Terminal Server).

Multiusuário: Admite e gerencia vários usuários – permite que mais de um usuário esteja "logado" simultaneamente.Exemplo: Linux, VMS.

Sistemas Monousuário x Sistemas Multiusuário

Page 12: Sistemas Operacionais - (01) Introdução a Sistemas Operacionais

Fagner S. de Lima - Sistemas Operacionais 1213/04/2023

Classificação de Sistemas Operacionais

Atenção:Todo Sistema Operacional Multiusuário é,

obrigatoriamente, Multitarefa, pois cada usuário representa, no mínimo, uma tarefa para ser executada.

Page 13: Sistemas Operacionais - (01) Introdução a Sistemas Operacionais

Fagner S. de Lima - Sistemas Operacionais 1313/04/2023

Classificação de Sistemas Operacionais

Possuem a capacidade de reconhecer e gerenciar computadores com mais de um processador.

Monoprocessado: Somente reconhece e utiliza um processador.Exemplo: Windows 98.

Multiprocessado: Reconhece e utiliza mais de um processador.Exemplo: Windows XP, Windows 7, Linux.

Sistemas Monoprocessados x Sistemas Multiprocessados

Page 14: Sistemas Operacionais - (01) Introdução a Sistemas Operacionais

Fagner S. de Lima - Sistemas Operacionais 1413/04/2023

Classificação de Sistemas Operacionais

Sistemas em Tempo RealSistemas que possuem um forte vínculo com o tempo. O resultado só é considerado correto se a execução acontecer no tempo previsto.O sistema deve garantir que uma tarefa possua todos os recursos necessários para sua execução em um intervalo de tempo pré-definido.

Outros sistemas com finalidades específicas

Atenção:Não se trata de velocidade de processamento, e sim de garantia de tempo de resposta.

Page 15: Sistemas Operacionais - (01) Introdução a Sistemas Operacionais

Fagner S. de Lima - Sistemas Operacionais 1513/04/2023

Classificação de Sistemas Operacionais

Sistemas EmbarcadosSistemas inseridos em produtos com funções específicas, como telefones celulares.

Outros sistemas com finalidades específicas

Atenção:Nem todo dispositivo eletrônico possui um microcontrolador, e nem todo aparelho com microcontrolador possui um Sistema Operacional.

Page 16: Sistemas Operacionais - (01) Introdução a Sistemas Operacionais

Fagner S. de Lima - Sistemas Operacionais 1613/04/2023

Estruturas dos Sistemas Operacionais Modernos

Um velho conhecido pelos usuários de microcomputadores é a famosa "tela azul". Quem já utilizou sistemas operacionais antigos, como o Windows 95, certamente já se deparou com este problema. A "tela azul" era de fato uma violação de acesso que tornava o sistema instável.

Page 17: Sistemas Operacionais - (01) Introdução a Sistemas Operacionais

Fagner S. de Lima - Sistemas Operacionais 1713/04/2023

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. Ficava a cargo do sistema operacional a comutação entre esses dois modos por questões de compatibilidade.

A instabilidade evidenciada pela "tela azul" tem razões históricas. Os primeiros processadores da linha x86 possuíam um único modo de operação: o modo real. Dessa forma, todas as operações poderiam ser executadas diretamente pelas aplicações que, ao produzir erros, geravam panes no sistema.

Page 18: Sistemas Operacionais - (01) Introdução a Sistemas Operacionais

Fagner S. de Lima - Sistemas Operacionais 1813/04/2023

Estruturas dos Sistemas Operacionais Modernos

As aplicações são executadas em modo usuário, ou seja, modo que não possui privilégios para operações que coloquem o sistema em risco, tais como, escrever no disco, criar novas tarefas, etc.Quando essas aplicações precisam executar tarefas críticas, é necessário que haja uma mudança para modo Kernel (núcleo do Sistema Operacional, responsável pelas tarefas críticas do sistema). Essa mudança ocorre através de uma "system call" (chamada ao sistema).

Modo Usuário x Modo Kernel

System Call (Chamada ao Sistema): Mecanismo responsável pela mudança de modo usuário para modo kernel. Ao invés de executar diretamente funções no kernel, a aplicação executa uma função intermediária, que verifica se o acesso ao kernel é seguro e, só então, completa a operação.

Page 19: Sistemas Operacionais - (01) Introdução a Sistemas Operacionais

Fagner S. de Lima - Sistemas Operacionais 1913/04/2023

Estruturas dos Sistemas Operacionais Modernos

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

Page 20: Sistemas Operacionais - (01) Introdução a Sistemas Operacionais

Fagner S. de Lima - Sistemas Operacionais 2013/04/2023

Estruturas dos Sistemas Operacionais Modernos

Exemplo do Linux de uma chamada ao sistema

Page 21: Sistemas Operacionais - (01) Introdução a Sistemas Operacionais

Fagner S. de Lima - Sistemas Operacionais 2113/04/2023

Estruturas dos Sistemas Operacionais Modernos

Exemplo do Linux de uma chamada ao sistema

setitimer(ITIMER_VIRTUAL, &timer, NULL);

_syscall1(unsigned int, alarm, unsigned int, seconds)

_system_cal()

unsigned int alarm(unsigned int seconds)

Invocação

Wrapper

Handler

Rotina de serviço

Mudança de Modo

Page 22: Sistemas Operacionais - (01) Introdução a Sistemas Operacionais

Fagner S. de Lima - Sistemas Operacionais 2213/04/2023

Estruturas dos Sistemas Operacionais Modernos

Os sistemas são classificados em relação às atribuições do kernel e a relação entre seus módulos em monolíticos, camadas e microkernel.Os sistemas modernos são divididos em dois grandes grupos: Arquitetura monolítica; Microkernel.

A diferença entre elas está nas atribuições do núcleo do Sistema Operacional, denominado KERNEL.

Tipos de Estrutura

Page 23: Sistemas Operacionais - (01) Introdução a Sistemas Operacionais

Fagner S. de Lima - Sistemas Operacionais 2313/04/2023

Estruturas dos Sistemas Operacionais Modernos

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.De um lado, Torvalds defendia um kernel monolítico por ser mais rápido e, de outro, Tanenbaum defendia o microkernel pela elegância e facilidade de adaptação e substituição de módulos.Quem ganhou? Os dois.

Link: http://oreilly.com/catalog/opensources/book/appa.html

Tipos de Estrutura

Page 24: Sistemas Operacionais - (01) Introdução a Sistemas Operacionais

Fagner S. de Lima - Sistemas Operacionais 2413/04/2023

Estruturas dos Sistemas Operacionais Modernos

Todo o kernel é compilado e "linkado" em um único bloco, 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.

Arquitetura Monolítica

Nota:O kernel do Linux incorporou características modulares.

Page 25: Sistemas Operacionais - (01) Introdução a Sistemas Operacionais

Fagner S. de Lima - Sistemas Operacionais 2513/04/2023

Estruturas dos Sistemas Operacionais Modernos

Arquitetura Monolítica

Page 26: Sistemas Operacionais - (01) Introdução a Sistemas Operacionais

Fagner S. de Lima - Sistemas Operacionais 2613/04/2023

Estruturas dos Sistemas Operacionais Modernos

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, fazendo chamadas ao kernel quando necessário.Essa arquitetura simplifica a manutenção, inclusão e exclusão de módulos do Sistema Operacional, 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.

Arquitetura Microkernel

Page 27: Sistemas Operacionais - (01) Introdução a Sistemas Operacionais

Fagner S. de Lima - Sistemas Operacionais 2713/04/2023

Estruturas dos Sistemas Operacionais Modernos

Arquitetura Microkernel

Page 28: Sistemas Operacionais - (01) Introdução a Sistemas Operacionais

Fagner S. de Lima - Sistemas Operacionais 2813/04/2023

Interrupções

São sinais de hardware fundamentais para a existência de sistemas multitarefa, pois provocam a suspensão da tarefa em execução pela ocorrência de um evento externo, permitindo que outras tarefas compartilhem o tempo de uso do processador.

ATENÇÃO:Neste caso, o que está sendo compartilhado é o TEMPO DE USO do processador e NÃO o processador em si.Cada tarefa utiliza 100% do processador.

Page 29: Sistemas Operacionais - (01) Introdução a Sistemas Operacionais

Fagner S. de Lima - Sistemas Operacionais 2913/04/2023

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

Page 30: Sistemas Operacionais - (01) Introdução a Sistemas Operacionais

Fagner S. de Lima - Sistemas Operacionais 3013/04/2023

Interrupções

As interrupções são geradas por dispositivos de hardware e podem ocorrer de forma síncrona ou assíncrona.

Relógio (temporizador) síncronaDispositivos de E/S (sinalização de conclusão) assíncronaFalha de hardware (paridade de memória, erro de disco, etc.) assíncrona

Page 31: Sistemas Operacionais - (01) Introdução a Sistemas Operacionais

Fagner S. de Lima - Sistemas Operacionais 3113/04/2023

Interrupções

O termo interrupção é muitas vezes utilizado para qualquer atividade que suspenda a execução de uma tarefa, mesmo que seja solicitada pelo próprio programa.Utilizaremos, para este fim, o termo "estado de exceção".

Estados de exceção: são provocados pela própria aplicação. Estouro aritmético; Divisão por zero; Instrução ilegal; Acesso não permitido; Chamadas ao sistema.

Page 32: Sistemas Operacionais - (01) Introdução a Sistemas Operacionais

Fagner S. de Lima - Sistemas Operacionais 3213/04/2023

Interrupções

ATENÇÃO:Mascaramento de interrupções: Capacidade de inibir a ação de uma interrupção. As interrupções de segurança não podem ser mascaradas.

Page 33: Sistemas Operacionais - (01) Introdução a Sistemas Operacionais

Fagner S. de Lima - Sistemas Operacionais 3313/04/2023

Interrupções

As interrupções podem acontecer de forma sequencial ou em cascata.

Tipos de Interrupções

Page 34: Sistemas Operacionais - (01) Introdução a Sistemas Operacionais

Fagner S. de Lima - Sistemas Operacionais 3413/04/2023

Interrupções

Uma interrupção só poderá ser atendida se nenhuma outra estiver em atendimento. A Rotina de Serviço desabilita as interrupções; Uma nova interrupção só é tratada após o retorno; A interrupção pode demorar a ser tratada, o que pode eventualmente

ocasionar uma perda de dados; Finalizada a Rotina de Serviço de Interrupção, o processador verifica

por interrupções adicionais.

Interrupção Sequencial

Page 35: Sistemas Operacionais - (01) Introdução a Sistemas Operacionais

Fagner S. de Lima - Sistemas Operacionais 3513/04/2023

Interrupções

Interrupção Sequencial

Page 36: Sistemas Operacionais - (01) Introdução a Sistemas Operacionais

Fagner S. de Lima - Sistemas Operacionais 3613/04/2023

Interrupções

Uma interrupção pode interromper a ação de uma rotina de tratamento de outra interrupção. Interrupções têm prioridade; Interrupções com alta prioridade interrompem Rotinas de Serviço de

Interrupções de menor prioridade.

Interrupção em Cascata

Page 37: Sistemas Operacionais - (01) Introdução a Sistemas Operacionais

Fagner S. de Lima - Sistemas Operacionais 3713/04/2023

Interrupções

Interrupção em Cascata

Page 38: Sistemas Operacionais - (01) Introdução a Sistemas Operacionais

Fagner S. de Lima - Sistemas Operacionais 3813/04/2023

Concorrência

Compartilhar recursos significa que diferentes usuários ou programas usam os recursos de forma concorrente.

Os recursos são limitados e, assim, 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.

Page 39: Sistemas Operacionais - (01) Introdução a Sistemas Operacionais

Fagner S. de Lima - Sistemas Operacionais 3913/04/2023

Concorrência

Concorrência é a capacidade de execução concorrente de tarefas, permitindo um melhor aproveitamento de recursos.

Uma tarefa pode deixar a CPU por vontade própria, quando precisa aguardar por um recurso, ou por uma interrupção.

Em particular, uma interrupção de temporizador provoca a substituição da tarefa em execução, criando uma alternância entre as tarefas.

Page 40: Sistemas Operacionais - (01) Introdução a Sistemas Operacionais

Fagner S. de Lima - Sistemas Operacionais 4013/04/2023

Concorrência

ATENÇÃO:A alternância entre as tarefas pode dar a impressão de execução simultânea de tarefas, mas não é o que ocorre.

Page 41: Sistemas Operacionais - (01) Introdução a Sistemas Operacionais

Fagner S. de Lima - Sistemas Operacionais 4113/04/2023

Introdução a Sistemas Operacionais

Exercícios de Fixação

Page 42: Sistemas Operacionais - (01) Introdução a Sistemas Operacionais

Fagner S. de Lima - Sistemas Operacionais 4213/04/2023

Exercícios de Fixação

1. São funções do Sistema Operacional:a) Gerenciar recursos de hardware e fornecer um aplicativo para

navegação na Internet.b) Gerenciar recursos de hardware e interface com o usuário.c) Interface com o usuário e correção ortográfica.d) Gerenciar recursos de software e interromper uma tarefa em

execução.

Page 43: Sistemas Operacionais - (01) Introdução a Sistemas Operacionais

Fagner S. de Lima - Sistemas Operacionais 4313/04/2023

Exercícios de Fixação

1. São funções do Sistema Operacional:a) Gerenciar recursos de hardware e fornecer um aplicativo para

navegação na Internet.b) Gerenciar recursos de hardware e interface com o usuário.c) Interface com o usuário e correção ortográfica.d) Gerenciar recursos de software e interromper uma tarefa em

execução.

Page 44: Sistemas Operacionais - (01) Introdução a Sistemas Operacionais

Fagner S. de Lima - Sistemas Operacionais 4413/04/2023

Exercícios de Fixação

2. Para que uma aplicação execute instruções privilegiadas deverá executar um(a):

a) Arquivo específico para gerenciamento de hardware.b) Interrupção de hardware.c) Solicitação ao administrador do sistema.d) Chamada ao sistema.

Page 45: Sistemas Operacionais - (01) Introdução a Sistemas Operacionais

Fagner S. de Lima - Sistemas Operacionais 4513/04/2023

Exercícios de Fixação

2. Para que uma aplicação execute instruções privilegiadas deverá executar um(a):

a) Arquivo específico para gerenciamento de hardware.b) Interrupção de hardware.c) Solicitação ao administrador do sistema.d) Chamada ao sistema.

Page 46: Sistemas Operacionais - (01) Introdução a Sistemas Operacionais

Fagner S. de Lima - Sistemas Operacionais 4613/04/2023

Exercícios de Fixação

3. O uso de interrupções permite a utilização de:a) Sistemas concorrentes.b) Comunicação de dados.c) Dispositivos de hardware como, teclado e mouse.d) Bibliotecas de software

Page 47: Sistemas Operacionais - (01) Introdução a Sistemas Operacionais

Fagner S. de Lima - Sistemas Operacionais 4713/04/2023

Exercícios de Fixação

3. O uso de interrupções permite a utilização de:a) Sistemas concorrentes.b) Comunicação de dados.c) Dispositivos de hardware como, teclado e mouse.d) Bibliotecas de software

Page 48: Sistemas Operacionais - (01) Introdução a Sistemas Operacionais

Fagner S. de Lima - Sistemas Operacionais 4813/04/2023

Introdução a Sistemas Operacionais

Extras

Page 49: Sistemas Operacionais - (01) Introdução a Sistemas Operacionais

Fagner S. de Lima - Sistemas Operacionais 4913/04/2023

Links

Navegando pelo kernel do Linux - http://lxr.linux.no/