Baixe o app para aproveitar ainda mais
Prévia do material em texto
Sistemas Operacionais I - France Ricardo Marques Gonzaga - UNIGRAN 27 LINHAS DE COMANDOS Os sistemas operacionais possibilitam que sejam utilizados alguns comandos. Digitados pelo próprio usuário, esses comandos possuem uma forma simples que lhe permite comunicar-se com o sistema operacional. Com os comandos é possível que o usuário crie, apague, liste arquivos existentes em disco e faça alguns comandos de reparo de arquivos. Com os avanços dos sistemas operacionais, as interfaces têm os ícones e botões que podem substituir alguns comandos. Aula 03 ALGUNS COMANDOS, ESTRUTURA DE ARMAZENAMENTO E UMA ABORDAGEM DE CAMADAS Sistemas Operacionais I - France Ricardo Marques Gonzaga - UNIGRAN 28 No sistema operacional MS DOS utilizava-se somente linhas de comando. O usuário tinha que conhecer a maioria dos comandos para visualizar, excluir, criar diretórios, que hoje são chamados pastas. E para ativar, para executar algum aplicativo, como não se tinha o ambiente gráfi co, ele precisava saber o nome do arquivo executável, a fi m de iniciar o uso do aplicativo. Veja na tabela 3 alguns comandos de linha utilizados. Comando Descrição Dir Lista o conteúdo de um diretório. Cd Altera o diretório default. Type Exibe o conteúdo de um arquivo. Del Elimina arquivos. Mdkdir Cria um diretório. Hoje a maioria dos sistemas operacionais está mais sofi sticada, utilizando-se de interface gráfi ca, com janelas e ícones, a exemplo do sistema MS Windows, fi cando mais amigável e fácil de manusear. ESTRUTURAS DE ARMAZENAMENTO Em nossa aula 1, vimos um pouco sobre memória principal. Já sabemos que é uma memória na qual não é possível armazenar todos os arquivos existentes no computador e que é volátil, pois quando se desliga o computador ou a energia, perde-se totalmente a memória. Mas para conservar os arquivos salvos, temos outros tipos de armazenamento como os Cds, DVDs e os Discos magnéticos. Os discos magnéticos são simples de entender, são formados de bandejas cilíndricas e suas duas faces são cobertas por materiais magnéticos; seu formato é semelhante ao de um cd, com tamanho mais comum de 4,6 a 13,3 centímetros de diâmetro; as informações, ou seja, os arquivos são gravados magneticamente nas bandejas cilíndricas. Na estrutura dos discos rígidos tem-se os braços de disco e os cabeçotes de leitura e gravação. Os braços fazem com que o cabeçote de leitura e gravação “fl utue” sobre a parte magnética dos discos, para realizar a tarefa de leitura e gravação. As bandejas de disco são divididas em trilhas circulares e setores. O conjunto de trilhas que está em uma posição do braço forma um cilindro. Podem existir milhares de cilindros concêntricos em um drive de disco e cada uma das trilhas pode conter centenas de setores. Os discos têm uma capacidade de armazenamento em medidas de gigabytes e alguns têm a capacidade que chega a terabyte. A sua velocidade de giro do motor é de alta velocidade; a maioria dos drives gira em torno de 7200 RPM1. Tabela 1 1RPM – Rotação por minuto Sistemas Operacionais I - France Ricardo Marques Gonzaga - UNIGRAN 29 A velocidade do disco tem dois fatores, primeiro a taxa de transferência e o tempo de posicionamento, muitas vezes chamado de tempo de acesso randômico. A taxa de transferência e o tempo em que os dados são transferidos entre o drive e o computador; o tempo de posicionamento, também chamado de tempo de acesso randômico, é composto do tempo que o braço do disco leva para mover-se até o cilindro, é chamado de tempo de busca; e o tempo para que o setor gire até o cabeçote, é chamado de latência rotacional. Como já vimos, o cabeçote do disco “fl utua” sobre a superfície da badeja magnética. Pode haver o risco de o cabeçote entrar em contato com a parte magnética, apesar de o cabeçote possuir uma fi na camada de almofada de ar. Caso isso ocorra, signifi ca que todo o disco foi danifi cado. A única solução é substituí-lo No início, as fi tas magnéticas foram muito utilizadas como memória secundária. Mas como o seu acesso é muito mais lento que o acesso do disco, o uso das fi tas como memória secundária foi sendo deixado de lado. Como as fi tas têm uma grande capacidade de armazenamento, são mais utilizadas para cópias de segurança, “backup”. ABORDAGEM EM CAMADAS O desenvolvimento de um sistema operacional pode ser feito de várias maneiras. Um dos métodos é o de camadas. As camadas também podem ser chamadas de níveis, e uma das camadas que podemos dizer que é baixa é o hardware, que pode ser chamado de camada base ou camada 0 (zero). A camada N podemos considerar como a camada mais alta da interface do usuário. Uma camada do sistema operacional, como a interface, é como se fosse um objeto, que com algumas operações ou ações, pode manipular camadas mais baixas. Um exemplo é quando clicamos um ícone para executar um aplicativo que está em uma camada mais baixa, ou seja, o ícone faz parte da interface e o aplicativo pertence a outra camada, Assim, o sistema operacional pode ser organizado em camadas. Uma das vantagens das camadas é que são selecionadas de tal modo que cada Sistemas Operacionais I - France Ricardo Marques Gonzaga - UNIGRAN 30 uma delas use apenas funções ou operações. A sua modularidade proporciona a vantagem de, quando depura a primeira camada, não há necessidade de se preocupar com o restante do sistema. A camada se utiliza apenas do hardware que necessita para implementar suas funções. Quando a primeira camada estiver depurada, o seu funcionamento correto pode ser assumido quando a segunda camada estiver sendo depurada, e assim por diante. A camada por si é implementada apontando apenas para as operações que são auxiliadas pelas camadas de nível mais baixo. Essas camada não têm a necessidade de saber como as camadas de níveis mais baixo são implementadas. Elas precisam saber apenas o que essas operações executam. Assim, cada camada esconde o que a camada de nível mais baixo tem, como a existência de estrutura de dados e operações de hardware. Deve-se ter muito cuidado na defi nição de camadas, porque a camada só pode utilizar as que estão abaixo dela. Por exemplo, o drive de dispositivo para o gerenciamento de espaço de disco deve fi car em nível inferior ao de rotinas de gerenciamento de memória, porque o gerenciamento de memória tem que usar o espaço em disco. No entanto, as camadas podem ser menos efi cientes em vista de outras opções como, por exemplo, quando se quer desenvolver uma operação de I/O (E/S), é executada uma camada que trabalha como exceção para a camada de I/O, que chama uma outra camada de gerenciamento de memória. O resultado fi nal disso é que a chamada de sistema consome mais tempo do que em um sistema não estruturado em camadas. Para isso, tem-se desenvolvido sistemas com estrutura de camadas com maior número de funções. Isso reduz o número de chamadas às camadas, tornando o sistema mais rápido. MÁQUINA VIRTUAL Máquina virtual é um nível intermediário entre o hardware e o sistema operacional. Pode ser chamada de gerência de máquinas virtuais. São criadas várias máquinas virtuais independentes e cada uma tem uma cópia virtual dos dispositivos de hardware, entre os quais estão incluídos modos de acesso, interrupções, dispositivos de I/O e outros. Cada máquina virtual é independente uma da outra. Com isso, é possível que cada Figura 2 Sistemas Operacionais I - France Ricardo Marques Gonzaga - UNIGRAN 31 VM (virtual machine) tenha o seu próprio sistema operacional e cada um de seus usuários execute tarefas como se cada um tivesse dedicação exclusiva. As máquinas virtuais permitem que sejam usados sistemas operacionais diferentes no mesmo computador. Com esse modelo é criado um isolamento total entre cada máquina virtual, o que dá uma grande segurança para cada máquina. Um exemplo é que se uma máquina virtual executar uma tarefa que comprometa o funcionamento do sistema operacional, as outras máquinas não sofrerão nenhum problema. A grande desvantagemdessa arquitetura é que ela e muito complexa e há necessidade de compartilhar e gerenciar os recursos de hardware entre diversas máquinas virtuais. Uma das tendências dos sistemas operacionais é o microkernel, em que os núcleos vão se tornando mais simples e menores. A ideia é a seguinte: os serviços do sistema são disponibilizados através de processos, e cada processo é responsável por oferecer um conjunto específi co de funções. Sempre que é executado algo, uma solicitação é requerida ao processo responsável. No início, os sistemas operacionais permitiam apenas a execução de um processo de cada vez. Assim, esse processo tinha total controle sobre o hardware e todos os recursos, inclusive de I/O. Logo, para se realizar outro processo, o usuário tinha que aguardar o término deste para iniciar outro. Quando se tinha um trabalho sendo impresso, por exemplo, era necessário esperar o término para iniciar outro. Hoje estamos com os sistemas multiprogramáveis, em que se pode realizar várias tarefas ao mesmo tempo, o que exige uma gerência maior na compartimentalização dos vários programas e o compartilhamento de tempo de processos. A gerência de um ambiente multiprogramável é função exclusiva do sistema operacional e é ele que controla a execução dos diversos programas. Os processos podem ser executados concorrentemente na CPU e essa concorrência entre os processos também é controlada pelo sistema operacional. Já em estruturas com multiprocessadores há a possibilidade da execução simultânea de processos em diversos processadores, como também a concorrência de processos, como acontece em estrutura que utiliza um processador. O processador pega as instruções a serem executadas na memória principal e armazena no registrador de instruções, para que sejam decodifi cados seus bits e, assim, realizar a execução. Tudo registrado, sua função é armazenar sempre o endereço da próxima instrução a ser executada. O processador executa as instruções sem distinguir qual aplicativo está no momento em processamento. A responsabilidade de concorrência entre os aplicativos, o gerenciamento e alternância da execução de instruções na CPU fi ca a cargo do sistema operacional, para que de maneira controlada e segura cumpra sua tarefa junto ao processador. PROCESSOS Computadores realizam várias atividades ao mesmo tempo, ou é essa a impressão Sistemas Operacionais I - France Ricardo Marques Gonzaga - UNIGRAN 32 que temos quando executamos vários programas ao mesmo tempo. Processo é o programa em si sendo executado. Quando temos a impressão que o processador está realizando várias tarefas ao mesmo tempo é que, na verdade, ele está trabalhando, fazendo os processos no momento em paralelo. Isto é, ele realiza os processos concorrentemente, dando a impressão que está processando todos os programas ao mesmo tempo. Nos sistemas multiusuários parece que todo o processador está dedicado ao processo que foi pedido, o que não é verdade. Na realidade, os processos são executados em intervalos de tempo e, em instantes, começa a processar outro programa. Assim, todos os dispositivos e o processador são compartilhados. A definição de processo segundo Deitel et al. (2005) é a seguinte: O termo ‘processo’ no contexto de sistemas operacionais foi usado pela primeira vez pelos projetistas do sistema Multics na década de 60. Desde aquela época, o termo processo, de certo modo usado intercambiavelmente como tarefa, já tinha ganhado muitas outras definições como: um programa em execução, uma atividade assíncrona; o “espírito animado” de um procedimento; o “locus de controle” de um procedimento em execução; aquilo que é manifestado pela existência de uma estrutura de quais processadores são designados; e uma unidade de “despacho”. Um programa é para o processo o que a partitura é para a orquestra sinfônica. O processo pode estar em estados diferentes de execução; o estado do processo defi ne o momento de sua execução como, por exemplo: • Novo: Momento em que o processo está sendo criado. • Em execução: O processo está sendo executado. • Em espera ou bloqueado: O processo está esperando pela ocorrência de algum evento. • Pronto: O processo está esperando para ser mandado a um processador. • Terminado: O processo terminou sua execução. Esses nomes variam conforme o sistema operacional, mas os estados aqui citados fazem parte de todos os sistemas operacionais. Os sistemas operacionais são, muitas vezes, organizados em vários processos. Cada processo deve ter assegurado pelo sistema operacional, um tempo sufi ciente para encerrar. Em geral, há um número maior de processos em relação ao de processadores. Por isso, a qualquer momento alguns processos podem ser executados e outros não. Em um sistema uniprocessador podemos defi nir que um processo pode ser executado, mas outros processos podem estar em estados diferentes, como prontos e bloqueados. E a lista de prontos é organizada por ordem de prioridade, de modo que o processo com prioridade maior é o próximo a receber o processador. O sistema operacional intercala os processos. Ele deve gerenciar cuidadosamente o término de um processo e o início de outro para que não ocorra nenhum erro quando são interrompidos ou retomados. Sistemas Operacionais I - France Ricardo Marques Gonzaga - UNIGRAN 33 ATIVIDADES As atividades referentes a esta aula estão disponibilizadas na ferramenta “Atividades”. Após respondê-las, envie-nas por meio do Portfólio- ferramenta do ambiente de aprendizagem UNIGRAN Virtual. Em caso de dúvidas, utilize as ferramentas apropriadas para se comunicar com o professor. Sistemas Operacionais I - France Ricardo Marques Gonzaga - UNIGRAN 34
Compartilhar