COMO FUNCIONA UM SISTEMA OPERACIONAL

Quando um computador é utilizado, dá a impressão de que é o usuário que está comandando o que vai acontecer, porque o mouse é movimentado na tela, o programa escolhido é executado, o site desejado é acessado, a música escolhida é executada, porém, na verdade quem está realizando todas essas tarefas é o SO do computador, que está interpretando os comandos do usuário e fazendo com que o hardware do computador faça tudo o que for necessário para executar os programas que o usuário precisa.

O SO é o primeiro programa a ser carregado no computador e é responsável por fazer o computador funcionar e permitir a execução dos programas que o usuário necessita. Sem o SO, um computador é inútil para um usuário e somente um especialista com altíssimo conhecimento conseguiria programar um computador para realizar alguma tarefa útil se o mesmo não tivesse um SO. A função de um SO é gerenciar e controlar o hardware e permitir que os mais diferentes programas possam ser executados, gerenciando esses programas e suas interações e mantendo a integridade dos dados.

Nos últimos anos, os SOs passaram a fazer parte de outros dispositivos eletrônicos, como smartphones, roteadores de Wi-Fi e Smart TVs. Os computadores usados nesses pequenos dispositivos ficaram tão poderosos que agora podem executar um SO e aplicativos.

Termo do glossário: Wi-Fi: a expressão tornou-se um sinônimo para a tecnologia IEEE 802.11, que permite a conexão entre diversos dispositivos sem fio. 

É importante ressaltar que nem todos os dispositivos eletrônicos e computadores possuem SOs. O computador (microcontrolador) que controla o forno de micro-ondas da cozinha, por exemplo, não precisa de um SO, pois ele tem um conjunto bem específico de tarefas para executar, com uma entrada muito direta baseada em um teclado numerado e alguns botões pré-definidos e possui também um hardware simples, que nunca terá alterações. Nesse caso, disponibilizar um SO aumentaria os custos do equipamento e não seria útil, a não ser que esse forno oferecesse diferentes módulos adicionais, como acesso à Internet, para você poder programar e ligar o forno remotamente, por exemplo, deixando uma pizza no forno e, quando saísse do trabalho, poderia ligá-lo por meio de um comando enviado pela Internet, para que, quando chegasse em casa a pizza estivesse pronta. Se este não é o caso, o computador em um forno de micro-ondas tem apenas um único programa de controle que fica o tempo todo esperando um botão ser pressionado para ligar o forno e desligá-lo depois do tempo pré-definido.

Todos os computadores de mesa (desktops) e notebooks possuem SOs, dentre os quais se destacam o Windows, Linux, MacOS e Chrome OS, da mesma forma que todos os smartphones possuem um SO, dentre os quais os principais são o Android, iOS ou Windows Phone. Até mesmo aqueles celulares bem simples possuem um SO, pois se existe mais de um programa que pode ser usado ao mesmo tempo, como rádio e câmera fotográfica, é necessário um sistema para controlar o seu uso para receber uma ligação telefônica e retornar ao aplicativo que estava em uso.

Em qualquer dispositivo que possua um SO, geralmente há uma maneira de alterar as configurações, instalar aplicativos e atualizar o sistema. Uma das razões pelas quais se justifica utilizar um SO é para que possam ser realizadas alterações e novas instalações em um mesmo dispositivo. Isso quer dizer que em um computador podem ser instalados, além de novos programas, novas placas, novos discos rígidos, novos módulos de memória e até trocar ou atualizar o SO.

Basicamente um SO tem duas funções:

a) Gerenciar os recursos de hardware: esses recursos incluem o processador, a memória, o espaço em disco e os dispositivos de entrada e saída, como teclado, tela e conexões de rede além do gerenciamento de energia e bateria, buscando seu uso eficiente e garantindo a integridade e a segurança dos dados armazenados;

b) Servir de interface entre o hardware e o software com o usuário: ele fornece uma maneira transparente, estável e consistente para os aplicativos interagirem com o hardware sem ter que conhecer e se preocupar com todos os detalhes do hardware e estender essa funcionalidade por meio de uma interface com o usuário, que efetivamente é quem vai usar os programas e recursos do hardware.

O gerenciamento dos recursos de hardware e software é muito importante, pois vários programas e dispositivos de entrada e saída competem pelo uso do processador (CPU) e da memória de um computador. Nesta tarefa, o SO desempenha o papel para garantir que cada aplicativo obtenha os recursos necessários para sua tarefa, sem prejudicar as demais aplicações.

A segunda tarefa, fornecer uma interface para o usuário usar os aplicativos de forma amigável e consistente, permite que o usuário adquira ou desenvolva programas de acordo com as suas necessidades, e que esses programas possam ser instalados em diferentes computadores, com diferentes configurações, desde que seja para o mesmo SO, pois a função deste é justamente esconder os detalhes e diferenças do hardware e oferecer uma interface padronizada para o usuário e para os programas. É o SO que padroniza a forma como será a interface das aplicações, de modo que todas as aplicações de um SO possuem janelas, menus, botões e caixas de texto com aparência e localização semelhantes. E quem desenvolve essas aplicações não precisa programar esses componentes, apenas fazer uso deles.

Um SO pode garantir que os aplicativos continuem sendo executados mesmo quando ocorrem atualizações de hardware, pois é o SO e não o aplicativo que é o responsável por gerenciar o hardware e a distribuição de seus recursos. Um dos desafios enfrentados pelos desenvolvedores de SOs é manter seus sistemas flexíveis o suficiente para permitir a execução com o hardware dos milhares de fornecedores que fabricam equipamentos de informática. Os sistemas atuais podem acomodar milhares de impressoras diferentes, unidades de disco e periféricos especiais em qualquer combinação possível. 

Quando ligamos um computador, o primeiro programa que é executado geralmente é um conjunto de instruções mantidas na memória somente de leitura do computador (ReadOnlyMemoryROM). Este código examina o realiza um autoteste (POST) no hardware do sistema para verificar se está instalado e funcionando o processador (CPU), a memória RAM e a placa de vídeo. Uma vez que o POST tenha concluído com sucesso, o software carregado na ROM, também chamado de BIOS ou UEFI nos computadores mais recentes, começará a ativar as unidades de disco do computador. Na BIOS ou UEFI, está configurada a ordem de ativação dos discos ou unidades, e quando o computador ativa a unidade, no primeiro setor da unidade MBR (Master Boot Record) ou GPT (GUID PartitionTable), ele encontra e executa um pequeno programa que carrega o SO. Esse programa encarregado de carregar o SO para a memória é chamado de bootstraploader. Depois de carregado, é o SO que passa a controlar o hardware. 

Nos sistemas modernos existem o chamado bootloader de segundo estágio. Por exemplo, o GRUB, é um programa capaz de fornecer ao usuário uma interface na qual ele pode escolher múltiplos boots, ou seja, o usuário pode fazer a escolha de qual SO vai ser inicializado, no caso de ter instalado Windows e Linux, por exemplo, em um mesmo computador.

O processo de boot é um termo abreviado para bootstrap. Assim, é comum associar todo o processo descrito ao bootstrap (ou ao bootstraploader). O importante a ressaltar é que o bootstrap (boot em sentido amplo) não faz parte do SO, mas o bootloader (sendo mais específico) varia de acordo com cada sistema.

O carregador do bootstrap (bootstraploader) é um pequeno programa que possui uma única função: ele carrega o SO na memória e permite que ele comece a operar. Na forma mais básica, o carregador do bootstrap configura os pequenos programas de drivers que interagem e controlam os vários subsistemas de hardware do computador. Ele configura as divisões da memória que possuem o SO, informações e aplicativos do usuário, reconhece o sistema de arquivos da unidade onde está o SO e estabelece as estruturas de dados e controle necessários e, em seguida, passa o controle do computador para o sistema operacional. 

Um SO é um conjunto de programas capaz de oferecer, da forma mais transparente possível, os recursos de um sistema computacional aos seus usuários, controlando e organizando o uso dos recursos de maneira que se obtenha um sistema eficiente e seguro.

Os SOs são uma camada de softwareque ”envolve” os componentes de hardware de um computador, intermediando as interações entre estes componentes e os programas dos usuários. Assim, podemos considerar os SOs como sendo uma extensão do próprio computador ou como gerenciadores dos recursos existentes neste computador.

Ao invés de lidar com a complexidade do hardware, o SO oferece a funcionalidade disponível no hardware por meio de uma interface de programação (ApplicationProgram Interface API) orientada à operação de cada tipo de recurso, proporcionando, além da transparência, um isolamento do hardware das aplicações.  


ATIVIDADE DE FIXAÇÃO (TURMA 01) 

Comentários

Postagens mais visitadas deste blog

Transferência de arquivo por FTP

TIPOS DE PROCESSOS

Tipos de Servidores