Sistema Operacional desenvolvido pela Microsoft no início da década de 80, a pedido da IBM, para atender aos equipamentos da linha IBM-PC por ela desenvolvida.
a) Sistema monousuário - Permite que apenas um usuário utilize o equipamento por vez (como o próprio nome diz: computador pessoal).
b) monoprogramável - Por possuir uma arquitetura simples, não necessita de rotinas de gerenciamento para compartilhamento de alguns recursos, tais como processador, arquivos, etc.
c) Estrutura hierárquica dos dados - Possibilita a organização dos arquivos em estrutura de diretórios e sub-diretórios permitindo uma melhor performance na utilização do equipamento.
d) Redirecionamento de Entrada de Saída padrão - Permite a modificação da entrada ou saída de periféricos padrão de alguns comandos para outros periféricos.
O sistema DOS é dividido internamente em 4 partes:
a) Registro de Boot - Responsável pela inicialização do sistema. Verifica as condições internas do equipamento e gerencia a carga dos demais arquivos do sistema operacional do disco para a memória, tornando-o disponível para utilização.
b) IBMBIOS.COM (IO.SYS) - Contém, através da ROMBIOS, as rotinas de interface com os periféricos, gerenciando as operações de leitura e gravação de dados entre os programas e estes dispositivos.
c) IBMDOS.COM (MSDOS.SYS) - Contém as rotinas que gerenciam as interrupções necessárias aos programas.
d) COMMAND.COM - É responsável pelo gerenciamento dos recursos de execução dos programas. É subdivido em:
d.1) Programas Residentes - Responsável pela carga e execução dos programas.
d.2) Programas de Inicialização - Define o endereço inicial da memória em que o programa será instalado para execução, anexando-o a PSP (Program Segment Prefix) que armazena informações necessárias à execução do programa (conteúdo de flags, endereço de rotinas de tratamento, registradores, etc.).
d.3) Programas Transientes - Contém os comandos internos (utilitários) do DOS.
Obs. O DOS possui 2 tipos de comandos utilitários:
- Comandos internos - Armazenados no COMMAND.COM.
Ex. Comandos DIR, TYPE, COPY, etc.
- Comandos externos - Armazenados no disco do sistema.
Ex. Comandos FORMAT, BACKUP, RESTORE, etc.
O modo de operação, identifica a forma com que o usuário realiza as suas tarefas. Existem dois modos de operação:
a) Interativo - Representa a execução imediata do comando digitado via teclado. Ao final da execução o controle retorna ao usuário.
b) 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 interativa 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, tais como: Edit ou Bloco de Notas do Windows.
Ao formatar um disco, o sistema DOS divide logicamente o disco em blocos de 512 bytes organizando-os em 4 partes:
a) Área de inicialização - Contém informações necessárias para a identificação e reconhecimento do disco pelo Sistema Operacional como sendo do seu padrão. Além disso, contém informações gerais sobre o disco, tais como: label, número de série, etc.
b) Diretório - Estrutura que contém informações sobre todos os arquivos existentes no disco, tais como: Nome, data e hora da última atualização, atributos de segurança, se houver, tamanho e posição da FAT onde está armazenado o endereço do primeiro bloco de dados do arquivo.
c) FAT (File Allocation Table) - Estrutura que contém as informações necessárias para acessar os dados do arquivo na Área de Dados.
Cada ocorrência da FAT contém:
c.1 - Endereço do bloco de dados na área de dados - Este valor representa o endereço físico do bloco de dados (cluster, conjunto de 1 a 32 blocos de 512 bytes) na área de dados. Obs. A determinação do número de blocos em um cluster depende da capacidade de armazenamento do disco.
c.2 - Próxima posição da FAT onde está armazenado o endereço do próximo bloco, caso seja necessário.
d) Área de dados - Local onde está armazenado o conteúdo dos arquivos existentes no disco.
Com a evolução dos equipamentos, e consequentemente necessidade de execução de aplicações com maior consumo de memória, o DOS passou a reconhecer e gerenciar os seguintes tipos de memórias:
a) Memória convencional - Equivale aos primeiros 640 kbytes de memória existentes no equipamento. Para o gerenciamento desta memória não é necessário nenhum tipo de programa auxiliar, pois o próprio DOS possui as rotinas próprias para esta finalidade. Estas rotinas acompanham as diversas versões do sistema, desde os equipamentos da linha XT.
b) Área de memória superior - Equivale aos 384 kbytes localizados acima da memória convencional, na qual é permitido ao usuário instalar as rotinas do sistema de gerenciamento dos dispositivos periféricos padrão do equipamento. Para a sua utilização é necessário a instalação do programa EMM386. Os programas loadhigh (lh) e DeviceHigh permitem instalações de programas nesta memória.
c) Memória estendida (XMS) - Equivale a memória acima do primeiro Mbyte até a capacidade existente na placa de memória onde está instalada a memória convencional do equipamento. Este tipo de memória existe nos computadores com processadores a partir do modelo 80286. Ela necessita do gerenciador HIMEM para a sua utilização e possibilita a instalação do DOS (dos=high, após a carga do programa HIMEM, no arquivo CONFIG.SYS), liberando a memória convencional para os aplicativos.
d) Área de memória alta - Equivale aos primeiros 64K da memória estendida, na qual pode ser instalada o DOS.
e) Memória expandida (EMS) - Memória adicional à memória convencional. É instalada em uma placa de memória, separada da memória convencional. Para o seu gerenciamento é necessário a instalação do programa EMM386.
O exemplo abaixo, mostra um equipamento com 640K de memória convencional, 3 Mb de memória estendida e uma placa de memória expandida com 4 Mb.
|
Memória Convencional
Área
de memória superior
(384 Kb) Área
de memória alta ( 64 Kb)
Memória
Estendida (EMS)
( 3 Mb) |
|
Memória
Expandida
(4 Mb) |
Obs.: Para melhor gerenciamento e otimização de alocação de memória, pode ser executado o programa MemMaker.
a) Redirecionamento - recurso utilizado para mapear dispositivos periféricos padrões de determinados programas para outros dispositivos ou arquivos sem interferência direta do usuário na lógica ou construção do programa.
Símbolos de Redirecionamento:
> - Redirecionamento de saída - utilizado para transferir os dados para um dispositivo periférico ou arquivo, eliminando o conteúdo anterior, se houver.
>> - Redirecionamento de saída - utilizado para transferir os dados para um arquivo, acrescentando-os aos já existentes
< - Redirecionamento de entrada - utilizada para informar ao programa o arquivo no qual será obtido os dados de entrada.
Ex.: dir > PRN - imprime o diretório corrente na impressora.
dir > arqdir.dat - cria um arquivo com o conteúdo do diretório corrente.
dir >> arqdir.dat - acrescenta (apenda) no final do arquivo arqdir, o conteúdo do diretório corrente.
prog < arq1.Dat - ao inicializar o "prog" ele vai ler como dados de entrada o arquivo arq1.dat
b) Canalização - Realiza a transferência de dados entre programas. Ao fazer esta transferência o DOS utiliza arquivos temporários de trabalho. O símbolo | identifica a canalização.
Ex.: TYPE ABC.DAT | MORE
c) Filtros - Programa que lê os dados de um dispositivo padrão de entrada ou de um arquivo, altera esses dados e transfere-os para um dispositivo de saída.
c.1 - SORT - lê os dados de um dispositivo de entrada, ordena-os e repassa-os para um dispositivo de saída.
Sintaxe: SORT <nome-arq> <opções>
Opções:
/ R - ordenar decrescentemente
/ +n - ordenar a partir da posição n
Ex.: DIR | SORT - Ordena o conteúdo do diretório corrente, mostrando-o na tela.
DIR > ARQDIR < SORT /R > DIRORD - Ordena o conteúdo do diretório corrente, armazenado no arquivo ARQDIR, gravando-o, já ordenado, no arquivo DIRORD.
c.2 - MORE - Comando que interrompe a apresentação dos dados da tela quando esta está cheia, aparecendo no final a expressão:" ... MAIS ... "
Ex.: TYPE ARQ1 | MORE
c.3 - FIND - Realiza a procura de um "string" de caracteres em um arquivo, relacionando no vídeo as linhas do arquivo que contém esse "string".
Sintaxe: FIND <opções>
"string" <nomearqs>
Opções:
/V - lista as linhas que não contém o STRING.
/C - exibe o número de linhas que contém o STRING.
/N - lista a numeração das linhas que contém o STRING.
Ex.:
FIND /V
"COUNTRY" CONFIG.SYS
d) Aumento na capacidade de armazenamento - Para aumentar a capacidade de armazenamento dos dados no disco, pode ser utilizado três recursos:
d.1 - Retirando arquivos desnecessários, tais como, arquivos de dados e programas desnecessários, arquivos temporários, arquivos de cópias de editores ou outros softwares (backup).
d.2 - Reorganizando os arquivos no disco, fazendo-os ocupar espaços contíguos no disco, eliminando buracos e espaços não utilizados. O comando Chkdsk separa as unidades de alocação perdidas no disco, para posterior deleção e o comando defrag organiza os arquivos no disco, otimizando sua utilização.
d.3 - Compactando o disco, executando o comando DoubleSpace. Observe que, não é conveniente compactar todo o disco. Existem softwares que necessitam de área não compacta para paginação (Ex. Windows). É aconselhável particionar o drive criando um drive lógico compactado (para softwares e programas) e outro não compactado (para dados e gerenciamento do sistema e de software).
d.4 - Além destes, outros recursos possibilitam a redução na área de armazenamento de dados, tais como: compactação de arquivos, união de vários arquivos pequenos em apenas um, etc.
Arquivos no qual estão armazenados comandos que serão executados seqüencialmente, sem a interferência do usuário. Nestes arquivos podem ser utilizados comandos do DOS, utilizados no modo interativo e alguns comandos específicos de arquivo BAT, conforme descritos abaixo:
a) ECHO - Permite mostrar ou não na tela o comando que está sendo executado. Permite também enviar mensagens para a tela.
Opções:
ECHO ON - Valor default. Mostra na tela o comando que está sendo executado.
ECHO OFF - Não mostra na tela o comando que está sendo executado, exceto o próprio comando Echo.
@ECHO OFF - Não mostra na tela o comando que está sendo executado, nem mesmo o próprio comando Echo.
ECHO MENSAGEM - mostra no vídeo a mensagem desejada independente do echo estar on ou off.
b) FOR - Utilizado para representar "loops" de um comando onde à variável é atribuído um dos valores existentes na lista de valores, para que possa ser avaliada e executado o procedimento desejado.
Obs: Se na lista de valores for utilizado os caracteres * ou ? será atribuído a variável os nomes válidos para os arquivos.
Ex.: FOR %V IN (PROG1.DAT
PROG2.DAT PROG3.DAT) DO DIR %V
Neste exemplo, o comando DIR será executado 3 vezes da seguinte forma:
DIR PROG1.DAT
DIR PROG2.DAT
DIR PROG3.DAT
FOR %%V IN (*.DAT) DO DIR
%%V
Neste exemplo, será avaliado todos os arquivos que possuem a extensão ".DAT". Para cada arquivo selecionado será listado o diretório.
c) PAUSE - Suspende temporariamente a continuidade na execução dos comandos existentes no arquivo BAT, enviando para a tela a mensagem: "STRIKE A KEY WHEN READY...".
O arquivo continuará a ser executado quando for teclado qualquer tecla, exceto <CTRL>+<C> ou <CTRL>+<BREAK>
d) GOTO - Transfere o controle da execução do arquivo BAT para a linha que contém o label especificado. Este label é definido no início da linha e precedido pelo caractere "dois pontos" (:)
Obs: Serão considerados como nome de label apenas os 8 primeiros caracteres.
Ex.: ..........
..........
..........
GOTO
PULO
..........
..........
PULO
e) IF - Executa, condicionalmente comando do DOS após avaliação da condição definida. O comando permite a execução condicional de apenas 1 comando por if.
Existem 3 formas de IF.
e.1) ERRORLEVEL - Avalia se o código de retorno enviado pelo último programa executado é igual ou maior ao número definido no comando IF.
Sintaxe: IF [NOT] ERRORLEVEL número <comando>
Ex.: PROGRAMA
IF NOT ERRORLEVEL 1 GOTO FIM
ECHO DEU PROBLEMA NO ABC
:FIM
O comando ECHO será executado somente se o código de retorno do programa, for maior ou igual a 1.
e.2) Comparação de string - Permite a comparação de 2 strings de caracteres.
Sintaxe:
IF "STRING1" ==
"STRING2" <comando>
Ex.: Arquivo COPIA.BAT
IF %1 == %2 GOTO ERRO1
IF %2 == "" GOTO ERRO2
COPY %1 %2
GOTO FIM
:ERRO1
ECHO NOME IGUAIS DOS ARQUIVOS A SEREM COPIADOS
:ERRO2
ECHO FALTA INFORMAR PARÂMETROS
:FIM
e.3) EXIST/NOT EXIST - Permite avaliar a existência ou não de um arquivo no diretório corrente ou path especificado. Só funciona para arquivo.
Sintaxe:
IF [NOT] EXIST arquivo <comando>
Ex.: Arquivo COPIA.BAT
IF
%1 == %2 GOTO ERRO1
IF NOT EXIST %1 GOTO
ERRO2
IF ´%2´ == ´´ GOTO
ERRO3
IF NOT EXIST %2 GOTO
EXECUTA
ECHO ARQUIVO EXISTE CONFIRMA A DESTRUIÇÃO
ECHO TECLE <CTRL>+<C> CASO NÃO QUEIRA
PAUSE
:EXECUTA
COPY %1 %2
GOTO FIM
:ERRO1
ECHO NOME IGUAIS DOS ARQUIVOS A SEREM COPIADOS
GOTO FIM
:ERRO2
ECHO ARQUIVO ORIGEM NÃO EXISTE
GOTO FIM
:ERRO3
ECHO FALTA INFORMAR PARÂMETROS
:FIM
f) SHIFT - recurso que permite a utilização em um arquivo BAT de mais de 10 parâmetros relocáveis entre os valores %0 a %9.
Ex.: EXEMPLO ARQ 1 ARQ 2 ARQ 3
%0 %1
%2
%3 SHIFT
%0
%1
%2
SHIFT
%0 %1
SHIFT
%0
SHIFT
Arquivo executado logo após a carga do sistema operacional, que tem como objetivo alterar a configuração default de alguns recursos do sistema.
Comandos existentes:
a) 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, por solicitação do usuário, a execução do programa.
Ex.: BREAK = ON realiza a checagem
BREAK = OFF não realiza a checagem (default)
b) FILES: Indica a quantidade de arquivos que podem estar abertos simultaneamente. No exemplo abaixo o Sistema DOS irá controlar e utilizar simultaneamente a abertura de até 20 arquivos.
Ex.: FILES = 20
c) 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. No exemplo abaixo o Sistema DOS irá reservar 40 áreas de buffer para os dados.
Ex.: BUFFERS=40
Este número não deverá ser muito grande pois irá reduzir o espaço disponível em memória para utilização pelo usuário.
d) COUNTRY: Especifica o formato da data e hora para um determinado país.
Ex.: COUNTRY=055 (Formato da data e hora brasileira)
e) DEVICE - Permite a substituição ou acréscimo das rotinas de tratamento de novos periféricos ao arquivo IBMBIOS.COM.
Ex.: DEVICE = PATH onde PATH é o caminho no qual está armazenada a rotina no disco.
f) DEVICEHIGH - Permite carregar rotinas de tratamento de novos periféricos na memória alta.
Ex.: DEVICEHIGH = PATH
g) DOS - Indica a instalação do DOS na área de memória alta, (DOS=HIGH) ou na área de memória superior (DOS=UMB).
h) REM - Indica uma linha de comentário
i) SET - Define valores das variáveis de ambiente. Dentre outras, podemos ressaltar:
PROMPT- especifica o formato do PROMPT do sistema.
TEMP - para definir uma área de armazenamento temporário de alguns softwares.
j) Menu - Especifica um menu de inicialização para as opções de configurações. Este comando é utilizado em conjunto com os comandos: (Este comando está disponível a partir da versão 6.0).
j.1) Menuitem - Para definir o bloco de comandos a serem executados, caso a opção seja escolhida
j.2) Menudefault - Para definir os comandos a serem executados, caso não seja escolhida nenhuma opção. Exemplo de menu de inicialiação:
[Menu]
menuitem = opção1
menuitem = opção2
menudefault=opçãodefault,
nn
[Common]
rem Estes comandos serão executados independentes da escolha da opção
comandos
[opção1]
rem Estes comandos serão executados caso seja escolhido a opção 1
comandos
[opção2]
rem Estes comandos serão executados caso seja escolhido a opção 2
comandos
[opçãodefault]
rem Estes comandos serão executados caso após “nn” segundos, não for escolhido uma opção.
comandos
A opção escolhida no menu pode ser transferido e utilizado no arquivo AUTOEXEC.BAT, através da variável de ambiente “config”, conforme exemplo abaixo:
comandos
goto %config%
:opção1
rem comandos do autoexec que serão executados quando for feita esta escolha
comandos
goto fim
:opção2
rem comandos do autoexec que serão executados quando for feita esta escolha
comandos
goto fim
:fim
CONFIGURANDO UM EQUIPAMENTO
PARA USO INTERNACIONAL
Comandos do arquivo Config.sys
COUNTRY = código do pais, código de caracteres preferencial, path do arquivo country.sys
DEVIDE=path do arquivo display.sys con=(tipo de monitor, conjunto de caracteres de hardware, quantidade de conjunto de caracteres)
Ex.
COUNTRY=055,850,C:\DOS\COUNTRY.SYS
DEVICE=C:\DOS\DISPLAY.SYS CON=(EGA,437,1)
Obs. O tipo de monitor EGA, suporta os tipos EGA, VGA e SVGA
A quantidade de conjunto de caracteres especifica quantos conjuntos de caracteres do MS-DOS, você quer utilizar.
Os códigos 055, 850 e 437 representam os valores utilizados para configuração no formato brasileiro.
Comandos do arquivo AUTOEXEC.BAT
nlsfunc
mode con cp prep=((conjunto de caracteres), path do arquivo de informações de página de código)
chcp código de conjunto de caracteres
keyb código de teclado,, path do arquivo keyboard.sys
Obs.
a) O comando NLSFUNC possibilita o reconhecimento pelo MS-DOS dos conjuntos de caracteres que serão utilizados.
b) O comando MODE CON CP PREP busca o conjunto de caracteres desejado no arquivo de informações de página de código.
c) Caso queira instalar mais de um conjunto de caracteres, os seus códigos devem ser relacionados na opção “prep” do comando MODE separados por um espaço em branco.
d) O comando CHCP, torna ativo o conjunto de caracteres escolhido.
e) O comando KEYB, torna ativo o conjunto de caracteres para o teclado armazenados no arquivo KEYBOARD.SYS.
Exemplo:
nlsfunc
mode con cp prep=((850) c:\dos\ega.cpi)
chcp 850
keyb 850,, c:\dos\keyboard.sys
Exemplo de arquivo de configuração:
REM Instalação dos programas gerenciadores de memória
DEVICE=C:\WINDOWS\HIMEM.SYS
DEVICE=C:\WINDOWS\EMM386.EXE
RAM HIGHSCAN I=B000-B7FF
REM Instalação do sistema operacional na memória superior como extensão da memória alta
DOS=HIGH,UMB
REM Instalação de programas gerenciadores de periféricos adicionais na memória alta
DEVICEHIGH=C:\CDROM\SGIDECD.SYS
/D:MSCD000
DEVICEHIGH=C:\MMP16AB\DRIVERS\EEPROM.SYS
/C8240001
DEVICEHIGH=C:\WINDOWS\COMMAND\DISPLAY.SYS
CON=(EGA,,1)
REM Configuração do equipamento para o formato brasileiro
COUNTRY=055,850,C:\WINDOWS\COMMAND\COUNTRY.SYS