Anda di halaman 1dari 45

G.S.

O I Gesto de Sistemas Operacionais I

Apostila de: Gesto de Sistemas Operacionais I ( G.S.O I )

Prof. Cssio Mendes Baraky Email: prof.baraky@gmail.com

_Copyright (c) 2008 CSSIO MENDES BARAKY. garantida a permisso para copiar, distribuir e/ou modificar este documento sob os termos da Licena de Documentao Livre GNU (GNU Free Documentation License), Verso 1.2 ou qualquer verso posterior publicada pela Free Software Foundation. A licena est disponvel em http://www.gnu.org/licenses/gfdl.txt.

Prof. Cssio M. Baraky Email.: prof.baraky@gmail.com

G.S.O I Gesto de Sistemas Operacionais I

1 2 3

4 5

Conceitos Bsicos do Computador ........................................................................ 4 As unidades de informao: bit e byte ................................................................... 6 2.1 Por que 1 Kb equivale a 1024 bytes? ............................................................. 6 Fases Histricas da Computao ........................................................................... 7 3.1 Primeira Fase (1945-1955) ............................................................................ 7 3.2 Segunda Fase (1956-1965) ............................................................................ 7 3.3 Terceira Fase (1966-1980)............................................................................. 9 3.4 Quarta Fase (1981-1990) ............................................................................. 10 3.5 Quinta Fase (1991- ).................................................................................... 10 3.6 Tabela de Caractersticas de cada Fase......................................................... 12 Histrico dos sistemas operacionais..................................................................... 14 Sistemas Operacionais......................................................................................... 16 5.1 O que um sistema operacional? ................................................................. 16 5.2 Tipos de sistemas operacionais .................................................................... 16 5.2.1 Sistema operacional em lote (Batch) .................................................... 16 5.2.2 Sistema de tempo compartilhado.......................................................... 16 5.2.3 Sistemas de computadores pessoais (Desktop) ..................................... 17 5.2.4 Sistemas paralelos................................................................................ 17 5.2.5 Sistema de tempo real .......................................................................... 17 5.2.6 Sistemas distribudos ........................................................................... 18 5.2.7 Sistemas Multi-usurio ........................................................................ 18 5.2.8 Sistemas de servidor ............................................................................ 18 5.2.9 Sistemas embutidos (embarcados)........................................................ 19 5.3 Funcionalidades do sistema operacional ...................................................... 19 5.3.1 Gerncia do processador ...................................................................... 19 5.3.2 Gerncia de memria ........................................................................... 19 5.3.3 Gerncia de dispositivos ...................................................................... 19 5.3.4 Gerncia de arquivos ........................................................................... 20 5.3.5 Gerncia de proteo ........................................................................... 20 5.4 Estrutura de um sistema operacional............................................................ 21 5.4.1 Ncleo ................................................................................................. 21 5.4.2 Drivers................................................................................................. 22 5.4.3 Cdigo de inicializao........................................................................ 22 5.4.4 Programas utilitrios ............................................................................ 22 5.5 Gerncia de tarefas ...................................................................................... 23 5.6 O conceito de tarefa..................................................................................... 23 5.7 A gerncia de tarefas ................................................................................... 25 Sistema Operacional MS-DOS ............................................................................ 29 6.1 HISTRIA DO MS-DOS ............................................................................ 29 6.1.1 O IBM PC............................................................................................ 29 6.2 Eecutando os comandos do MS-DOS .......................................................... 31 6.2.1 Comandos internos do MS-DOS ......................................................... 32 6.2.1.1 Comando DATE .............................................................................. 32 6.2.1.2 Comando TIME ............................................................................... 32 6.2.1.3 Comando VER................................................................................. 32 6.2.1.4 Comando CLS ................................................................................. 33 6.2.1.5 Comando MEM ............................................................................... 33 6.2.1.6 Comando Dir ................................................................................... 34 Prof. Cssio M. Baraky Email.: prof.baraky@gmail.com

G.S.O I Gesto de Sistemas Operacionais I 6.2.1.7 Comando para mudar a unidade de trabalho ..................................... 35 6.2.1.8 Comandos de diretrio ..................................................................... 36 6.2.1.8.1 Comando MKDIR ou MD.......................................................... 36 6.2.1.8.2 Comando CHDIR ou CD............................................................ 36 6.2.1.8.3 Comando RD ou RMDIR........................................................... 36 6.2.1.9 Comando TYPE............................................................................... 37 6.2.1.10 Comando MORE ......................................................................... 37 6.2.1.11 Comando COPY .......................................................................... 37 6.2.2 Comandos externos do MS-DOS ......................................................... 38 6.2.2.1 Comando DISKCOPY ..................................................................... 38 6.2.2.2 Comando XCOPY ........................................................................... 39 6.2.2.3 Comando ATTRIB........................................................................... 39 6.2.2.4 Comando TREE............................................................................... 39 6.2.2.5 Comando MOVE ............................................................................. 40 6.2.3 Formatando disquetes e Discos Rgidos, apagando arquivos, e diretrios com contedo dentro. .......................................................................................... 41 6.2.3.1 Comando FORMAT ........................................................................ 41 6.2.3.2 Comando DEL ou ERASE ............................................................... 41 6.2.3.3 Comando TREE............................................................................... 42 7 Arquivo .BAT ( LOTE / BATCH)....................................................................... 43 7.1 Para que serve um arquivo .BAT?................................................................ 43 7.2 Comandos de arquivos .BAT ....................................................................... 43 7.2.1 Comando ECHO.................................................................................. 43 7.2.2 Comando GOTO.................................................................................. 43 7.2.3 Comando CALL .................................................................................. 43 7.2.4 Comando START ................................................................................ 44 7.2.5 Comando choice [texto] [opes]......................................................... 44 8 Bibliografia ......................................................................................................... 45

Prof. Cssio M. Baraky Email.: prof.baraky@gmail.com

G.S.O I Gesto de Sistemas Operacionais I

1 Conceitos Bsicos do Computador


Um sistema computacional pode ser dividido em trs componentes bsicos e fundamentais, onde o funcionamento errado ou a falta de um destes trs elementos pode acarretar uma falha neste sistema. Um sistema computacional pode ser dividido em: Hardware Parte fsica do equipamento ( monitores, peas internas, teclado, mouse, impressoras e outros. Software A parte lgica de um sistema computacional que corresponde a todos os programas, aplicativos e sistemas instalados e ou utilizados em uma maquina. Ex. (Windows, Linux, PowerDVD, MS-Word e outros). Peopleware A expresso peopleware, ou usurios, pessoas que utilizam um sistema computacional, utilizada para mostrar que em um sistema computacional o homem tem e sempre ter um papel muito importante. O hardware ainda pode ser dividido em perifricos e componentes de processamento principal, onde os componentes de processamento principais esto agrupados dentro de uma caixa metlica muitas vezes chamada erroneamente de CPU, quando o nome correto seria gabinete, a CPU (processador) est dentro do gabinete acoplado a outros equipamentos que fazem parte deste centro de processamento de dados. Todos os outros hardwares acoplados a este gabinete so chamados de perifricos, assim temos como perifricos hardwares como: mouse, teclado, monitor, impressora, microfone, caixas de som, scaner e muitos outros. O homem interage com a maquina, inserindo nela dados, aguardando seu processamento e esperando dentro de um curto espao de tempo uma resposta para seu clculos comando e outras entradas de dados possveis. Os perifricos e hardwares do computador, ainda podem ser divididos em quatro conjuntos de dispositivos sendo eles: Dispositivos de Entrada. Dispositivos de Processamento. Dispositivos de Sada. Dispositivos de Entrada e Sada.

Veja o organograma abaixo:

Prof. Cssio M. Baraky Email.: prof.baraky@gmail.com

G.S.O I Gesto de Sistemas Operacionais I

Dispositivos de Entrada

Dispositivos de Processamento

Dispositivos de Sada

Dispositivos de Entrada e Sada


Dispositivos de entrada so todos os equipamentos perifricos ou no que nos do a possibilidade de entrar com dados em um sistema computacional, como os principais dispositivos de entrada de dados temos: Teclado, mouse, microfone, Drive de CDRom e muitos outros. Dispositivos de processamento so todos os dispositivos responsveis pelos clculos e pelo processamento das informaes, sejam elas matemticas, lgicas ou qualquer outro tipo. Quando falamos em dispositivos de processamento nos vem a cabea um nico dispositivo, o processador, realmente o processador e responsvel por processar milhes de clculos em poucos segundos ou fraes do mesmo, mas ele no esta sozinho com o nico dispositivo de processamento, para que ele possa exercer seu trabalho, dispositivos como, placa me, memria e placa de vdeo devem estar funcionando perfeitamente e se comunicando uns com os outros, outros dispositivos tambm muito importantes so os hardwares de armazenamento como discos rgidos, unidades de fita e placas de multimdia como placas de udio, rede e outros estes dispositivos porem auxiliam no processamento mas uma maquina pode funcionar sem a presena obrigatria deles. Os dispositivos de sada so todos aqueles que nos retornam uma resposta dos dados processados pela maquina, nos dispositivos de sada ou de entrega de dados da maquina para o usurio temos como principal o monitor de vdeo e a impressora, tambm temos como dispositivos de sada as caixas de som, tornos CNC, bordadeiras e escultores digitais entre outros. OS dispositivos de entrada e sada so dispositivo que possibilitam tanto o carregamento do sistema computacional com informaes ou seja a entrada de dados no sistema como a entrega de respostas ou simplesmente a copia de dados do sistema para unidades externas, os equipamentos de entrada e sada so muitos, comeando pelo simples e j praticamente obsoleto Drive de disquete, passando pelos Drives de Gravadores de CD e DVD ate dispositivos USB como pendrives, MP3 Player, MP4 e vrios outros dispasitivos.

Prof. Cssio M. Baraky Email.: prof.baraky@gmail.com

G.S.O I Gesto de Sistemas Operacionais I

2 As unidades de informao: bit e byte


Em Informtica muito importante considerar a capacidade de armazenamento, j que quando se faz algo no computador, trabalha-se com arquivos que podem ser guardados para uso posterior. Evidentemente, quando se armazena algo, isto ocupa um certo espao de armazenamento. Assim como a gua medida em litros ou o acar medido em quilos, os dados de um computador so medidos em bits e bytes. Cada valor do cdigo binrio foi denominado "bit" (binary digit), que a menor unidade de informao. Cada conjunto de 8 bits forma o byte, o qual corresponde a um caracter, seguindo o cdigo binrio.

2.1 Por que 1 Kb equivale a 1024 bytes?


No caso do quilo e de outras medidas de nosso dia-a-dia, a estrutura numrica construda sobre a base 10. O termo quilo representa a milhar constituda de alguma coisa. Nossa base de trabalho numrica, sendo 10, faz com que, quando a base elevada terceira potncia, atinja a milhar exatamente com 1000 unidades. Mas, quando falamos em bytes, grupos de bits, no estamos falando em base 10, mas sim em uma estrutura fundamentada no cdigo binrio, ou seja, na base 2, nos 2 modos que o computador detecta, geralmente chamados de 0 e 1. Assim, quando queremos um quilo de bytes, temos que elevar essa base a algum nmero inteiro, at conseguir atingir a milhar. Mas no h nmero inteiro possvel que atinja exatamente o valor 1.000. Ento, ao elevarmos a base 2 dcima potncia, teremos 1024. Com esse raciocnio agora podemos entender a seguinte tabela:

Unidade de medida 1 byte 1 Kilobyte (Kb) 1 Megabyte (Mb) 1 Gigabyte (Gb) 1 Terabyte (Tb)

Nmero de caracteres 1 1.024 1.048.576 1.073.741.824 1,099511628 x e12

Espao 8 bits 1024 bytes 1024 Kb 1024 Mb 1024 Gb

Portanto, conclumos que, por exemplo, quando se diz que um disco rgido tem capacidade de armazenamento de 4,3 Gb, so armazenados aproximadamente 4 milhes e 500 mil caracteres.

Prof. Cssio M. Baraky Email.: prof.baraky@gmail.com

G.S.O I Gesto de Sistemas Operacionais I

3 Fases Histricas da Computao


A evoluo dos sistemas operacionais est, em grande parte, relacionada ao desenvolvimento de equipamentos cada vez mais velozes, compactos e de custos baixos, e necessidade de aproveitamento e controle desses recursos. Neste histrico dividimos essa evoluo em fases, once destacamos, em cada uma, sues principals caractersticas de hardware, software, interao com o sistema e aspectos de conectividade.

3.1 Primeira Fase (1945-1955)


No incio da Segunda Guerra Mundial, surgiram os primeiros computadores digitais, formados por milhares de vlvulas, que ocupavam areas enormes, sendo de funcionamento lento e duvidoso. O ENIAC (Electronic Numerical Integrator and Computer) foi o primeiro computador digital de propsito geral. Criado pare a realizao de clculos balsticos, sue estrutura possua 18 mil vlvulas, 10 mil capacitores, 70 mil resistores e pesava 30 toneladas. Quando em operao, consumia cerca de 140 quilowatts e era capaz de realizar 5 mil adies por segundo. Para trabalhar nessas mquinas, era necessrio conhecer profundamente o funcionamento do hardware, pods a programao era feita em painis, atravs de fios, utilizando linguagem de mquina. Nessa fase, ainda no existia o conceito de sistema operacional. Outros computadores foram construdos nessa mesma poca, como o EDVAC (Electronic Discrete Variable Automatic Computer) e o IAS (Princeton Institute for Advanced Studies), mas eram utilizados, praticamente, apenas nas universidades e nos rgos militares. Com o desenvolvimento da indstria de computadores, muitas empresas foram fundadas ou investiram no setor, como a Sperry e a IBM, o que levou a criao dos primeiros computadores pare aplicaes comerciais. A primeira mquina fabricada com esse propsito e bem-sucedida foi o UNIVAC I (Universal Automatic Computer), criado especialmente pare o censo americano de 1950.

3.2 Segunda Fase (1956-1965)


A criao do transistor e das memrias magnticas contribui pare o enorme avano dos computadores da poca. O transistor permitiu o aumento da velocidade e da confiabilidade do processamento, e as memrias magnticas permitiram o acesso mais rpido aos dados, major capacidade de armazenamento e computadores menores. Com o surgimento das primeiras linguagens de programao, como Assembly e Fortran, os programas deixaram de ser feitos diretamente no hardware, o que facilitou enormemente o processo de desenvolvimento de programas. J no era mais possvel conviver com tantos procedimentos manuais como os anteriores, que no permitiam o uso eficiente do computador e de seus recursos. Os primeiros sistemas operacionais surgiram, justamente, pare tentar automatizar as tarefas manuais

Prof. Cssio M. Baraky Email.: prof.baraky@gmail.com

G.S.O I Gesto de Sistemas Operacionais I

Inicialmente, os programas passaram a ser perfurados em cartes, que, submetidos a uma leitora, eram gravados em uma fita de entrada (Figura 4a). A fita, ento, era lida pelo computador, que executava um programa de cada vez, gravando o resultado do processamento em uma fita de sada (Figura 4b). Ao terminar de todos os programas, a fita de sada era lida e impressa (Figura 4c). A esse tipo de processamento, onde um lote (batch) de programas era submetido ao computador, deu-se o nome de processamento batch. Pode no parecer um avano, mas anteriormente os programas eram submetidos pelo operador, um a um, fazendo com que o processador ficasse ocioso entre a execuo, ao de um programa e outro. Com o processamento batch, um grupo de programas era submetido de uma s vez, o que diminua o tempo existente entre a execuo dos programas, permitindo, assim, melhor uso do processador. Os sistemas operacionais passaram a ter seu prprio conjunto de rotinas pare operaes de entrada/sada (Input/Output Control SystemIOCS), que veio facilitar bastante o processo de programao. O IOCS eliminou a necessidade de os programadores desenvolverem sues prprias rotinas de leitura/gravao especficas para cada dispositivo perifrico. Essa facilidade de comunicao criou o conceito de independncia de dispositivos. Importantes avanos, em nvel de hardware, foram implementados no final dessa fase, principalmente na linha 7094 da IBM. Entre eles, destacamos o conceito de canal, que veio permitir a transferncia de dados entre dispositivos de entrada/sada e memria principal de forma independente da UCP. Ainda nessa fase, destacamos os sistemas FMS (Fortran Monitor System) e IBSYS.

Prof. Cssio M. Baraky Email.: prof.baraky@gmail.com

G.S.O I Gesto de Sistemas Operacionais I

3.3 Terceira Fase (1966-1980)


Atravs dos circuitos integrados (CIs) e, posteriormente, dos microprocessadores, foi possvel viabilizar e difundir o uso de sistemas computacionais por empresas, devido a diminuio de seus custos de aquisio. Alm disso, houve grande aumento do poder de processamento e diminuio no tamanho dos equipamentos. Com base nessa nova tecnologia, a IBM lanou em 1964 a Srie 360. Esse lanamento causou uma revoluo na indstria de informtica, pois introduzia uma linha (famlia) de computadores pequena, poderosa e, principalmente, compatvel. Isso permitiu que uma empresa adquirisse um modelo mais simples e barato e, conforme sues necessidades, mudasse pare modelos com mais recursos, sem comprometer sues aplicaes j existentes. Para essa srie, foi desenvolvido o sistema operacional OS/360, que tentava atender todos os tipos de aplicaes e perifricos. Apesar de todos os problemas desse equipamento e de seu tamanho fsico, a Srie 360 introduziu novas tcnicas, utilizadas ate hoje. Na mesma poca, a DEC lanou a linha PDP-8, tambm revolucionria, pois apresentava uma linha de computadores de porte pequeno e baixo custo, se comparada aos mainframes ate ento comercializados, criando um novo mercado, o de minicomputadores. A evoluo dos processadores de entrada/sada permitiu que, enquanto um programa esperasse por uma operao de leitura/gravao, o processador executasse um outro programa. Para tal, a memria foi dividida em parties, onde cada programa esperava sue vez pare ser processado. A essa tcnica de compartilhamento da memria principal e processador deu-se o nome de multiprogramao. Com a substituio das fitas por discos no processo de submisso dos programas, o processamento batch tornou-se mais eficiente, pois permitia a alterao na ordem de execuo das tarefas, ate ento puramente seqencial. A essa tcnica de submisso de programas chamou-se spooling, que, mais tarde, tambm viria a ser utilizada no processo de impresso. Os sistemas operacionais, mesmo implementando o processamento batch e a multiprogramao, ao, ainda estavam limitados a processamentos que no exigiam comunicao com o usurio. Para permitir a interao rpida entre o usurio e o computador, foram adicionados terminais de vdeo e teclado (interao on-line). A multiprogramao evoluiu preocupada em oferecer aos usurios tempos de respostas razoveis e uma interface cada vez mais amigvel. Para tal, cada programa na memria utilizaria o processador em pequenos intervalos de tempo. A esse sistema de diviso de tempo do processador chamou-se timesharing (tempo compartilhado). Outro fato importante nessa fase foi o surgimento do sistema operacional Unix (1969). Concebido inicialmente em um minicomputador PDP-7, baseado no sistema MULTICS (Multiplexed Information and Computing Service), o Unix foi depois rescrito em uma linguagem de alto nvel (linguagem C), tornando-se conhecido por sue portabilidade. No final dessa fase, com a evoluo dos microprocessadores, surgiram os primeiros microcomputadores, muito mais baratos que qualquer um dos computadores ate ento comercializados. Entre eles, destacamos os micros de 8 bits da Apple e o sistema operacional CP/M (Control Program Monitor).

Prof. Cssio M. Baraky Email.: prof.baraky@gmail.com

G.S.O I Gesto de Sistemas Operacionais I

3.4 Quarta Fase (1981-1990)


A integrao em large escala (Large Scale Integration-LSI) e a integrao em muito large escala (Very Large Scale Integration-VLSI) levaram adiante o projeto de miniaturizao e barateamento dos equipamentos. Os mini e superminicomputadores se firmaram no mercado e os microcomputadores ganharam um grande impulso. Nesse quadro surgiram os microcomputadores PC (Personal Computer) de 16 bits da IBM e o sistema operacional DOS (Disk Operation System), criando a filosofia dos computadores pessoais. Na rea dos minis e superminicomputadores ganharam impulso os sistemas multiusurio, com destaque pare os sistemas compatveis com o Unix (Unix-like) e o VMS (Virtual Memory System) da DEC. Surgem as estaes de trabalho (workstations) que, apesar de monousurias, permitem que se executem diversas tarefas concorrentemente, criando o conceito de multitarefa. No final dos anos 80, os computadores tiveram um grande avano, decorrente de aplicaes que exigiam um enorme volume de clculos. Para acelerar o processamento, foram adicionados outros processadores, exigindo dos sistemas operacionais novos mecanismos de controle e sincronismo. Com o multiprocessamento, foi possvel a execuo de mais de um programa simultaneamente, ou ate de um mesmo programa por mais de um processador. Alm de equipamentos com mltiplos processadores, foram introduzidos processadores vetoriais e tcnicas de paralelismo em diferentes nveis, fazendo com que os computadores se tornassem ainda mais poderosos. As redes distribudas (Wide Area Network- WANs) se difundiram por todo o mundo, permitindo o acesso a outros sistemas de computao, independentemente de estado, pas e, ate mesmo, fabricante. Nesse contexto so desenvolvidos inmeros protocolos de rede, alguns proprietrios, como o DECnet da DEC e o SNA (System Network Architecture) da IBM, e outros de domnio pblico, como o TCP/IP e o CCITT X.25. Surgem as primeiras redes locals (Local Area NetworkLANs) interligando pequenas reas. Os softwares de rede passaram a estar intimamente relacionados ao sistema operacional e surgem os sistemas operacionais de rede.

3.5 Quinta Fase (1991- )


Grandes avanos em termos de hardware, software e telecomunicaes podem ser esperados ate o final deste sculo. Essas mudanas so conseqncia da evoluo das aplicaes, que necessitam cada vez mais de capacidade de processamento e armazenamento de dados. Sistemas especialistas, sistemas multimdia, banco de dados distribudos, inteligncia artificial e redes neurais so apenas alguns exemplos da necessidade cada vez major. A evoluo da microeletrnica permitir o desenvolvimento de processadores e memrias cada vez mais velozes e baratos, Alm de dispositivos menores, mais rpidos e com major capacidade de armazenamento. Os componentes baseados em tecnologia VLSI (Very Large Scale Integration) evoluem rapidamente pare o ULSI (Ultra Large Scale Integration). Os computadores da prxima gerao tm de ser muito mais eficientes que os atuais, pare atender o volume cada vez major de processamento. Para isso, est ocorrendo uma mudana radical na filosofia de projeto de computadores. Arquiteturas paralelas, baseadas em organizaes de multiprocessadores no convencionais, j se encontram em desenvolvimento em varies universidades e centros de pesquisa do mundo.

Prof. Cssio M. Baraky Email.: prof.baraky@gmail.com

G.S.O I Gesto de Sistemas Operacionais I

A evoluo do hardware encadear modificaes profundas nas disciplines de programao pare fazer melhor uso das arquiteturas paralelas. Assim, novas linguagens e metodologias de programao concorrentes esto sendo desenvolvidas, em particular, fazendo uso extensivo de inteligncia artificial e CAD (Computer-Aided Design). O conceito de processamento distribudo ser explorado nos sistemas operacionais, de forma que sues funes estejam espalhadas por vrios processadores atravs de redes de computadores. Isso s ser possvel devido a reduo, ao dos custos de comunicao e ao aumento na taxa de transmisso de dados. A arquitetura cliente-servidor aplicada basicamente a redes locais passe a ser oferecida em redes distribudas, permitindo que qualquer pessoa tenha acesso a todo tipo de informao, independentementede once esteja armazenada. Problemas de segurana, gerncia e desempenho tornam-se fatores importantes relacionados ao sistema operacional e a rede. A dcada de 90 foi definitiva pare a consolidao dos sistemas operacionais baseados em interfaces grficas. Apesar da evoluo da interface, a forma de interao com os computadores sofrer, talvez, uma das modificaes mais visveis. Novas interfaces homem-mquina sero utilizadas, como linguagens naturais, sons e imagens, fazendo essa comunicao mais inteligente, simples e eficiente. Os conceitos e implementaes s vistos em sistemas considerados de grande porte esto sendo introduzidos na maioria dos sistemas desktop, como na famlia Windows da Microsoft, no Unix e no OS/2 da IBM.

Prof. Cssio M. Baraky Email.: prof.baraky@gmail.com

G.S.O I Gesto de Sistemas Operacionais I

3.6 Tabela de Caractersticas de cada Fase

Existe uma grande distncia entre os circuitos eletrnicos e dispositivos de hardware e os programas aplicativos em software. Os circuitos so complexos, acessados atravs de interfaces de baixo nvel (geralmente usando as portas e entrada/sada do processador) e muitas vezes suas caractersticas e seu comportamento dependem da tecnologia usada emsua construo. Por exemplo, a forma de acesso de baixo nvel a discos rgidos IDE difere da forma de acesso a discos SCSI ou leitores de CD. Essa grande diversidade pode ser uma fonte de dores de cabea para o desenvolvedor de aplicativos. Portanto, torna-se desejvel oferecer aos programas aplicativos uma forma de acesso homognea aos dispositivos fsicos, que permita abstrair as diferenas tecnolgicas entre eles. O sistema operacional uma camada de software que opera entre o hardware e os programas aplicativos voltados ao usurio final. O sistema operacional uma estrutura de software ampla,muitas vezes complexa, que incorpora aspectos de baixo nvel (como drivers de dispositivos e gerncia de memria fsica) e de alto nvel (como programas utilitrios e a prpria interface grfica). A figura 1 ilustra a arquitetura geral de um sistema de computao tpico. Nela, podemos observar elementos de hardware, o sistema operacional e alguns programas aplicativos.

Prof. Cssio M. Baraky Email.: prof.baraky@gmail.com

G.S.O I Gesto de Sistemas Operacionais I

Prof. Cssio M. Baraky Email.: prof.baraky@gmail.com

G.S.O I Gesto de Sistemas Operacionais I

4 Histrico dos sistemas operacionais


Os primeiros sistemas de computao, no final dos anos 40 e incio dos anos 50, no possuam sistema operacional. Por outro lado, os sistemas de computao atuais possuem sistemas operacionais grandes, complexos e em constante evoluo. A seguir so apresentados alguns dos marcos mais relevantes na histria dos sistemas operacionais: Anos 40: cada programa executava sozinho e tinha total controle do computador. A carga do programa em memria, a varredura dos perifricos de entrada para busca de dados, a computao propriamente dita e o envio dos resultados para os perifrico de sada, byte a byte, tudo devia ser programado detalhadamente pelo desenvolvedor da aplicao. Anos 50: os sistemas de computao fornecembibliotecas de sistema (systemlibraries) que encapsulam o acesso aos perifricos, para facilitar a programao de aplicaes. Algumas vezes um programa monitor (system monitor) auxilia a carga e descarga de aplicaes e/ou dados entre a memria e perifricos (geralmente leitoras de carto perfurado, fitas magnticas e impressoras de caracteres). 1961 : o grupo do pesquisador Fernando Corbat, do MIT, anuncia o desenvolvimento do CTSS Compatible Time-Sharing System[CDD62], o primeiro sistema operacional com compartilhamento de tempo. 1965 : a IBMlana o OS/360, um sistema operacional compartilhamento de tempo e excelente suporte a discos. avanado, com

1965 : um projeto conjunto entre MIT, GE e Bell Labs define o sistema operacional Multics, cujas idias inovadoras iro influenciar novos sistemas durante dcadas. 1969 : Ken Thompson e Dennis Ritchie, pesquisadores dos Bell Labs, criam a primeira verso do UNIX. 1981 : a Microsoft lana o MS-DOS, um sistema operacional comprado da empresa Seattle Computer Products em 1980. 1984 : a Apple lana o sistema operacional Macintosh OS 1.0, o primeiro a ter uma interface grfica totalmente incorporada ao sistema. 1985 : primeira tentativa daMicrosoft no campo dos sistemas operacionais cominterface grfica, atravs do MS-Windows 1.0. 1987 : Andrew Tanenbaum, um professor de computao holands, desenvolve um sistema operacional didtico simplificado, mas respeitando a API do UNIX, que foi batizado como Minix. 1987 : IBM e Microsoft apresentam a primeira verso do OS/2, um sistema multitarefa destinado a substituir o MS-DOS e o Windows. Mais tarde, as duas empresas rompem a parceria; a IBM continua no OS/2 e a Microsoft investe no ambiente Windows. 1991 : Linus Torvalds, um estudante de graduao finlands, inicia o desenvolvimento do Linux, lanando na rede Usenet o kernel 0.01, logo abraado por centenas de programadores ao redor do mundo. 1993 : a Microsoft lana oWindows NT, o primeiro sistema 32 bits da empresa. 1993 : lanamento dos UNIX de cdigo aberto FreeBSD e NetBSD.

Prof. Cssio M. Baraky Email.: prof.baraky@gmail.com

G.S.O I Gesto de Sistemas Operacionais I

2001 : a Apple lana o MacOS X, um sistema operacional derivado da famlia UNIX BSD. 2001 : lanamento doWindows XP. 2004 : lanamento do ncleo Linux 2.6. 2006 : lanamento doWindows Vista. Esse histrico reflete apenas o surgimento de alguns sistemas operacionais relativamente populares; diversos sistemas acadmicos ou industriais de grande importncia pelas contribuies inovadoras, como Mach, Chorus, QNX e Plan 9, no esto representados.

Prof. Cssio M. Baraky Email.: prof.baraky@gmail.com

G.S.O I Gesto de Sistemas Operacionais I

5 Sistemas Operacionais
5.1 O que um sistema operacional?
O sistema operacional o componente de um sistema computacional que faz o interfaceamento homem maquina, o sistema operacional nos permite controlar todo o sistema de computao ds do hardware at o software. Podemos considerar um sistema operacional como um alocador de recursos. Um sistema de computao possui muitos recursos (hardware e software) que podem ser necessrios para resolver um problema: tempo de CPU, espao na memria, espao de armazenamento de arquivos, dispositivos de entrada e sada entre outros. O sistema operacional atua como gerente de recursos e os aloca a programas e usurios especficos conforme o necessrio para a execuo das tarefas. O sistema operacional e um software que esta sempre em execuo no computador.

5.2 Tipos de sistemas operacionais


Os sistemas operacionais podem ser classificados segundo diversos parmetros e perspectivas, como tamanho, velocidade, suporte a recursos especficos, acesso rede, etc. A seguir so apresentados alguns tipos de sistemas operacionais usuais (muitos sistemas operacionais se encaixam bem em mais de uma das categorias apresentadas):

5.2.1 Sistema operacional em lote (Batch)


os sistemas operacionais mais antigos trabalhavam por lote, ou seja, todos os programas a executar eram colocados em uma fila, com seus dados e demais informaes para a execuo. O processador recebia um programa aps o outro, processando-os em seqncia, o que permitia um alto grau de utilizao do sistema. Ainda hoje o termo em lote usado para designar um conjunto de comandos que deve ser executado em seqncia, sem interferncia do usurio. Exemplos desses sistemas incluem o OS/360 e VMS, entre outros. 5.2.2 Sistema de tempo compartilhado O tempo compartilhado, ou multitarefa, uma extenso lgica da multiprogramao. A CPU executa vrios jobs alternando entre eles, mas as trocas ocorrem com tanta freqncia que os usurios podem interagir com cada programa durante sua execuo. Um sistema interativo permite a comunicao direta entre o usurio e o sistema. O usurio passa informaes ao sistema operacional ou a um programa diretamente, usando um teclado ou mouse, e espera resultados imediatos. Um sistema operacional de tempo compartilhado utiliza o escalonamento de CPU e a multiprogramao para oferecer a cada usurio uma pequena parte de um computador de tempo compartilhado. Um programa carregado na memria e executando normalmente chamado de processo. Os sistema de tempo multiprogramados. compartilhado so bem mais complexos que os

Prof. Cssio M. Baraky Email.: prof.baraky@gmail.com

G.S.O I Gesto de Sistemas Operacionais I

A idia de tempo compartilhado foi apresentada pela primeira vez em 1960, mas como os sistemas de tempo compartilhado so difceis e caros de construir, s se tornaram comuns no inicio dos anos 70.

5.2.3 Sistemas de computadores pessoais (Desktop)


Os computadores pessoais apareceram nos anos 70. Durante a primeira dcada, a CPU ns PCs no tinha os recursos necessrios para proteger um sistema operacional dos programas do usurio. Os sistemas operacionais para PC, protanto, no eram nem multiururio nem multitarefa. A meta destes sistemas operacionais mudaram com o tempo; em vez de maximizar a utilizao da CPU e perifricos, os sistemas optam por maximizar a convenincia e a capacidade de resposta ao usurio. um sistema operacional de mesa voltado ao atendimento do usurio domstico e corporativo para a realizao de atividades corriqueiras, como edio de textos e grficos, navegao na Internet e reproduo de mdias simples. Sua principais caractersticas so a interface grfica, o suporte interatividade e a operao em rede. Exemplos de sistemas desktop so o Windows XP, MacOS X e Linux.

5.2.4 Sistemas paralelos


A maioria dos sistemas existentes at hoje so sistema de um nico processador, ou seja, s tem uma CPU principal. No entanto, existe uma tendncia em direo aos sistemas de multiprocessador. Tais sistemas tm mais de um processador em comunicao ativa, compartilhando o barramento, o clock, e as vezes, a memria e os dispositivos perifricos. Uma vantagem e a maior produo. Aumentando o numero de processadores, esperase realizar mais trabalho em menos tempo. A taxa de aumento de velocidade com n processadores, entretanto, no n, mas menor que n. Se houver dez processadores e um falhar, cada um dos nove processadores restantes dever pegar uma parte do trabalho do processador que falhou. Assim o sistema inteiro executa apenas 10% mais lentamente, em vez de parar por completo. Existem dois tipos de multiprocessamento, o multiprocessamento assimtrico e o simtrico. No assimtrico a cada processador atribudo uma tarefa especfica. Um processador mestre controla o sistema; os outros processadores procuram o mestre para receber instrues ou tem tarefas predefinidas. Esse esquema define uma relao mestreescravo. O processador mestre escalona e aloca trabalho para os processadores escravos. No multiprocessamento simtrico, todos os processadores so iguais; no existindo a relao mestre-escravo entre eles. Cada processador executa uma copia do sistema operacional de forma concorrente.

5.2.5 Sistema de tempo real


Ao contrrio da concepo usual, um sistema operacional de tempo real no precisa ser necessariamente ultra-rpido; sua caracterstica essencial ter um comportamento temporal previsvel (ou seja, seu tempo de resposta deve ser conhecido no melhor e pior caso de operao). A estrutura interna de um sistema operacional de tempo real

Prof. Cssio M. Baraky Email.: prof.baraky@gmail.com

G.S.O I Gesto de Sistemas Operacionais I


deve ser construda de forma a minimizar esperas e latncias imprevisveis, como tempos de acesso a disco e sincronizaes excessivas. Um sistema de tempo real usado quando existem requisitos rgidos de tempo na operao de um processador ou no fluxo de dados; assim ele geralmente e usado como um dispositivo de controle em uma aplicao dedicada. Os sensores levam dados ao computador. O computador deve analisar os dados e talvez ajustar os controles para modificar as caractersticas dos sensores. Os sistemas que controlam experimentos cientficos, sistemas de imagens mdicas, sistemas de controle industrial, alguns sistema de injeo de combustveis de veculos, sistemas de armas e outros. Existem duas classificaes de sistemas de tempo real: soft real-time systems, nos quais a perda de prazos implica na degradao do servio prestado. Um exemplo seria o suporte gravao de CDs ou reproduo de msicas. Caso o sistema se atrase, pode ocorrer a perda da mdia em gravao ou falhas na msica que est sendo tocada. Por outro lado, nos hard real-time systems a perda de prazos pelo sistema pode perturbar o objeto controlado, com graves conseqncias humanas, econmicas ou ambientais. Exemplos desse tipo de sistema seriam o controle de funcionamento de uma turbina de avio a jato ou de uma caldeira industrial. Exemplos de sistemas de tempo real incluemoQNX, RT-Linux e VxWorks. Muitos sistemas embutidos tm caractersticas de tempo real, e vice-versa.

5.2.6 Sistemas distribudos


Em um sistema operacional distribudo, os recursos de cada mquina esto disponveis globalmente, de forma transparente aos usurios. Ao lanar uma aplicao, o usurio interage com sua janela, mas no sabe onde ela est executando ou armazenando seus arquivos: o sistema quem decide, de forma transparente. Os sistemas operacionais distribudos j existem h tempos (Amoeba e Clouds, por exemplo),mas ainda no so uma realidade de mercado.

5.2.7 Sistemas Multi-usurio


Um sistema operacionalmulti-usurio deve suportar a identificao do dono de cada recurso dentro do sistema (arquivos, processos, reas dememria, conexes de rede) e impor regras de controle de acesso para impedir o uso desses recursos por usurios no autorizados. Essa funcionalidade fundamental para a segurana dos sistemas operacionais de rede e distribudos. Grande parte dos sistemas atuais so multiusurios.

5.2.8 Sistemas de servidor


Um sistema operacional servidor deve permitir a gesto eficiente de grandes quantidades de recursos (disco, memria, processadores), impondo prioridades e limites sobre o uso dos recursos pelos usurios e seus aplicativos. Normalmente um sistema operacional servidor tambm tem suporte a rede e multi-usurios.

Prof. Cssio M. Baraky Email.: prof.baraky@gmail.com

G.S.O I Gesto de Sistemas Operacionais I

5.2.9 Sistemas embutidos (embarcados)


Um sistema operacional dito embutido (embedded) quando construdo para operar sobre um hardware com poucos recursos de processamento, armazenamento e energia. Aplicaes tpicas desse tipo de sistema aparecem em telefones celulares, controladores industriais e automotivos, equipamentos eletrnicos de uso domstico (leitores de DVD, TVs, fornos-micro-ondas, centrais de alarme, etc.). Muitas vezes um sistema operacional embutido se apresenta na forma de uma biblioteca a ser ligada ao programa da aplicao (que fixa). Exemplos de sistemas operacionais embutidos so o C/OS, Xylinx, LynxOS e VxWorks.

5.3 Funcionalidades do sistema operacional


Para cumprir seus objetivos de abstrao e gerncia, o sistema operacional deve atuar em vrias frentes. Cada um dos recursos do sistema possui suas particularidades, o que impe exigncias especficas para gerenciar e abstrair os mesmos. Sob esta perspectiva, as principais funcionalidades implementadas por um sistema operacional tpico so:

5.3.1 Gerncia do processador


Tambm conhecida como gerncia de processos ou de atividades, esta funcionalidade visa distribuir a capacidade de processamento de forma justa1 entre as aplicaes, evitando que uma aplicao monopolize esse recurso e respeitando as prioridades dos usurios. O sistema operacional prov a iluso de que existe um processador independente para cada tarefa, o que facilita o trabalho dos programadores de aplicaes e permite a construo de sistemas mais interativos. Tambm faz parte da gerncia de atividades fornecer abstraes para sincronizar atividades interdependentes e prover formas de comunicao entre elas.

5.3.2 Gerncia de memria


Tem como objetivo fornecer a cada aplicao uma rea de memria prpria, independente e isolada das demais aplicaes e inclusive do ncleo do sistema. O isolamento das reas de memria das aplicaes melhora a estabilidade e segurana do sistema como um todo, pois impede aplicaes com erros (ou aplicaes maliciosas) de interferir no funcionamento das demais aplicaes. Alm disso, caso a memria RAM existente seja insuficiente para as aplicaes, o sistema operacional pode aument-la de forma transparente s aplicaes, usando o espao disponvel em um meio de armazenamento secundrio (como um disco rgido). Uma importante abstrao construda pela gerncia de memria a noo de memria virtual, que desvincula os endereos de memria vistos por cada aplicao dos endereos acessados pelo processador na memria RAM. Com isso, uma aplicao pode ser carregada em qualquer posio livre da memria, sem que seu programador tenha de se preocupar com os endereos de memria onde ela ir executar.

5.3.3 Gerncia de dispositivos


Cada perifrico do computador possui suas peculiaridades; assim, o procedimento de interao com uma placa de rede completamente diferente da interao comum disco rgido SCSI. Todavia, existem muitos problemas e abordagens em comum para o acesso aos perifricos. Por exemplo, possvel criar uma abstrao nica para a maioria dos dispositivos de armazenamento como pen-drives, discos SCSI ou IDE, disquetes, etc, na forma de um vetor de blocos de dados. A funo da gerncia de dispositivos (tambm conhecida como gerncia de entrada/sada) implementar a

Prof. Cssio M. Baraky Email.: prof.baraky@gmail.com

G.S.O I Gesto de Sistemas Operacionais I


interao com cada dispositivo por meio de drivers e criar modelos abstratos que permitam agrupar vrios dispositivos distintos sob a mesma interface de acesso.

5.3.4 Gerncia de arquivos


Esta funcionalidade construda sobre a gerncia de dispositivos e visa criar arquivos e diretrios, definindo sua interface de acesso e as regras para seu uso. importante observar que os conceitos abstratos de arquivo e diretrio so to importantes e difundidos que muitos sistemas operacionais os usam para permitir o acesso a recursos que nada tem a ver com armazenamento. Exemplos disso so as conexes de rede (nos sistemas UNIX e Windows, cada socket TCP visto como um descritor de arquivo no qual pode-se ler ou escrever dados) e as informaes do ncleo do sistema (como o diretrio /proc do UNIX). No sistema operacional experimental Plan 9, todos os recursos do sistema operacional so vistos como arquivos.

5.3.5 Gerncia de proteo


Com computadores conectados em rede e compartilhados por vrios usurios, importante definir claramente os recursos que cada usurio pode acessar, as formas de acesso permitidas (leitura, escrita, etc) e garantir que essas definies sejam cumpridas. Para proteger os recursos do sistema contra acessos indevidos, necessrio: a) definir usurios e grupos de usurios; b) identificar os usurios que se conectam ao sistema, atravs de procedimentos de autenticao; c) definir e aplicar regras de controle de acesso aos recursos, relacionando todos os usurios, recursos e formas de acesso e aplicando essas regras atravs de procedimentos de autorizao; e finalmente d) registrar o uso dos recursos pelos usurios, para fins de auditoria e contabilizao. Alm dessas funcionalidades bsicas oferecidas pela maioria dos sistemas operacionais, vrias outras vm se agregar aos sistemas modernos, para cobrir aspectos complementares, como a interface grfica, suporte de rede, fluxos multimdia, gerncia de energia, etc. As funcionalidades do sistema operacional geralmente so inter-dependentes: por exemplo, a gerncia do processador depende de aspectos da gerncia dememria, assim como a gerncia de memria depende da gerncia de dispositivos e da gerncia de proteo. Alguns autores representam a estrutura do sistema operacional conforme indicado na figura 2. Nela, o ncleo central implementa o acesso de baixo nvel ao hardware, enquanto os mdulos externos representam as vrias funcionalidades do sistema.

Prof. Cssio M. Baraky Email.: prof.baraky@gmail.com

G.S.O I Gesto de Sistemas Operacionais I

Uma regra importante a ser observada na construo de um sistema operacional a separao entre os conceitos de poltica e mecanismo. Como poltica consideram-se os aspectos de deciso mais abstratos, que podem ser resolvidos por algoritmos de nvel mais alto, como por exemplo decidir a quantidade de memria que cada aplicao ativa deve receber, ou qual o prximo pacote de rede a enviar para satisfazer determinadas especificaes de qualidade de servio. Por outro lado, como mecanismo consideram-se os procedimentos de baixo nvel usados para implementar as polticas, ou seja, atribuir ou retirarmemria de uma aplicao, enviar ou receber um pacote de rede, etc. Os mecanismos devem ser suficientemente genricos para suportar mudanas de poltica sem necessidade de modificaes. Essa separao entre os conceitos de poltica e mecanismo traz uma grande flexibilidade aos sistemas operacionais, permitindo alterar sua personalidade (sistemas mais interativos ou mais eficientes) sem ter de alterar o cdigo que interage diretamente com o hardware. Alguns sistemas, como o InfoKernel, permitem que as aplicaes escolham as polticas do sistema mais adequadas s suas necessidades.

5.4 Estrutura de um sistema operacional


Um sistema operacional no um bloco nico e fechado de software executando sobre o hardware. Na verdade, ele composto de diversos componentes com objetivos e funcionalidades complementares. Alguns dos componentes mais relevantes de um sistema operacional tpico so:

5.4.1 Ncleo
o corao do sistema operacional, responsvel pela gerncia dos recursos do hardware usados pelas aplicaes. Ele tambm implementa as principais abstraes utilizadas pelos programas aplicativos.

Prof. Cssio M. Baraky Email.: prof.baraky@gmail.com

G.S.O I Gesto de Sistemas Operacionais I

5.4.2 Drivers
Mdulos de cdigo especficos para acessar os dispositivos fsicos. Existe um driver para cada tipo de dispositivo, como discos rgidos IDE, SCSI, portas USB, placas de vdeo, etc. Muitas vezes o driver construdo pelo prprio fabricante do hardware e fornecido em forma compilada (em linguagem de mquina) para ser acoplado ao restante do sistema operacional.

5.4.3 Cdigo de inicializao


A inicializao do hardware requer uma srie de tarefas complexas, como reconhecer os dispositivos instalados, test-los e configur-los adequadamente para seu uso posterior. Outra tarefa importante carregar o ncleo do sistema operacional em memria e iniciar sua execuo.

5.4.4 Programas utilitrios


So programas que facilitam o uso do sistema computacional, fornecendo funcionalidades complementares ao ncleo, como formatao de discos e mdias, configurao de dispositivos, manipulao de arquivos (mover, copiar, apagar), interpretador de comandos, terminal, interface grfica, gerncia de janelas, etc. As diversas partes do sistema operacional se relacionam entre si conforme apresentado na figura 3.

Prof. Cssio M. Baraky Email.: prof.baraky@gmail.com

G.S.O I Gesto de Sistemas Operacionais I

5.5 Gerncia de tarefas


Em um sistema de computao, freqente a necessidade de executar vrias tarefas distintas simultaneamente. Por exemplo: O usurio de um computador pessoal pode estar editando uma imagem, imprimindo um relatrio, ouvindo msica e trazendo da Internet um novo software, tudo ao mesmo tempo. Em um grande servidor de e-mails, centenas de usurios conectados remotamente enviam e recebem e-mails atravs da rede. Um navegador Web precisa buscar os elementos da pgina a exibir, analisar e renderizar o cdigoHTML e o grficos recebidos, animar os elementos da interface e responder aos comandos do usurio.

No entanto, um processador convencional somente trata um fluxo de instrues decada vez. At mesmo computadores com vrios processadores (mquinas Dual Pentium ou processadores com tecnologia hyper-threading, por exemplo) tm mais atividades a executar que o nmero de processadores disponveis. Como fazer para atender simultaneamente as mltiplas necessidades de processamento dos usurios? Uma soluo ingnua seria equipar o sistema com um processador para cada tarefa, mas essa soluo ainda invivel econmica e tecnicamente. Outra soluo seria multiplexar o processador entre as vrias tarefas que requerem processamento. Por multiplexar entendemos compartilhar o uso do processador entre as vrias tarefas, de forma a atend-las da melhor maneira possvel. Os principais conceitos abordados nesta parte do captulo compreendem: Como as tarefas so definidas; Quais os estados possveis de uma tarefa; Como e quando o processador muda de uma tarefa para outra; Como ordenar (escalonar) as tarefas para usar o processador.

5.6 O conceito de tarefa


Uma tarefa definida como sendo a execuo de um fluxo seqencial de instrues, construdo para atender uma finalidade especfica: realizar um clculo complexo, a edio deumgrfico, a formatao deumdisco, etc. Assim, a execuo deuma seqncia de instrues em linguagem de mquina, normalmente gerada pela compilao de um programa escrito em uma linguagem qualquer, denominada tarefa ou atividade (do ingls task). importante ressaltar as diferenas entre os conceitos de tarefa e de programa: Um programa um conjunto de uma ou mais seqncias de instrues escritas para resolver um problema especfico, constituindo assim uma aplicao ou utilitrio. O programa representa um conceito esttico, sem um estado interno definido (que represente uma situao especfica da execuo) e sem interaes com outras entidades (o usurio ou outros programas). Por exemplo, os arquivos C:\Windows\notepad.exe e /usr/bin/nano so programas de edio de texto. Uma tarefa a execuo, pelo processador, das seqncias de instrues definidas em um programa para realizar seu objetivo. Trata-se de um conceito dinmico, que possui um estado interno bem definido a cada instante (os valores das variveis internas e a posio atual da execuo) e interage comoutras entidades: o usurio, os perifricos e/ou outras tarefas. Fazendo uma analogia clssica, pode-se dizer que um programa o equivalente de uma receita de torta dentro de um livro de receitas (um diretrio) guardado em uma

Prof. Cssio M. Baraky Email.: prof.baraky@gmail.com

G.S.O I Gesto de Sistemas Operacionais I


estante (umdisco) na cozinha (o computador). Essa receita de torta define os ingredientes necessrios e o modo de preparo da torta. Por sua vez, a ao de executar a receita, providenciando os ingredientes e seguindo os passos definidos na receita, a tarefa propriamente dita. A cada momento, a cozinheira (o processador) est seguindo um passo da receita (posio da execuo) e tem uma certa disposio dos ingredientes e utenslios em uso (as variveis internas da tarefa). Assim como uma receita de torta pode definir vrias atividades inter-dependentes para elaborar a torta (preparar a massa, fazer o recheio, decorar, etc), um programa tambmpode definir vrias seqncias de execuo inter-dependentes para atingir seus objetivos. Por exemplo, o programa do navegador Web ilustrado na figura abaixo define vrias tarefas que uma janela de navegador deve executar simultaneamente, para que o usurio possa navegar na Internet:

2 1

Figura: Tarefas de um navegador Internet


1. Buscar via rede os vrios elementos que compem a pgina Web; 2. Receber, analisar e renderizar o cdigo HTML e os grficos recebidos; 3. Animar os diferentes elementos que compem a interface do navegador; 4. Receber e tratar os eventos do usurio (clicks) nos botes do navegador; Dessa forma, o processador tem ento de se multiplexar entre todas as tarefas definidas nessa receita de torta (e outras tarefas que possam estar sendo executadas pelos usurios) para atingir os objetivos esperados. s vezes podemos ter mais de uma cozinheira trabalhando juntas na mesma cozinha, o que ir agilizar o trabalho, mas tambm tornar mais complexa a gerncia das tarefas.

Prof. Cssio M. Baraky Email.: prof.baraky@gmail.com

G.S.O I Gesto de Sistemas Operacionais I

5.7 A gerncia de tarefas


Os primeiros sistemas de computao, nos anos 40, executavam apenas uma tarefa de cada vez. Nestes sistemas, cada programa binrio era carregado do disco para a memria e executado at sua concluso. Os dados de entrada da tarefa eramcarregados na memria juntamente com a mesma e os resultados obtidos no processamento eram descarregados de volta no disco aps a concluso da tarefa. Todas as operaes de transferncia de cdigo e dados entre o disco e a memria eram coordenados por um operador humano. Esses sistemas primitivos eramusados sobretudo para aplicaes de clculo numrico,muitas vezes comfinsmilitares (problemas de trigonometria, balstica, mecnica dos fluidos, etc). A figura a seguir ilustra um sistema desse tipo.

Figura: Sistema mono-tarefa: 1) carga do cdigo na memria, 2) carga dos dados na memria, 3) processamento, consumindo dados e produzindo resultados, 4) ao trmino da execuo, a descarga dos resultados no disco. Nesse mtodo de processamento de tarefas possvel delinear um diagrama de estados para cada tarefa executada pelo sistema, que est representado na figura abaixo. Coma evoluo do hardware, as tarefas de carga e descarga de cdigo entre memria e disco, coordenadas por um operador humano, passaram a se tornar crticas: mais

Figura: Diagrama de estados de uma tarefa em um sistema mono-tarefa.


tempo era perdido nesses procedimentos manuais que no processamento da tarefa em si. Para resolver esse problema foi construdo um programa monitor, que era carregado namemria no incio da operao do sistema coma funo de coordenar a execuo dos demais programas. O programa monitor executava basicamente os seguintes passos sobre uma fila de programas a executar, armazenada no disco: repetir carregar um programa do disco para a memria

Prof. Cssio M. Baraky Email.: prof.baraky@gmail.com

G.S.O I Gesto de Sistemas Operacionais I


carregar os dados de entrada do disco para a memria transferir a execuo para o programa recm carregado aguardar o trmino da execuo do programa escrever os resultados gerados pelo programa no disco at processar todos os programas da fila Percebe-se claramente que a funo do monitor gerenciar uma fila de programas a executar, mantida no disco. Na medida em que os programas so executados pelo processador, novos programas podem ser inseridos na fila pelo operador do sistema. Alm de coordenar a execuo dos demais programas, o monitor tambm colocava disposio destes uma biblioteca de funes para simplificar o acesso aos dispositivos de hardware (teclado, leitora de cartes, disco, etc). Assim, o monitor de sistema constitui o precursor dos sistemas operacionais. O uso do programa monitor agilizou o uso do processador, mas outros problemas persistiam. Como a velocidade de processamento era muito maior que a velocidade de comunicao com os dispositivos de entrada e sada1, o processador ficava ocioso durante os perodos de transferncia de informao entre disco ememria. Se a operao de entrada/sada envolvia fitas magnticas, o processador podia ficar vrios minutos parado, esperando. O custo dos computadores era elevado demais (e sua capacidade de processamento muito baixa) para permitir deix-los ociosos por tanto tempo. A soluo encontrada para resolver esse problema foi permitir ao processador suspender a execuo da tarefa que espera dados externos e passar a executar outra tarefa. Mais tarde, quando os dados de que necessita estiverem disponveis, a tarefa suspensa pode ser retomada no ponto onde parou. Para tal, necessrio ter mais memria (para poder carregar mais de um programa ao mesmo tempo) e definir procedimentos para suspender uma tarefa e retom-la mais tarde. O ato de retirar um recurso de uma tarefa (neste caso o recurso o processador) denominado preempo. Sistemas que implementam esse conceito so chamados sistemas preemptivos. A adoo da preempo levou a sistemas mais produtivos (e complexos), nos quais vrias tarefas podiam estar em andamento simultaneamente: uma estava ativa e as demais suspensas, esperando dados externos ou outras condies. Sistemas que suportavam essa funcionalidade foram denominados monitores multi-tarefas. O diagrama de estados da figura abaixo ilustra o comportamento de uma tarefa em um sistema desse tipo:

Figura: Diagrama de estados de uma tarefa em um sistema multi-tarefas.

1Essa diferena de velocidades permanece imensa nos sistemas atuais. Por exemplo, em um computador atual a velocidade de acesso memria de cerca de 10 nanossegundos (10 109s), enquanto a velocidade de acesso a dados em um disco rgido IDE de cerca de 10 milissegundos (10 103s), ou seja, um milho de vezes mais lento!

Prof. Cssio M. Baraky Email.: prof.baraky@gmail.com

G.S.O I Gesto de Sistemas Operacionais I


Solucionado o problema de evitar a ociosidade do processador, restavam no entanto vrios outros problemas a resolver. Por exemplo, um programa que contm um lao infinito jamais encerra; como fazer para abortar a tarefa, ou ao menos transferir o controle ao monitor para que ele decida o que fazer? Situaes como essa podem ocorrer a qualquer momento, por erros de programao ou intencionalmente, como mostra o exemplo a seguir:

Esse tipo de programa pode inviabilizar o sistema, pois a tarefa em execuo nunca termina nem solicita operaes de entrada/sada, monopolizando o processador e impedindo a execuo das demais tarefas (pois o controle nunca volta ao monitor). Alm disso, essa soluo no era adequada para a criao de aplicaes interativas. Por exemplo, um terminal de comandos pode ser suspenso a cada leitura de teclado, perdendo o processador. Se ele tiver de esperar muito para voltar ao processador, a interatividade com o usurio fica prejudicada. Para resolver essa questo, foi introduzido no incio dos anos 60 um novo conceito: o compartilhamento de tempo, ou time-sharing, atravs do sistema CTSS Compatible Time-Sharing System. Nessa soluo, cada atividade que detm o processador recebe um limite de tempo de processamento, denominado quantum2. Esgotado seu quantum, a tarefa em execuo perde o processador e volta para uma fila de tarefas prontas, que esto na memria aguardando sua oportunidade de executar. Essa preempo por tempo de processamento implementada coma ajuda de temporizadores externos programveis (implementados em hardware) que geram interrupes ao disparar. O diagrama de estados das tarefas deve ser reformulado para incluir a preempo por tempo que implementa a estratgia de tempo compartilhado. A figura abaixo apresenta esse novo diagrama, que conhecido na literatura da rea como diagrama de ciclo de vida das tarefas.

Figura: Diagrama de estados de uma tarefa em um sistema de tempo compartilhado.

2A durao atual do quantum depende muito do tipo de sistema operacional; no Linux ela varia de 10 a 200 milissegundos, dependendo do tipo e prioridade da tarefa.

Prof. Cssio M. Baraky Email.: prof.baraky@gmail.com

G.S.O I Gesto de Sistemas Operacionais I


Os estados e transies do ciclo de vida apresentado na figura acima tm o seguinte significado: Nova : A tarefa est sendo criada, i.e. seu cdigo est sendo carregado em memria, junto comas bibliotecas necessrias, e as estruturas de dados do ncleo esto sendo atualizadas para permitir sua execuo. Pronta : A tarefa est em memria, pronta para executar (ou para continuar sua execuo), apenas aguardando a disponibilidade do processador. Todas as tarefas prontas so organizadas em uma fila cuja ordem determinada por algoritmos de escalonamento. Executando : O processador est dedicado tarefa, executando suas instrues e fazendo avanar seu estado. Suspensa : A tarefa no pode executar porque depende de dados externos ainda no disponveis (do disco ou da rede, por exemplo), aguarda algum tipo de sincronizao (o fim de outra tarefa ou a liberao de algum recurso compartilhado) ou simplesmente espera o tempo passar (em uma operao sleeping, por exemplo). Terminada : O processamento da tarefa foi encerrado e ela pode ser removida da memria do sistema. To importantes quanto os estados das tarefas apresentados na figura 5 so as transies entre esses estados, que so explicadas a seguir: !Nova : Esta transio ocorre quando uma nova tarefa admitida no sistema e comea a ser preparada para executar. Nova!Pronta : ocorre quando a nova tarefa termina de ser carregada em memria, juntamente com suas bibliotecas e dados, estando pronta para executar. Pronta!Executando : esta transio ocorre quando a tarefa escolhida pelo escalonador para ser executada, dentre as demais tarefas prontas. Executando!Pronta : esta transio ocorre quando se esgota a fatia de tempo destinada tarefa (ou seja, o fimdo quantum); como nessemomento a tarefa no precisa de outros recursos alm do processador, ela volta fila de tarefas prontas, para esperar novamente o processador. Executando!Terminada : ocorre quando a tarefa encerra sua execuo ou abortada em conseqncia de algum erro (acesso invlido memria, instruo ilegal, diviso por zero, etc). Na maioria dos sistemas a tarefa que deseja encerrar avisa o sistema operacional atravs de uma chamada de sistema (no Linux usada a chamada exit). Terminada! : Uma tarefa terminada removida da memria e seus registros e estruturas de controle no ncleo so apagadas. Executando!Suspensa : caso a tarefa em execuo solicite acesso a um recurso no disponvel, como dados externos ou alguma sincronizao, ela abandona o processador e fica suspensa at o recurso ficar disponvel. Suspensa!Pronta : quando o recurso solicitado pela tarefa se torna disponvel, ela pode voltar a executar, portanto volta ao estado de pronta.

Prof. Cssio M. Baraky Email.: prof.baraky@gmail.com

G.S.O I Gesto de Sistemas Operacionais I

6 Sistema Operacional MS-DOS


Ao contrrio do UNIX, que roda numa grande variedade de mquinas diferentes, o MS-DOS s roda em arquiteturas baseadas nos processadores Intel 8088 e seus sucessores. Quando foi lanado era considerado um sistema de fcil utilizao e que trabalhava bem com os equipamentos existentes na poca. O que veremos neste capitulo, um pouco da histria deste sistema operacional, como ele funcionava e em uma parte bem prtica seu funcionamento e comandos de sistema.

6.1 HISTRIA DO MS-DOS


O primeiro computador pessoal foi o Altair, produzido em 1975 por uma companhia chamada MITS, de Albuquerque, Novo Mxico, EUA. Ele era baseado no microprocessador 8080, de oito bits, fabricado pela Intel, e tinha 256 bytes de memria. O Altair, no tinha teclado, nem vdeo, muito menos dicos ou fitas, mas seu preo muito baixo, em torno de 400 dlares, tranformou-o num cult para eletrnicos amadores, que cresceram montando kits de rdio e televises vendidos em bancas de jornal. Um jovem chamado Bill Gates escreveu uma verso BASIC para o Altair, que obteve um sucesso modesto junto ao usurios do microcomputador. Mais tarde este programa veio a fazer de Gates um bilionrio. Em poucos anos muitas empresas comearam a produzir micro computadores baseados no chip 8080. Em quase todas essas mquinas, rodava um sistema operacional chamado CP/M, produzido por uma pequena empresa da Califrnia, a Digital Research. Todos os computadores pessoais (chamados microcomputadores) projetados de 1975 at o incio da dcada de 80 nada mais eram do que brinquedos comprados e utilizados fundamentalmente pelas pessoas que tinham a eletrnica como hobby.

6.1.1 O IBM PC
No incio dos anos 80, a IBM, que ento dominava a indstria de computadores, deciciu entrar no negcio da computao pessoal. No entanto, como ela custou a tomar uma deciso sobre o assunto, j era tarde para desenvolver um projeto prprio. Por conta disso, seus executivos decidiram fazer algo que no era usual para a normalmente cautelosa e burocrtica IBM. Enviaram um de seus gerentes, Philip Estridge, para Boca Raton, na Flrida, a dois mil quilmetros do quartel-general da corporao, situado no condado de Westchester, Nova Iorque, com uma mala cheia de dinheiro, com a recomendao de no 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 componentes-padro, em vez dos projetados internamente, pela prpeia 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 verso do 8086, com barramento de 8 bits. Estridges escolheu, pois os chips que davam suporte a esse processador eram muito mais baratos que o dos 8086. Esta deciso baseou-se no fato de o preo de venda da mquina ser o ponto de maior importncia no projeto. Alm de no ter interesse em construir ela prpria 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 usurios de

Prof. Cssio M. Baraky Email.: prof.baraky@gmail.com

G.S.O I Gesto de Sistemas Operacionais I


computadores pessoais, de modo que eles foram consultar Bill Gates, que nesta poca j tinha fundado uma nova empresa, chamada Microsoft, afim de licensiar o interpretador BASIC para ser usado no IBM-PC. Pediram tambm que Gates desenvolvesse um sistema operacional para a nova mquina. A Microsoft, porm, estava dedicada ao projeto de vender o UNIX, sob licemsa de Bell Labs (AT & T). Ocorre que o UNIX originrio do mundo dos mini computadores, precisava de 100Kb de memria s para o sistema operacional e tambm de um disco rgido. A mquina da IBM, tinha um total de 64k de memria e no era equipada com disco rgido. Em funo disso, Gates sugeriu que a IBM usasse o CP/M 86, desenvolveido pela Digital Research. A IBM consultou a Digital Research, que respondeu que o desenvolvimento dos CP/M 86 estava atrasado em relao ao cronograma original, e a IBM no podia esperar. A Microsoft foi ento mais uma vez procurada, desta vez consultada sobre a possibilidade de escrever um sistema operacional com as mesmas caractersticas do CP/M 86. Os projetos de Gates o impediram de assumir a empreitada e realiz-la no prazo exigido pela IBM. Ele, porm, 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 memria que ela produzia e vendia. A Microsoft ento comprou o 86 DOS, e em abril de 1981, contratou seu projetista, Tim Paterson, para torn-lo ainda menor. Eles mudaram o nome do sistema para MSDOS (Micro Soft Disk Operating System), entregando-o a IBM dentro do prazo contratado. Quando o IBM PC foi anunciado com pompa de circunstncia em agosto de 1981, o MS-DOS estava l junto com ele. Na verso da IBM e de muitos outros fabricantes, a maior virtude do MS-DOS era a de permitir que softwares desenvolvidos para CP/M, que rodavam no processador 8080 (o 8088 era compatvel com o 8080 e podia rodar a maioria dos seus programas com pouqussimas modificaes), rodassem tambm sob o MS-DOS. Ningum poderia imaginar que 10 anos depois este pequeno sistema, que surgiu no mercado quase que por acidente, pudesse estar controlando o funcionamento de 50 milhes de computadores espalhados pelo mundo inteiro. Alm do mais, ningum, nem mesmo a IBM, tinha a menor idia do sucesso que o IBM PC iria alcanar. A IBM imaginava inicialmente que ele seria usado para jogos. Basta ver que a freqncia de 4,77MHz do seu clock, foi escolhida em funo da compatibilidade com a usada nos sistemas de televiso americanas, de maneira a permitir que as pessoas usassem seus prprios aparelhos de TV com vdeo em vez de monitores especficos. O PC tambm vinha equipado com hardware para controlar aparelhos de gravao/reproduo de fitas cassete, que poderiam ser usadas como meio de armazenamento, e joysticks. Nenhum destes dois dispositivos, teve muito uso, em virtude da inexistncia de softwares para eles. Provavelmente a melhor coisa que a IBM fez, foi tornar o PC um sistema aberto. O projeto completo, inclusive as listagem da ROM e os diagramas eltricos foram descrito em detalhes em um livro que estava disponvel em todos os pontos de venda dos PCs. Isto fez com que fosse possvel usar no PC tanto produtos de Hardware quanto de Software produzidos por terceiros, a exemplo do que foi feito por milhares de fabricantes no mundo inteiro. De fato, com os diagramas de circuitos disponveis, e a mquina sendo composta exclusivamente por componentes no dedicados, que podiam ser comprados em qualquer loja de eletrnica, muitas empresas passaram a construir e a vender cpias do PC, conhecida como clones, entrando em competio direta com a prpria IBM. Foi

Prof. Cssio M. Baraky Email.: prof.baraky@gmail.com

G.S.O I Gesto de Sistemas Operacionais I


devido a esta enorma carga de enrgia 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 espao de endereamento de 1Mb, a IBM resolveu alocar os primeiros 640k deste espao para RAM, e o resto para as roms, placas de vdeo e outras coisas. Como consequncia, o MS-DOS, foi projetado para suportar programas com tamanho mximo de 640k. Em um primeiro momento, isto no era problema, uma vez que as mquinas s tinham 64 kb de RAM, mas a incapacidade do MS-DOS em rodar programas com mais de 640k , tornou-se um problema srio. E este problema est ajudando na sua quase extino. Outra caracterstica importante do IBM PC o fato de ele no dispor de qualquer tipo de proteo por hardware. Os programas so 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 programao resultou em um grande nmero de programas mal escritos e sem caractersticas que permitissem sua portabilidade. Tais programas constituiram-se numa assombrao constante para seus criadores, que no raro os recebem de volta. Com a certa complexidade do DOS em termos de comandos, foi criado um ambiente grfico para ele, o Windows. No Windows, alm de ser mais fcil "navegar" entre os programas devido ao sua interface simples de ser interpretada (pastas a diretrios, figuras para o arquivos, cliques do mouse), j era possvel rodar dois programas ao mesmo tempo, coisa que o DOS no permitia, porm o acesso a memria ainda era no mesmo esquema do DOS, fazendo que falhas gerais que derrubasse o sistema fossem ainda muito frequentes. Com a necessidade de se criar um sistema operacional que pudesse gerenciar essa memria utilizada pelos programas, impedindo esse acesso direto a memria, utilizando umas interface mais agradvel tanto para leigos como para "experts", e a prpria economia de tempo graas atravs de um sistema preemptivo, foi criado o Windows 95 (Sistema Padro Atual na maioria das mquinas). Porm o Windows 95 no era perfeito, e tinha muitos erros, como qualquer sistema operacional novo, e algumas caractersticas do DOS no foram retiradas com inteno de manter a compatibilidade com os programas antigos. Aps o windows95 outros sistemas foram desenvolvidos pela MicrosSoft como o windows NT, 98, ME, XP, 2000, 2003, Vista, 2008.

6.2 Eecutando os comandos do MS-DOS


Antes de comearmos a ver os comandos, necessrio saber como execut-los. No prompt, voc ver o cursor piscando. Isso significa que voc j pode digitar. Depois de ter escolhido o comando, tecle Enter. Aqui, para exemplificar usaremos o modelo de prompt "C:\Windows>", mas vale lembrar que "C" pode ser qualquer unidade de disco no seu computador. Normalmente a letra A indica a unidade de disquete. E "Windows" pode significar qualquer pasta dentro da unidade que voc est trabalhando. Mas, importante saber que o DOS geralmente no visualiza nomes de arquivos com mais de 8 caracteres. Por isso, a pasta Meus Documentos, por exemplo, fica assim: MEUSDO~1.

Prof. Cssio M. Baraky Email.: prof.baraky@gmail.com

G.S.O I Gesto de Sistemas Operacionais I

6.2.1 Comandos internos do MS-DOS


Os comandos internos podem ser executados em qualquer pasta no PC e a qualquer momento pois esto embutidos no DOS. Nos comandos internos pode-se saber mais informaes acerca do mesmo, digitando /? aps o comando, ex.: dir/?, voc ir receber informaes sobre o comando dir, os comandos internos so os mais teis em emergncias j que podem ser executados em qualquer lugar

6.2.1.1 Comando DATE


Esse comando, como o nome j diz, mostra na tela a data atual, permitindo a sua modificao. O comando DATE dever ser usado da seguinte maneira: date [opes] (Sem os colchetes), sendo que no necessria a utilizao das opes caso voc no queira. Ex.: Digitando date, ir aparecer: Data atua : seg 06/10/1997 Digite a nova data: (dd-mm-aa)

Opes: /t - Informa a data mas no solicita uma nova.

6.2.1.2 Comando TIME


Esse comando faz a mesma coisa que o comando DATE mas ao invs de mudar a data ele muda a hora: esse comando mostra hora, minutos, segundos e centsimos de segundo. O comando TIME dever ser usado da seguinte maneira: Time [opes] (Sem os colchetes), sendo que no necessria a utilizao das opes caso voc no queira. Ex.: Digitando time, ir aparecer: Hora Atual: 14:20:23,37 Digite a nova Hora:

Opes: /t - Informa a hora mas no solicita uma nova.

6.2.1.3 Comando VER


Esse comando mostra qual sistema operacional voc est usando. Ex.: Digitando ver, ir aparecer:

Prof. Cssio M. Baraky Email.: prof.baraky@gmail.com

G.S.O I Gesto de Sistemas Operacionais I

Microsoft Windows XP [verso 5.1.2600]

6.2.1.4 Comando CLS


Esse comando limpa a tela e posiciona o cursor no canto superior esquerdo da tela. A Figura abaixo mostra varias informaes e o comando CLS pronto para ser executado no prompt de comando c:\CLS

A Figura abaixo mostra o comando CLS executado.

6.2.1.5 Comando MEM


Comando que fornece informaes sobre a memria do computador Exemplo: Digitando C:\>MEM ira aparecer:

Prof. Cssio M. Baraky Email.: prof.baraky@gmail.com

G.S.O I Gesto de Sistemas Operacionais I

6.2.1.6 Comando Dir


O comando dir muito famoso e quase todos j conhecem: ele mostra todos arquivos e pastas de um diretrio, busca arquivos em um drive especificado. O comando DIR usado da seguinte maneira: dir [drive:\][caminho\] arquivo(s) [opes] (Sem os colchetes) sendo que no obrigatrio a utilizao das opes caso voc no queira. Opes: /p - A listagem pra toda vez que atinge o fim da tela, sendo necessrio que se pressione qualquer tecla para continuar. /b - Mostra somente as informaes bsicas. /c - Mostra o separador de milhar no tamanho dos arquivos. /w - Exibe a lista na horizontal, onde so mostrados 5 arquivos por linha. /d - O mesmo que /w, s que mostra a lista em colunas. /s - Exibe os arquivos de todos os subdiretrios. /l - Usa letras minsculas. /n - Formato de lista longa em que os nomes dos arquivos ficam na extrema direita. /q - Mostra o nome do dono do arquivo. /4 - Exibe anos de 4 dgitos. /t[campo] - Controla qual campo de tempo exibido ou usado na classificao onde [campo] deve ser substitudo por um desses caracteres abaixo.. C - Criao. A - ltimo acesso. W - ltima gravao. /o[ordem] - Mostra os arquivos em uma ordem, onde [ordem] deve ser substituda por um desses caracteres listados abaixo. N - Nome do arquivo seguido pela extenso. S - Tamanho do arquivo. D - Ordem cronolgica.

Prof. Cssio M. Baraky Email.: prof.baraky@gmail.com

G.S.O I Gesto de Sistemas Operacionais I

G - Grupos de arquivos de subdiretrios. /a[atributo] - Mostra somente arquivos de determinado atributo, onde [atributo] deve ser substitudo por algum desses caracteres listados abaixo. D - Nome do arquivo seguido pela extenso. R - Arquivos somente leitura. H - Arquivos ocultos . Obs.: Para reverter o efeito dos caracteres, necessrio a colocao de um hfen (-) Ex.: Dir /a-h, mostra todos os arquivos menos os arquivos ocultos.
A figura abaixo mostra um exemplo de utilizao do comando DIR.

6.2.1.7 Comando para mudar a unidade de trabalho


No computador existem varias unidades lgicas onde C:\> a unidade lgica principal, isso significa que quando trabalhamos e visualizamos no prompt de comando a unidade C:\> estamos trabalhando no disco rgido da maquina, mas existem certas ocasies como no caso de acessar um CD, DVD, uma Pendrive e outros dispositivos que ser necessria talvez uma mudana de unidade. O comando para mudar uma unidade nada mais do que a letra da prpria unidade que voc deseja acessar, como no exemplo abaixo onde o usurio pretende acessar um disquete no driver. C:\> A:

Prof. Cssio M. Baraky Email.: prof.baraky@gmail.com

G.S.O I Gesto de Sistemas Operacionais I

6.2.1.8 Comandos de diretrio


6.2.1.8.1 Comando MKDIR ou MD
Comando que cria um diretrio a partir do diretrio corrente com o nome especificado. Sintaxe: MD [caminho] { Nome } ou MKDIR [caminho] { Nome } Exemplo: C:\>MD PROFESSOR

C:\>MKDIR PROFESSOR

6.2.1.8.2 Comando CHDIR ou CD


Comando utilizado para navegao entre diretrios (pastas), ou seja entrar e sair de diretrios. Sintaxe: CD [caminho] ou CHDIR [caminho] Exemplo: C:\>CD \PROFESSOR , alterna para o diretrio PROFESSOR

C:\>CD \PROFESSOR\ALUNOS , alterna para o subdiretrio ALUNOS do diretrio

Obs. A barra um item opcional, podendo ser substituda por um espao em branco, exceto quando o usurio tiver a necessidade entrar diretamente em um subdiretrio como mostrado na figura acima oude mudar de um subdiretrio para o diretrio raiz C:\> como voc pode visualizar na figura abaixo.

As opes 2 pontos .. pode e utilizada para mudar de subdiretrios para diretrio raiz ou unidade raiz, como se pode ver na figura abaixo.

6.2.1.8.3 Comando RD ou RMDIR


Remove uma pasta que esteja vazia, sendo que no consegue remover pastas com arquivos. Deve ser usado da seguinte maneira: rd [opes] (Sem colchetes), sendo que no necessria a utilizao das opes caso voc no queira.

Prof. Cssio M. Baraky Email.: prof.baraky@gmail.com

G.S.O I Gesto de Sistemas Operacionais I

Ex.: Digitando RD Teste voc ir excluir a pasta teste.

Opes: /s - Remove todas as pastas e arquivos da pasta, alm dela mesma. /q - Modo silencioso, no pede confirmao para remover a rvore de pastas quando usado com /s.

6.2.1.9 Comando TYPE


Mostra o contedo de um arquivo (somente um por vez e no aceita caracteres curinga). Sintaxe: TYPE [unidade:] [CAMINHO] { Nome do Arquivo } Exemplo: C:\TYPE SERIAL.TXT Exibe o contedo do arquivo SERIAL.TXT na tela

Utilizando este comando voc pode tambm imprimir o contedo de um arquivo bastando para tanto adicionar a terminao > PRN ou > LPT1 ao comando Exemplo: C:\>TYPE CONFIG.SYS > PRN Imprime o contedo do arquivo CONFIG.SYS

6.2.1.10

Comando MORE

Comando que exibe o contedo de um determinado arquivo, fazendo uma pausa cada vez que a tela preenchida. Sintaxe: MORE < [unidade:] [caminho] { Nome do Arquivo } Exemplo: MORE TESTE.TXT

6.2.1.11

Comando COPY

O comando COPY copia um determinado arquivo ou o disco inteiro, sendo que caso exista algum arquivo no destino com o mesmo nome do arquivo de origem, esse arquivo ser substitudo. O COPY deve ser usado da seguinte maneira: copy [drive:\][caminho\] arquivo(s) de destino [opes] (Sem colchetes), sendo que no obrigatoria a utilizao das opes. Opes: /v - Verifica o arquivo de destino aps a cpia, esta opo deixa o copy mais lento.

Prof. Cssio M. Baraky Email.: prof.baraky@gmail.com

G.S.O I Gesto de Sistemas Operacionais I

/a - Indica um arquivo de texto ASCII. /b - Indica um arquivo binrio. /d - Permite que o arquivo de destino seja criado descriptografado. /n - Usa um nome de arquivo curto (Padro 8.3), caso copie um arquivo fora deste padro. /y - No pede confirmao para que voc substitua um arquivo de destino j existente. /-y - Pede confirmao para que voc substitua um arquivo de destino j existente. /z - Copia arquivos de rede no modo reinicivel. Neste comando utiliza-se muito os caracteres "curingas" que tm a funo de substituir qualquer caracter ou grupos de caracteres dependendo do curinga. Os caracteres curingas so representados abaixo de acordo com a sua finalidade. * - para uma quantidade de caracteres variante. ? - para um caracter C:\>COPY C:\DOS\S*.* C:\AULA , faz a cpia de todos os arquivos que tm o nome que se inicia com a letra S do diretrio de origem C:\DOS para o diretrio de destino C:\AULA C:\>COPY C:\DOS\VENDAS?.DOC C:\AULA , faz cpia de todos os arquivos que tm o VENDAS + 1 CARACTER ( ex: VENDAS1.DOC, VENDASX .DOC, etc.) do diretrio de origem C:\DOS para o diretrio destino C:\AULA

6.2.2 Comandos externos do MS-DOS


Os comandos externos so programas utilitrios que acompanham o sistema operacional e que s podem ser executados onde esto localizados, ou seja, no drive onde foram gravados.
Assim como nos comandos internos pode-se usar o comando auxiliar /?.

6.2.2.1 Comando DISKCOPY


Quando necessitamos fazer uma cpia das informaes de um disquete, podemos utilizar o comandos Diskcopy. Este comando faz a duplicao de um disco, sendo que os dois discos devem possuir o mesmo tamanho e capacidade. Este comando s permite a duplicao de discos flexveis. Este comando pode conter alguns argumentos para obter-se uma resposta diferente. /V - Faz a verificao durante a duplicao do disco Sintaxe: DISKCOPY [unidade:] [unidade:] /V Exemplo: C:\>DISKCOPY A: B: , faz a duplicao de um disco na unidade A: para unidade B:, sendo que os dois discos devem possuir o mesmo tamanho e capacidade

Prof. Cssio M. Baraky Email.: prof.baraky@gmail.com

G.S.O I Gesto de Sistemas Operacionais I

6.2.2.2 Comando XCOPY


Comando que copia arquivos seletivamente, lendo em sub-diretrios diferentes na origem e podendo criar os sub-diretrios na unidade de destino, se assim for desejado. Este comando pode conter alguns argumentos para obter-se uma resposta diferente. ORIGEM Drive, caminho e nome dos arquivos de origem DESTINO Drive, caminho e nome dos arquivos de destino /M - Copia os arquivos de origem e os "marca". /D: - data Copia os arquivos de origem que foram modificados na data definida em "data"ou depois dela, (mm,dd,yy o formato default") /S - Copia os arquivos em diretrios e sub-diretrios, a no ser que estejam vazios /E - Copia os subdiretrios mesmo que estejam vazios Sintaxe: XCOPY [ ORIGEM] [DESTINO] /M /D:data /S /E /V Exemplo: C:\>XCOPY C:\DOS A: , copia o diretrio DOS para o drive A:

6.2.2.3 Comando ATTRIB


O Attrib altera ou mostra os atributos de um arquivo, devendo ser usado da seguinte maneira: attrib [Atributo] [drive:\][caminho\] nome do(s) arquivo(s) [opes] (Sem colchetes), sendo que no necessria a utilizao de opes caso voc no queira.

Opes do "Atributo" dos colchetes: + - Ativa um atributo. - - Desativa um atributo. r - Atributo de arquivo somente leitura. a - Atributo de arquivo de leitura/gravao. s - Atributo de arquivo de sistema. h - Atributo de arquivo oculto. Opes: /s - Processa os arquivos da pasta atual. /d - Inclui pastas.

6.2.2.4 Comando TREE


Comando que exibe graficamente a rvore de diretrios e subdiretrios a partir do diretrio-raiz para que o usurio tenha a organizao hierarquia do seu disco. Este comando pode conter algumas variaes para obter-se um resultado diferente: /F - Exibe a rvore de subdiretrios, mostrando tambm os arquivos existentes dentro dele.

Prof. Cssio M. Baraky Email.: prof.baraky@gmail.com

G.S.O I Gesto de Sistemas Operacionais I

/A - Instrui o comando TREE a usar os caracteres grficos disponveis em todas as pginas de cdigo e permite um processo de impresso mais rpido. Sintaxe: tree [drive:\][caminho\][opes] Exemplo: C:\>TREE C:\>TREE /F C:\>TREE /A

6.2.2.5 Comando MOVE


Comando que tem duas funes: Renomear diretrios ou mover arquivos de um diretrio para outro: Sintaxe: MOVE [unidade:] [caminho] [nome antigo] [nome novo] ou [Origem] [Destino] Opes: /y - No pede confirmao para a mudana dos arquivos. /-y - Pede confirmao para mudana dos arquivos. Exemplos: C:\>MOVE C:\AULA C:\TESTE - renomeia o diretrio C:\AULA para C:\TESTE C:\>MOVE C:\AULA*.* A:\ - faz a movimentao de todos os arquivos do drive de origem C:\AULA para o drive de destino A:\, deixando assim o diretrio C:\AULA vazio.

Prof. Cssio M. Baraky Email.: prof.baraky@gmail.com

G.S.O I Gesto de Sistemas Operacionais I

6.2.3 Formatando disquetes e Discos Rgidos, apagando arquivos, e diretrios com contedo dentro.
Ateno: Os comando estudados abaixo s podero ser executados nos laboratrios do colgio com superviso ou autorizao explcita do professor ou monitor responsvel.

6.2.3.1 Comando FORMAT


Antes de utilizar ou reutilizar um disco novo, voc precisa prepar-lo para receber as informaes e, essa preparao do disco chamada de formatao, que tem a funo de redefinir trilhas e setores na superfcie magntica do disco. Num disco formatado podemos copiar um arquivo, um diretrio de vrios arquivos ou at um disco inteiro. A formatao deve ser aplicada com cuidado pois destri o contedo anterior do disco. Este comando pode conter algumas variaes para obter-se uma resposta diferente: Sintaxe: FORMAT [unidade:] /Q /U /S /4 Opes: /S - Formata o disco na unidade especificada e insere o Sistema Operacional DOS /4 - Formata o disquete de baixa densidade em drives de alta densidade /Q - Formata rapidamente o disco da unidade (Formatao Rpida) /U - Formata o disco da unidade independente da condio (UNCONDICIONABLE) Exemplo: C:\>FORMAT A: - formata o disco na unidade A: ATENO: tenha cuidado nas formataes de discos ,pois elas fazem com que o contedo do disco seja perdido. Vale lembrar que esta operao se torna muito mais crtica quando estamos formatando a unidade C ( FORMAT C:\ ), operao no indicada para pessoas com pouco conhecimento no assunto.

6.2.3.2 Comando DEL ou ERASE


Apaga arquivos do disco rgido e deve ser usado da seguinte maneira: del [drive:\][caminho\] nome do(s) arquivo(s) [opes] (Sem colchetes), sendo que no necessria a utilizao das opes caso voc no queira. Sintaxe: DEL [unidade] [caminho] { Nome do Arquivo } Opes: /p - Fora a mensagem de confirmao "Apagar( S / N )?". /f - Fora a excluso de arquivos somente leitura. /s - Exclui arquivos de todas as subpastas. /q - Modo silencioso, no pede confirmao para excluir um caractere curinga global. /a:atributo - Exclui somente arquivos de determinado atributo, onde atributo deve ser

Prof. Cssio M. Baraky Email.: prof.baraky@gmail.com

G.S.O I Gesto de Sistemas Operacionais I


substitudo por algum desses caracteres e no devem ser digitados os 2 pontos (:). S - Arquivos de sistema. R - Arquivos somente leitura. H - Arquivos ocultos. A - Arquivos prontos para arquivamento. Obs.: Para reverter o efeito dos caracteres, necessrio a colocao de um hfen (-). Ex.: Del *.* /a-h, executando este comando, voc exclui todos os arquivos menos os arquivos ocultos da pasta.

6.2.3.3 Comando TREE


a combinao dos comandos del e tree: ele exclui arquivos de uma pasta suas subpastas e "subarquivos". Deve ser usado da seguinte maneira: deltree [opes][drive:\][caminho\] (Sem colchetes), sendo que no necessria a utilizao de opes caso voc no queira. Comando que apaga um ou mais subdiretrios do disco a partir do diretrio corrente: O comando deltree apaga todos os arquivos e subdiretrios dentro de um diretrio de uma s vez. Como precauo ele sempre exibir uma mensagem na tela perguntando se voc realmente deseja apagar. Opes: /y - No pede confirmao para a excluso dos arquivos. Exemplo: C:\>DELTREE PROFESSOR Utilizando-se deste comando o usurio poder apagar subdiretrios com mais rapidez e eficincia.

Prof. Cssio M. Baraky Email.: prof.baraky@gmail.com

G.S.O I Gesto de Sistemas Operacionais I

7 Arquivo .BAT ( LOTE / BATCH).


A sigla BAT uma extenso de arquivo muito utilizada no MS-DOS e outros sistemas da microsoft, provem da palavra BATCH que em ingls significa LOTE. Os programas ou arquivos feitos para rodarem como LOTE, funcionam da mesma forma ou que funcionavam os processos nos primeiros computadores, todos os comandos colocados nestes arquivos sero e so executados de forma seqencial.

7.1 Para que serve um arquivo .BAT?


Como um arquivo .BAT, voc pode automatizar processos em sua maquina como: Limpeza de arquivos temporrios. Copias de segurana. Execuo de programas Enviar e receber parmetros para determinadas tarefas.

7.2 Comandos de arquivos .BAT


7.2.1 Comando ECHO
Exibe mensagens ou ativa ou desativa a exibio do comando. @ECHO [ON | OFF] Dezativa a exibio de comandos na tela ECHO [mensagem] - Envia mensagem para tela ECHO. - Cria uma linha em branco. Exemplo: Quando quiser mandar uma mensagem para a tela, utilize o comando como mostrado abaixo: ECHO OLA MUNDO!

7.2.2 Comando GOTO


O comando GOTO direciona a leitura de um programa para uma determinada rea demarcada, o comando demonstrado abaixo goto nome - direciona a "leitura" para o pargrafo nome. Para que o comando GOTO funcione corretamente necessrio a criao de reas demarcas ou pargrafos de orientao, e estes so criados como mostrado abaixo: :nome - cria um pargrafo de orientao chamado nome.

7.2.3 Comando CALL


Durante a execuo de um arquivo de lote, quando o sistema se depara com o comando CALL ele automaticamente chama e executa um outro arquivo de lote. call arquivo - chama um arquivo de lote do MS-DOS.

Prof. Cssio M. Baraky Email.: prof.baraky@gmail.com

G.S.O I Gesto de Sistemas Operacionais I

7.2.4 Comando START


O comando START inicia qualquer aplicao do Windows no decorres da execuo de um aequivo de lote. start arquivo - inicia uma aplicao do Windows

7.2.5 Comando choice [texto] [opes]


utilizado em programas bat para dar ao usuario um conjunto de opes. Exemplo: CHOICE /c123456789 Opes: CHOICE Habilita apenas resposta S/N CHOICE /c Habilita a escolha de varias opes como: 1 , 2 , 3 , 4 , 5 ..... O comando CHOICE tem que vir sempre acompanhado do IF e ERRORLEVEL. IF e ERRORLEVEL so um complemento usado pelo CHOICE Comando que possibilita o desenvolvimento de questes e respostas para o usurio Os comandos CHOICE e IF ERRORLEVEL so comandos que trabalham sempre em conjunto. Exemplo: @echo off cls echo Para qual time voc torce? echo Responda a pergunta. echo --------------------------------------------------Echo [1] Cruzeiro Echo [2] Atltico MG Echo [3] Ipatinga choice /c123 echo --------------------------------------------------if errorlevel 3 goto END if errorlevel 2 goto END if errorlevel 1 goto END Este programa cria as opes, mas quando estas so selecionadas o programa simplesmente termina pois no comando GOTO exite a palavra END. A posio do string sempre vem do maior para o menor. 3 , 2 e 1

Prof. Cssio M. Baraky Email.: prof.baraky@gmail.com

G.S.O I Gesto de Sistemas Operacionais I

8 Bibliografia
Apostilas e Materiais Publicados: Prof. Cssio Mendes Baraky Apostila de Sistemas Operacionais e Historia de Informtica. Prof. Carlos Henrique Gremmelmaier - Material em PDF Prof. Carlos Alberto Maziero Site: http://www.ppgia.pucpr.br/_maziero Livros: AbrahamSilberschatz, PeterGalvin, andGregGane. SistemasOperacionais Conceitos e Aplicaes. Campus, 2001. Davis, William S., Sistemas Operacionais - Uma Viso Sistemtica, Ed. Campus, 1990. PPGIA CCET PUCPR Sites da Internet http://www.algosobre.com.br http://www.cultura.ufpa.br/dicas/progra/arq-uni.htm Wikimedia Foundation. Wikipedia online enciclopedia. http://www.wikipedia.org, 2005.

_Copyright (c) 2008 CSSIO MENDES BARAKY. garantida a permisso para copiar, distribuir e/ou modificar este documento sob os termos da Licena de Documentao Livre GNU (GNU Free Documentation License), Verso 1.2 ou qualquer verso posterior publicada pela Free Software Foundation. A licena est disponvel em http://www.gnu.org/licenses/gfdl.txt.

Prof. Cssio M. Baraky Email.: prof.baraky@gmail.com

Anda mungkin juga menyukai