Buscar

slide estacio sistema operacional

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 50 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 6, do total de 50 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 9, do total de 50 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

CCT0011 – Sistemas Operacionais
Aula 01 – Introdução aos Sistemas Operacionais
Conteúdo da Aula
 Conceitos Fundamentais de Sistemas Operacionais
 Evolução Histórica dos Sistemas Operacionais 
 Classificação dos Sistemas Operacionais
Sistemas Operacionais
O Sistema Operacional é um programa responsável por 
controlar o funcionamento do computador, como um 
gerente dos vários recursos disponíveis do sistema.” 
Tanembaum
É um conjunto de programas responsável pela gerência de 
recursos de hardware, interfaces com o usuários e 
segurança de acesso e utilização.
O que é um Sistema Operacional? Hardware ou Software?
Sistemas Operacionais
Segundo Silberschatz et al. (2004), um sistema operacional é um programa que efetua 
o gerenciamento dos componentes físicos do computador (hardware), como 
também uma base para os programas aplicativos. Além disso, atua como 
intermediário entre o usuário e o hardware do computador.
A função do sistema operacional é permitir uma interface homem - máquina mais 
amigável com o usuário, isto porque encapsula as complexas rotinas de acesso a 
recursos de hardware, tais como, interface de programação e gerenciamento de 
recursos. 
Sistemas Operacionais
O sistema operacional é uma coleção de programas que:
• Inicializa o hardware do computador;
• Fornece rotinas básicas para controle de dispositivos;
• Fornece gerência, escalonamento e interação de tarefas;
• Mantém a integridade de sistema.
Um sistema operacional muito simples, para um sistema de controle de segurança, 
poderia ser armazenado em memória ROM, e assumir o controle ao ser ligado o 
computador.
Sistemas Operacionais
Cada parte de um sistema operacional (módulo ou função) é responsável pelo 
gerenciamento de um recurso específico.
• Tempo de CPU.
• Espaço de memória.
• Espaço de disco.
• Acesso aos dispositivos de comunicação.
• Bibliotecas de software.
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 entrada e saída.
• Acesso ao conteúdo de arquivos.
• Detecção de erros.
Evolução dos Sistema Operacionais
Primeira geração da computação moderna (1945 – 1955):
• Não trabalhavam o conceito de sistemas operacionais propriamente dito.
• As operações eram definidas através de hardware (chaves e fios).
• Muito difícil criar rotinas programáveis.
• Projetista era responsável pela “programação”
Evolução dos Sistema Operacionais
Segunda geração da computação moderna (1955 – 1965):
• Comandos executados em sequência através de cartões perfurados.
• Chamada programação em batch.
Em meados da década de 60, os primeiros sistemas operacionais foram desenvolvidos. 
Contudo, cada computador possuía seu próprio SO específico, o que implicava na 
incompatibilidade de mainframes distintos.
Um dos maiores representantes foi o CTSS, criado pela MIT, sendo lançado em 1961 
para o computador IBM 7090.
Evolução dos Sistema Operacionais
Primeiro Sistema Operacional
Os sistemas operacionais modernos surgem a partir de 1969 com o fim do projeto de uma 
equipe de desenvolvedores da AT&T Bell Labs e o resultado foi o sistema proprietário 
apelidado de UNIX.
• Foi desenvolvido inicialmente para um tipo específico de computador.
• Em 1973 foi recodificado para linguagem C.
• Introduziu conceitos de suporte a multiusuários, multitarefas e portabilidade.
• Tornou-se base para outros sistemas como:
• BSD (1977 – Berkeley Software Distribution)
• Solaris
• GNU/Linux
• Mac OS X
Evolução dos Sistema Operacionais
• 1978 – Apple DOS, código fechado, utilizado no Apple II.
• 1979 – Atari DOS, código fechado, utilizado nos computadores domésticos de 8 bits da marca.
• 1980 – Apple SOS, código fechado, utilizado no Apple III.
Xenix, código fechado, utilizado nos computadores Zilog Z8000 16 bits.
86-DOS (Q-DOS), código fechado, foi desenvolvido especificamente para processadores 
Intel 8086. Comprado pela Microsoft que transformou no MS-DOS.
• 1981 – MS-DOS /IBM PC DOS, código fechado, utilizado nos computadores IBM devido a 
parceria entre as empresas.
• 1984 – HP-UX, código fechado, desenvolvido pela Hewlett-Packard, primeiro a trazer um 
gerenciador de unidades lógicas e listas de controle de acesso.
Mac OS, código fechado, removeu necessidade de comandos e introduziu uso do mouse.
Evolução dos Sistema Operacionais
• 1985 – Windows 1.0, código fechado, primeiro desenvolvido pela Microsoft com interface 
gráfica e suporte para multitarefas. Rodava sobre MS-DOS.
• 1987 – MINIX, código aberto, desenvolvido por Andrew S. Tanenbaum para fins educacionais foi 
uma das inspirações para o lançamento do Linux.
OS/2,código fechado, desenvolvido pela IBM depois do fim da parceria com a Microsoft.
• 1990 – Windows 3.0, código fechado, capaz de trabalhar com processadores Intel 8086/8088, 
80286 e 80386. Compatível com adaptadores gráficos de 256 cores.
• 1991 – Linux, código aberto e livre, criado por Linus Torvalds tem o núcleo principal em 
constante evolução para englobar novas tecnologias e melhorias. Não se preocupou com 
interface gráfica. 
• 1993 – Debian, código aberto e livre, considerado um dos maiores sistemas de todos os 
tempos. Reúne o kernel do Linux e ferramentas do GNU. Apoio a diferentes arquiteturas, roda 
em x86, x64, PowerPC, SPARK, ARM, MIPS, S#() e AI-64.
Evolução dos Sistema Operacionais
• 1995 – Windows 95, código fechado, definiu alguns padrões e foi o responsável por tornar o 
Windows o sistema mais usado do mundo.
• 1997 – Symbian, um dos primeiros sistemas mobile, equipou celulares da Nokia e de outra 
marcas.
• 1998 – Windows 98, código fechado, substituiu o Windows 95.
• 2000 – Windows 2000, código fechado, desenvolvido para servidores e clientes de rede. 
Suportava encriptação e outros recursos avançados.
• 2001 – Windows XP, código fechado, provavelmente o sistema mais utilizado. Ganhou muitas 
atualizações.
Evolução dos Sistema Operacionais
• 2004 – Ubuntu, código aberto e gratuito, é o mais popular com cara do Pinguim. Baseado no 
Debian facilitou a utilização pelo usuário. Disponível para plataformas x86, x64, i486 e ARM.
• 2008 - Android, código aberto, sistema portátil mais utilizado no mundo.
• 2011 – Chrome OS – código aberto, desenvolvido pelo Google para os Chromebooks, utiliza 
recursos em nuvem. Versão de código para outros computadores chamada Chromium OS.
• 2013 – Xbox OS, código fechado, adota parte do código Windows e é mais enxuto para focar na 
execução do Direct3D.
Ubuntu Touch, código aberto, sistema para smartphones e tablets. Plataforma x86 e 
ARM.
Firefox OS, código aberto, sistema enxuto focado em HTML5 para smartphones.
Orbis OS, baseado em FreeBSD é o sistema operacional do PlayStation 4.
Módulos de um Sistema Operacional
Os módulos típicos em um SO geralmente são:
• Núcleo (Kernel que gerencia os recursos do sistema e permite que os programas 
façam uso deles);
• Interpretador de comandos (shell);
• Gerenciador de processo;
• Escalonador de processos (Scheduler);
• Sistema de arquivos.
Componentes Básicos de um Sistema Operacional
Gerenciador de E/S: atende às solicitações de E/S para dispositivos de hardware 
(buffer e drivers).
Gerenciador de sistema de arquivos: organiza coleções nomeadas de dados em 
dispositivos de armazenamento e fornece interface para acessar os dados nesses 
dispositivos. (criação e deleção de arquivos e diretórios, gerenciamento de espaços 
livres, mapeamento de arquivos emdisco)
Gerenciador de processos: criação e extinção de processos, escalonamento de 
processos, mecanismos de comunicação e sincronização entre processos, entre 
outros.
Componentes Básicos de um Sistema Operacional
Gerenciador de memória: alocação e liberação de espaço de memória, 
gerenciamento de memória virtual (paginação e segmentação).
Proteção do Sistema: protetor do sistema operacional, atuando com mecanismos 
de memória virtual, dos modos de execução (usuário e administrador), que limitam 
o acesso à usuários não autorizados.
Gerenciador
de Processos
Gerenciador
de Memória Gerenciador
de Disco
Gerenciador
de Rede
Gerenciador
de E / S
Gerenciador
de Arquivos
Sistema de
Proteção (segurança
de acesso)
Sistema 
Interpretador 
de Comandos
S.O.
Componentes Básicos de um Sistema Operacional
Componentes de um Sistema Operacional
Conceitos fundamentais de sistemas operacionais
• Conjunto de rotinas executadas pelo processador
• Conjunto de programas responsáveis pela gerência de recursos (hardware, 
segurança de acesso e utilização, interface com o usuário)
• Atua como uma interface entre o usuário e o computador (torna a utilização do 
computador mais fácil e segura)
• Sem um sistema operacional um usuário precisaria conhecer profundamente 
detalhes sobre o hardware
Arquitetura do sistema operacional
Classificação de Sistemas Operacionais
Os sistemas operacionais podem ser classificados quanto:
• Tarefas.
• Usuários.
• Interface.
• Processamento
Classificação de Sistemas Operacionais
Quanto a execução de tarefas
Sistema Monotarefa x Sistema Multitarefa
Definem a capacidade de gerenciar mais de uma tarefa ao mesmo tempo.
Falamos em gerenciamento de várias tarefas e não de execução.
Classificação de Sistemas Operacionais
Sistemas monotarefa
• Gerenciam apenas uma tarefa por vez
• Todos os recursos computacionais (CPU, memória e dispositivos de E/S) são alocados 
para um único programa
• Mesmo que o processador esteja ocioso aguardando por uma operação de E/S 
(digitação/impressão), nenhum outro programa é executado
Sistemas Multitarefa
• Recursos computacionais são utilizados por diferentes programas
• Processador utiliza o tempo de ociosidade gerado por um determinado processo para 
processar outra tarefa
• Garante uso mais otimizado dos recursos mas sua implementação é mais complexa
Classificação de Sistemas Operacionais
Sistema Monotarefa x Sistema Multitarefa
Monotarefa: Admite e gerencia apenas uma tarefa em execução por vez.
Ex.: DOS
Multitarefa: Admite e gerencia várias tarefas em processamento concorrente. Ex.: 
Windows XP, Windows 2003, Linux, MacOS, etc.
Monotarefa x Multitarefa
Concorrente ≠ Simultâneo
Processamento Monotarefa Processamento Multitarefa
Sistemas multitarefa
As tarefas se ALTERNAM no uso da CPU 
e dos demais recursos.
PERCENTUAL DE TEMPO QUE 
A TAREFA UTILIZOU A CPU NO 
ÚLTIMO MINUTO
Sistemas multitarefa
Classificação de Processamento
De acordo com o gerenciamento das aplicações, os sistemas multiprogramáveis podem 
ser classificados como:
• Sistemas Batch
• Sistemas de tempo compartilhado
• Sistema de tempo real. 
Classificação de Processamento
Sistemas operacionais Batch (lote)
• Programas eram escritos em cartões perfurados
• Leitoras liam os cartões e gravavam em fita magnética
• As fitas eram lidas e processadas e os resultados gravados em outra fita
• Os resultados eram então impressos
Apesar de apresentarem um tempo de resposta muito longos eram considerados 
altamente eficientes. 
Classificação de Processamento
Sistemas operacionais de Tempo Compartilhado (time-sharing)
Os sistemas operacionais de tempo compartilhado são sistemas onde o tempo do 
processador é dividido em pequenas partes (time-slice) permitindo a cada 
programa utilizar uma destas partes para a sua execução. 
O controle do sistema operacional é feito em um computador central. Os usuários 
interagem com o computador central através de 
comandos digitados em terminais compostos por
teclado, monitor e mouse. Grande parte das atuais
aplicações comerciais é processada em sistemas de
tempo compartilhado. 
Classificação de Processamento
Sistemas de Tempo Real (real time)
Sistemas que possuem 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.
Não se trata de “velocidade” de processamento e 
sim garantia de tempo de resposta.
Classificação de Processamento
Sistemas com Múltiplos Processadores
São sistemas que gerenciam vários processadores interligados e trabalhando em 
conjunto. Os processadores podem estar num mesmo computador ou espalhados 
fisicamente em uma rede de computadores. Dessa forma diversos programas 
podem ser executados simultaneamente, ou um programa pode ser dividido em 
partes e executados em processadores diferentes numa mesma máquina ou em 
várias. 
Devido a sua capacidade de ampliar consideravelmente o poder de processamento 
a medida que novos processadores são adicionados, este tipo de sistema é muito 
empregado em aplicações de processamento de imagens, simulações, prospecção 
de petróleo, processamento científico entre outros. 
Sistemas com Múltiplos Processadores
Classificação de Processamento
Classificação de Processamento
Sistemas fortemente acoplados
Nos sistemas fortemente acoplados 
existem vários processadores 
compartilhando uma única memória 
física (shared memory) e dispositivos 
de entrada/saída sendo gerenciados 
por apenas um sistema operacional. 
Em função desta características, os 
sistemas fortemente acoplados 
também são conhecidos como 
multiprocessadores.
Classificação de Processamento
Sistemas fortemente acoplados
Segundo Silberschatz et al. (2004) os sistemas fortemente acoplados podem ser 
divididos em:
• Multiprocessamento Simétrico (SMP – Symmetric Multiprocessing)
• Multiprocessamento Assimétrico (NUMA – Non-Uniform Memory Access). 
Nos sistemas de multiprocessamento simétrico os processadores compartilham o 
mesmo tempo de memória.
No multiprocessamento assimétrico, o tempo de acesso à memória pode variar 
dependendo da localização física dos processadores em relação à memória.
Classificação de Processamento
Sistemas fracamente acoplados
Os sistemas fracamente acoplados caracterizam-se por possuir dois ou mais 
sistemas computacionais conectados através de linhas de comunicação. Cada 
sistema funciona de forma independente, possuindo seu próprio sistema 
operacional e gerenciando seus próprios recursos, como UCP, memória e 
dispositivos de entrada/saída. Em função destas características, os sistemas 
fracamente acoplados também são
conhecidos como multicomputadores.
Neste modelo, cada sistema computa-
cional também pode ser formado por
um ou mais processadores.
Classificação de Processamento
Sistemas fracamente acoplados
Levando em considera o grau de integração dos computadores da rede, os sistemas 
fracamente acoplados podem ser classificados como:
• Sistemas operacionais de rede (SOR).
• Sistemas operacionais distribuídos (SOD).
Classificação de Sistemas Operacionais
Resumo
Classificação de Sistemas Operacionais
Quanto aos usuários
Sistema Monousuário x Sistema Multiusuário
Definem a capacidade de gerenciar mais de um usuário ao mesmo tempo, 
compartilhando os mesmos recursos de software e hardware.
Monousuário: Admite e gerencia apenas um usuário - não permite mais de um 
usuário “logado” ao mesmo tempo. Ex.: Windows XP e Windows NT (exceto versão 
TerminalServer).
Multiusuário: Admite vários usuários – permite que mais de um usuário esteja 
“logado” simultaneamente. Ex.: Linux e VMS.
Classificação de Sistemas Operacionais
Sistema Monousuário x Sistema Multiusuário
TODO SISTEMA MULTIUSUÁRIO É OBRIGATORIAMENTE MULTITAREFA
Multiusuário 
Significa mais de uma usuário no mesmo sistema.
Monousuário
Apenas um usuário por sistema.
Classificação de Sistemas Operacionais
Quanto ao número de processadores
Sistemas capazes de reconhecer e gerencias computadores com apenas um ou mais 
processadores.
• Sistemas Monoprocessados: Somente reconhecem e utilizam um processador. 
Ex.: Win 98.
• Sistemas Multiprocessados: Reconhecem e utilizam mais de um processador.
Ex.: Linux , Windows XP, Windows Vista, Windows 7.
Sistemas com suporte a multiprocessamento podem executar mais de uma tarefa ao 
mesmo tempo, uma em cada processador simultaneamente.
Classificação de Sistemas Operacionais
Outros sistemas com finalidades específicas:
Sistemas Embarcados: Sistemas inseridos em produtos com funções específicas como 
celulares.
Nem todo dispositivo eletrônico possui microcontrolador e nem
todo aparelho com microcontrolador possui um sistema operacional.
Estruturas dos Sistemas Operacionais
Os sistemas operacionais são diferentes dos demais 
programas , não são executados sequencialmente. 
A execução das rotinas está baseada em eventos 
relacionados às tarefas internas do sistema 
operacional e do hardware. 
O conjunto destas rotinas é chamado
Kernel (cérebro) ou núcleo do sistema.
Estruturas dos Sistemas Operacionais
As principais funções do Kernel são: 
• Tratamento de interrupções e exceções; 
• Criação e eliminação de processos e threads; 
• Sincronização e comunicação entre processos e threads; 
• Escalonamento e controle dos processos e threads; 
• Gerência de memória, de sistema de arquivos, de dispositivos de E/S; 
• Suporte a redes locais e distribuídas; 
• Contabilização do uso do sistema; 
• Auditoria e segurança do sistema. 
Estruturas dos Sistemas Operacionais
Chamada de sistema (System Call)
Os processadores modernos podem executar instruções com diferentes privilégios.
Em sistemas com dois níveis de privilégio, eles são chamados de modo usuário e modo 
protegido.
Os sistemas operacionais disponibilizam diferentes níveis de privilégio que restringem 
as operações executadas pelos programas, por razões de segurança e estabilidade, 
pois eles podem solicitar acesso a dispositivos de hardware, habilitar e 
desabilitar interrupções ou alterar o modo de privilégio do processador.
Estruturas dos Sistemas Operacionais
Modos de acesso
Existe uma preocupação dos desenvolvedores de sistemas operacionais quanto ao 
acesso direto ao Kernel por usuário e seus aplicativos.
Uma instrução indevida executada diretamente, pode corromper o kernel
comprometendo todo o sistema.
Instruções deste tipo são denominadas instruções privilegiadas. A execução de uma 
destas instruções está vinculada ao que chamamos de modos de acesso.
Estruturas dos Sistemas Operacionais
Modos de acesso
Os modos de acesso são: 
• Modo usuário: não permite que o usuário ou aplicações executem instruções 
privilegiadas, tais como escrever no disco, criar novas tarefas, etc. 
• Modo Kernel: permite acesso total as instruções privilegiadas. A mudança do 
modo de execução ocorre através de uma “system call” ou chamado ao sistema.
Estruturas dos Sistemas Operacionais
Chamadas ao sistema (system calls)
Para que o usuário ou alguma aplicação possa usufruir de algum serviço fornecido pelo 
Kernel deve acessá-lo através de um mecanismo conhecido como System Calls. 
O System Call é um intermediário entre as aplicações do usuário e o sistema 
operacional. Usuários ou aplicações acessam os serviços do Kernel chamando uma 
das suas rotinas através de uma System Call. O serviço é processado, com bases nos 
parâmetros definidos na System Call, e retorna à aplicação os resultados obtidos. 
Proteção de Acesso
SYSTEM CALL (CHAMADA AO SISTEMA): 
Porta De Acesso Ao Kernel
Instruções
privilegiadas
MODO USUÁRIO MODO KERNEL
Instruções não 
Privilegiadas
SYSTEM CALL
Reflexões e Dúvidas

Outros materiais