Você está na página 1de 20

Software

[Introduo Computao]

SISTEMAS OPERACIONAIS:
Fundamentos
Prof. Mrio Meireles Teixeira
mario@deinf.ufma.br

Software Conceitos Bsicos


Sistema de Computao

Software Conceitos Bsicos

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 Conceitos Bsicos

Software Conceitos Bsicos

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.

Software Conceitos Bsicos


Programas
Partes componentes do software Armazenados em unidades de memria secundria. Desenvolvidos utilizando Linguagens de Programao. Analistas de Sistemas e Programadores
Projetam e desenvolvem programas / software

Software Conceitos Bsicos


Categorias de Software
Software Bsico
Sistema Operacional Software Utilitrio Software Aplicativo ou Sistema Aplicativo
SOFTWAR E APLICATIV O SOFTWARE DO SISTEMA

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.

Software Conceitos Bsicos


Componentes genricos - sistema computacional Hardware Recursos bsicos (memria, dispositivos de E/ S, CPU). Sistema operacional Controla e coordena o uso do hardware entre vrios programas aplicativos e usurios. Programas aplicativos e de sistema Definem como os recursos de hardware so empregados na soluo de um problema (compiladores, jogos, processadores de texto, bancos de dados...) Usurios Pessoas, mquinas, outros computadores...

Software Conceitos Bsicos

Componentes genricos - sistema computacional


9 10

Software Conceitos Bsicos


Diferentes vises- Sistema computacional vises-

Sistemas Operacionais

Viso Usurio Final X Programador X Projetista de Sistema Operacional


11

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

Utilizar o hardware do computador de forma eficiente


Significa mais trabalho obtido pelo mesmo hardware Obtida por uma melhor distribuio/ uso dos recursos

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

Funes dos Sistemas Operacionais

Funes dos Sistemas Operacionais

Funes dos Sistemas Operacionais


Programao de Tarefas Gesto da Memria Interfaceamento com o Usurio

Usurio
Interface com o usurio

Hardware Teclado Mouse HD RAM Modem Impressora

Configurao de Dispositivos

Programa
Interface com o programa

Controle da Rede

Inicializao do Computador

SO
Monitorao do Desempenho Gesto de Programas

23

24

Funes dos Sistemas Operacionais


Inicializao do Computador Gesto de Programas Gesto da Memria Programao de Tarefas Configurao de Dispositivos Acesso Web Segurana do Sistema Controle da Rede Monitorao do Desempenho Interfaceamento com o Usurio

Funes dos Sistemas Operacionais


Gesto de Hardware
O S.O. serve de intermedirio entre os programas e o hardware; hardware; Intercepta os comandos emitidos e toma as providncias necessrias ao contexto. contexto.

25

26

Funes dos Sistemas Operacionais


Booting
Processo de inicializao ou reinicializao de um computador

Funes dos Sistemas Operacionais


Kernel
Ncleo de um SO
Gesto de memria e dispositivos Manuteno dos relgios do computador Inicializao de aplicativos Compartilhamento de recursos computacionais (programas, dispositivos, dados, informao)

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

A cada inicializao do computador, o kernel e outras instrues de uso frequente do SO so carregadas


27

28

Funes dos Sistemas Operacionais


Inicializao de um sistema computacional Passo 1
A fonte de alimentao fornece energia eltrica para as diferentes partes do sistema
processador

Funes dos Sistemas Operacionais


Inicializao de um sistema computacional Passo 2
O processador procura a BIOS
processador

BIOS

Firmware que contm as instrues de inicializao do computador

29

BIOS

BIOS Basic Input/Output System

30

Funes dos Sistemas Operacionais


Inicializao de um sistema computacional
Passo 3 A BIOS realiza o POST
drive de CD-ROM processador

Funes dos Sistemas Operacionais


Inicializao de um sistema computacional
Passo 4 Os resultados do POST so comparados com os dados armazenados no chip CMOS
processador drive de CD-ROM

chip CMOS

POST Power-On Self Test


BIOS
conectores

Teste mediante o qual so verificados componentes tais como mouse, teclado, conectores e placas de expanso

placas de expanso

Chip CMOS Complementary Semiconductor Metal Oxyde

BIOS

conectores

placas de expanso

teclado

31

Armazena informaes de configurao do computador e tambm detecta novos dispositivos conectados

32

Funes dos Sistemas Operacionais


Inicializao de um sistema computacional
Passo 5 O BIOS procura os arquivos de sistema no drive A (disco flexvel) e, em seguida, no drive C (disco rgido)
drive de CD-ROM

Funes dos Sistemas Operacionais


Inicializao de um sistema computacional
Passo 6 O programa de boot carrega na RAM o kernel do SO (armazenado no HD), o qual assume, a partir de ento, o controle do computador
drive de CD-ROM

processador

chip CMOS disco rgido

processador

chip CMOS disco rgido

BIOS

BIOS

conectores

conectores

mdulos de memria RAM

placas de expanso

placas de expanso

Arquivos de sistema Arquivos especficos do sistema operacional, carregados durante a inicializao

33

34

Funes dos Sistemas Operacionais


Inicializao de um sistema computacional
Passo 7 O SO carrega informaes de configurao, exibe a rea de trabalho (desktop) na tela e executa programas de inicializao (start up)

Funes dos Sistemas Operacionais


Gesto da Memria Virtual
O SO aloca uma poro de um meio de armazenamento (usualmente o disco rgido) para atuar como RAM adicional Disco (memria virtual)

RAM (memria fsica) Step 7

35

36

Funes dos Sistemas Operacionais


Gesto da Memria Virtual
Passo 1
O SO transfere os dados e as instrues de programas menos usados recentemente para o disco rgido, uma vez que a memria necessria para outros propsitos
swap out de pgina

Funes dos Sistemas Operacionais


Gesto da Memria Virtual
Passo 2 O SO transfere os dados e as instrues de programas do disco rgido para a memria quando necessrios
swap out de pgina

Disco (memria virtual) RAM (memria fsica)

Disco (memria virtual) RAM (memria fsica)

swap in de pgina
37 38

Funes dos Sistemas Operacionais


Formatao de Discos
Processo de preparao de um disco para leitura e escrita (gravao) A maioria dos fabricantes de discos rgidos e disquetes prformatam seus produtos Vrios SO formatam discos de modo diferente
39

Funes dos Sistemas Operacionais


Apoio a Programas

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

Funes dos Sistemas Operacionais


Apoio a Programas
Ler toques de teclas do teclado e exibir

Funes dos Sistemas Operacionais


Ambiente Multitarefa
Usurio trabalha ao mesmo tempo com duas ou mais aplicaes residentes na memria

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

Aplicaes em background (listadas na barra de tarefas) tarefas)


41 42

Funes dos Sistemas Operacionais


Comunicao SO - dispositivo de E/S
Driver de Dispositivo - Programa que possibilita a comunicao do SO com um dispositivo de E/S Cada dispositivo requer um driver prprio

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

Funes dos Sistemas Operacionais


Interface com o Usurio
Controle do modo de entrada de dados e do modo de apresentao das informaes na tela do monitor

Interfaces dos Sistemas Operacionais

Interface orientada a caractere Interface Grfica com o Usurio (GUI)

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

Gerncia e Alocao de Recursos

Sistemas Operacionais para Computadores de Grande Porte


Alocao de recursos: atribuir recursos de computador a certos programas e processos para serem usados. Principais questes relacionadas alocao de recursos:
Compartilhar a Unidade Central de Processamento Compartilhar memria Compartilhar recursos de armazenamento Compartilhar recursos de impresso
52

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.

Geralmente usada em programas em lote que no exigem entrada do usurio.


55

Tipicamente, usado em aplicaes com muitos usurios.


56

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

Primeiro Plano e Segundo Plano


Primeiro plano: para programas com alta prioridade, que recebero mais tempo de CPU. Segundo plano: para programas com menor prioridade, que recebero menos tempo de CPU
Os programas que aguardam para ser executados so colocados em filas, baseando-se em sua prioridade.
59

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.

Pode ser implementado por meio de paginao


Divide a memria em pginas pequenas, de tamanho fixo. A tabela de pginas (page table) controla as localizaes na memria.
60

Compartilhando Recursos de Armazenamento


Controla a localizao dos arquivos. Responde a comandos para manipular arquivos. Controla pedidos de entrada e sada de arquivos
Processa-os na ordem em que so recebidos.

Compartilhando Recursos de Impresso


Spooling: o programa escreve uma linha em um arquivo em disco em vez de envi-la diretamente a uma impressora.
Quando o arquivo concludo, colocado numa fila. O arquivo impresso quando a impressora se torna disponvel.

Permite a um programa concluir a execuo muito mais rapidamente.


Escrever em disco muito mais rpido do que escrever em uma impressora.
61 62

Classificao de Sistemas Operacionais

Sistemas Operacionais - Classificao

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 Operacionais - Classificao


Sistemas Mono-usurio MonoProjetados para serem usados por um nico usurio de cada vez, multi-tarefa (quando existente) limitada. Exemplo: MS- DOS, Windows 3.x, Windows 9x, Millenium

Sistemas Operacionais - Classificao


Sistemas Mono-tarefa (Mono-programveis) Mono(Mono-programveis)
Podem executar apenas uma tarefa de cada vez. Exemplo: MS-DOS

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

Sistemas Operacionais - Classificao


Sistemas em Lote (Batch) (Batch)
- Primeiros sistemas multi-programveis - Caracterizados por terem seus jobs armazenados em disco ou fita, at o momento de serem executados de forma seqencial. seqencial - Os jobs no possuem interao com o usurio (Ex.: primrdios compiladores, linkedies, backups). - Incio: passagem entre jobs - manual - Evoluo: Sequenciamento automtico de jobs, transferindo o controle de um job a outro.

Multi-tarefa Preemptiva o SO gerencia o


escalonamento dos processos, podendo interromper um processo em favor de outro, de maior prioridade

68

Sistemas Operacionais - Classificao


Sistemas em Lote (Batch) - Histrico (Batch)
Introduo da multi-programao multiAcesso direto aos jobs - escala de jobs em uma determinada ordem, de modo a aproveitar os tempos de cpu ociosa. A idia manter vrios programas em memria ao mesmo tempo. Enquanto um programa aguarda E/S, outro pode ser executado

Sistemas Operacionais - Classificao


Sistemas Multi-programveis de Tempo MultiCompartilhado (Time sharing) (Time sharing) Fornecem servios a diversos usurios concorrentemente
Usurios possuem um terminal Interao com o programa em execuo Usurio - Iluso de possuir a mquina dedicada execuo de seu programa Diviso do tempo de processamento entre usurios Tempo de resposta importante

69

70

Sistemas Operacionais - Classificao


Sistemas Multi-programveis de Tempo Real MultiQuanto construo, so bem semelhantes aos sistemas de tempo compartilhado. Porm, os objetivos e exigncias so diferentes. Em geram, atendem (monitoram) processos externos que requerem tempos de resposta dentro de limites rgidos. Ex.: experimentos cientficos, tratamento de imagens mdicas, controle de processos, etc O processo realimenta o computador. Em geral no existe o conceito de fatia de tempo alocada a um processo. Noo de tempo real dependente da aplicao (segundos, minuto, horas, etc).

Sistemas Operacionais - Classificao


Sistemas com Mltiplos Processadores
Caracterizam-se por possuir 2 ou mais CPUs interligadas, trabalhando conjuntamente. No desenvolvimento desses sistemas, o mais importante a forma de comunicao entre os processadores e o grau de compartilhamento da memria e dos dispositivos de E/S, o que leva a seguinte classificao: sistemas fortemente acoplados (assimtricos e simtricos) sistemas fracamente acoplados (SO de rede e SO distribudo).

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.

Verses: 1.0 , 2.0 , 3.0 ,...., 6.0, 6.22 , 7.0 (unificado ao


Windows )

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

Você também pode gostar