INE 5223 – Informática para Secretariado 2. SISTEMAS OPERACIONAIS Prof.: Achilles Colombo Prudêncio INE 5223 – Informática para Secretariado 2. Sistemas Operacionais 2.1. Noções sobre sistemas operacionais, funcionamento e recursos básicos Noções sobre SO, funcionamento e recursos básicos Basicamente, um Sistema Operacional é também um programa Mas o que é um programa? Equivalente computacional de um algoritmo E um algoritmo? Noções sobre SO, funcionamento e recursos básicos Algoritmo: Sequência de instruções para realizar uma tarefa Exemplos: Receitas (de bolo, por exemplo) Manuais de instruções passo-a-passo Noções sobre SO, funcionamento e recursos básicos Algoritmos Noções sobre SO, funcionamento e recursos básicos Algoritmos Noções sobre SO, funcionamento e recursos básicos Programas são formados basicamente por dados e instruções Dados são as informações que queremos manipular Instruções são os comandos para manipular nossos dados E podem ser de dois tipos Executáveis independentes (*.exe no Windows, sem convenção de extensão no Linux) Bibliotecas de funções (*.dll no Windows, *.so no Linux) Noções sobre SO, funcionamento e recursos básicos Programas são escritos em linguagens de programação de alto nível, subconjuntos da linguagem natural (com sintaxe e gramática próprios, muito mais limitados que a de uma linguagem natural) O texto do programa, em linguagem de programação, é chamado de código fonte Linguagem Natural (Inglês) Linguagens de programação (C/C++, Java, Python, etc.) Noções sobre SO, funcionamento e recursos básicos Depois, são ”traduzidos” em linguagem binária, de modo que o computador possa entender Processo chamado de compilação O texto do programa, depois de compilado, é chamado simplesmente de binário Linguagem Natural (Inglês) Linguagens de programação (C/C++, Java, Python, etc.) Noções sobre SO, funcionamento e recursos básicos Como dito antes, um sistema operacional é um programa E fica ”entre” o hardware do computador e os outros programas que estão executando Noções sobre SO, funcionamento e recursos básicos Navegadores Web, Sistemas Bancários, etc. Interpretadores de comandos, Editores de texto, etc. Sistema Operacional Hardware Noções sobre SO, funcionamento e recursos básicos Um sistema operacional tem duas funções principais, que não estão relacionadas uma à outra ”Estender” o computador Gerenciar os recursos do sistema Dependendo do tipo do usuário, ele vai lidar mais com uma do que com outra Noções sobre SO, funcionamento e recursos básicos SO como extensão da máquina, do computador Todos os dispositivos de hardware possuem suas nuances de utilização No caso de um HD: setores, blocos, comandos de controle, se o mesmo está ligado ou não, etc... Noções sobre SO, funcionamento e recursos básicos Mas esses detalhes são escondidos pelos drivers de dispositivos Eles permitem que o SO forneça uma interface mais simples de acesso ao hardware Criam uma abstração mais simples para o controle Noções sobre SO, funcionamento e recursos básicos SO como um gerenciador de recursos Um computador possui muitos dispositivos, que oferecem também muitos serviços Processador, memória, HD, rede, mouse, teclado, impressoras... O gerenciamento desses serviços não pode ser feito todo direto no hardware Os drivers abstraem o controle de um dispositivo só Noções sobre SO, funcionamento e recursos básicos Imagine um cenário sem gerenciamento: Três programas mandam arquivos para impressão ao mesmo tempo As primeiras linhas impressas seriam do arquivo do programa 1, algumas das próximas seriam do programa 3, depois viriam linhas do programa 2 Noções sobre SO, funcionamento e recursos básicos A impressão de um arquivo é abstraída pelo driver da impressora O gerenciamento de uma fila de impressão é tarefa do sistema operacional O gerenciamento da hierarquia de memória, descrito na em noções de arquitetura de computadores, também é tarefa do SO O gerenciamento dos recursos também envolve o gerenciamento do acesso a eles Permissões, autorização Noções sobre SO, funcionamento e recursos básicos Quando um computador inicia (”boota”), um dos primeiros programas carregados é o Sistema Operacional Depois de carregar os binários do SO e inicializá-lo, o controle é passado para ele Os drivers do sistema são carregados E finalmente os demais programas que o usuário precisa Interpretadores de comandos, interfaces gráficas, etc. Noções sobre SO, funcionamento e recursos básicos Todos os binários de gerenciamento dos recursos do sistema, mais os binários dos drivers dos dispositivos, formam o núcleo (kernel) do Sistema Operacional Noções sobre SO, funcionamento e recursos básicos Além de realizar o gerenciamento, os binários do núcleo do sistema disponibilizam funções para que outros programas, que não fazem parte do núcleo, tenham acesso a esses recursos Kernel Application Programming Interface (API) Chamadas de sistema (System call) Noções sobre SO, funcionamento e recursos básicos Para que os programas que não fazem parte do núcleo terem acesso aos recursos, não basta chamar a função, precisam primeiro obter permissão para tal No Linux, as permissões de acesso fazem parte de cada arquivo Simples e eficiente, mas pouco flexível No Windows, as permissões são gerenciadas em separado Mais complicado, e pouco utilizado, até o lançamento do Windows Vista