Instituto Federal de Educação, Ciência e Tecnologia do Sudeste de Minas – Campus Juiz de Fora
MS-DOS
Introdução aos Sistemas Operacionais – Professor Eduardo
1
Sumário
Capa ............................................................................................................................................. 1
Sumário ........................................................................................................................................ 2
Histórico ....................................................................................................................................... 3
MS-DOS Versão 1.0........................................................................................................... 3
MS-DOS Versão 2.0 .......................................................................................................... 4
MS-DOS Versão 3.0 .......................................................................................................... 4
MS-DOS Versão 4.0 .......................................................................................................... 5
MS-DOS Versão 5.0 .......................................................................................................... 5
MS-DOS Versão 6.XX ....................................................................................................... 5
MS-DOS Versão 7.0 .......................................................................................................... 6
Tipo de Sistema Operacional ................................................................................................... 6
Estrutura do S.O. ........................................................................................................................ 6
Processos .................................................................................................................................... 7
Como acessar o MS-DOS ......................................................................................................... 7
Comandos do MS-DOS e seu objetivo ................................................................................... 9
Sistema de Arquivo .................................................................................................................. 11
Exemplo/ Particularidade.........................................................................................................13
Bibliografia ................................................................................................................................. 15
2
Introdução
No âmbito da disciplina de Introdução aos Sistemas Operacionais pretendemos com este
trabalho mostrar o que é e como nasceu o Sistema Operacional MS-DOS.
Histórico
O DOS foi criado por Tim Paterson, engenheiro da Seattle Computer Products, em
1980, ele era um “clone” do sistema operacional CP/M. Este seria o sistema operacional de sua
recentemente criada placa de CPU com um processador 8086.
Quando a placa de CPU da Seattle Computer apareceu no mercado pela primeira vez,
em meados de 1979, o MS-DOS ainda não estava nem na prancheta de seus criadores. A
Digital Research havia anunciado que o S.O. CP/M-86 logo estaria pronto para operar o
sistema 8086, e, então, as expectativas eram de que nenhum outro sistema operacional seria
mais necessário.
O sistema operacional CP/M da Digital Research era na época o mais popular sistema
operacional feito para os computadores que utilizavam o chip microprocessador 8080 ou o Z80.
Mas a chegada do CP/M-86 foi adiada, e após esperar por quase um ano, a Seattle Computer
decidiu criar seu próprio sistema operacional, denominando-o QDOS.
Quatro meses depois, em agosto de 1980, o QDOS estava pronto para ser lançado no
mercado.
Pouco depois de seu lançamento, outra firma sediada em Seattle no estado de
Washington, EUA, chamada Microsoft decidiu comprar o QDOS e fazer dele seu próprio
sistema operacional sob o nome de MS-DOS. A Microsoft tornou-se famosa por sua versão de
BASIC, mas nunca havia antes vendido um sistema operacional.
Alguns meses depois que o MS-DOS foi lançado, o CP/M-86 surgiu. A Microsoft lançou
versões aperfeiçoadas do MS-DOS, e a cada lançamento subsequente do MS-DOS é chamado
de uma nova versão, sendo estas versões numeradas. O primeiro lançamento do MS-DOS foi
chamado de 1.0 e a medida que foram feitos melhoramentos a Microsoft lançou outras
versões.
A última versão do MS-DOS que foi lançada é a 6.22, a partir dessa versão o Windows
tomou conta de vez, pela facilidade com que os usuários o manejam.
MS-DOS Versão 1.0
O sistema operacional era constituído por três programas: o ibmbio.com, que tratava do
disco e do sistema de entrada/saída voltado a caracter; o ibmdos.com, que é o gerenciador de
arquivos e do disco, e o comannd.com.
A primeira versão do MS-DOS, a exemplo do CP/M, suportava somente um único
diretório, ou seja, não suportava subdiretórios. Ao digitar o comando dir, para listar todos os
3
arquivos do diretório corrente, o que você realmente via era a listagem de todos os arquivos do
sistema.
Apesar da versão 1.0 do MS-DOS ter sido compatível com o CP/M, ela era melhor que
este. O MS-DOS trazia informações sobre o arquivo como o tamanho exato do mesmo, tinha
um algoritmo melhor para alocação de disco e era muito mais rápido. A versão 1.1 foi liberada
pela Microsoft em 1982 e também consertou alguns bugs.
MS-DOS Versão 2.0
A IBM em março de 1983 lançou o PC/XT, seu primeiro computador pessoal equipado
com disco rígido junto com a nova versão 2.0 do MS-DOS. O sistema de arquivo do MS-DOS
foi quase todo inspirado no do Unix. O MS-DOS no sistema de arquivo usa o conceito de FAT e
o Unix usa o conceito de I-nodes. As chamadas open, read, write e close estavam presentes na
versão 2.0, exatamente com a mesma estrutura do Unix.
No processo de adicionar novas características do Unix, o MS-DOS cresceu para
20.000 linhas de código de montagem. Ele também tirou do mercado o CP/M-86, que
finalmente tinha tido seu desenvolvimento terminado, e estabeleceu-se como o sistema
operacional dominante para os PCs. Por ter introduzido o disco rígido nos PCs tornou-se
possível rodar aplicações razoavelmente grandes, fazendo com que eles deixassem de ser
computadores pessoais para se tornarem também máquinas comerciais. Empresas de
pequeno, médio e grande porte começaram a adquirir PCs.
Nessa época o MS-DOS era mantido por somente quatro pessoas na Microsoft. Com o
crescimento da demanda mundial pelo sistema, a Microsoft contratou novos programadores e
lançou a versão 2.05, que suportava horários, datas, moedas, e símbolos decimais, usados em
muitos países do mundo.
MS-DOS Versão 3.0
A IBM lançou o PC/AT em agosto de 1984, seu primeiro computador pessoal baseado
no chip 286. Nesta época também surgiram discos de 10MB e o conceito de disco em RAM,
através da qual uma parte da memória era usada como se fosse um disco muito rápido.
Quase na mesma época do lançamento do MS-DOS 3.3, a IBM e a Microsoft liberaram
um sistema operacional completamente novo, denominado OS/2. Na visão das duas empresas,
o OS/2 iria substituir o MS-DOS. Isto nunca aconteceu. O OS/2 foi liberado com muito atraso, e
pior que isto, incompleto. Apesar dele ter muitas vantagens sobre o MS-DOS, tal como usar
toda a memória disponível, rodar em modo protegido, suportar multiprogramação de uma forma
elegante, o mercado não se interessou muito pelo novo sistema. Em 1991, a Microsoft
anunciou que estava abandonando completamente o OS/2, o que irritou profundamente a IBM,
a ponto de romper sua aliança com a Microsoft, e assinar um acordo com a Apple Computer
para fornecimento de seus softwares.
4
MS-DOS Versão 4.0
Depois de a IBM ter se convencido que o OS/2 não iria ser aceito pelos usuários, ela
surpreendeu lançando o MS-DOS versão 4.0, o qual a Microsoft também produziu. Para obter
a versão 4.0 a mesma usou o método de engenharia reversa, distribuindo-o através dos
fabricantes de clones do PC. Tanto a IBM quanto a Microsoft se convenceram de que o MSDOS não iria desaparecer, pois em lugar de contribuir para exterminar o MS-DOS, como fora a
intenção revelada de ambas as empresas, elas estavam melhorando o sistema que não
deveria continuar.
MS-DOS Versão 5.0
A versão 5.0 foi anunciada em abril de 1991. Nesta versão foi considerada seriamente
a questão da memória estendida. Apesar de ainda haver a restrição na memória estendida de
apenas poder-se usar 640K, esta versão é capaz de manter por mais tempo a maior parte de
seu próprio código na memória estendida, logo fica disponível para os programas de usuário
em torno de 600K.
Esta nova versão passou a ser vendido em lojas e não mais apenas aos fabricantes de
computador.
A versão 5.0 do MS-DOS já era obsoleta quando foi anunciada. A IBM e a Microsoft já
sabiam disso por isso investiram muito milhões de dólares no OS/2. Infelizmente o mercado
reagiu mal ao OS/2. Quando ficou claro que o OS/2 não decolaria a Microsoft mudou sua
estratégia e desenvolveu o Windows, com interface gráfica e uso de mouse, que rodava em
cima do MS-DOS. O lado positivo disto é o fato de ele ter acumulado uma quantidade imensa
de pacotes de aplicativos de alta qualidade.
MS-DOS Versão 6.XX
Em Março de 1993, o MS-DOS 6.0 foi lançado. Seguido pela concorrente Digital
Research, a Microsoft adicionou um utilitário de compressão de disco chamado DoubleSpace.
Nessa época, os discos rígidos mais comuns tinham em torno de 200 a 400 MB, e muitos
usuários necessitavam seriamente de mais espaço em disco. O MS-DOS 6.0 também trouxe o
desfragmentador de disco DEFRAG, o MSBACKUP para criação de backups, optimização de
memória com o MEMMAKER, e um princípio de protetor antivírus, MSAV.
Como suas duas antecessoras, a versão 6.0 mostrou ter várias falhas. Devido a
reclamações sobre perda de dados, a Microsoft lançou uma versão atualizada, MS-DOS 6.2,
com um utilitário DoubleSpace melhorado, um novo utilitário de checagem de disco,
SCANDISK (similar ao fsck do Unix), além de outras melhorias.
A versão seguinte, MS-DOS 6.21 (lançada em Março de 1994), surgiu devido a
problemas legais. A empresa Stac Electronics acionou judicialmente a Microsoft, que foi
forçada a remover o DoubleSpace de seu sistema operacional.
5
Em Maio de 1994, a Microsoft lançou o MS-DOS 6.22, com outro pacote de
compressão de disco, DriveSpace, licenciado da VertiSoft Systems.
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.
MS-DOS Versão 7.0
Nessa versã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.
A IBM lançou a última versão comercial de um DOS - IBM PC-DOS 7.0 - no início de
1995, que incorporava muitos novos utilitários, como antivírus, programas de backup, suporte a
PCMCIA, e extensões DOS Pen. Também foram incluídas novas ferramentas que melhoravam
a utilização de memória e espaço em disco.
Tipo de Sistema Operacional
O DOS é um sistema operacional monousuário (só pode ser usado por uma pessoa de cada
vez) e monotarefa (ele só pode executar um programa de cada vez). A comunicação do
usuário com o MS-DOS ocorre de dois modos, o modo interativo e o modo batch.
Estrutura do S.O.
O DOS possui funções básicas de kernel (núcleo do S.O) não reentrantes: só podem ser
usadas por um programa de cada vez. Há uma exceção com programas TSR, e alguns TSR
podem permitir multitarefa. Contudo, continua a haver um problema com a kernel não
reentrante: sempre que um processo requer um serviço dentro da kernel do sistema
operacional (Chamada de sistema), não pode ser interrompido
por outra requisição até a primeira ter sido terminada.
O DOS possui um kernel monolítico que é uma arquitetura
de núcleo onde todo o núcleo é executado no espaço de
kernel no modo de supervisão. Em comum com outras
arquiteturas (micronúcleo, núcleo híbrido), o núcleo define uma camada de alto nível de
abstração sobre o hardware do computador, com um conjunto de primitivas ou chamadas de
sistema para implementar os serviços do sistema operacional como gerenciamento
de processos, concorrência e gestão de memória em um ou mais módulos. Mesmo que cada
módulo de manutenção dessas operações seja separada de uma forma geral, é muito difícil
fazer o código de integração entre todos estes módulos, e, uma vez que todos os módulos
6
executam num mesmo espaço de endereçamento, um erro em um módulo pode derrubar todo
o sistema.
Processos
Normalmente um computador tem o S.O. gravado em disco rígido, isto é, no drive C:,
mas muitas vezes pode estar em disquete, sendo necessário inserir este disquete no drive A:
para carregar a máquina.
Ao ligarmos o equipamento é feita uma rotina de testes de hardware. Em seguida é
acionado o drive A: para buscar o S.O. Se não estiver no A:, a procura é feita no drive C:.
Quando encontra o S.O. ele é carregado automaticamente para a memória RAM. A
partir deste momento qualquer programa pode ser rodado.
Os arquivos do S.O. que são carregados para a memória RAM são:
- Inicializador (Boot) ou registro de partida que ajuda a colocar o sistema no ar
carregando os arquivos IO.SYS e MSDOS.SYS para a memória RAM.
- IO.SYS e MSDOS.SYS que tem a função de receber e interpretar as instruções a
serem executadas.
- COMMAND.COM que faz a interface do usuário com a máquina. Nele, também, estão
alguns comandos do S.O.
Como acessar o MS-DOS
Para acessar o DOS existe, basicamente, três formas. Se você estiver utilizando um sistema
operacional antigo da Microsoft, como o Windows 95 ou o Windows 98, basta clicar em Iniciar /
Desligar e escolher a opção Reiniciar o computador em modo MS-DOS (ou equivalente). Outra
forma nessas versões do Windows consiste em clicar em Iniciar / Programas e selecionar
Prompt do MS-DOS. Porém, este último procedimento faz acesso ao DOS com o Windows
ainda carregado, o que significa que alguns comandos podem não funcionar. Se quiser ir direto
para o DOS sem passar pelo Windows, pressione o botão F8 repetidas vezes assim que ligar a
máquina até uma lista aparecer. Escolha, por fim, somente prompt de Comando.
Se, no entanto, você utiliza um sistema operacional mais recente, como o Windows XP, o
Windows Vista ou o Windows 7, o DOS em si não existe, mas sim um prompt que simula
parcialmente suas funcionalidades. Isso ocorre porque esses sistemas não são "dependentes"
do DOS como o são os Windows 95 e 98, por exemplo. Isso significa que, nos sistemas
operacionais atuais, alguns comandos do MS-DOS podem simplesmente não funcionar.
Para acessar o prompt de comando no Windows XP, basta digitar o comando CMD em Iniciar /
Executar. Esse comando também pode ser executado no campo correspondente de sistemas
como Windows Vista e Windows 7.
7
8
Comandos do MS-DOS e seu objetivo
1. Append - abre arquivos de dados em diretórios
2. Assign - direciona arquivos de um driver p/ outro
3. Attrib - modifica os atributos de um arquivo
4. Backup - copia arquivos de um disco rígido p\ driver
5. Break - verifica o pressionamento de CTRL + C
6. Cd/chdir - muda de um diretório para outro
7. Chcp - apresenta o código da pagina – NLSFUNC
8. Chkdsk - verifica e corrige erro no disco
9. Cls - limpa tela
10. Comp - verifica o conteúdo de dois arquivos
11. Copy - copia os arquivos da fonte para o destino
12. Ctty - indica uma saída serial com input/output
13. Date - apresenta e modifica a data de DOS
14. Dblspace - utilitário para compressão de dados
15. Debug - serve para verificar e altera um programa
16. Defrag - organiza dados dos arquivos no disco
17. Del - apaga um determinado arquivo
18. Deltree - apaga todos os arquivos de um diretório
19. Dir - apresenta arquivos contidos no disco
20. Diskcomp - compara o conteúdo de dois disquetes
21. Diskcopy - copia o conteúdo de disquete para outro disco
22. Doskey - reexecuta comandos digitados
23. Doshell - entra no modo MS-DOS
24. Edit - editor de texto do MS-DOS
25. Edlin - editor de texto desuso
9
26. Emm386 - ativa/desativa a memória expandida
27. Erase - apaga um determinado arquivo
28. Label - cria, altera ou apaga o nome do disco
29. Exe2bin - converte arquivo em EXE em formato COM
30. Expand - expande arquivos compactados pelo DBL
31. Fasthelp - apresenta informações de um comando
32. Fastopen - armazena na memória os diretórios
33. Fc - compara conteúdo de dois arquivos
34. Fdisk - faz partições no disco winchester
35. Find - procura linhas com strings
36. Format - prepara um disco para receber arquivos (formata o disco)
37. Graftabl - exibe característica gráficos no vídeo
38. Graphics - imprime o conteúdo da tela
39. Help - funciona como ajuda para comandos
40. Interlink - possibilita usar recursos entre dois micros
41. Intersvr - realiza as tarefas de servidor na rede
42. Join - une dois driver diferentes
43. Keyb - instala outro padrão de teclado
44. Mem - apresenta dados sobre o uso da memória
45. Msav - detecta presença de vírus no micro
46. Msd - diagnostica/ detecta defeitos de hardware
47. Power - reduz o consumo de energia
48. Prompt - muda o visual da linha de comando
49. Recover - recupera arquivo danificado
50. Restore - copia arquivos de driver para HD
51. Scandisk - checa e corrige erros no disco
10
52. Set - cria e apresenta parâmetros
53. Share - instala um recuso de rede
54. Sys - copia o MS-DOS de um disco para outro
55. Time - apresenta hora
56. Type - apresenta o conteúdo de um arquivo
57. Undelete - recupera arquivos eliminados
58. Unformat - recupera disco formatado p/ acidentes
59. Ver - apresenta a versão de MS-DOS
60. Verify - verifica a qualidade de gravação
61. Vol - apresenta nome e registro do disco
62. Vsafe - monitora micro
63. Xcopy - copia arquivos
Gerência de Memória
O MS-DOS possui uma Alocação Dinâmica de memória em que os dados não
precisam ter um tamanho fixo, pois podemos definir para cada dado quanto de memória que
desejamos usar. Sendo assim vamos alocar espaços de memória (blocos) que não precisam
estar necessariamente organizados de maneira sequencial, podendo estar distribuídos de
forma dispersa (não ordenada) na memória do computador. Na alocação dinâmica, vamos
pedir para alocar/desalocar blocos de memória, de acordo com a nossa necessidade,
reservando ou liberando blocos de memória durante a execução de um programa. Para poder
“achar” os blocos que estão dispersos ou espalhados na memória usamos as variáveis do tipo
Ponteiro (indicadores de endereços de memória).
Sistema de Arquivo
O sistema de arquivo original do MS-DOS foi baseado no CP/M. A princípio só existia um
diretório. A partir da versão 2.0 foi adotado o modelo hierárquico do sistema de arquivo.
A partir desta nova versão o diretório raiz podia ter subdiretórios e estes tenham novos
subdiretórios. O sistema de arquivo usa os nomes “.” e “..” para indicar diretório corrente e
diretório-pai respectivamente.
Os nomes dos arquivos tem até 8 caracteres, seguidos de uma extensão de até 3
caracteres. Os nomes são formados por qualquer sequência legal de caracteres. O separador
de diretório no mesmo é o “\”. Outra coisa interessante é que os arquivos PROFESSOR,
11
Professor, professor indicam um único arquivo, ou seja, ele desconsidera maiúsculas e
minúsculas.
Cada arquivo no MS-DOS tem atributos. Eles são quatro:
1. Readonly – o arquivo não pode ser modificado
2. Archive – o arquivo modificado desde o último arquivamento
3. System – arquivo de sistema que não pode ser apagado pelo comando del
4. Hidden – arquivo não listado pelo comando dir
O MS-DOS suporta vários discos, então quando o usuário quiser remover um arquivo ele
deve especificar o dispositivo como exemplo “a:” para unidade de disquete e “c:” para disco
rígido por exemplo.
O disquete e o disco rígido são organizados de forma diferente e vamos nos concentrar no
segundo tipo. Todos os discos rígidos têm a mesma estrutura, mostrada na figura abaixo. O
setor de boot tem dados críticos para o sistema de arquivo, além de código para inicializar o
sistema. Depois vêm as tabelas que controlam todo o espaço do disco. Elas são seguidas pelo
diretório-raiz e por todo o resto.
Organização do disco no MS-DOS
O setor de boot sempre começa com uma instrução de desvio incondicional, que salta
pelas informações do setor e vai para o início do código, sem se preocupar com a estrutura
interna do disco. Depois vem uma lista de informações como número de bytes do setor, o
número de setores por bloco, o número de arquivos das tabelas de alocação, o tamanho do
diretório raiz, o tamanho do dispositivo e outros dados.
Após estes parâmetros vem o código de boot, e ao final a tabela de partição. Ela
contém o começo e o termino de cada uma das partições do disco, até um máximo de quatro
partições, cada uma podendo conter um sistema de arquivo diferente. Alguma das partições
deve ser marcada como ativa para quando o boot do disco for acionado saber qual sistema
inicializar.
12
Após o setor de boot encontra-se a FAT (Tabela de Alocação de Arquivos – File
Allocation Table), a qual controla todos os espaços do dispositivo. Para ter-se confiabilidade
esta tabela pode ser duplicada, de modo ao sistema tornar-se inacessível caso a FAT principal
não possa ser lida por qualquer motivo.
A FAT contém uma entrada para cada bloco do disco. O tamanho do bloco é obtido do
setor de boot. O formato conceitual da FAT é mostrado na figura abaixo. O seu formato real
retrocede às raízes do MS-DOS, baseado no CP/M. Há uma correspondência um-para-um
entre as entradas da FAT e os blocos do disco, exceto pelas duas primeiras entradas, as quais
possuem o código da classe do disco. No exemplo vemos que através da FAT descobrimos
quais blocos ocupam cada arquivo.
A entrada do diretório de cada arquivo possui o número do primeiro bloco que o
mesmo ocupa, então a partir disso e com o auxílio da FAT temos que todo o arquivo é
encontrado. Os blocos livres na FAT são marcados com um símbolo especial. Quando o
arquivo cresce o MS-DOS procura por uma entrada livre na FAT, e aloca este para o arquivo. E
os blocos que estão com falha são marcados na FAT com outro símbolo significando isto.
FAT - Tabela de Alocação de Arquivo
Exemplo de passos seguidos pelo MS-DOS para a chamada OPEN:
O MS-DOS vai na tabela de descritores de arquivo, mantida como array de 20 bytes.
Cada byte armazena um índice de 1 byte para a tabela de arquivos do sistema. Se for
localizado um descritor de arquivo livre, busca-se uma posição livre na tabela de arquivo do
sistema. Caso as duas operações tenham sucesso o caminho é analisado, se começar com \, o
caminho é absoluto e a busca começa do diretório-raiz, senão o caminho é relativo, e a busca
começa do diretório de trabalho. A entrada do diretório é copiada na tabela de arquivos do
sistema, que tem uma entrada para cada arquivo aberto. Depois, o descritor de arquivo retorna
ao processo que chamou OPE, e termina a execução da chamada.
13
Entrada de Diretório no MS-DOS
Cada entrada de diretório no MS-DOS tem 32 bytes para cada arquivo ou diretório contido
nele, conforme a figura acima. Os primeiros 11 caracteres guardam o nome do arquivo e sua
extensão, logo depois tem-se o byte de atributos, contendo os seguintes bits:
A - Igual a 1 quando o arquivo é modificado.
D - Igual a 1 para indicar que a entrada é referente a um diretório.
V - Igual a 1 para indicar que esta entrada é para o nome de volume.
S - Igual a 1 para arquivos de sistema, que não podem ser apagados.
H - Igual a 1 para indicar arquivos escondidos, ou seja, não listados pelo dir.
R - Igual a 1 para indicar arquivos que não podem ser escritos.
A data e a hora da última modificação feita no arquivo são armazenadas nos próximos
campos. Os campos seguintes guardam número do primeiro bloco do arquivo e seu tamanho.
Exemplo / particularidade
O MS-DOS, apesar de só utilizar comandos que são digitados na tela, ele possui ainda
assim o episodio IV(Uma Nova Esperança) de Stars Wars, onde é possível perceber a
formação de imagens usando apenas simples caracteres. Para assistir é muito siga os
seguintes passos:
1. Instale o Telnet Client (Painel de Controle / Adicionar-Remover programas...);
2. Vá ao menu Iniciar / Executar e informe "telnet towel.blinkenlights.nl" (sem as aspas);
3. Assista!
14
Bibliografia
DAVIS, William S. Sistemas Operacionais Uma Visão Sistemática. Campus - Visto em
10/11/2011.
Comando MS-DOS, http://bit.ly/siJvSA - Acessado em 18/11/2011.
Fernando, PROF, http://bit.ly/uPNgmE - Acessado em 18/11/2011.
Processor, Hardware Club, http://bit.ly/w1qRyd - Acessado em 18/11/2011.
TANENBAUM, Andrew S. Sistemas Operacionais Modernos – Visto em 09/11/2011
15
Download

Clique aqui para baixar