Escolar Documentos
Profissional Documentos
Cultura Documentos
_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.
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
Dispositivos de Entrada
Dispositivos de Processamento
Dispositivos de Sada
Unidade de medida 1 byte 1 Kilobyte (Kb) 1 Megabyte (Mb) 1 Gigabyte (Gb) 1 Terabyte (Tb)
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.
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.
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.
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.
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.
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.
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.
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.
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.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.
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.
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.
2 1
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
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!
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.
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.
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
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.
C:\>MKDIR PROFESSOR
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.
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.
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.
/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
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.
/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.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.
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.