























































Estude fácil! Tem muito documento disponível na Docsity
Ganhe pontos ajudando outros esrudantes ou compre um plano Premium
Prepare-se para as provas
Estude fácil! Tem muito documento disponível na Docsity
Prepare-se para as provas com trabalhos de outros alunos como você, aqui na Docsity
Os melhores documentos à venda: Trabalhos de alunos formados
Prepare-se com as videoaulas e exercícios resolvidos criados a partir da grade da sua Universidade
Responda perguntas de provas passadas e avalie sua preparação.
Ganhe pontos para baixar
Ganhe pontos ajudando outros esrudantes ou compre um plano Premium
Comunidade
Peça ajuda à comunidade e tire suas dúvidas relacionadas ao estudo
Descubra as melhores universidades em seu país de acordo com os usuários da Docsity
Guias grátis
Baixe gratuitamente nossos guias de estudo, métodos para diminuir a ansiedade, dicas de TCC preparadas pelos professores da Docsity
Conhecendo MS-DOS
Tipologia: Notas de estudo
1 / 63
Esta página não é visível na pré-visualização
Não perca as partes importantes!
O MS-DOS e seu antecessor, QDOS, foram baseados no CP/M (Control Program for
Microcomputers — Programa de Controle para Microcomputadores) — que era o sistema
operacional de disco dominante entre os microcomputadores baseados nos processadores
de 8 bits Intel 8080 e Zilog Z80.
A empresa Digital Research produziu um sistema compatível, conhecido como "DR-
DOS", que foi tomado pela Novell (depois de ter comprado a Digital Research).
Este se tornou o "Open DOS" durante certo tempo, após a venda de uma divisão
importante da Novell feita a Caldera International, atual SCO. Mais tarde, a divisão da
Caldera se separou, tornando-se a Lineo (posteriormente rebatizada como Embedix), que
por sua vez vendeu o DR-DOS a recém-criada Device Logics, atualmente DR-DOS, Inc.
Em poucos anos muitas empresas começaram a produzir micro computadores baseados no chip 8080. Em quase todas essas máquinas, rodava um sistema operacional chamado CP/ M, produzido por uma pequena empresa da Califórnia, a Digital Research. Todos os computadores pessoais (chamados microcomputadores) projetados de 1975 até o início da década de 80 nada mais eram do que brinquedos comprados e utilizados fundamentalmente pelas pessoas que tinham a eletrônica como hobby.
No início dos anos 80, a IBM, que então dominava a indústria de computadores, decidiu entrar no negócio da computação pessoal. No entanto, como ela custou a tomar uma decisão sobre o assunto, já era tarde para desenvolver um projeto próprio. Por conta disso, seus executivos decidiram fazer algo que não era usual para a normalmente cautelosa e burocrática IBM. Enviaram um de seus gerentes, Philip Estridge, para Boca Raton, na Flórida, a dois mil quilômetros do quartel-general da corporação, situado no condado de Westchester, Nova Iorque, com uma mala cheia de dinheiro, com a recomendação de não voltar de Nova Iorque sem um projeto de computador pessoal no bolso.
Estridge percebeu logo que a única maneira de se produzir rapidamente um computador pessoal era utilizando componente-padrão, em vez dos projetados internamente, pela própria IBM, como ela sempre fazia. Nesta época, a Intel já tinha produzido dois sucessores para o 8080, o 8086, de 16 bits, e o 8088, uma versão do 8086, com barramento de 8 bits.
Figura 1 – CP/MFigura 2 - Philip Estridge
Estridges escolheu, pois os chips que davam suporte a esse processador eram muito mais baratos que o dos 8086. Esta decisão baseou-se no fato de o preço de venda da máquina ser o ponto de maior importância no projeto.
Além de não ter interesse em construir ela própria os chips para equipar seu computador pessoal, a IBM estava muito menos interessada em escrever um software para ele. Seus executivos sabiam que o BASIC era muito popular entre os usuários de computadores pessoais, de modo que eles foram consultar Bill Gates, que nesta época já tinha fundado uma nova empresa, chamada Microsoft, a fim de licenciar o interpretador BASIC para ser usado no IBM-PC. Pediram também que Gates desenvolvesse um sistema operacional para a nova máquina.
A Microsoft, porém, estava dedicada ao projeto de vender o UNIX, sob licença de Bell Labs (AT & T). Ocorre que o UNIX originário do mundo dos mini computadores precisava de 100Kb de memória só para o sistema operacional e também de um disco rígido. A máquina da IBM tinha um total de 64k de memória e não era equipada com disco rígido. Em função disso, Gates sugeriu que a IBM usasse o CP/M – 86, desenvolvido pela Digital Research. A IBM consultou a Digital Research, que respondeu que o desenvolvimento dos CP/M – 86 estava atrasado em relação ao cronograma original, e a IBM não podia esperar.
A Microsoft foi então mais uma vez procurada, desta vez consultada sobre a possibilidade de escrever um sistema operacional com as mesmas características do CP/M – 86. Os projetos de Gates o impediram de assumir a empreitada e realizá-la no prazo exigido pela IBM. Ele, porém, sabia que uma empresa vizinha da Microsoft, a Seattle Computer Products, havia desenvolvido um sistema operacional CP/M – like, denominado 86 – DOS, para testar as placas de memória que ela produzia e vendia. A Microsoft então comprou o 86 – DOS e em abril de 1981, contratou seu projetista, Tim Paterson (onde ele ficou entre maio de 1981 até abril de 1982), para torná-lo ainda menor.
Eles mudaram o nome do sistema para MS-DOS (Microsoft – Disk Operating System),
entregando-o a IBM dentro do prazo contratado. Quando o IBM PC foi anunciado com
pompa de circunstância em agosto de 1981, o MS-DOS estava lá junto com ele.
Em resumo, o DOS foi originalmente desenvolvido por Tim Paterson da empresa Seattle Computer Products sob o nome de Q-DOS (Quick and Dirty Operating System), sendo uma variação do CP/M-80 da Digital Research.
O QDOS era apenas um produto interno criado para testar uma nova placa com UCP
loja de eletrônica, muitas empresas passaram a construir e a vender cópias do PC,
conhecida como clones, entrando em competição direta com a própria IBM. Foi devido a
esta enorme carga de energia e criatividade que o PC teve tanto sucesso, e, a reboque dele,
o MS-DOS.
É interessante dizer alguma coisa sobre o hardware do PC. Apesar do 8088 dispor de
um espaço de endereçamento de 1Mb, a IBM resolveu alocar os primeiros 640k deste
espaço para RAM, e o resto para as roms, placas de vídeo e outras coisas. Como
conseqüência, o MS-DOS, foi projetado para suportar programas com tamanho máximo de
640k. Em um primeiro momento, isto não era problema, uma vez que as máquinas só tinham
64 kb de RAM, mas a incapacidade do MS-DOS em rodar programas com mais de 640k,
tornou-se um problema sério. E este problema está ajudando na sua quase extinção.
Outra característica importante do IBM PC é o fato de ele não dispor de qualquer tipo
de proteção por hardware. Os programas são livres para passar por cima do sistema
operacional e acessar diretamente o hardware, usualmente com o intuito de obter uma
performance melhor. Este estilo de programação resultou em um grande número de
programas mal escritos e sem características que permitissem sua portabilidade. Tais
programas constituíram-se numa assombração constante para seus criadores, que não raro
os recebem de volta.
Com a certa complexidade do DOS em termos de comandos, foi criado um ambiente
gráfico para ele, o Windows. No Windows, além de ser mais fácil "navegar" entre os
programas devido à sua interface simples de ser interpretada (pastas a diretórios, figuras
para os arquivos, cliques do mouse), já era possível rodar dois programas ao mesmo tempo,
coisa que o DOS não permitia, porém o acesso à memória ainda era no mesmo esquema do
DOS fazendo que falhas gerais que derrubasse o sistema fossem ainda muito freqüentes.
Microsoft compra os direitos não-exclusivos de comercialização do QDOS em
Dezembro de 1980. Em Julho de 1981, ela compra os direitos exclusivos do 86-DOS, versão
seguinte do QDOS.
A primeira versão, PC-DOS 1.0, foi lançada em Agosto de 1981. Ela suportava até
256kB de RAM e dois disquetes de 160kB 5.25" de face única. Suas principais
características era ser um sistema monousuário e monotarefa (monoprocessado).
Em Maio de 1982, o PC-DOS 1.1 trouxe suporte aos disquetes de 320 kB dupla-face.
PC-DOS 2.0 e MS-DOS 2.0, lançados em Março de 1983, foram às primeiras versões a suportar o PC/XT e drives de discos fixos (comumente chamados de drives de disco rígido). A capacidade dos disquetes foi elevada a 180kB (face única) e 360kB (dupla face) com o uso de nove setores por trilha em vez de oito. A versão 2.0 também permitia a um programa carregar e rodar subprogramas e overlays de programa (isso lhes dá um grau de independência do programa que os iniciou).
Ao mesmo tempo, a Microsoft anunciou sua intenção de criar uma GUI (Graphical User Interface - Interface Gráfica de usuário) para o DOS. Sua primeira versão, Windows 1.0, foi anunciada em Novembro de 1983, mas estava incompleta e não interessou a IBM. Em Novembro de 1985, a primeira versão completa, Windows 1.01, foi então lançada. Depois o programa Windows 2.03.
MS-DOS 3.0, lançado em Setembro de 1984, suportava inicialmente disquetes de 1.2MB e discos rígidos de 32MB. Incluiu também códigos de erro mais estendidos, de forma que permitia que os programas obtivessem uma explicação mais detalhada do que aconteceu de errado, quando um erro surge.
MS-DOS 3.1, lançado em Novembro do mesmo ano, introduziu o suporte à redes, com
serviços que permitiam o "travamento" e "destravamento" do acesso a todas as partes de
um arquivo, o que tornava seguro e prático para vários computadores compartilharem o
mesmo arquivo sem interferência um do outro.
MS-DOS 3.2, lançado em Abril de 1986, foi o primeiro lançamento comercial do MS-
DOS. Ele adicionou suporte aos disquetes de 720 kB/3.5. As versões anteriores foram
vendidas apenas aos fabricantes de computadores que embutiam-no em seus produtos,
porque os sistemas operacionais, até então, eram consideradas partes de um computador,
não um produto independente. Ele também incluiu o suporte para que o sistema usasse
linguagens diferentes do inglês americano.
MS-DOS 3.3, lançado em Abril de 1987, introduziu os discos lógicos. Um disco físico maior que 32MB poderia ser dividido em várias partições, consideradas como discos independentes pelo sistema operacional. Também foi adicionado suporte aos disquetes de
Figura 6 – PC-DOS 1.1Figura 7 - PC-DOS 2.0Figura 9 – GUI Windows 2.03Figura 8 - GUI Windows 2.
O MS-DOS 6.22 foi a última versão stand-alone do sistema disponível ao público. Ele foi retirado do mercado pela Microsoft em 30 de Novembro de 2001.
A Microsoft também lançou as versões de 6.23 a 6.25 para bancos e organizações militares Estadunidenses. Estas incluíam já suporte a partições FAT32. A partir de então, o MS-DOS passou a existir apenas como uma parte dos sistemas Windows 9x (95, 98 e Me). A versão original do Microsoft Windows 95 incorporou o MS-DOS versão 7.0.
O MS-DOS é um sistema operacional:
Monousuário (é um sistema operacional que só pode ser utilizado por um único usuário de cada vez);
Figura 11 – MS-DOS 6.
Monotarefa ou Monoprogramável (por possuir uma arquitetura simples, não necessita de rotinas de gerenciamento para compartilhamento de alguns
recursos, permitindo a realização de apenas uma tarefa de cada vez);
A memória pode ser dividida em pelo menos cinco tipos principais: Convencional, UMA, expandida, estendida e HMA;
Compatível apenas com a plataforma INTEL 8088 até Pentium-Por e não possui
portabilidade para outras plataformas como HP, DEC, Motorola, entre outras;
Possui alguns programas importantes como o DriveSpace, SCANDISK, DEFRAG;
Utiliza o sistema de arquivos FAT16 (Os antigos DOS utilizavam o FAT12);
Possui estrutura hierárquica de dados que possibilita a organização dos arquivos em
estruturas de diretórios e sub-diretórios;
Entre os principais comandos utilizados estão: DIR, COPY, XCOPY, MD, RD, MOVE,
etc;
Permite a modificação da entrada ou saída de periféricos padrão de alguns comandos
para outros periféricos.
O MS-DOS é dividido internamente em quatro partes:
Registro de Boot - Responsável pela inicialização do sistema. Verifica as condições
internas do equipamento e gerencia a carga dos demais arquivos para a memória, tornando-
o disponível para utilização.
IO.SYS - É o primeiro arquivo a ser carregado, do setor de boot o disco para a
memória. Ele é o software de mais baixo nível do MS-DOS que executa as mais primárias e
Figura 12 – Capa do manual MS- DOS 6.
CONFIG.SYS - É um arquivo criado pelo utilizador e basicamente contém rotinas
auxiliares para a gestão da memória e dos periféricos. Essas rotinas designam-se pelos
controladores de dispositivos.
Alguns comandos existentes:
BREAK - Orienta o DOS para verificar periodicamente no buffer do teclado se as teclas
"Ctrl+Break" ou "Ctrl+C" foram acionadas. Este procedimento visa interromper, pôr
solicitação do usuário, a execução do programa.
Ex.: BREAK = ON realiza a checagem.
BREAK = OFF não realiza a checagem (default).
FILES - Indica a quantidade de arquivos;
BUFFER - Indica a quantidade de área em memória que será reservada para o
armazenamento dos dados que serão lidos ou gravados em arquivos;
O modo de operação identifica a forma com que o usuário realiza as suas tarefas.
Existem dois modos de operação:
Interativo - Representa a execução imediata do comando digitado via teclado. Ao final
da execução o controle retorna ao usuário.
Batch - Representa um arquivo, com a extensão BAT, onde foi previamente digitado a
seqüência dos comandos a serem executados. Para executá-lo basta digitar o nome do
arquivo passando o controle aos comandos nele digitado, executando-os um a um na
seqüência nele digitado. Em um arquivo Batch é possível utilizar todos os comandos do
modo interativo acrescido de outros comandos específicos, tais como comandos
condicionais ou de desvio.
Para realizar a criação de um arquivo BAT, todos os comandos devem ser digitados em
um editor de texto.
No final da rotina de inicialização do ROM BIOS, o BIOS lê e executa o primeiro setor
físico do primeiro disquete ou disco rígido no sistema. Esse primeiro setor do disco rígido é
chamado de MBR (Registro Mestre de Inicialização ou bloco mestre de inicialização).
Também pode ser chama do Setor de Boot. Existe um pequeno programa no início desse
setor do disco rígido. A informação particionada, ou tabela de partição, é armazenada no
final desse setor. Esse programa usa as informações de partição para determinar qual
partição pode ser iniciada (normalmente a primeira partição primária do DOS) e tenta iniciar
a partir dela.
Funciona da seguinte forma:
A ROM BIOS (fornecida pelo fabricante é responsável pelo funcionamento do computador em um nível direto com o hardware) identifica a memória total do computador, identifica os periféricos instalados e procura a unidade de disco corrente do Setor de Boot;
O Setor de Boot é carregado
e executado na memória e no MS-
DOS, ele procura pelo arquivo
io.sys no diretório principal;
O io.sys prepara as funções básicas de I/O para a comunicação com o hardware e executa uma rotina interna chamada de sysinit;
O sysinit controla o resto do processo de boot carregando a memória o msdos.sys;
Figura 13 – Inicialização do DOS
Devido à sua natureza de tarefa única com uma interface de linha de comandos, o DOS pode ser considerado como um sistema operacional monotarefa preemptiva - o processador tem controle sobre o processo que está em execução. Nele o processo que atualmente tem direito a CPU deve se completar antes que o recurso da CPU possa ser dado a um outro processo. Para ilustrar essa situação temos o diagrama ao lado. Onde um novo processo em espera pode ser alocado a CPU e entrar em execução, ficando, depois, a espera de um evento de I / O (por exemplo, esperando que o usuário digite um comando pelo teclado) e depois de satisfeito o evento esperado, o processo é encerrado – vale ressaltar que nesse tipo de sistema, devido sua natureza de monotarefa, enquanto o processo aguardar a ocorrência de um evento qualquer, o processador ficará ocioso, a memória ficará subutilizada, caso o programa não a ocupe totalmente e os periféricos também ficarão ociosos se não utilizados.
E, ainda, um processo em execução pode ser encerrado prematuramente como,
também, um processo em espera pode ser encerrado antes mesmo de entrar em execução.
Figura 14 – Funcionamento do Processo
A memória pode ser dividida em pelo menos cinco tipos principais: Convencional,
UMA, expandida, estendida e HMA. E existem ainda algumas subdivisões menores para
cada um desses tipos. O hardware e o software se comunicam com a memória de várias
maneiras diferentes e estabelecem limites do quanto cada tipo de memória poder ser usada.
Antes de começarmos a falar sobre os diferentes tipos de memória é necessário
entender a origem do limite de 640k:
O DOS alocava todos os endereços de memória disponíveis, não importava se havia
alguém em cada endereço, o importante é que os endereços estavam reservados: Uma
série de endereços era reservada para BIOS, outra série para placa controladora de vídeo,
alguns endereços tinham de ser reservado para o uso do próprio DOS e alguns tinham de
ser reservados para outras placas adaptadoras no sistema. Os endereços de memória que
elas usariam, se resolvesse instalá-las no futuro, estava permanentemente reservada.
Somando todas essas alocações especiais e esses intervalos de endereço, dava um total de
384k. Subtraindo esse valor em 1024 k (1MB que o microprocessador 8088 poderia
endereçar), restavam 640k de espaço para uso dos programas aplicativos.
No passado, foram usados muitos termos para se referir aos 640k: memória de base,
área de programa do DOS, memória ordinária, memória do modo real, entre outros. Mas
nenhum desses termos "pegou", provavelmente porque não havia a necessidade de um
termo assim. Porém, quando o gerenciador de memória tornou-se mais sofisticado, a
terminologia precisou ser mais refinada. Assim hoje a memória que vai de 0byte a 640k é
chamado de Memória Convencional.
Aqueles 384K foram reservados pelo programadores que criaram o DOS para conter os seguintes componentes:
Adaptadores diversos de vídeos como EGA e VGA, MDA, e de redes; BIOS e outras
ROMs; e mais tarde, área de paginação de expansão de memória (EMS).
O primeiro grande esquema idealizado para superar o limite de 640K de memória no
DOS foi a memória expandida. A memória expandida força o programa a lidar, somente, com
a memória convencional, ou com partes da memória alta, mas permuta informações de outra
memória para dentro e para fora desses endereço convencionais.
Com os softwares e hardwares corretos para manipular esta troca de informações
entre memórias, um PC pode ter até 32MB de memória a mais. Só os programas escritos
para entender a memória expandida podem usar esses megabytes.
A memória expandida pode ser mais lenta que a memória convencional, mas esse é
um preço pequeno a pagar, para ter tantos megabytes a mais. E, de fato, sob certas
circunstâncias como multitarefa, movimentar ainda mais memória convencional para dentro
e para fora, no estilo de memória expandida – uma prática conhecida como backfilling –
pode ser mais rápido que a memória convencional tradicional.
Esse componente da memória expandida chama-se Gerenciador de Memória
Expandida (EMM - Expanded Memory Maneger).
EMM386 permite que programas sejam carregados para a memória 'superior' (UMA),
mais uma vez salvar mem convencional.
Este programa é instalado ao se inicializar o computador (boot), usando a diretiva
"DEVICE=" no arquivo config.sys, exatamente da mesma forma que qualquer outro driver de
dispositivo. De fato, um EMM possui
Figura 15 – Memória UMA
diversos atributos de um drive de dispositivo de caractere: um cabeçalho
de drive de dispositivo; uma rotina que manipula um subconjunto de rotinas que o DOS
constrói sobre os drives de dispositivo, e ainda um nome de dispositivo lógico. Este nome de
dispositivo é sempre "EMMxxx", não importando quem tenha fabricado a placa de memória
expandida ou escrito o EMM.
Em um 386 em diante, o driver emm386.exe converte a memória estendida em
memória expandida, incorporando o papel de gerenciador de memória expandida e
armazenando na memória estendida os dados gravados na memória expandida. Veja como
se dá esse processo: O EMM divide toda memória disponível a ele numa série de blocos de
16k chamadas de páginas. Depois, identifica uma área de memória não utilizada de 64k,
geralmente entre 640k e 1MB, dividindo-a em quatro páginas (você aloca quantas páginas
quiser) uniformemente espaçadas de 16k. Esse espaço de 64k é chamado quadro da
página.
Para acessar a memória expandida, um programa aplicativo requisita um determinado número de páginas do EMM, que depois as converte individualmente em páginas no quadro da página. A essa "requisição de páginas do EMM" damos o nome de páginas lógicas. A "conversão de páginas" se dá o nome de páginas físicas. Dessa forma um programa poderá ler/gravar nessa página lógica usando endereços de segmento: deslocamento padrão. Quando o programa quer acessar outras páginas lógicas, ele chama o EMM outra vez para ligar novas páginas lógicas às páginas físicas no quadro de página. Ao repetir o procedimento várias vezes, o programa poderá
Figura 16 – Processo de páginas físicas
O Himem.sys o dispositivo de instalação da área de memória alta (High Memory Area),
conhecida também como HMA. Sua principal função é controlar o uso da memória estendida
do computador, de modo que dois ou mais aplicativos ou dispositivos não utilizem o mesmo
endereço de memória ao mesmo tempo. Para as primeiras versões do Windows, o
Himem.sys fornecia suporte para que este fosse executado em modo protegido.
A Microsoft descobriu um truque com o endereçamento do chip 8088 (que também
funciona com os chips processadores mais novos) que permite atingir mais que 1 MB. Com
o software de driver de High Memory adequado, os aplicativos DOS podem usar esses 64K
como se fossem um acréscimo aos 640K inferiores.
É um comando que exibe a quantidade de memória utilizada e disponível no sistema.
Formato do comando mem:
C:\ MEM [/opções]
Alguns parâmetros que podem ser usados:
/C - Use esta opção para listar os programas atualmente carregados, incluindo a
quantidade de cada memória que está sendo utilizada.
/CLASSIFY - Faz a mesma coisa que a opção /C.
/DEBUG - Lista os programas e os dispositivos do sistema, incluído seus endereços,
na memória RAM. /D também específica esse comando.
/MODULE - Mostra como um programa está utilizando a memória.
Quando inicia o programa MemMaker, que otimiza a memória do computador movendo
os controladores de dispositivo e programas residentes para a memória alta. Para usar o
MemMaker, o computador deve possuir processador 80386 ou 80486 e memória estendida.
Formato do Comando:
MEMMAKER [/opções]
Alguns parâmetros que podem ser usados:
/B - Exibe MemMaker em preto e branco;
/batch - Executa MemMaker em modo batch (autônoma;
/session - Utilizado exclusivamente por MemMaker durante o processo de otimização;
/Swap: d - Especifica a letra da unidade de disco de inicialização original começou;
/T - desabilita a detecção de rede;
/UNDO - Permite desfazer as mudanças mais recentes feitas por MemMaker arquivos;
/W: SIZE1, size2 - Especifica a quantidade de espaço de memória superior a ser
reservada para buffers de tradução do Windows;
Até a versão DOS 6.21 utilizava no próprio SO o Doublespace, desenvolvido pela
empresa Stac Electronics, mas por problemas legais ele foi removido o que fez surgir a