Escolar Documentos
Profissional Documentos
Cultura Documentos
[Introduo Computao]
SISTEMAS OPERACIONAIS:
Fundamentos
Prof. Mrio Meireles Teixeira
mario@deinf.ufma.br
O que Software?
Peopleware
Conjunto altervel de instrues, ordenadas e lgicas, fornecidas ao hardware para a execuo de procedimentos necessrios soluo dos problemas e tarefas do processamento de dados o que torna possvel aos computadores ter uma variedade ilimitada de usos e funcionalidades
3 4
Hardware
Software
Software X Hardware
O que Software?
Software
Ordena e controla todas as atitudes do hardware Malevel - modificaes fceis, feitas por programadores
Conjunto de instrues/funes/tarefas que definem o que o computador deve executar para chegar a um determinado resultado. Instrues eletrnicas que em geral residem em um meio de armazenamento secundrio Um conjunto especfico destas instrues chamado Programa.
5 6
Hardware
Depende do software para funcionar Rgido - modificaes difceis, feitas somente pelos fabricantes.
Engenharia de Software
rea de estudo que se preocupa com o desenvolvimento de software Quando o computador est usando um programa em particular, dizemos que eles est rodando ou executando aquele programa.
Sistemas Operacionais
Sistema Operacional
Um conjunto de programas que se situa entre os softwares aplicativos e o hardware:
Gerencia os recursos do computador (CPU, dispositivos perifricos, memria). Estabelece uma interface com o usurio. Determina como o usurio interage com o sistema operacional. Prov e executa servios para softwares aplicativos.
Sistemas Operacionais
Objetivos
Tornar ao usurio a utilizao do computador mais conveniente
Esconde detalhes internos Reduz o tempo necessrio a construo de programas
13
14
Sistemas Operacionais
Sistemas Operacionais
Composio Bsica
Um sistema operacional consiste, basicamente, de um ncleo (Kernel) e alguns programas do Kernel) sistema. sistema H ainda aplicaes utilitrias que executam diversas tarefas. Kernel - corao do sistema operacional, composto pelas funes centrais do SO. Carregado do disco para a memria quando o computador iniciado (boot)
15 16
Usurio
Programas
SO
Sistema de Arquivos
Hardware
Sistemas Operacionais
Localizao
Residente no disco rgido do computador (maioria dos casos) Possibilidade de armazenamento em um chip ROM (handhelds) Computadores de diferentes portes possuem tipicamente diferentes sistemas operacionais Tipos similares de computadores podem possuir sistemas operacionais diferentes Diversos sistemas operacionais no so compatveis entre si.
17
Sistemas Operacionais
Programas aplicativos so desenvolvidos para ser executados em mquinas com sistemas operacionais especficos (um aplicativo para Mac requer o Mac OS) Na figura, a verso computadorizada de um guarda de trnsito posicionado entre o hardware do computador, os programas aplicativos e o usurio
18
Sistemas Operacionais
Servios oferecidos pelo sistema operacional Criao de programas Editores, depuradores, compiladores Execuo dos programas Carga de programas em memria Acesso a dispositivos de E/ S Controle de acesso a arquivos Acesso a recursos de sistema Proteo entre usurios, Segurana
19
Sistemas Operacionais
Servios oferecidos pelo sistema operacional Contabilidade Estatsticas Monitorao de desempenho Sinalizar upgrade de hardware necessrio (memria, disco, etc) Contabilizao e Tarifao de usurios
20
Sistemas Operacionais
Servios oferecidos pelo sistema operacional Deteco de erros Erros de hardware Erros de memria Falha em dispositivos de E/ S Erros de programao Overflow em operaes aritmticas Acesso no-autorizado a posies de memria Aplicao solicita recursos que o sistema operacional no pode alocar (segurana, falta do recurso, etc)
21
Usurio
Interface com o usurio
Configurao de Dispositivos
Programa
Interface com o programa
Controle da Rede
Inicializao do Computador
SO
Monitorao do Desempenho Gesto de Programas
23
24
25
26
Residente na memria
Permanece na memria enquanto o computador estiver executando O kernel memria residente na
No Residente na memria
Instrues permanecem no disco rgido at que sejam necessrias Outras partes do SO so no residentes
28
BIOS
29
BIOS
30
chip CMOS
Teste mediante o qual so verificados componentes tais como mouse, teclado, conectores e placas de expanso
placas de expanso
BIOS
conectores
placas de expanso
teclado
31
32
processador
processador
BIOS
BIOS
conectores
conectores
placas de expanso
placas de expanso
33
34
35
36
swap in de pgina
37 38
Salvar arquivos em disco. disco. Ler arquivos do disco para a memria. memria. Verificar o espao disponvel em disco e memria. memria. Alocar memria para armazenar dados e programas. programas.
40
caracteres ou grficos na tela. Os programas trazem incorporados a si instrues que solicitam ao sistema operacional estes servios. Essas instrues so denominadas chamadas ao sistema operacional. operacional.
Aplicao em foreground
Sistemas Operacionais
PlugnPlay (PNP ou Plug and Play)
Reconhecimento de novos dispositivos pelo computador, instalao automtica de drivers para esses dispositivos e verificao de conflitos com outros dispositivos Suportado pela maioria dos dispositivos e SO atuais
driver de dispositivo
43
44
45
Sistemas Operacionais
Interface com o Usurio Do ponto de vista do usurio, o que faz (ou prejudica) um sistema operacional a qualidade da interface com o usurio. s vezes, a interface com o usurio denominada shell sugerindo a idia de que a shell, interface com o usurio (o shell) envolve o sistema operacional (o kernel dentro do shell). Os trs tipos de interfaces com o usurio so: Interface de linha de comando Interface grfica Interface de programao (bibliotecas)
47
Sistemas Operacionais
Interface de linha de comando A comunicao feita via digitao de palavras (limitadas) e smbolos no teclado do computador; O usurio controla os programas atravs da digitao de comandos no aviso de comando (prompt), Exemplo: c:>, #, $. Exige que o usurio digite os comandos utilizando palavras-chave que instruem o sistema operacional sobre o que fazer (Ex.: format, ls, copy). Usurio deve conhecer as regras de sintaxe. Pouco utilizados pelos usurios leigos porque exigem memorizao e muito fcil cometer um erro de digitao. Preferido pelos usurios experientes.
48
Sistemas Operacionais
Interface grfica Tambm conhecida por GUI (Graphical User Interface); Possibilita o trabalho em termos visuais; Desenvolvimento do conceito de Menus, cones e caixas de dilogos Facilidade de utilizao medida pela intuitividade da interface Tipo de interface chamada amigvel Utiliza o conceito de desktop - rea de trabalho digital: Mesa de trabalho digital So as mais populares.
Calculadora, bloco de notas, pastas, lixeira, etc...
Sistemas Operacionais
Interface de Programao Todo sistema operacional oferece uma interface para programao de aplicaes So as chamadas bibliotecas, que contm um conjunto de chamadas de sistema (system calls) Esta interface utilizada apenas por programadores especializados Ex: funes de acesso a arquivos, a rede, comunicao entre processos, etc.
49
50
Compartilhando a CPU
Multiprocessamento Multiprogramao Tempo compartilhado
Multiprocessamento
O uso de um computador potente com mltiplas CPUs. Mltiplos programas rodam simultaneamente.
Cada um executado em seu prprio processador.
53
54
Multiprogramao
Dois ou mais programas executados concorrentemente.
Os programas se alternam na utilizao da CPU. Baseada em eventos.
Uma interrupo suspende o processamento para permitir a execuo de um outro programa. Depois que o segundo programa executado, o sistema operacional retorna a CPU a outro programa.
Tempo Compartilhado
Os programas se alternam na utilizao da CPU. Baseado no tempo.
A cada usurio designada uma fatia de tempo (frao de segundo). A CPU trabalha somente nas tarefas desse usurio durante sua fatia de tempo. Tempo de resposta: o tempo entre o pedido digitado e a resposta do computador.
Compartilhando
Memria
Gerenciamento da Memria
Divide a memria em parties distintas. Aloca memria para programas. Mantm os programas mutuamente separados.
Gerenciamento da memria. Divide a memria em primeiro plano e segundo plano. Usa armazenamento virtual.
Tambm chamado de memria virtual.
57
58
Armazenamento Virtual
Os programas que esto atualmente em execuo so armazenados em disco
Partes do programa so levadas para a memria conforme a necessidade. Minimiza a quantidade de memria necessria.
Primrdios
Sistema operacional inexistente Usurio o programador e o operador da mquina Evoluo foi motivada por: Melhor utilizao de recursos Avanos tecnolgicos (novos tipos de hardware) Adio de novos servios
64
Sistemas Multi-tarefa (Multi-programveis) MultiMulti-programveis) Sistemas Multi-usurio MultiSuportam vrias sesses de usurio em um computador. Exemplo: UNIX, Windows-NT, Windows 2000, Windows XP, Vista, Win 7 Programas e arquivos de dados em um nico computador (host contas de usurio, gerencia o uso comum de host), perifricos compartilhados. Permitem executar vrias tarefas simultaneamente Modo cooperativo. Exemplo: Windows 9x (aplicativos de 16 bits) Modo preemptivo. Exemplo: Windows NT, UNIX, OS/2, Windows 9x (aplicativos de 32 bits)
65
66
Cooperao e Preempo
Multi-tarefa Cooperativa - cada aplicativo ocupa
seu prprio endereo de memria e recursos do sistema. Cabe a cada processo liberar voluntariamente a utilizao do processador para que outro processo possa ser executado
68
69
70
71
72
Sistemas Operacionais
Sistemas Operacionais MS-DOS MSWindows (95, 98, NT, CE) UNIX LINUX Solaris OS/2 (IBM - micros) Mac OS (Apple -
Sistemas Operacionais
Exemplos MS-DOS (Disk Operating System) MSSystem)
Machintosh) MCP (Unisys - Mainframe) VSE (IBM - Mainframe) MVS (IBM - Mainframe)
Gerenciadores de Rede Windows NT UNIX Ware LINUX Red Hat Solaris Novell Netware LANtastic
Mono-usurio e mono-tarefa. um sistema operacional de 16 bits Interface de linha de comando Modos de comunicao do usurio com o MS-DOS: modo interativo e o modo batch.
Modo Interativo: executa comandos digitados pelo usurio na linha de comando (prompt do sistema). Modo batch: comandos em lote - uma seqncia de comandos, colocados em um arquivo texto, que sero executados segundo uma programao (script) pr-definida.
73
74
Sistemas Operacionais
Exemplos Windows
Revolucionou a forma de utilizao dos PCS . Permite utilizar o microcomputador com maior facilidade, atravs de uma interface visual grfica. Metfora bsica: a do desktop - ferramentas necessrias e outros recursos so sempre visveis e facilmente acessveis. Janelas
Regies retangulares que se alternam e se sobrepem Apresentam na tela todas as operaes ou programas executados no computador
Sistemas Operacionais
Exemplos UNIX
Verses: Windows 3.1 e 3.11, Windows 95 / Windows 98, Windows NT, Windows Vista, Windows 7 O win 3.X era apenas uma plataforma grfica sobre o DOS. A partir do Win 9X, houve a unificao do Windows e do DOS
75
Sistema multi-usurio e multi-tarefa. Principal objetivo: obteno de um ambiente satisfatrio de trabalho para programadores. Utilizao: usurios e programadores experientes - simples, elegante e fcil de aprender; Iniciantes - resumido e no muito amistoso. Uso predominante: inicialmente, em estaes de trabalho e servidores de rede, e especialmente popular em mquinas RISC de alto desempenho Vantagens: portabilidade, padronizao, sistema de arquivos hierrquico, estabilidade, versatilidade Sistemas UNIX modernos - tendem a ser distribudos e suportam aplicaes em tempo real.
76
Sistemas Operacionais
Exemplos Linux
um clone do UNIX, de distribuio livre. Foi primeiramente desenvolvido para PCs baseados em 386/486/Pentium, atualmente tambm roda em computadores Alpha - DEC, Sparc - SUN, PowerPCs. Est disponvel tambm em cdigo fonte aberto. A maioria dos programas rodando em Linux so freeware genricos para UNIX. Linux est sendo usado hoje em dia por centenas e centenas de pessoas pelo mundo, no desenvolvimento de software, networking, e como plataforma de usurio final. Tem se tornado uma alternativa efetiva de custo em relao aos caros sistemas UNIX e Windows existentes. Ex: Ubuntu, Fedora, Conectiva
77