Você está na página 1de 5

Tpicos de Sistemas Operativos

Qualquer sistema computacional composto de hardware (a parte mecnica do computador) e de software (o conjunto de programas que funcionam nesse sistema). Para que um dado programa funcione eficientemente no computador necessrio que, por um lado, conhea o hardware onde vai funcionar, e por outro lado execute as suas funes independentemente desse mesmo hardware. Assim, em cada sistema computacional dever haver um programa ou um conjunto de programas responsveis por conhecer o hardware, gerir os seus recursos eficientemente e dar uma base de suporte independente desse mesmo hardware aos programas que nele iro funcionar. Esse programa ou conjunto de programas chama-se Sistema Operativo e responsvel, portanto, pela gesto de todos os recursos do sistema computacional. Decorrente deste facto para um mesmo sistema podero haver vrios Sistemas Operativos que faam funcionar esse mesmo hardware. Actualmente encontramos no mercado sistemas operativos fabricados pela Microsoft (MSDOS, Windows 95, Windows 98, Windows NT, Windows Me, Windows 2000, Windows XP, Windows 2003, Windows Vista), pela Apple (Mac OS, que equipa, em vrias verses os famosos McIntosh), o Unix, actualmente detido pela S.C.O. e, no comercial, o Linux, que se encontra em variadssimas distribuies (Fedora, Red Hat, Suse, Slackware, Caixa Mgica, Debian, etc.). Para alm de todos estes sistemas operativos (mais conhecidos e que detm os quase 100% do mercado) ainda h outros sistemas operativos como o Xenix (propriedade da SCO), OS400 (IBM), entre muitos outros, alguns j descontinuados. As principais funes de um qualquer sistema operativo a de gesto integral de todos recursos da mquina, como alis j foi referido. Nestas funes incluem-se a gesto de memria, controlo de acesso aos recursos, gesto de processos, gesto de autenticao e gesto de utilizadores e permisses (autorizao). Para alm dessas funes ainda h o conceito de servios ou daemons, conjunto de processos que esto em permanente execuo durante uma sesso computacional. Como exemplo deste tipo de processos temos o plug and play que detecta, instala e configura hardware muitas vezes sem ser necessrio reiniciar o sistema computacional. Os sistemas operativos podem ser monoposto ou multiposto, dependendo do nmero de sesses interactivas que possam suportar simultaneamente. Em qualquer dos casos podem ser single thread ou multi thread dependendo da capacidade de executar mais que um processo simultaneamente. Os sistemas operativos actuais so geralmente multi thread (embora possam ou no ser monoposto) porque permitem a execuo simultnea de mais de uma tarefa. Alis, sem esta caracterstica nem haveria o conceito de servios, j que estes so processos concorrentes.

Para poder manter vrios processos em simultneo, e considerando que um processador s pode executar uma instruo-mquina de cada vez, o prprio sistema operativo vai cedendo tempo de processador aos vrios processos, de acordo com a prioridade desses mesmos processos, colocando uns em actividade (o processo que est num dado momento a efectuar operaes), outros em espera (porque esto a aguardar a disponibilidade de um recurso) e outros a aguardar vez (j obtiveram o acesso ao recurso ou apenas perderam prioridade). A gesto de processos comea ento com um processo em execuo que depois ir ficar em espera porque gastou o tempo que lhe foi alocado na prioridade, ou porque est a aguardar um recurso que o sistema operativo ainda lhe no pode disponibilizar ou est a aguardar o resultado de outro processo. Assim que cessar o motivo pelo qual ficou em espera passa para o estado de aguardar execuo de onde passar de novo para o estado de execuo propriamente dito. Na execuo de um qualquer programa (processo) existem partes de cdigo que no podem ser executadas separadamente, ou, por outras palavras, tm de ser executadas em bloco sem interrupo. Quando isso acontece o sistema operativo no pode interromper o cdigo para colocar o processo em espera, por exemplo. Nesse caso, o cdigo implementa um sistema de sinalizao (semforos) em que garantido que todo o cdigo entre semforos executado sem interrupo. Ao iniciar a sequncia de operaes ininterrupta o semforo levantado, isto , sinalizado o incio. No final dessa mesma sequncia o semforo abaixado, isto , sinalizado o fim dessa mesma sequncia, dando indicao ao sistema operativo que j poder gerir a prioridade do processo. Na gesto do hardware so utilizados device drivers, construdos pelo fabricante do hardware, que ao nvel mais baixo interagem com o hardware e no nvel mais alto esto adaptados ao sistema operativo a que se destinam. O device driver passa a fazer parte integrante do sistema operativo j que este que passar a gerir o acesso a este novo recurso. Nas funes de gesto de memria, o sistema operativo tem de optimizar a memria RAM, mais rpida, libertando-a o mais possvel para os processos em execuo. Todos os processos que aguardam recurso ou apenas vez para funcionarem no precisam de ter os dados em memria, embora se os tiverem todo o processo de colocao em actividade seja mais rpido. Mas quando a memria RAM escassa, o sistema operativo tem de recorrer memria em suporte magntico para poder libertar o mximo de RAM possvel. Neste caso quando um processo colocado em espera, quer o cdigo (que j se encontra em memria) quer os dados associados (tambm eles em memria) podero ser passados ao suporte magntico libertando assim memria RAM para a execuo de outros programas. Quando dado tempo e CPU ao processo, quer o cdigo quer os dados so lidos do suporte magntico e colocados no local respectivo da memria e passado o controlo ao mesmo. Normalmente neste caso, houve outro programa que se encontra agora em espera que viu o seu cdigo e dados serem guardados no suporte magntico.

Estes dados podem ser guardados num ficheiro ou mesmo numa partio do disco e constituem aquilo que designado como memria virtual. As duas tcnicas para gesto da memria virtual so o pagefile e o swapfile. No pagefile (ou paging file) os dados da memria so guardadas em pginas no suporte magntico sendo posteriormente recuperadas para as mesmas localizaes de origem. Este processo feito para as pginas em processamento e no necessariamente para toda a memria. O swapfile (ou swap rea) ocupa o mesmo espao que a memria fsica e os dados so copiados para a mesma localizao virtual no ficheiro de swap. O processo de acesso mais rpido que o do pagefile mas o espao em suporte magntico consumido maior Mas para se proceder armazenagem do que quer que seja num suporte magntico este ter de ser preparado para utilizao pelo sistema operativo. Qualquer suporte constitudo por um conjunto de sectores organizados em pistas, que se repartem por uma ou vrias cabeas de leitura. Mas esta organizao elementar no serve sem que o sistema operativo proceda a uma marcao de zonas de dados para poder guardar e obter informao desse mesmo suporte magntico. A operao de preparao de um suporte magntico para uso de um sistema operativo chama-se formatao que, para alm de colocar zeros binrios nos sectores de dados, cria e grava informao sobre a prpria estrutura lgica do suporte magntico. A um nvel mais elevado h um conjunto de pastas que contm informao crucial para o funcionamento do sistema operativo e que so caractersticas de cada um deles. No caso do Linux/Unix temos a /boot que contm os ficheiros de inicializao do sistema operarivo, a /bin, e a /sbin que contm os executveis do sistema operativo, a /etc que contm ficheiros de configurao, a /home que contm as home directories dos utilizadores (por defeito) a /tmp utilizada para informao temporria, a /var que contm informao dos vrios servios e programas instalados, /media que contm os dados dos dispositivos de armazenamento de massa ligados ao sistemas (cd-rom, dvds, etc.), a /usr que contm programas de utilizador, nomeadamente as /etc/bin e /etc/sbin1 que contm binrios instalados pelos utilizadores, a /opt que contm mdulos opcionais, a /net para montar file systems de rede, a /lib que contm livrarias binrias, entre outras . Por questes de compatibilidade ainda existem algumas pastas com a mesma funcionalidade das referidas mas que foram utilizadas em verses anteriores do sistema operativo. Est neste caso, por exemplo, a /mnt que tinha as mesmas funcionalidades da actual /media No caso do Windows temos a pasta C:\WINDOWS onde est uma parte do sistema operativo, dentro desta a pasta C:\WINDOWS\SYSTEM32 onde se situam a esmagadora maioria dos ficheiros binrios do sistema operativo, C:\Program Files, onde so instalados os programas adicionais, C:\Document and Settings, onde so guardadas as home directories dos utilizadores.

Note-se que estas regras no so rgidas, j que quando o utilizador root instala aplicaes, dependendo da aplicao, alguns ficheiros podero ser instalados na directoria /bin enquanto outras aplicaes pod-lo-o fazer na /usr/bin.

Nestes sistemas operativos este conjunto de pastas dever ser manipulado com especial cuidado, j que da sua estrutura e do seu contedo depende o normal funcionamento do sistema operativo. Em termos de configuraes, o Unix/Linux configurado exclusivamente com base em ficheiros de texto (ASCII) que residem na pasta /etc ou em subpastas desta. Os ficheiros de configurao tem uma estrutura de seces e pares de chaves e valores que constituem os parmetros de configurao. Por vezes (como no caso do BIND) o ficheiro de configurao inclui ficheiros que no se encontram na pasta /etc ou em qualquer das suas subpastas. Dos ficheiros de configurao mais importantes salientamos o inittab que contm a configurao do runlevel com que o sistema operativo ir iniciar a sesso. Os runlevel podero ser o 0,1,3,4,5 e 6. O 0 o halt (nunca se deve colocar a chave initdefault com este valor), o 1 single user, o 3 multi user com suporte de rede, o 4 multi user sem suporte de rede, o 5 multi user em modo grfico (os outros so modo texto) e, finalmente o 6, que o shutdown (tambm nunca se deve colocar a chave initdefault com este valor). No caso do Windows, os ficheiros de configurao so binrios e, no seu conjunto, constituem o registry. Ainda existem alguns ficheiros .ini na pasta C:\WINDOWS, mas existem s por questes de compatibilidade. Estes ficheiros (os .ini so eles tambm ficheiros de texto ASCII constitudos por seces e, nestas por pares de chaves e valores). O Registry uma base de dados hierrquica composta por hives, estas por Keys e estas por outras keys e/ou values (string, dword, multisz, etc.). A utilizao semelhante, ou seja existe sempre um valor associado a um nome, mas a principal diferena em relao aos ficheiros de texto que passa a haver um path para acesso ao valor, enquanto no ficheiro ASCII o acesso flat, ou seja s h seces e dentro destas, pares de chaves e valores. A hierarquizao ajuda organizao dos valores. Temos 5 hives, sendo que 2 delas so repeties de duas keys e uma voltil e depende do que for encontrado no arranque do sistema. As que existem noutro local so HKEY_CLASSES_ROOT (HKCR) e HKEY_CURRENT_USER (HKCU) sendo a primeira a repetio da HKEY_SOFTWARE\Classes e a segunda a repetio da HKEY_Users\S-1-5-21-{GUID}-[User ID] (o user actualmente com sesso iniciada). A chave voltil a HKEY_CURRENT_CONFIG (HKCC) e mantm informao como, por exemplo, as fontes instaladas, os dispositivos e plug & play configurados, etc. As outras duas chaves so aquelas e, grosso modo, definem toda a configurao dessa instalao HKEY_LOCAL_MACHINE (HKLM), onde est o registo de todo o software instalado, bem como da definio dos servios, e HKEY_USERS (HKU) onde esto as definies prprias de cada user bem como o .DEFAULT, ou seja o modelo de perfil para um novo user. Estes ficheiros so suportados pelos ficheiros que se encontram em C:\WINDOWS\SYSTEM32\Config e que so SAM (Security Account Manager Gestor das contas de segurana, que implementa HKLM\SAM), SYSTEM (que

implementa HKLM\SYSTEM), SOFTWARE (que implementa HKLM\SOFTWARE), DEFAULT (que implementa HKU\.DEFAULT). Para cada user (em HKU) est definida uma chave que o profile path e nesse profile path est o ficheiro NTUSER.DAT que implementa HKU\S-1-5-21{GUID}-[User ID] respectiva. A base do Active Directory da Microsoft a resoluo DNS, j que este servio que suporta a resoluo dos servidores que proporcionam servios relacionados com o Active Directory. Para existir um Active Directory ter necessariamente de haver um Domain Controler, j que so estes computadores que suportam a estrutura fsica do Active Directiry (os ficheiros fsicos de suporte, entenda-se). Estes ficheiros tem de ser colocados (ou criados) num sistema de ficheiros NTFS por causa das restries de segurana no acesso aos mesmos. Por defeito base de dados que contem o Active Directory encontra-se na pasta C:\WINDOWS\NTDS e o ficheiros NTDS.DIT. O local onde se encontram os ficheiros de log, normalmente a mesma, mas pode ser definida num local diferente aquando da instalao do active directory. Em termos de estrutura, o Active Directory define uma forest que poder ter um ou mais domnios (domains). Cada domnio ter um ou mais controladores de domnio (domain controlers) que tero a ser cargo a gesto do respectivo domnio. Os domnios Active Directory tem nomes resolveis por DNS (e.g. so.lis.ulusiada.pt) de modo a que todos os servios disponbilizados possam facilmente ser encontrados por quem deles necessitar. O servio de DNS da Microsoft implementa toda a estrutura necessria para manter um Active Directory. Isto passa no s pelo suporte da zona dns mas tambm pela possibilidade de actualizao atravs de processos seguros (autenticados). O Active Directory, do ponto de vista tcnico uma implementao proprietria do protocolo LDAP (Lightweigh Directory Access Protocol), inventado pela Novell, onde reside toda a informao de utilizadores, grupos, computadores, contactos, etc. Os sistemas Linux, paralelamente, implementam um servio de directrio, tambm este baseado no LDAP que normalmente o OpenLDAP (implementao Open Source das especificaes LDAP), respeitando escrupulosamente os standards definidos para este tipo de estrutura. Basicamente, e embora de forma diferente, todos os sistemas operativos devero gerir todos os recursos da mquina devendo para isso fornecer ao administrador de sistema os utilitrios (ferramentas) necessrias para essa mesma gesto.