Prévia do material em texto
69 M aterial para uso exclusivo de aluno m atriculado em curso de Educação a Distância da Rede Senac EAD, da disciplina correspondente. Proibida a reprodução e o com partilham ento digital, sob as penas da Lei. © Editora Senac São Paulo. Capítulo 5 Sistema operacional: conceitos O sistema operacional funciona como um conjunto de processos que inicializa o hardware, fornecendo as rotinas básicas para o controle dos dispositivos. Além disso, gerencia, escalona, faz a interação de ta- refas e mantém a integridade do sistema. Neste capítulo, abordaremos os conceitos de um sistema opera- cional. Primeiramente, entenderemos o que é um processo e como ele auxilia os usuários na execução de seus aplicativos. Além disso, vamos conhecer os componentes do sistema operacional, compreender os conceitos de kernel e shell e ver como eles funcionam para facilitar o uso do sistema. 70 Infraestrutura de TI M at er ia l p ar a us o ex cl us ivo d e al un o m at ric ul ad o em c ur so d e Ed uc aç ão a D is tâ nc ia d a Re de S en ac E AD , d a di sc ip lin a co rre sp on de nt e. P ro ib id a a re pr od uç ão e o c om pa rti lh am en to d ig ita l, s ob a s pe na s da L ei . © E di to ra S en ac S ão P au lo . 1 Conceitos sobre sistema operacional Para entendermos o que é um sistema operacional é importante re- lembrar que um computador é construído com processadores, memó- ria principal, discos, teclado, mouse, monitor de vídeo, interface de rede, impressora e ainda diversos outros dispositivos de entrada e saída de dados. O desenvolvimento de softwares para uma aplicação deve então utilizar esses recursos para executar alguma tarefa. 1.1 Processo Os programas de computador são executados pelo processador, que tem uma arquitetura interna composta de registradores, contadores de programa, ponteiro para pilha, unidade lógica aritmética e a unidade de processamento. Assim, um primeiro conceito muito importante seria o processo, que nesse contexto significa um programa em execução. IMPORTANTE Vamos chamar o processador de CPU1 para não confundir com a placa-mãe, onde estão diversos componentes, incluindo também o processador ou CPU. Segundo Tanenbaum (2016, p. 27): associado a cada processo está o espaço de endereçamento, uma lista de posições de memória que vai de 0 a algum máximo, onde o processo pode ler e escrever. O espaço de endereçamento contém o programa executável, os dados do programa e sua pilha. 1 CPU (Central Processing Unit) – microprocessador dos computadores. 71Sistema operacional: conceitos M aterial para uso exclusivo de aluno m atriculado em curso de Educação a Distância da Rede Senac EAD, da disciplina correspondente. Proibida a reprodução e o com partilham ento digital, sob as penas da Lei. © Editora Senac São Paulo. Os processos de um sistema operacional possuem três estados: em execução, pronto e bloqueado. Na figura 1 podemos encontrar os três estados e a transição entre eles. As transições entre os estados podem ser: 1. O processo bloqueado enquanto aguarda a uma entrada de dispositivos de E/S (entrada/saída). 2. O escalador de processos seleciona outro processo. 3. O escalador de processos seleciona esse processo. 4. A entrada torna-se disponível. Figura 1 – Transição de estados de um processo Em execução Utilizando a CPU Bloqueado Incapaz de executar enquanto um evento externo esperado não ocorrrer Pronto Executável, temporariamente parado para dar lugar a outro processo 1 2 3 4 A transição 1 ocorre quando um processo que está em execução não pode continuar, por exemplo, quando um recurso necessário não está disponível. As transições 2 e 3 são causadas pelo escalador de processos, sendo que na transição 2 o processo que está sendo exe- cutado já teve tempo suficiente de CPU e, mesmo ainda não tendo ter- minado, o escalador decide deixar que outro processo comece a utilizar a CPU. A transição 3 ocorre quando o escalador define que o processo volte a ser executado pela CPU. Já a transição 4 se dá com a ocorrência 72 Infraestrutura de TI M at er ia l p ar a us o ex cl us ivo d e al un o m at ric ul ad o em c ur so d e Ed uc aç ão a D is tâ nc ia d a Re de S en ac E AD , d a di sc ip lin a co rre sp on de nt e. P ro ib id a a re pr od uç ão e o c om pa rti lh am en to d ig ita l, s ob a s pe na s da L ei . © E di to ra S en ac S ão P au lo .de um evento externo que era esperado pelo processo. Observe que a transição 4 não coloca o processo direto em modo de execução devido à possibilidade de que um outro processo esteja em execução. Para Tanenbaum (2016, p. 19), computadores são equipados com um dispositivo de software chamado de sistema operacional, cuja função é fornecer aos programas de usuário um modelo de computador melhor, mais simples e mais limpo, assim como lidar com o gerenciamento de todos os recursos. E esses recursos se referem a todos os componentes de um computador. A utilização dos recursos computacionais tanto do hardware quanto do software envolve tarefas complexas e necessita de um sistema de gerenciamento. Segundo O’Brien e Marakas (2013, p. 138), “software de sistema consiste em um programa de gerenciamento e supor- te de sistema de computador e das atividades de processamento das informações”. NA PRÁTICA Os sistemas operacionais e os programas de gerenciamento das ati- vidades de rede são interfaces de software que ligam o hardware às redes de computadores e aos programas de aplicação dos usuários. Por exemplo: um computador possui um hardware de placa de rede, que é responsável pela interligação entre a placa motherboard (onde está o processador) e o conector e o cabo de redes, e para isso possui um sistema de endereçamento que é atribuído por software. O siste- ma operacional de rede, através desse “endereço”, enviará os dados corretamente. 73Sistema operacional: conceitos M aterial para uso exclusivo de aluno m atriculado em curso de Educação a Distância da Rede Senac EAD, da disciplina correspondente. Proibida a reprodução e o com partilham ento digital, sob as penas da Lei. © Editora Senac São Paulo. Para o funcionamento de um computador, é necessário um sistema que garanta aos usuários a utilização dos recursos de hardware por meio de aplicativos (por exemplo: processadores de texto, planilhas, jogos, etc.). O sistema que faz essa conexão é chamado de sistema operacional. Quando um programa de usuário acessa um recurso de hardware, ele não precisa enviar mensagens específicas ao dispositivo, mas ao sistema operacional, que as encaminhará por meio de um driver2 de comunicação. Essa característica facilita muito aos programadores de aplicativos, que não precisam saber como se comunicar com os perifé- ricos e deixam essa atividade para o software do driver, disponibilizado pelo sistema operacional. Imagine se toda vez que um programador, ao desenvolver um apli- cativo, precisasse conhecer todo o processo de comunicação de um determinado dispositivo. Se assim fosse necessário, o que acontece- ria com o software desenvolvido com um determinado dispositivo, por exemplo, um mouse, e os clientes utilizassem mouses diferentes? A ideia do programa driver que é desenvolvido pelo fabricante de disposi- tivos, é muito eficiente, pois basta ligar o dispositivo ao computador e, por meio do sistema operacional, instalar o driver de comunicação uma vez e a partir disso todos os programas aplicativos podem usar o recur- so de hardware. Se houver mudança de dispositivo, bastará instalar o novo driver. Os softwares de sistema são organizados em duas categorias: • Programa de gerenciamento do sistema: é responsável pelo geren- ciamento dos recursos de hardware, software, rede e pelos dados necessários para que as tarefas dos usuários sejam executadas. 2Driver – neste contexto, significa um programa de comunicação de um dispositivo com o sistema operacional. 74 Infraestrutura de TI M at er ia l p ar a us o ex cl us ivo d e al un o m at ric ul ad o em c ur so d e Ed uc aç ão a D is tâ nc ia d a Re de S en ac E AD , d a di sc ip lin a co rre sp on de nt e. P ro ib id a a re pr od uç ão e o c om pa rti lh am en to d ig ita l, s ob a s pe na s da L ei . © E di to ra S en ac S ão P au lo . ◦ Exemplos: o sistema operacional, utilitários do sistema, geren- ciamento de banco de dados e gerenciamento de rede. • Programa de desenvolvimento do sistema: programas que pos- sibilitam ao usuário o desenvolvimento de programas para o pro- cessamento das informações. ◦ Exemplos: editores das linguagens de programação e ferramen- tas de programação da engenharia de software, que auxiliam no projeto dos aplicativos que serão utilizados pelos usuários. Na figura 2 temos uma representação em camadas de uma arqui- tetura de sistema operacional. Na camada mais baixa estão os dis- positivos de hardware como: circuitos integrados, fonte de energia, barramentos de comunicação, placas de vídeo, placas de rede, pro- cessadores, etc. Esses dispositivos são acessados por meio de um conjunto de instruções que é interpretado pela camada de micropro- gramação. A camada do sistema operacional recebe as informações das aplicações dos usuários, que são compiladas ou interpretadas por programas que facilitam o acesso das aplicações aos recursos de hardware. Dessa forma, os programas de usuários podem ser de- senvolvidos sem a preocupação, por exemplo, de como os dados da memória são transferidos para o disco rígido, em qual trilha do disco serão gravados; ou, ainda, como será a movimentação da cabeça de gravação. Tudo isso é realizado pelo sistema operacional. Acima da camada do sistema operacional existem outras funções como com- piladores, editores e interpretadores de comando que auxiliam as apli- cações a utilizar o sistema operacional. E, na camada mais alta, estão as aplicações dos usuários, desenvolvidas para resolver problemas específicos, como escrever um texto, processar imagens, aplicações comerciais, etc. 75Sistema operacional: conceitos M aterial para uso exclusivo de aluno m atriculado em curso de Educação a Distância da Rede Senac EAD, da disciplina correspondente. Proibida a reprodução e o com partilham ento digital, sob as penas da Lei. © Editora Senac São Paulo. Figura 2 – Sistema de computador: hardware, programas de sistema e aplicações Aplicações de usuários Aplicações Programas de sistema Hardware Sistema operacional Microprogramação Dispositivos físicos Compilador Interpretador Segundo O’Brien e Marakas (2013, p. 138): A principal finalidade do sistema operacional é maximizar a pro- dutividade do sistema de um computador, operando-o com a máxima eficácia. O sistema operacional minimiza o nível de inter- venção humana necessário durante o processamento. Ele ajuda os programas de aplicação a executar operações comuns, como acessar a rede, inserir dados, salvar e recuperar arquivos e imprimir ou exibir uma saída. Assim, o sistema operacional é composto de uma coleção de progra- mas que inicializa o hardware do computador, fornece as rotinas para controle dos dispositivos, gerencia, escalona e faz a interação de tare- fas e mantém a integridade de sistema. 2 Componentes de um sistema operacional O sistema operacional possui softwares que admi nistram as rela- ções com o hardware de um computador e é escrito com várias linhas de instruções. Para facilitar o desenvolvimento, esses softwares são construídos em módulos, que ficam responsáveis por uma determi- nada função. O quadro 1 mostra os módulos kernel e shell do sistema operacional e suas funções. 76 Infraestrutura de TI M at er ia l p ar a us o ex cl us ivo d e al un o m at ric ul ad o em c ur so d e Ed uc aç ão a D is tâ nc ia d a Re de S en ac E AD , d a di sc ip lin a co rre sp on de nt e. P ro ib id a a re pr od uç ão e o c om pa rti lh am en to d ig ita l, s ob a s pe na s da L ei . © E di to ra S en ac S ão P au lo .Quadro 1 – Componentes do sistema operacional KERNEL (NÚCLEO) SHELL (AMBIENTE OPERACIONAL) • Núcleo do sistema operacional • Permanece residente na memória do computador • Gerencia os processos e a memória • Efetua o escalonamento das tarefas • Executa a comunicação entre os processos • Processa as execuções e interrupções • Conhecido como o ambiente operacional – “interpretador de comandos” • Assume o controle do programa • Recebe as solicitações dos usuários • Interpreta as solicitações dos usuários • Atua sobre as execuções dos usuários Com esses módulos, as tarefas do sistema operacional recebem as solicitações dos usuários e, com uma interface amigável através do in- terpretador de comandos, facilita o uso dos computadores. O kernel é o núcleo do sistema operacional e responsável pela execução dos pro- cessos, sendo a parte mais interna do sistema operacional. O kernel tem a função de iniciar o sistema e fazer a gerência dos recursos. Por exemplo, a memória, o processador e o dispositivo de ar- mazenamento precisam de controle para que possam ser utilizados por diversos programas. Assim, a função do kernel é gerenciar e alocar os recursos necessários de processador, memória e o espaço em disco a serem disponibilizados para o programa e só então iniciar o processo. Os processos executam várias funções básicas, e será de respon- sabilidade do kernel responder às solicitações com um conjunto de instruções para que os programas possam funcionar adequadamente. Além disso, ele possibilita a comunicação com os dispositivos por meio dos drivers instalados. NA PRÁTICA Uma empresa possui um computador com um sistema operacional instalado e comprou uma impressora. Para que ela possa se comu- nicar com o computador será necessária a ligação por algum meio físico (cabo ou conexão sem fio) e configurada através da instalação do 77Sistema operacional: conceitos M aterial para uso exclusivo de aluno m atriculado em curso de Educação a Distância da Rede Senac EAD, da disciplina correspondente. Proibida a reprodução e o com partilham ento digital, sob as penas da Lei. © Editora Senac São Paulo. driver da impressora, fornecido pelo fabricante. Algumas impressoras podem até já ter o driver homologado (isto significa que foi testado pelo fabricante do sistema operacional) já instalado no sistema operacional. Recomenda-se a instalação dos drivers mais recentes dos dispositi- vos, que são encontrados no site do fabricante. 3 Funcionamento do sistema operacional Segundo O’Brien e Marakas (2013, p. 138), qualquer sistema operacional executa cinco funções básicas na operação do sistema de um computador: serve como interface do usuário, gerenciador de recursos, gerenciador de tarefas, gerencia- dor de arquivos e utilitários, além de oferecer serviços de suporte. Na figura 3 são mostradas as funções do sistema operacional. Figura 3 – Funções do sistema operacional Interface do usuário Comunicação de rede e sistema com o usuário final Gerenciamento de recursos Gerencia o uso dos recursos do hardware Gerenciamento de tarefas Gerencia a execução das tarefas Gerenciamento de arquivos Gerencia arquivos de dados e os programas Gerenciamento de suporte Gerencia vários serviços de apoio A interface do usuário é a parte do sistema operacional que faz a comunicação com o usuário e permite que ele possa carregar os pro- gramas, acessar os arquivos e realizar diversas tarefas. Existem três tipos de interface de usuário: a orientada a comandos, a orientada a 78 Infraestrutura de TI M at er ia l p ar a us o ex cl us ivo d e al un o m at ric ul ad o em c ur so d e Ed uc aç ão a D is tâ nc iad a Re de S en ac E AD , d a di sc ip lin a co rre sp on de nt e. P ro ib id a a re pr od uç ão e o c om pa rti lh am en to d ig ita l, s ob a s pe na s da L ei . © E di to ra S en ac S ão P au lo .menus e a interface gráfica. Atualmente, a maioria dos sistemas opera- cionais utiliza a interface gráfica para facilitar o uso dos computadores pelos usuários. A partir dessa interface, o sistema operacional realiza o gerencia- mento das tarefas dos usuários e determina quando e quais tarefas são executadas pela CPU, tais como: o gerenciamento dos arquivos, o controle da criação e a exclusão de arquivos de programas, dados e o acesso a eles. Identifica a posição física dos arquivos nos dispositivos de armazenamento e gerencia os recursos de hardware do computador (CPU, memória, dispositivos de armazenamento, placas de rede e diver- sos dispositivos de entrada e saída). Além disso, o sistema operacional é responsável por diversos serviços de suporte que são parte de todas as atividades apoiando as aplicações dos usuá rios e fornecendo um ambiente mais produtivo. Na figura 4 temos as funções do sistema operacional relaciona- das aos dispositivos de hardware e que facilitam o entendimento das diversas funções. Os sistemas operacionais têm por função proporcionar uma inter- face para que o usuário possa se comunicar com o computador. Isso pode ser feito, por exemplo, por meio dos dispositivos de entrada, como o teclado e o mouse. Para que o computador possa se comunicar com o usuário, as informações podem ser apresentadas no monitor de vídeo ou na impressora, que são os dispositivos de saída. Os dados proces- sados pela CPU são armazenados durante a execução do programa na memória RAM (Random-access Memory) e depois transferidos para armazenamento em discos rígidos ou DVD. Os programas executados na CPU possuem rotinas específicas que são armazenadas na memória ROM (Read-only Memory) e acessadas pela CPU. 79Sistema operacional: conceitos M aterial para uso exclusivo de aluno m atriculado em curso de Educação a Distância da Rede Senac EAD, da disciplina correspondente. Proibida a reprodução e o com partilham ento digital, sob as penas da Lei. © Editora Senac São Paulo. O que se pode concluir sobre esse cenário de relação de programas e dispositivos de hardware é que o sistema operacional funciona como um “maestro”, cuidando de todo o gerenciamento. Figura 4 – Funções do sistema operacional relacionadas aos dispositivos de hardware do computador Existem diversos dispositivos que podem ser conectados ao com- putador e servir de entrada ou saída de dados; outros são utilizados para armazenamento de dados. Na área de processos industriais, por exemplo, diversos sensores podem fornecer informações para aná- lise e outras funcionarem como saída, dando as respostas, como li- gar uma válvula que libera água em uma sala devido a um alarme de incêndio. DISPOSITIVOS DE SAÍDA MEMÓRIA RAM SISTEMA OPERACIONAL INTERFACE DO USUÁRIO GERENCIAMENTO DOS RECURSOS GERENCIAMENTO DE ARQUIVOS GERENCIAMENTO DAS TAREFAS MEMÓRIA ROM CPU DISPOSITIVOS PARA ARMAZENAMENTO DISPOSITIVOS DE ENTRADA 80 Infraestrutura de TI M at er ia l p ar a us o ex cl us ivo d e al un o m at ric ul ad o em c ur so d e Ed uc aç ão a D is tâ nc ia d a Re de S en ac E AD , d a di sc ip lin a co rre sp on de nt e. P ro ib id a a re pr od uç ão e o c om pa rti lh am en to d ig ita l, s ob a s pe na s da L ei . © E di to ra S en ac S ão P au lo . Considerações finais Neste capítulo, conhecemos os conceitos básicos de um sistema operacional começando pelo conceito de processo e passando pelo modo como eles são alocados na memória a fim de serem executados. Também vimos dois componentes do sistema operacional, cuja função é facilitar o uso do computador ao usuário: o kernel e o shell. Com eles, a funcionali dade do sistema operacional fica mais fácil de ser entendida. Aqui é importante considerar que as atividades realizadas pelo sis- tema operacional são fundamentais para que o usuário tenha maior conforto na utilização do computador em suas aplicações de negócios, sem se preocupar com detalhes internos, por exemplo: como um arqui- vo de texto, visível na tela do computador, é armazenado na memória e depois alocado no disco rígido. Referências LAUDON, Kenneth C.; LAUDON, Jane P. Sistemas de informação gerenciais. São Paulo: Pearson Prentice Hall, 2007. O’BRIEN, James A.; MARAKAS, George M. Administração de sistemas de infor- mação. Porto Alegre: AMGH, 2013. TANENBAUM, Andrew S. Sistemas operacionais modernos. São Paulo: Pearson, 2016.