Buscar

sistemas_operacionais_unidade_01_introducao

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 157 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 157 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 157 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

Sistemas Operacionais
Prof. Douglas Machado
http://www.douglasmachado.com
professor@douglasmachado.com
v. 20110204
Sistemas Operacionais
 Sobre o professor
 Pesquisador no NP2TEC/UNIRIO (desde 2009)‏
 Professor na FES/JF (desde 2007)‏
 Coordenador do curso de Tecnologia em Redes de 
Computadores (desde 2010)
 Analista de sistemas em empresa privada (1999-2011)‏
 Certificado em Qualidade de Software (PROQUALITI)‏
 Mestrando em Informática (UNIRIO)
 Especialista em Melhoria de Proc. de Software (UFLA)‏
 Tecnólogo em Processamento de Dados (CES/JF)‏
 Técnico em Informática Industrial (UFJF/CTU)‏
Sistemas Operacionais
 Por que estudar sistemas operacionais:?
• Muitas mudanças têm ocorrido na área de TI
• Computação ubíqua: os computadores estão cada vez mais
presentes em nossas vidas: em casa, no trabalho, nos
estudos, no lazer, no governo…
• Grande quantidade de equipamentos: desktops, servidores, 
smartphones, notebooks, netbooks, tablets, consoles de 
games...
• Os sistemas operacionais são fundamentais para o 
funcionamento da maioria desses equipamentos
• Apesar das rápidas mudanças nos sistemas operacionais, 
os conceitos fundamentais continuam os mesmos
Sistemas Operacionais
 Contextualização da disciplina
• Ensinar os fundamentos de sistemas operacionais
• Relacionar os fundamentos a tarefas e problemas conhecidos nas
implementações mais usuais
• Possibilitar a solução de problemas com fundamentação teórica
• Possibilitar a solução de problemas fazendo bom uso das 
características de cada sistema
• Fornecer grau de conhecimento que diferencie profissionais com 
uma formação adequada dos demais
Sistemas Operacionais
 Ementa
• Conceitos fundamentais de Sistemas Operacionais
• Relações entre os sistemas operacionais conhecidos e 
respectiva classificação
• Conceitos de unidade de alocação
• Carga e execução de um programa (processos e threads)
• Concorrência e sincronização entre processos
• Mecanismos de gerência de recursos
• Sistema de arquivos
Sistemas Operacionais
 Objetivos gerais
• Compreender os conceitos e características dos Sistemas 
Operacionais
• Relacionar as atividades executadas pelo processador e 
demais componentes de um sistema de computação
• Compreender os componentes necessários ao projeto dos 
sistemas operacionais
• Relacionar os módulos de um sistema operacional com as 
atividades exercidas pelo usuário
Sistemas Operacionais
 Objetivos específicos
• Classificar adequadamente um sistema operacional
• Compreender os conceitos e estados de processos e 
threads
• Entender os mecanismos de alocação do processador
• Identificar problemas de concorrência
• Identificar problemas de alocação de memória
• Entender os princípios de funcionamento de memória
virtual
• Relacionar as atividades do sistema com questões de 
desempenho
• Entender o funcionamento de dispositivos de E/S
• Entender a interface de dispositivos de E/S com o usuário e 
com o sistema operacional
• Implementar regras de segurança de arquivos
Sistemas Operacionais
 Unidades
• Unidade I - Introdução a Sistemas Operacionais
• Unidade II - Processos
• Unidade III – Gerência de processador
• Unidade IV - Gerência de Memória
• Unidade V - Gerência de Entrada e Saída
• Unidade VI - Sistema de Arquivos
Sistemas Operacionais
 Unidade I – Introdução a Sistemas 
Operacionais
• Conceitos Fundamentais de Sistemas Operacionais
• Evolução Histórica dos Sistemas Operacionais
• Classificação de Sistemas Operacionais
• Interrupções
• Conceitos de concorrência
• Estruturas dos Sistemas Operacionais
Sistemas Operacionais
 Unidade II – Processos
• Conceito de Processo
• Estados de um processo
• Threads
• Comunicação entre Processos
• Sincronização entre Processos
Sistemas Operacionais
 Unidade III – Gerência de Processador
• Fundamentos
• Critérios de Escalonamento
– FCFS
– Prioridade
– SJF
– Round Robin (Circular)
– Múltiplas filas com realimentação
• Cálculo estimado de tempo de resposta
Sistemas Operacionais
 Unidade IV – Gerência de Memória
• Funções
• Espaço de Endereçamento Físico e Lógico
• Estratégias de alocação
• Memória Virtual
Sistemas Operacionais
 Unidade V – Gerência de Entrada e Saída
• Subsistemas de entrada e saída
• Componentes de hardware de E/S
• Componentes de Software de E/S
Sistemas Operacionais
 Unidade VI – Sistema de Arquivos
• Conceitos de Arquivos e Diretórios
• Métodos alocação
• Gerência de espaços livres
• Proteção de acesso
Sistemas Operacionais
 Bibliografia
• Título : Arquitetura de Sistemas Operacionais 
• Autores : Francis Berenger Machado e Luiz Paulo Maia
• Editora : LTC
• Ano: 2007
• Edição: 4ª
• Título : Fundamentos de Sistemas Operacionais 
• Autores : Silberschatz, Galvin e Gagne
• Editora : LTC
• Ano: 2009
• Edição: 6ª
Sistemas Operacionais
 Mapa conceitual
• <arquivo anexo>
Sistemas Operacionais
 Relação com outras disciplinas
• Organização de Computadores
• Algoritmos
Sistemas Operacionais
 Datas das avaliações
• AV1: 
• AV2: 
• AV3: 
Unidade I – Introdução a 
Sistemas Operacionais
 Objetivos
• Compreender as funções de um sistema operacional
• Entender a posição que um sistema operacional ocupa em 
um sistema computacional
• Conhecer os componentes de um sistema operacional
• Conhecer a evolução histórica dos sistemas operacionais
• Diferenciar os tipos de sistemas operacionais existentes
• Compreender a importância de conhecer o funcionamento 
de um sistema operacional para solução de problemas
Unidade I – Introdução a 
Sistemas Operacionais
 Conceitos fundamentais de sistemas
operacionais
• Conjunto de rotinas executado pelo processador
• Conjunto de programas responsável pela gerência de 
recursos (hardware, segurança de acesso e utilização, 
interface com 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
Conceitos fundamentais de 
sistemas operacionais
 Componentes básicos
– Interface com usuário
– Gerência de processador
– Gerência de memória
– Gerência de dispositivos
– Sistema de arquivos
• Componentes avançados
– Segurança de acesso
– Ferramentas de auditoria
Conceitos fundamentais de 
sistemas operacionais
 Funções básicas:
– Facilitar acesso aos recursos do sistema
– Compartilhar recursos de forma organizada e protegida
Conceitos fundamentais de 
sistemas operacionais
program adores
e ana listas
m em ór ia d iscos
UCP
Usuár ios
Hardw are
Sistem a O peraciona lSistem a O peraciona l
f i tas
im pressoras m oni tores
program as,
sistem as e
ap lica tivos
usuários
Conceitos fundamentais de 
sistemas operacionais
Utilitários
Circuitos Eletrônicos
Microprogramação
Linguagem de Máquina
Sistema Operacional
Aplicativos
Evolução histórica dos 
sistemas operacionais
 Intimamente ligada à evolução dos 
computadores
 Antes da década de 1940:
– 1642: Blaise Pascal (matemático francês) inventou uma
máquina de somar
– 1673: Gottfried Leibniz (matemático e filósofo alemão) criou
uma máquina capaz de somar e multiplicar
– 1820: Charles Colmar (francês) inventou uma máquina capaz
de executar as quatro operações
– 1822: Charles Babbage (matemático inglês) inventou uma
máquina para cálculo de equações polinomiais
– 1833: Charles Babbage (matemático inglês) aprimora a 
máquina anterior para executar qualquer tipo de operação
Evolução histórica dos 
sistemas operacionais
– 1854: George Boole (matemático inglês) criou a lógica
booleana (base para o modelo de computação digital da 
década de 1940)
– 1890: Herman Hollerith (fundador da IBM) cria os cartões
perfurados
• 1896: fundou a Tabulating Machine Company
• 1924: mudou de nome para International Business Machine 
(IBM)
– 1930: primeiras tentativas de se criar calculadoras eletrônicas
Evolução histórica dos 
sistemasoperacionais
 Década de 1940:
– Primeiros computadores eletromecânicos (calculadoras)
– Eram formados por milhares de válvulas
– Ocupavam áreas enormes
– Lentos e de funcionamento duvidoso
– Utilizados basicamente para aplicações militares (cálculos
matemáticos)
Evolução histórica dos 
sistemas operacionais
 Mark I
Evolução histórica dos 
sistemas operacionais
 ENIAC
Evolução histórica dos 
sistemas operacionais
 EDSAC
Evolução histórica dos 
sistemas operacionais
 Outros:
– EDVAC
– ORDVAC
– ELLIAC
– WEIZAC
Evolução histórica dos 
sistemas operacionais
 Características mais comuns dos 
computadores da época
– Para utilizá-los era preciso conhecer profundamente o 
hardware
– A programação era feita em painéis, através de milhares de 
conectores, utilizando linguagem de máquina
– Cálculos que levariam 24 horas para serem feitos
manualmente eram feitos em questão de segundos
– Programar cálculos simples era uma atividade que poderia
durar dias
– Não possuiam dispositivos de interface com usuário (teclado, 
monitor, mouse...)
– Não existia o conceito de sistema operacional
Evolução histórica dos 
sistemas operacionais
 Década de 1950:
– Transistor substitui válvula e memória magnética passa a ser
usada:
• Processamento mais rápido e confiável
• Acesso a dados mais rápido
• Maior capacidade de armazenamento
• Computadores menores
– Empresas da época: Raytheon, RCA, Burroughs e IBM
– Programas passam a ser perfurados em cartões, ao invés de 
serem codificados diretamente na máquina
Evolução histórica dos 
sistemas operacionais
Evolução histórica dos 
sistemas operacionais
– Início do processamento batch
• Programas eram escritos em cartões perfurados
• Leitoras liam os cartões e gravavam em fita magnética
• As fitas eram lidas e processadas, sendo os resultados
gravados em outra fita
• Os resultados eram então impressos
Evolução histórica dos 
sistemas operacionais
Processamento
Processamento
Processamento
(a)
(b)
(c)
fita de entrada
fita de entrada
cartões perfurados
fita de saída
relatórios
fita de saída
job 2
job n
relatório 1
relatório 2
relatório n
job 1
Evolução histórica dos 
sistemas operacionais
– Principal vantagem: programas não precisavam ser
submetidos um a um (com isso o processador ficava menos
tempo ocioso)
 1953
– Criação do primeiro sistema operacional
– Desenvolvido pela General Motors (eram usuários do IBM 701)
– Objetivo: automatizar tarefas manuais
 Surgimento das primeiras linguagens de programação “alto‏nível”
– FORTRAN
– ALGOL
– COBOL
 Programas deixam de ter ligação direta com o hardware dos 
computadores (facilidade e agilidade na criação de programas)
Evolução histórica dos 
sistemas operacionais
 Linguagens de programação evoluem
 Sistemas operacionais evoluem:
– Facilitação do trabalho de codificação, submissão, execução e 
depuração de programas
– SOs passam a ter seu próprio conjunto de rotinas para
operações de E/S
– Programadores não precisam mais implementar rotinas de 
leitura/gravação para cada tipo de hardware (independência de 
dispositivos)
– Sistemas operacionais da época: SOS (SHARE Operating 
System), FMS (FORTRAN Monitor System) e IBSYS (todos
para máquinas IBM)
Evolução histórica dos 
sistemas operacionais
 Década de 1960:
– Redução dos custos: difusão de computadores nas empresas
(antes restritos a aplicações militares e governamentais)
– Aumento de poder de processamento e diminuição de tamanho
dos computadores
– Introdução das técnicas de multiprogramação, 
multiprocessamento, time-sharing e memória virtual
– Substituição de fitas (sequenciais) por discos magnéticos: a 
ordem de execução dos programas batch pode ser facilmente
alterada
Evolução histórica dos 
sistemas operacionais
– Sistemas operacionais da época:
• MCP (Master Control Program) para o computador B-5000 
(Burroughs): multiprogramação e memória virtual.
• OS/360 para System/360 (IBM), que fazia uso de 
arquitetura escalonável: multiprogramação, sistema on-line, 
time-sharing.
• CTSS (MIT) para o IBM 7094: tempo compartilhado.
• Unix (Ken Thompson) para PDP-8 (DEC) // o Unix ainda
não era conhecido por este nome
– Introdução de novos dispositivos de E/S: terminal de vídeo e 
teclado
Evolução histórica dos 
sistemas operacionais
 Década de 1970:
– Principal SO: CP/M (Control Program Monitor), da Digital 
Research
– Surgimento dos microprocessadores
– Surgimento dos microcomputadores
– Destaque para a criação da Apple e da Microsoft
– Criação da linguagem de programação PASCAL
– Criação da linguagem de programação C
Evolução histórica dos 
sistemas operacionais
 Década de 1980:
– IBM entra na briga pelo mercado de PCs, com o IBM PC, 
utilizando o sistema operacional DOS, comercializado pela
Microsoft (muito semelhante ao CP/M)
– Difusão de sistemas multiusuário
– Universidade de Berkeley desenvolve sua própria versão do 
UNIX (BSD – Berkeley Software Distribution)
– Destaque para a criação do protocolo TCP/IP
– Principais Sos da época
• DOS (Microsoft)
• SunOS (Sun)
• Sun Solaris (Sun)
• Windows (Microsoft): interface gráfica
• OS/2: interface gráfica
Evolução histórica dos 
sistemas operacionais
 Década de 1990:
– Consolidação dos SOs baseados em interface gráfica
– Difusão das famílias Windows, Unix e Linux
– Difusão do softwara aberto (MySQL, Apache, Linux...)
– Consolidação de SOs para ambientes corporativos: Windows 
NT e Unix (HP-UX, IBM-AIX, Sun Solaris)
Evolução histórica dos 
sistemas operacionais
Evolução histórica dos 
sistemas operacionais
 Década de 2000:
– Evolução do multiprocessamento
– Introdução do conceito de processamento distribuído
– Sistemas operacionais cada vez mais simples e intuitivos
– Forte uso de linguagem natural, som e imagem
Tipos de sistemas operacionais
 2010 em diante: possivelmente haverá 
grande propagação de sistemas operacionais 
para dispositivos móveis
Evolução histórica dos 
sistemas operacionais
Tipos de sistemas operacionais Tipos de
Sistemas Operacionais
Sistemas
Monoprogramáveis/
Monotarefa
Sistemas
com Múltiplos
Processadores
Sistemas
Multiprogramáveis/
Multitarefa
Tipos de sistemas operacionais
 Monoprogramáveis/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 de um dado, por
exemplo), nenhum outro programa é executado
– Foram utilizados nos primeiros computadores da década de 
1960 e voltaram a ser usados nos computadores pessoais da 
década de 1970
Tipos de sistemas operacionais
Memória
Principal
Dispositivos
de E/S
UCP
programa/
tarefa
Tipos de sistemas operacionais
 Multiprogramáveis/multitarefa:
– Antes o processador ficava ocioso enquanto aguardava pela
leitura ou gravação em um dispositivo de E/S
– Em sistems multiprogramáveis os recursos computacionais são
utilizados por diferentes programas
– Quando o processador está ocioso (geralmente aguardando
por uma operação de E/S), outro programa pode ser
processado
– Garantem um uso muito mais otimizado dos recursos do que
os sistemas monotarefa, entretanto sua implementação é muito
mais complexa
Tipos de sistemas operacionais
– Podem ser monousuário ou multiusuário
– Monousuário: apenas um usuário interage com o sistema por
vez
– Multiusuário: mais de um usuário pode interagir com o sistema
simultaneamente
Tipos de sistemas operacionais
Memória
Principal
Dispositivos
de E/ S
UCP
programa/
tarefa
programa/
tarefa
programa/
tarefa
programa/
tarefa
programa/
tarefa
Tipos de sistemas operacionais
Tipos de sistemas operacionais
 Sistemas batch:
– São também sistemas multitarefa
– Foram implementados no início da década de 1960
– Os programas (também conhecidos como jobs) eram
submetidos à execução através de cartõesperfurados e 
armazenados em disco ou fica
– Em seguida os programas aguardavam sua execução
– As saídas eram gravadas em outra fita
– Nesses sistemas a interação com o usuário não era necessária
Tipos de sistemas operacionais
 Sistemas de tempo compartilhado:
– São também sistemas multitarefa
– O tempo de uso do processador é dividido igualmente para
diferentes programas
– Cada programa tem sua fatia de tempo (time-slice) 
– Se a time-slice não for suficiente, o programa em execução é 
substituído por outro e fica aguardando sua próxima execução
– Tem-se a impressão de que o sistema está totalmente alocado
para um determinado programa, quando na verdade o tempo 
está sendo compartilhado
Tipos de sistemas operacionais
 Sistemas on-line:
– São também sistemas multitarefa
– Permitem a interação com o usuário
– Normalmente o tempo de resposta para o usuário é baixo
Tipos de sistemas operacionais
 Sistemas de tempo real:
– São também sistemas multitarefa
– Semelhante ao sistema de tempo compartilhado, entretanto
não existe o conceito de time-slice
– Um programa utiliza o processador o tempo que for 
necessário, até que haja algum programa com prioridade maior
– Geralmente estão presentes em sistemas de missão crítica, 
como refinarias de petróleo, controle de tráfego aéreo, usinas
termoelétricas e nucleares....
Tipos de sistemas operacionais
 Sistemas com múltiplos processadores
– Também chamados de multiprocessados
– São sistemas que têm a capacidade de gerenciar mais de um 
processador simultaneamente
– Diferentes programas podem fazer uso de diferentes
processadores
– O mesmo programa pode fazer uso de mais de um 
processador
– Tem os mesmos benefícios dos sistemas multiprogramados
Tipos de sistemas operacionais
Tipos de sistemas operacionais
Tipos de sistemas operacionais
Tipos de sistemas operacionais
– Principais vantagens:
• Escalabilidade: aumenta-se o poder de processamento
simplesmente aumentando-se a quantidade de 
processadores
• Disponibilidade: se um processador tem seu funcionamento
interrompido, o trabalho é desviado para os demais
Família Windows
Versão Data Versão Data
Windows 1.0 1985 Windows NT Server 
4.0
1996
Windows 2.03 1987 Windows 98 1998
Windows 2.86 1989 Windows 2000 2000
Windows 3.0 1990 Windows 2000 
Server
2000
Windows 3.1 1992 Windows Me 2000
Windows NT 3.1 1993 Windows XP 2001
Windows 3.11 1993 Windows Server 
2003
2003
Windows 3.51 
workstation
1995 Windows Vista 2006
Windows 95 1995 Windows 7 2009
Windows NT 4 1996
Windows 1.01 (1985)
Windows 2.03 (1987)
Windows 3.0 (1990)
Windows 3.1 (1992)
Windows NT 3.11 (1993)
Windows NT 3.11 (1993)
Windows NT 3.51 Workstation (1995)
Windows 95 (1995)
Windows NT 4.0 (1996)
Windows NT Server 4.0 (1996)
Windows 98 (1998)
Windows 2000 (2000)
Windows 2000 Server (2000)
Windows Me (2000)
Windows XP (2001)
Windows 2003 Server (2003)
Windows Vista (2006)
Windows 7(2009)
Unidade I: conceitos, evolução 
e classificação dos SOs
 Revisão
1. Ao longo do curso foram apresentadas diferentes definições para
sistemas operacionais. Neste contexto, defina o que você
compreendeu por ser um sistema operacional.
2. De acordo com o que foi estudado, um sistema operacional
desempenha duas funções fundamentais para os sistemas
computacionais. Descreva e explique essas funções.
3. Explique a diferença entre sistemas operacionais monotarefa e 
multitarefa.
4. Explique a diferença entre sistemas monousuário e multiusuário.
5. No contexto de sistemas operacionais, multitarefa tem o mesmo
significado que multiprocessado? Explique.
6. Pode-se dizer que todo sistema operacional multiusuário é 
multitarefa? Explique.
7. Um sistema multitarefa é, necessariamente, um sistema multiusuário? 
Explique.
Unidade I: conceitos, evolução 
e classificação dos SOs
8. Dentre os tipos de sistemas operacionais foi apresentado o sistema
operacional de tempo real. Quais são as características desse tipo
de sistema?
9. É correto dizer que em sistemas multitarefa a execução de diferentes
programas é simultânea? Explique.
10.Explique como um usuário faria uso de um computador que não
fosse dotado de um sistema operacional
11.Quais seriam as principais dificuldades de um programador no 
desenvolvimento de uma aplicação para um computador que não
tivesse um sistema operacional?
12.Pode-se dizer que em sistemas monoprogramados há subutilização
de recursos? Explique.
13.Um sistema monousuário pode ser, ao mesmo tempo, multitarefa? 
Explique.
Unidade I: Introdução a 
Sistemas Operacionais
 Conceitos de concorrência
 Interrupções
 Estruturas dos sistemas operacionais
Unidade I: concorrência, 
interrupções e estrutura
 Objetivos
– Compreender os fundamentos de sistemas concorrentes
– Entender a importância e o funcionamento dos mecanismos de 
interrupção
– Identificar as estruturas existentes de sistemas operacionais
– Entender o funcionamento de uma chamada ao sistema (system call)
Unidade I: concorrência, 
interrupções e estrutura
 Concorrência
– Segundo Pinkert (1990), sistema operacional pode ser definido 
como‏“conjunto‏de‏rotinas‏executadas‏de‏forma‏concorrente‏e‏
ordenada”
– Desta forma, o conceito de concorrência é fundamental para a 
implementação da multiprogramação
– Possibilita que instruções sejam executadas ao mesmo tempo 
que outras operações (ex.: E/S)
Unidade I: concorrência, 
interrupções e estrutura
 Monoprogramação x multiprogramação
2
(a) Sistema Monoprogramável
tempo tempo
E/S E/S
UCP UCPlivre 11
1
(b) Sistema Multiprogramável
Unidade I: concorrência, 
interrupções e estrutura
– Em sistemas monoprogramáveis, perdia-se muito tempo de 
processamento durante as operações de E/S
– Operações de E/S são muito mais lentas do que operações de 
processamento
Unidade I: concorrência, 
interrupções e estrutura
– Exemplo de utilização do sistema
Leitura de um registro 0,0015s
Execução de 100 
instruções 0,0001s
TOTAL 0,0016s
% de utilização da 
CPU
(0,0001/0,0015s) = 
0,066 = 6,6%
Unidade I: concorrência, 
interrupções e estrutura
– Não é só o processador que é subutilizado em sistemas 
monoprogramáveis: memória e dispositivos de E/S (como 
discos, impressoras e etc.) também são
– Destaca-se‏que‏uma‏tarefa‏pode‏deixar‏a‏CPU‏por‏“vontade‏
própria”‏(quando‏aguarda‏uma‏operação‏de‏E/S,‏por‏exemplo)‏
ou por uma interrupção
Unidade I: concorrência, 
interrupções e estrutura
 Interrupções e exceções
– Durante a execução de um programa podem ocorrer eventos 
inesperados
– Esses eventos podem causar um desvio forçado no fluxo de 
execução de um programa
– Tais eventos são conhecidos por interrupção ou exceção
Unidade I: concorrência, 
interrupções e estrutura
– Uma interrupção independe da instrução que está sendo 
executada
– É sempre gerada por algum evento externo ao programa
– São as interrupções que permitem que o sistema operacional 
sincronize diferentes atividades, como rotinas, programas dos 
usuários e dispositivos
Unidade I: concorrência, 
interrupções e estrutura
– Exemplo:
• Suponha‏que‏o‏“Prog.2”‏esteja‏fazendo‏uso‏do‏processador‏
enquanto‏o‏“Prog.‏1”‏faz‏uso‏de‏uma‏impressora
• Quando a impressão terminar, o processador precisa ser 
“avisado”‏dessa‏operação
• Neste momento tem-se a interrupção
Unidade I: concorrência, 
interrupções e estrutura
– Ao final da execução de cada instrução, a unidade de controle 
verifica se ocorreu alguma interrupção
– Em caso positivo, o programa em execução é interrompido e o 
controle é desviado para uma rotina de tratamento de 
interrupção
– Importante: para que o programa anterior à interrupção possa 
voltar a ser executado é necessário que algumas informações 
sejam preservadas (basicamente, o conteúdo dos 
registradores)
Unidade I: concorrência, 
interrupções e estrutura
Unidade I: concorrência, 
interrupções e estrutura
– Parte da interrupção é executadavia hardware, parte via 
software
– Interrupção passo a passo:
VIA HARDWARE:
1.Um sinal de interrupção é gerado para o processador
2.O processador termina de executar a instrução corrente
3.O processador identifica o pedido de interrupção
4.Os conteúdos dos registradores (PC e de status) são salvos
5.O processador identifica qual rotina de tratamento que será 
executada
6.O registrador PC é carregado com o endereço da rotina de 
tratamento de interrupção
Unidade I: concorrência, 
interrupções e estrutura
VIA SOFTWARE:
1.A rotina de tratamento salva o conteúdo dos demais 
registradores do processador na pilha de controle do 
programa
2.A rotina de tratamento é executada
3.A rotina de tratamento termina e restaura todos os 
registradores (PC, status e uso geral)
4.O programa interrompido retoma o uso do processador a 
partir de onde parou
Unidade I: concorrência, 
interrupções e estrutura
– Para cada tipo de interrupção existe uma rotina de tratamento
– O fluxo de execução é sempre desviado para a rotina 
correspondente
– No momento da interrupção o processador deve saber para 
qual rotina desviar o fluxo
Unidade I: concorrência, 
interrupções e estrutura
– Lembra-se dos 
conflitos de IRQ, 
comuns em 
versões antigas 
do Windows?
Unidade I: concorrência, 
interrupções e estrutura
– As interrupções são decorrentes de eventos assíncronos (que 
não têm relação com o programa que está em execução)
– Esses eventos são imprevisíveis e podem ocorrer inúmeras 
vezes (ex: diferentes dispositivos de E/S informam ao 
processador que estão prontos para serem execu
Unidade I: concorrência, 
interrupções e estrutura
– As interrupções são decorrentes de eventos assíncronos (que 
não têm relação com o programa que está em execução)
– Esses eventos são imprevisíveis e podem ocorrer inúmeras 
vezes (ex: diferentes dispositivos de E/S informam ao 
processador que estão prontos para serem executados 
novamente)
– Dessa forma, pode acontecer de diferentes pedidos de 
interrupção serem gerados ao mesmo tempo
– Algumas rotinas de tratamento de interrupção inibem outros 
pedidos de interrupção quando alguma rotina de tratamento 
está sendo executada (mascaramento de interrupções)
– Outra maneira é controlar as interrupções por prioridades 
através do controlador de pedidos de interrupção (interrupções 
em cascata)
Unidade I: concorrência, 
interrupções e estrutura
– Exceções
• É resultado direto da execução do próprio programa
• Parte de um evento síncrono, e não de um evento 
assíncrono
• Eventos síncronos são previsíveis e só podem acontecer 
um de cada vez
• Se um programa for executado novamente com a mesma 
entrada de dados, a mesma exceção será gerada na 
mesma instrução
• Exemplos: divisão por zero, overflow
Unidade I: concorrência, 
interrupções e estrutura
• O mecanismo de tratamento de exceção é bem semelhante 
ao tratamento de interrupções
• A maior diferença é que o próprio programador pode 
escrever o mecanismo de tratamento de exceções
• Isso evita que o programa será encerrado caso ocorra uma 
exceção
• Em PASCAL pode-se‏usar‏a‏função‏“try/except”,‏conforme‏
exemplo a seguir
Unidade I: concorrência, 
interrupções e estrutura
Program divisor;
var
R1, R2: Double;
begin
Try
Write('Digite um número: ');
ReadLn(R1);
Write('Digite outro número: ');
ReadLn(R2);
Writeln('Resultado da divisão do primeiro pelo segundo número:', 
R1/R2);
except
On EZeroDivide do
Writeln('Você não pode dividir por zero!');
On EInOutError do
Writeln('Este não é um número válido!');
end;
end.
Unidade I: concorrência, 
interrupções e estrutura
Utilitários
Hardware
Núcleo do
Sistema Operacional
Aplicativos
Unidade I: concorrência, 
interrupções e estrutura
– Funções do kernel
• Tratamento e 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 de processos e threads
• Gerência de memória
• Gerência do sistema de arquivos
• Gerência de dispositivos de E/S
• Suporte a redes locais e distribuídas
• Contabilização do uso do sistema
• Auditoria e segurança do sistema
Unidade I: concorrência, 
interrupções e estrutura
– Os‏“problemas”‏da‏multiprogramação
• Diversos usuários compartilham os mesmos recursos 
(memória, processador e dispositivos de E/S)
– Como garantir a confiabilidade na execução concorrente 
de todos os programas?
– Como garantir a confiabilidade nos dados dos usuários?
– Como garantir a integridade do próprio sistema 
operacional?
• Vários programas fazendo uso do processador
– Como‏impedir‏que‏um‏programa‏“monopolize”‏o‏uso‏do‏
processador?
Unidade I: concorrência, 
interrupções e estrutura
• Vários programas ocupam a memória simultaneamente
– Como garantir para que cada programa tenha sua área 
reservada na memória, para armazenamento do código 
e dos dados?
– Se um programa tentar acessar uma posição de 
memória fora de sua área, deve ser emitido um erro de 
violação de acesso
Unidade I: concorrência, 
interrupções e estrutura
– Para que diferentes programas acessem a mesma área 
de memória o sistema operacional deve prover 
mecanismos para essa atividade, que deve ser 
sincronizada e controlada
• Um disco pode armazenar arquivos de diferentes usuários
– Como garantir a integridade dos dados?
– Como garantir a confidencialidade dos dados?
– Como permitir que mais de um usuário tenha acesso ao 
mesmo arquivo?
– Todos esses problemas originados da multiprogramação são 
tratados através dos mecanismos de proteção do sistema 
operacional (que controlam o acesso concorrente a diversos 
recursos do sistema)
Unidade I: concorrência, 
interrupções e estrutura
– Modo usuário
• Programas só podem executar instruções não-privilegiadas
• É concedido acesso a um número reduzido de instruções
– Modo kernel
• Acesso ao conjunto total de instruções do processador
– Para que uma aplicação execute instruções privilegiadas 
(como gravar um arquivo em disco ou iniciar um novo 
processo) é necessário que o modo usuário seja alterado de 
usuário para kernel
– Determinação do modo de acesso:
• O modo de acesso corrente é determinado em um conjunto 
de bits localizado no registrador de status do processador
• É o próprio hardware, através desse dispositivo, que verifica 
o modo de acesso antes de executar uma instrução
Unidade I: concorrência, 
interrupções e estrutura
– Uma aplicação só pode executar rotinas do SO através das 
system calls
System Call
Aplicação Biblioteca Hardware
Núcleo do
Sistema Operacional
Núcleo do
Sistema Operacional
Unidade I: concorrência, 
interrupções e estrutura
– Etapas
• Uma aplicação deseja chamar uma rotina do SO
• O mecanismo de system call é ativado
• O SO verifica se a aplicação possui os privilégios 
necessários para executar a rotina do SO desejada
• A partir daí a aplicação pode possuir ou não o privilégio 
necessário
Unidade I: concorrência, 
interrupções e estrutura
– 1o caso: a aplicação não possui o privilégio necessário
• O SO impedirá o desvio para a rotina do sistema
• O programa que solicitou acesso à rotina é informado da 
negação do pedido
– Este é um mecanismo de proteção por software
– O SO garante que aplicações só poderão executar rotinas do 
SO que estejam devidamente autorizadas
– O mecanismo de autorizações será visto mais adiante
Unidade I: concorrência, 
interrupções e estrutura
– 2o caso: a aplicação possui o privilégio necessário
• O SO salva o conteúdo corrente dos registradores
• O SO troca o modo de acesso do processador de usuário 
para kernel
• O SO realiza o desvio para a rotina (alterando o registrador 
PC para o endereço da rotina chamada)
• Ao término da execução da rotina o modo de acesso 
retorna a usuário
• O contexto dos registradores é restaurado
• A aplicação continua a execução a partir da instrução que 
chamou a rotina do sistema
Unidade I: concorrência,interrupções e estrutura
Unidade I: concorrência, 
interrupções e estrutura
– Proteção por hardware
• Uma aplicação sempre deve ser executada com o 
processador em modo usuário
• Se uma aplicação tentar executar uma instrução 
privilegiada diretamente (sem ser através de uma system 
call) o mecanismo de proteção por hardware garantirá a 
proteção do sistema
• O próprio hardware do processador sinalizará um erro
• Uma exceção é gerada e a execução do programa é 
interrompida
• Esse mecanismo visa proteger o núcleo do sistema
Unidade I: concorrência, 
interrupções e estrutura
– Funções das system calls
• Gerência de processos e threads
– Criação e eliminação de processos e threads
– Alteração das características de processos e threads
– Sincronização e comunicação entre processos e threads
– Obtenção de informações sobre processos e threads
• Gerência de memória
– Alocação e desalocação de memória
• Gerência do sistema de arquivos
– Criação e eliminação de arquivos e diretórios
– Alteração das características de arquivos e diretórios
– Abrir e fechar arquivos
– Leitura e gravação em arquivos
– Obtenção de informações sobre arquivos e diretórios
Unidade I: concorrência, 
interrupções e estrutura
– Cada sistema operacional possui seu próprio conjunto de 
rotinas
– Nomes, parâmetros e formas de ativação são específicos
– Dessa forma, uma aplicação desenvolvida para utilizar 
chamada a rotinas de um determinado sistema operacional 
não pode ser portada diretamente para outro sistema
Unidade I: concorrência, 
interrupções e estrutura
GetSystemTime (SystemTime);
DataHoraT := SystemTimeToDateTime(SystemTime);
DataHoraS := DateTimeToStr(DataHoraT);
RichEdit1.Lines.Add(DataHoraS);
- A API GetSystemTime obtém a data e hora do MS Windows
- A função SystemTimeToDateTime converte a data e a hora para o 
formato DataHoraT do Delphi
- A função DateTimeToStr converte para o formato texto
- A última linha exibe a data e a hora em uma janela
Unidade I: concorrência, 
interrupções e estrutura
– POSIX (Portable Operating System Interface for Unix)
• Tentativa de criação de uma biblioteca de chamadas padrão
• Inicialmente criado para unificação das várias versões do 
Unix
• Atualmente a maioria dos SOs oferece algum suporte 
(Windows, IBM-AIX, HP-UX, Sun Solaris)
Unidade I: concorrência, 
interrupções e estrutura
– Linguagem de comandos
– Trata-se de mais uma camada na estrutura do sistema 
operacional
– Permite que o usuário se comunique diretamente com o 
sistema operacional
– Cada comando é interpretado pelo interpretador de 
comandos (shell, no Linux)
– Em geral, não faz parte do núcleo do sistema operacional
Unidade I: concorrência, 
interrupções e estrutura
– Alguns comandos Windows
– ASSOC
– Mostra ou modifica as associações feitas às extensões 
de arquivos
– Digitar apenas ASSOC mostra todas as associações
– Digitar ASSOC .bmp mostra o programa associado à 
extensão .bmp 
– Digitar ASSOC .bmp = “Imagem Paint” associa 
“Imagem‏Paint”‏à‏extensão‏.bmp
Unidade I: concorrência, 
interrupções e estrutura
– ATTRIB
– Exibe ou modifica os atributos de um arquivo
– Digitar ATTRIB arquivo.extensão mostrará os 
atributos de um arquivo específico
– Digitar apenas ATTRIB mostrará os atributos de todos 
os arquivos do diretório corrente
– Parâmetros
– R read only (somente leitura)
– A arquive (arquivo)
– S system file (arquivo de sistema)
– H hidden (oculto)
– + acrescenta um atributo
– - remove um atributo
– Exemplo: ATTRIB + R teste.txt (torna o arquivo 
teste.txt somente leitura)
Unidade I: concorrência, 
interrupções e estrutura
– BCDEDIT
– Gerencia as informações de boot que controlam o boot 
loader
– CACLS
– Gerencia a lista de controle de acesso (ACL)
– CALL
– Permite que um arquivo .bat seja chamado a partir de 
outro arquivo .bat
– CD
– Exibe o diretório local ou acessa outro diretório
– Exemplo:
– CD c:\windows altera o diretório atual
– CD .. retorna um nível acima
– CD ../.. retorna dois níveis acima
Unidade I: concorrência, 
interrupções e estrutura
– CHCP
– Exibe ou altera o código de página do console
– Digitar apenas CHCP mostrará o código atual
– Digitar CHCP 850 alterará o código para 850 
(multilingual latin I)
– Exemplos de códigos:
– 860 português
– 437 americano
– 866 russo
Unidade I: concorrência, 
interrupções e estrutura
– CHKDSK
– Utilitário de checagem de disco
– Pode checar uma unidade especificamente
– Exemplo:
– CHKDSK C: (irá checar apenas a unidade C)
– CLS
– “Limpa”‏a‏tela
– CMD
– Permite checar e alterar vários parâmetros do 
interpretador de comandos
– Exemplo:
– CMD /t:64 altera as cores da fonte e do fundo
– COLOR
– Altera a cor de fonte e de fundo do interpretador de 
comandos
Unidade I: concorrência, 
interrupções e estrutura
– COMP
– Compara arquivos
– Sintaxe: comp arquivo1 arquivo2 [opções]
– COMPACT
– Compacta um arquivo
– Só funciona em partições NTFS
– Sintaxe: compact [opções] arquivo
– /c compactar
– /u descompactar
– CONVERT
– Converte um volume FAT em NTFS
Unidade I: concorrência, 
interrupções e estrutura
– COPY
– Copia arquivos
– Sintaxe: copy diretorio\arquivo_origem
diretorio\arquivo_destino [opções]
– Append de arquivos: copy arq1 + arq2 arq3
– Neste caso o conteúdo de arq1 e arq2 será
colocado em arq3
– DATE
– Informa a data do sistema e aguarda a digitação de uma
nova
– /t parâmetro que evita que o interpretador de comandos
solicite a entrada de uma nova data
Unidade I: concorrência, 
interrupções e estrutura
– DEL
– Apaga arquivos
– DIR
– Exibe os arquivos de um diretório
– DISKCOMP
– Compara o conteúdo de dois disquetes
– DISKCOPY
– Copia o conteúdo de um disquete para outro disquete
– DISKPART
– Utilitário de particionamento de disco
– DRIVERQUERY
– Exibe uma lista com todos os drivers instalados
– ECHO
– echo off :remove o prompt da tela
– echo on :retorna com o prompt
Unidade I: concorrência, 
interrupções e estrutura
– EXIT
– Sai do interpretador de comandos
– FC 
– Compara dois ou mais arquivos e mostra a diferença
entre eles
– FIND 
– Procura por uma string em um arquivo
– Sintaxe: find “string” path
– FORMAT
– Formata uma unidade de disco
– FSUTIL
– Exibe e configura informações do filesystem
– FILETYPE
– Associa descrições de arquivos a comandos
Unidade I: concorrência, 
interrupções e estrutura
– IF
– Condicional “se”
– Muito usado em arquivos .bat
– Exemplos
– IF EXIST teste1.txt echo o arquivo
existe
– IF NOT EXIST arq2.txt echo não existe
– LABEL
– Exibe informações sobre a partição e permite que se 
altere o nome do volume
– MD
– Cria um diretório
– MOVE
– Move arquivos de um diretório para outro
– RD 
– Remove um diretório
Unidade I: concorrência, 
interrupções e estrutura
– REN
– Renomeia arquivos
– SUBST
– Criar drives virtuais
– Exemplo:
– SUBST W: C:\Douglas
– Será criado drive‏“W”‏que na verdade é um link para
a pasta C:\Douglas
– SYSTEMINFO
– Exibe todas as informações do sistema (processador, 
memória, data de boot, nome do host, versão do BIOS, 
etc.)
Unidade I: concorrência, 
interrupções e estrutura
– TASKLIST
– Exibe uma lista de todos os processos em execução
(nome do processo, pid, utilização da memória, etc.)
– TASKKILL
– Interrompe uma tarefa ou processo
– TIME
– Exibe a hora atual
– TREE
– Exibe os diretórios de‏forma‏“gráfica”
– TYPE
– Exibe o conteúdo de um arquivo texto
– VER
– Exibe a versão do Windows
Unidade I: concorrência, 
interrupções e estrutura
– Tipos de estrutura
– Os sistemas operacionais podem ser classificados quanto
às atribuições do kernel
– Arquitetura monolítica
– Arquitetura em camadas
– Arquitetura microkernel
Unidade I: concorrência, 
interrupções e estrutura
– Contextualizando...
– Desenvolver um sistema operacional é extremamente 
complexo
– Principais requisitos
– Confiabilidade
– Portabilidade
– Fácil manutenção
– Flexibilidade
– Desempenho
UnidadeI: concorrência, 
interrupções e estrutura
– Os primeiros sistemas operacionais foram desenvolvidos 
em Assembly
– IBM OS/360 1 milhão de instruções
– MULTICS 20 milhões de instruções
– A vantagem do Assembly é o desempenho
– A desvantagem é a complexidade
– Com o tempo foram incorporadas linguagens de alto nível, 
como PL/I e Algol
– Atualmente as mais comuns são C e C++
– Windows 2000: 40 milhões de LINHAS de código
– Drivers, escalonador, rotinas de tratamento de interrupções 
e outras partes críticas continuam sendo feitas em 
Assembly
Unidade I: concorrência, 
interrupções e estrutura
– Arquitetura monolítica
– Foi o modelo de desenvolvimento dos primeiros 
sistemas operacionais
– Trata-se de um conjunto de módulos que funcionam 
como se fosse um único programa
– Foi adotada no MS-DOS e nos primeiros sistemas UNIX
Unidade I: concorrência, 
interrupções e estrutura
Modo kernel
aplicação aplicação
Modo usuário
System call
Hardware
Unidade I: concorrência, 
interrupções e estrutura
– Arquitetura de camadas
– Introduzida a partir do surgimento das técnicas de 
programação estruturada e modular
– O sistema é dividido em níveis sobrepostos
– Cada camada oferece um conjunto de funções que 
podem ser utilizadas apenas pela camada superior
– Exemplos
– THE (Technische Hogeschool Eindhoven) – Dijkstra 
(1968)
– MULTICS
– OpenVMS
Unidade I: concorrência, 
interrupções e estrutura
Unidade I: concorrência, 
interrupções e estrutura
– Vantagens
– As funções do sistema operacional ficam isoladas 
nas camadas mais internas (facilidade de 
manutenção e depuração)
– Criação de uma hierarquia de modos de acesso, o 
que protege as camadas mais internas
Unidade I: concorrência, 
interrupções e estrutura
– Desvantagem
– Desempenho
– Cada nova camada implica uma mudança no modo 
de acesso
– Atualmente a maioria dos sistemas operacionais utiliza 
o modelo de duas camadas
– Modo usuário (não privilegiado)
– Modo kernel (privilegiado)
– A maioria das versões Unix e Windows se baseia nesse 
modelo
Unidade I: concorrência, 
interrupções e estrutura
– Arquitetura microkernel
– Principal objetivo: tornar o núcleo do sistema
operacional o menor e mais simples possível
– Os serviços do sistema são disponibilizados através de 
processos
– Cada processo é responsável por oferecer um conjunto
específico de funções (gerência de arquivos, de 
processos, de memória, escalonamento, etc.)
Unidade I: concorrência, 
interrupções e estrutura
– Quando uma aplicação deseja um serviço, é realizada
uma solicitação ao processo responsável, através de 
uma mensagem
– A resposta se dá através do envio de outra mensagem
– A principal função do núcleo é realizar esta
comunicação (a troca de mensagens)
Unidade I: concorrência, 
interrupções e estrutura
Modo kernel
Modo usuário
Microkernel
m
en
sa
ge
m
m
ensagem
Hardware
Unidade I: concorrência, 
interrupções e estrutura
– Este conceito surgiu no sistema operacional Mach / 
Universidade Carnegie-Mellon (década de 1980)
– Existiam, basicamente, quatro serviços
– Gerência de processos
– Gerência de memória
– Comunicação por troca de mensagens
– Operações de E/S
Unidade I: concorrência, 
interrupções e estrutura
– Neste modelo, se um serviço parar o kernel não é 
comprometido (aumento de disponibilidade)
– Apesar das vantagens, sua implementação é muito mais 
difícil
Unidade I: concorrência, 
interrupções e estrutura
– Revisão
1. Explique o conceito de concorrência nos sistemas
multiprogramáveis
2. Você considera que o mecanismo de interrupção é importante
para a multiprogramação? Justifique.
3. Explique o mecanismo de funcionamento das interrupções
4. Dê exemplos de eventos associados ao mecanismo de 
exceções
5. Qual a diferença entre versão e distribuição Linux?
6. O que são instruções privilegiadas e não privilegiadas?
7. Dê um exemplo de como acontece a mudança de modo de 
acesso
Unidade I: concorrência, 
interrupções e estrutura
– Revisão
9. Explique como são os mecanismos de proteção do kernel
10. Explique o que são system calls
11. Compare as arquiteturas monolítica e de camadas, 
descrevendo suas vantagens e desvantagens
12. Descreva as vantagens e desvantagens da arquitetura
microkernel
Unidade I: concorrência, 
interrupções e estrutura
Atividade prática. 
Todas as operações descritas nesta atividade devem ser 
realizadas no interpretador de comandos do Microsoft 
Windows, sem que seja feito uso da interface gráfica
Para abrir o interpretador de comandos, siga os passos abaixo:
1. Clique em iniciar / executar
2. Digite CMD e tecle <enter>
Unidade I: concorrência, 
interrupções e estrutura
1. Através‏do‏programa‏“edit”,‏crie‏um‏arquivo‏texto‏com‏um‏conteúdo‏
qualquer e salve-o‏com‏o‏nome‏“arq1.txt”
2. Através do comando ATTRIB, verifique os atributos deste arquivo
3. Altere‏os‏atributos‏do‏arquivo‏para‏“somente‏leitura”
4. Verifique se os atributos foram atribuídos corretamente
5. Tente‏editar‏este‏arquivo‏para‏confirmar‏que‏ele‏é‏do‏tipo‏“somente‏
leitura”
6. Remova‏o‏atributo‏“somente‏leitura”‏e‏verifique‏se‏o‏arquivo‏passou‏
a ser editável
7. Crie‏um‏diretório‏chamado‏“dir1”‏e‏acesse-o
8. Em seguida, volte para o diretório anterior
9. Insira um pen-drive em seu computador e faça uma checagem de 
erros através do CHKDSK. Observe as informações no término
Unidade I: concorrência, 
interrupções e estrutura
10. Altere a cor de fonte e de fundo de seu interpretador de comandos
11. Crie dois arquivos: arqA.txt e arqB.txt. Insira conteúdo diferente em 
ambos e compare, através do comando COMP, se eles são 
realmente diferentes
12. Através do comando COPY, faça uma cópia do arquivo arqB.txt e 
salve-o com o nome arqC.txt. Compare-os através do comando 
COMP e veja se eles realmente são iguais.
13. Altere uma única linha no arquivo ArqC.txt e compare-o com o 
arquivo ArqB.txt através do comando FC. 
14. Explique a diferença entre a comparação feita com o COMP e com 
o FC nos exercícios anteriores
15. Compacte algum arquivo através do comando COMPACT e veja se 
o tamanho do arquivo diminuiu.
16. Tente compactar algum arquivo em um pen-drive. Analise e explique 
os resultados.
Unidade I: concorrência, 
interrupções e estrutura
17. Experimente exibir a data e a hora do sistema operacional na tela
18. Apague o arquivo arqA.txt, através do comando DEL
19. Verifique, através do comando DIR, se o arquivo foi mesmo 
apagado
20. Altere‏o‏nome‏da‏unidade‏“C:”‏para‏o‏seu‏nome
21. Mova‏o‏arquivo‏arq1.txt‏para‏o‏diretório‏“dir1”
22. Remova‏o‏diretório‏“dir1”
23. Renomeie‏o‏arquivo‏arqA.txt‏para‏“arquivoA.txt”
24. Crie uma pasta para você em C:\Seu_nome”
25. Associe‏o‏drive‏“w”‏a‏essa‏pasta
26. Grave um arquivo em w:\ e veja se este arquivo está em 
c:\seu_nome
27. Confira as informações exibidas pelo comando systeminfo
Unidade I: concorrência, 
interrupções e estrutura
28. Observe a saída do comando TASKLIST
29. Interrompa algum processo através do comando TASKKILL e 
confira se ele realmente foi eliminado
30. Crie três diretórios no raiz do seu drive W. Em cada diretório, crie 
pelo menos um subdiretório. E em cada subditetório crie mais um 
subdiretório. No total, você terá criado 9 diretórios.
31. Através do comando TREE, visualize a estrutura criada no exercício 
anterior
32. Confira a versão de seu Windows através do comando VER
Unidade I: concorrência, 
interrupções e estrutura
Atividade prática extra. Leia o texto abaixo:
William é um analista de suporte muito competente, que via telefone está tentando descobrir por que o 
software de automação comercial de seu cliente parou de funcionar. Todas as suas alternativas se 
esgotaram. William pede, então, ajuda ao programador que desenvolveu a aplicação. O programador
nunca entra em contato com o cliente, mas precisa de uma série de informações para conseguir
solucionar o problema. Ele então solicita que William repasse as seguintes informações:- Número da versão do Windows;
- Lista de todos os arquivos que estão no diretório C:\Windows\System32
- Lista de todos os programas que estão em execução
- Lista de todos os drivers instalados
- Lista com todas as informações do sistema operacional (processador, memória disponível, memória
alocada, etc.)
- Atributos do arquivo C:\autoexec.bat
Janete, secretária de William, não faz a mínima ideia de como obter essas informações. William não
pode se deslocar até o cliente e nem pode acessar a máquina remotamente. Uma boa opção seria
William enviar um arquivo .bat para Janete, de forma que ela apenas executasse-o e enviasse para
William os arquivos com as respostas.
Crie um arquivo .bat que obtenha todas as informações que William precisa e salve-as em arquivos
separados (versao.txt, system32.txt, processos.txt, drivers.txt, info.txt, autoexec.txt)
Referências
EVOLUTION of Microsoft Windows – 1985-2009. Hongkiat.com. 
Disponível em: http://www.hongkiat.com/blog/evolution-of-microsoft-
windows-1985-2009/. Acesso em 26/10/2010.

Continue navegando