Um sistema operacional atua como intermediário entre o usuário de um computador e o hardware do computador. O propósito de um sistema operacional é fornecer um ambiente no qual um usuário pode executar programas de uma maneira conveniente e eficiente.
Um sistema operacional é um software que gerencia o hardware do computador. O hardware deve fornecer mecanismos apropriados para garantir o funcionamento correto do sistema de computador e para evitar que os programas do usuário interfiram com o funcionamento correto do sistema.
Operating System – Definition:
- Um sistema operacional é um programa que controla a execução de programas aplicativos e atua como uma interface entre o usuário de um computador e o hardware do computador.
- Uma definição mais comum é que o sistema operacional é o único programa rodando o tempo todo no computador (normalmente chamado de kernel), sendo todos os outros programas aplicativos.
- Um sistema operacional está preocupado com a alocação de recursos e serviços, tais como memória, processadores, dispositivos e informações. O sistema operacional inclui programas para gerenciar esses recursos, como um controlador de tráfego, um programador, um módulo de gerenciamento de memória, programas de E/S e um sistema de arquivos.
Funções do sistema operacional – O sistema operacional executa três funções:
- Conveniência: Um sistema operacional torna um computador mais conveniente de usar.
- Eficiência: Um sistema operacional permite que os recursos do sistema operacional sejam usados de forma eficiente.
- Capacidade de Evolução: Um sistema operacional deve ser construído de forma a permitir o desenvolvimento eficaz, testes e introdução de novas funções do sistema ao mesmo tempo, sem interferir com o serviço.
Operating system as User Interface –
- User
- Sistema e programas aplicativos
- Operating system
- Hardware
Todos os computadores de uso geral consistem do hardware, sistema operacional, programas do sistema e programas aplicativos. O hardware consiste em memória, CPU, ALU e dispositivos de E/S, dispositivo periférico e dispositivo de armazenamento. O programa do sistema consiste em compiladores, carregadores, editores, SO, etc. O programa aplicativo consiste em programas de negócios, programas de banco de dados.
Fig1: Visão conceitual de um sistema de computador
Todos os computadores devem ter um sistema operacional para executar outros programas. O sistema operacional coordena o uso do hardware entre os vários programas do sistema e programas aplicativos para vários usuários. Ele simplesmente fornece um ambiente dentro do qual outros programas podem fazer um trabalho útil.
O sistema operacional é um conjunto de programas especiais que rodam em um sistema de computador que permite que ele funcione corretamente. Ele executa tarefas básicas como reconhecer entradas do teclado, manter o controle de arquivos e diretórios no disco, enviar saída para a tela de exibição e controlar dispositivos periféricos.
OS foi projetado para servir a dois propósitos básicos:
- Ele controla a alocação e uso dos recursos do sistema de computação entre os vários usuários e tarefas.
- Provê uma interface entre o hardware do computador e o programador que simplifica e torna viável a codificação, criação, depuração de programas aplicativos.
O sistema operacional deve suportar as seguintes tarefas. As tarefas são:
- Provê as facilidades para criar, modificar programas e arquivos de dados usando um editor.
- Acesso ao compilador para traduzir o programa do usuário de linguagem de alto nível para linguagem de máquina.
- Provê um programa carregador para mover o código do programa compilado para a memória do computador para execução.
- Provê rotinas que lidam com os detalhes da programação de E/S.
Gestão do sistema de E/S –
O módulo que mantém o controle do estado dos dispositivos é chamado controlador de tráfego de E/S. Cada dispositivo de E/S tem um manipulador de dispositivos que reside em um processo separado associado a esse dispositivo.
O subsistema de E/S consiste em
- Um componente de gerenciamento de memória que inclui cache de buffer e spooling.
- Uma interface geral de driver de dispositivo.
Controladores para dispositivos de hardware específicos.
Assembler –
A entrada para um assembler é um programa de linguagem assembly. A saída é um programa objeto mais informação que permite ao carregador preparar o programa objeto para execução. Em algum momento, o programador de computador teve à sua disposição uma máquina básica que interpretou, através de hardware, certas instruções fundamentais. Ele programaria este computador escrevendo uma série de uns e Zeros (linguagem Máquina), colocando-os na memória da máquina.
Compiler –
As linguagens de alto nível – exemplos são FORTRAN, COBOL, ALGOL e PL/I são processados por compiladores e intérpretes. Um compilador é um programa que aceita um programa fonte em uma “linguagem de alto nível” e produz um programa objeto correspondente. Um intérprete é um programa que aparece para executar um programa fonte como se fosse uma linguagem de máquina. O mesmo nome (FORTRAN, COBOL, etc.) é freqüentemente usado para designar tanto um compilador quanto sua linguagem associada.
Loader –
A Loader é uma rotina que carrega um programa objeto e o prepara para a execução. Existem vários esquemas de carregamento: absoluto, realocação e ligação direta. Em geral, o carregador deve carregar, realocar e ligar o programa objeto. O loader é um programa que coloca programas na memória e os prepara para a execução. Em um esquema de carregamento simples, o assembler produz a tradução em linguagem de máquina de um programa em um dispositivo secundário e um carregador o coloca no núcleo. O carregador coloca na memória a versão em linguagem de máquina do programa do usuário e transfere o controle para ele. Como o programa do carregador é muito menor do que o assembler, estes fazem mais núcleo disponível para o programa do usuário.
História do sistema operacional –
Sistema operacional tem evoluído ao longo dos anos. A tabela a seguir mostra a história do sistema operacional.
Geração | Ano | Dispositivo eletrônico utilizado | Dispositivo eletrônico utilizado |
---|---|---|---|
Primeiro | 1945-55 | Tubos de Acumulação | Plug Boards |
Segundo | 1955-65 | Transistores | Sistemas de Lote |
Terceiro | 1965-80 | Circuitos Integrados(CI) | Multiprogramação |
Quarto | Desde 1980 | Integração em grande escala | PC |
Tipos do sistema operacional –
- Sistema operacional em lote- Sequência de trabalhos em um programa em um computador sem intervenções manuais.
- Sistema operacional de compartilhamento de tempo- permite que muitos usuários compartilhem os recursos do computador.(Max utilização dos recursos).
- Sistema operacional distribuído – Gerencia um grupo de computadores diferentes e faz parecer um único computador.
- Sistema operacional em rede – computadores rodando em sistemas operacionais diferentes podem participar de uma rede comum (É usado para fins de segurança).
- Sistema operacional em tempo real – significa aplicações para corrigir os prazos.
Exemplos do sistema operacional são –
- Windows (baseado em GUI, PC)
- GNU/Linux (Pessoal, estações de trabalho, ISP, servidor de arquivos e impressão, cliente/servidor de três camadas)
- macOS (Macintosh), usado para computadores pessoais e estações de trabalho da Apple (MacBook, iMac).
- Android (Sistema Operativo Google para smartphones/mesa/smartwatch)
- iOS (Sistema Operativo Apple para iPhone, iPad e iPod Touch)