Buscar

04-Conceitos e Funcionamento dos Sistemas Operacionais

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 16 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 6, do total de 16 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 9, do total de 16 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

C
onceitos e Funcionamento dos Sistemas Operacionais
 
 
Existem pessoas que afirmam que se você viajar no tempo, ao futuro, por
exemplo, ficará assustado(a) com as inovações que verá, pois não terá
presenciado seu desenvolvimento. Se a viagem no tempo for ao passado
talvez não fique assustado(a), mas certamente perplexo(a) com como
muitas coisas lhe parecem excessivamente rudimentares.
Um dos componentes da vida moderna que certamente vai lhe causar
alvoroço no passado e no futuro, é o sistema operacional (SO), que como
seu nome denuncia, operacionaliza tanto o hardware quanto o software
dos computadores. Se o olhar para o SO for no passado o que você verá,
estudante, será algo discreto, em modo texto e até mesmo em tela verde
(telas de fósforo dos computadores antigos), ou seja, um sistema simples,
sem muitos recursos ou funções.
Agora se o olhar for no futuro, vai presenciar SOs capazes de controlar
muito mais que os computadores onde estão embarcados, mas outros
dispositivos, e mais, verá que terão a capacidade de estar onde você
estiver, mesmo que esteja longe do seu computador. Mas antes de
prosseguir com sua viagem no tempo, vamos parar no presente e
compreender melhor o que a geração atual de SOs representa, para o
usuário principalmente.
Resumidamente temos que um SO nasceu para governar o hardware e o
software de um computador, permitindo que os sistemas do usuário façam
uso dos recursos de hardware disponíveis. Portanto os sistemas
operacionais fazem parte de um sistema maior, o sistema computacional,
que por sua vez é composto de hardware e software, onde o hardware
representa os componentes físicos, os circuitos eletrônicos como o
processador, as memórias, os periféricos como teclado, mouse, etc. Já o
Software representa a parte lógica de um sistema computacional, que de
acordo com Maziero (2019, p. 02)
Por sua vez, o software de aplicação é representado por programas
destinados ao usuário do sistema, que constituem a razão final de seu
uso, como editores de texto, navegadores Internet ou jogos. Entre os
aplicativos e o hardware reside uma camada de software multifacetada e
complexa, denominada genericamente de Sistema Operacional (SO).
(MAZIERO 2019, p. 02)
Com estas conceituações de hardware e software, você, estudante, passa
a compreender que a tarefa de se criar um SO foi tremenda, pois imagine
a sua ausência, imagine um PC sem sistema operacional onde cada
software fosse encarregado de ter sua interface, sua rotina de
inicialização. Agora imagine como seria trabalhoso trocar de aplicativos,
como fazemos com frequência em um pc moderno, se cada aplicativo
fosse isolado, autossuficiente.
Desta forma, faz mais sentido ter um ambiente que sirva de ecossistema a
todos os softwares que necessitamos, e que permita acesso aos recursos
de hardware necessários em nossas aplicações, e como apresenta
Córdova Júnior (2018, p. 15), ao dizer que “Os sistemas operacionais
foram criados, [...], para oferecer uma maneira razoável de resolver o
problema de criar um sistema de computação utilizável, com o objetivo
fundamental de executar programas e facilitar a solução de problemas do
usuário.
Figura 1. Estrutura do sistema computacional
Portanto, podemos definir SO como sendo um programa sendo
executado a todo momento, em um computador, e este sistema carrega
consigo uma série de recursos que a décadas seriam oferecidos por
softwares de terceiros, mas que por questões comerciais e estratégicas
passaram a ser incorporados pelos SOs.
Um grande exemplo de como os sistemas operacionais estão
incorporando aplicações antes oferecidas por terceiros, são os SOs de
dispositivos móveis, como smartphones, tablets e outros, e incluem o
Kernel, assim como SOs de desktops, mas também o que chamamos de
middleware, ou seja, pacotes de aplicações de desenvolvedores de
aplicativos. Sobre a evolução e os aperfeiçoamentos dos SOs, Córdova
Júnior (2018, p. 15), afirma que,
Com o passar do tempo, os sistemas operacionais foram aperfeiçoados
para fazer melhor gerência de memória e discos, mais opções de
segurança foram adicionadas, usabilidade e estilos foram melhorados.
Além disso, a grande quantidade de sistemas operacionais disponíveis
atualmente, sejam pagos ou gratuitos, de código aberto ou fechado,
permite que o usuário encontre aquele que melhor se encaixa em suas
necessidades. (CÓRDOVA JUNIOR, 2018, p. 15)
 
Sobre o funcionamento de um sistema operacional devemos
compreender que ele atua entre o hardware e o software promovendo a
ligação entre estes componentes físicos e o lógico através das instruções
contidas nos softwares, das funcionalidades embarcadas no hardware e
de acordo com os anseios e dados inseridos pelo usuário.
Portanto, podemos afirmar que o sistema operacional faz a comunicação
entre as diversas aplicações e pelas instruções contidas em tais
aplicações, faz requisições ao hardware. Assim, temos que o SO se
comunicará com a memória, onde aloca, modifica e remove arquivos,
com a CPU, onde envia instruções e dela recebe resultados, e dos
demais dispositivos de hardware. Desta forma, temos que o SO é
responsável por diversas funções, como as contidas no quadro a seguir:
Quadro 1: Funções do sistema operacional
Os sistemas operacionais se organizam em processos, que são os
programas em execução, que são associados a seus respectivos
endereços lógicos, ou seja, um local na memória do computador.
Juntamente ao processo estão os recursos como os registradores, que
são os contadores dos programas e ponteiros de suas pilhas respectivas,
e com isso podemos definir processo como sendo “[...] um contêiner com
todas as informações necessárias para executar um programa
(SILBERSCHATZ; GAGNE; GALVIN, 2018, apud CÓRDOVA JUNIOR,
2018, p. 18)
 
Sistema Operacional e Outros Tipos de Software
 
Mesmo com toda a relevância e importância, o SO não é o único software
embarcado em um computador, independente da aplicação na qual este
computador foi destinado. Juntamente com o SO existem diversos outros
softwares que vão sendo incorporados ao computador e de acordo com a
necessidade do usuário, como editores de texto, planilhas eletrônicas,
sistemas de gestão empresarial, jogos e muitas outras categorias.
A ideia central aqui é compreender que apenas com o SO não se produz
muito, principalmente no universo corporativo, e que a cada software nele
instalado, configurado, o computador vai ganhando forma e utilidade ao
usuário. Assim como o SO permite acesso aos recursos de hardware, ele
funciona como o meio com o qual os outros softwares são instalados e
permite a execução destes quando prontos.
De uma forma geral o que o SO faz em seu computador é abstrair do
hardware todas as suas funcionalidades e gerenciar todos os recursos
nele alocados. A figura a seguir demonstra com claridade as interações
que o SO mantém com hardware e software:
Figura 1: Estrutura de um sistema de computação típico
Existem muitas categorias de softwares se a análise for feita tendo em
vista a sua função, como editores de texto, responsáveis por fornecer um
ambiente onde o usuário pode criar, ler e editar seus documentos de texto
como cartas, mensagens, receitas culinárias e documentos corporativos.
Outra categoria e das mais vastas são as dos programas de gestão de
empresas, capazes de controlar e fornecer relatórios sobre estoque,
vendas, RH e praticamente todos os aspectos de uma empresa.
Com isso fica claro que não nos serve grande propósito enumerar as
diferentes categorias de softwares, ao menos não do ponto de vista do
usuário, portanto nossa abordagem será apresentar os tipos de software
do ponto de vista dos sistemas operacionais, como podemos
compreender nas categorias a seguir:
Programas utilitários:
Dentro de toda a amplitude de funções e recursos que o SO disponibiliza
ao usuário, em alguns momentos são criados pequenos softwares
programados especificamente para atender o usuário em funcionalidades
que são complementares ao SO. Estamos falando dos utilitários, “[...]
como formatação de discose mídias, configuração de dispositivos,
manipulação de arquivos (mover, copiar, apagar), interpretador de
comandos, terminal, interface gráfica, gerência de janelas, etc. (MAZIERO
2019, p. 02)
Drivers:
Para que o usuário tenha acesso às funções de seu hardware o SO
precisa compreender o que é este hardware, qual sua função, quais seus
recursos disponíveis, e de que forma estes recursos podem ser
disponibilizados ao SO e demais softwares. O responsável por
estabelecer o contato do hardware com o software é chamado Driver,
representado por um conjunto de módulos de código específico a cada
tipo e modelo de componente.
Cada modelo de placa de vídeo, mesmo que de um mesmo fabricante,
vai ter seu driver específico, mesmo que sejam disponibilizados softwares
genéricos que instalam, além do driver, alguns recursos de configuração,
monitoramento e até aumento de desempenho, o famoso overclocking.
O software [ou programa] aplicativo
O conceito de software aplicativo é interessante, pois embora sejam
softwares de uso específico, são tão amplamente utilizados que se
apresentam de forma padronizada a todo usuário. Dentro desta lista
temos softwares muito conhecidos a anos pelos usuários de computador,
como o pacote Office da Microsoft que contém o Word, Excel, PowerPoint
e outros softwares muito utilizados como o Paint para desenhos e edições
básicas de imagens, o Bloco de notas, a calculadora, etc.
De acordo com Amorin (2015, p.07) existem diversos outros softwares
que se encaixam na categoria de aplicativos do sistema operacional,
como “[...] os Browsers, isto é, os navegadores utilizados para acesso à
internet. Os videojogos, bases de dados e sistemas de automação
industrial, cujas atividades são consideradas específicas, também se
enquadram neste tipo.
 
A Estrutura dos Sistemas Operacionais
 
A cada avanço em hardware, nas linguagens de programação, ou com o
nascimento de novas tecnologias, novas demandas dos usuários por
funcionalidades, os sistemas operacionais ganham em complexidade e
gama de recursos embarcados, com isso sua arquitetura passa a ser
cada vez mais complexa. Desta forma podemos classificar os SOs de
acordo com a sua complexidade em sistemas monolíticos, sistemas
micronúcleo, em camadas e híbridos.
 
Sistemas monolíticos
De acordo com Maziero (2019, p. 27) os sistemas operacionais
monolíticos apresentam o SO como um bloco maciço, ou seja, um bloco
que opera “[...] com acesso a todos os recursos do hardware e sem
restrições de acesso à memória. Por isso, os componentes internos do
sistema operacional podem se relacionar entre si conforme suas
necessidades. (MAZIERO 2019, p. 27)
 
A grande vantagem da arquitetura monolítica está em seu desempenho,
pelo fato de que o acesso entre componentes é feito diretamente, sem
barreiras, o que torna desnecessário intermediários para a comunicação.
Sistemas micro núcleo
Nesta categoria estão inclusos os SOs que não possuem código de alto
nível em seu núcleo, ou seja, contém apenas o código de baixo nível
responsável por interagir com o hardware, onde “O restante do código
seria transferido para programas separados no espaço de usuário,
denominados serviços. Por fazer o núcleo do sistema ficar menor, essa
abordagem foi denominada micronúcleo (ou µ-kernel).” (MAZIERO 2019,
p. 28)
A construção de SOs micronúcleo representa uma estratégia modular, na
medida em que cada serviço é desenvolvido independente dos outros,
com maior flexibilidade, robustez o que garante, em caso de falhas, que
somente o sistema específico será afetado.
Sistema em camadas
A construção de softwares em camada é muito comum, e no caso dos
SOs, representa uma forma bastante concisa de construção lógica, uma
vez que usa a noção de camadas, onde, de acordo com Maziero (2019),
tem nas camadas mais baixas a interface com o hardware, as camadas
intermediárias fazem a abstração e gestão de recursos, e por fim, a
camada superior representa a interação entre o núcleo e as aplicações.
Sistemas híbridos
Embora os diferentes tipos de arquitetura básica de sistemas operacionais
tenham seu destaque no que são propostos, fato é que muitos carecem
de um melhor uso do seu hardware, como no caso dos sistemas
micronúcleos onde mesmo com toda sua flexibilidade e robustez se
apresentam lentos em comparação com outros tipos.
De acordo com Maziero (2019, p. 31) A solução ao desempenho
medíocre dos sistemas micro núcleo seria “[...] trazer de volta ao núcleo os
componentes mais críticos[...]. Essa abordagem intermediária entre o
núcleo monolítico e micronúcleo é denominada núcleo híbrido. É comum
observar também nos núcleos híbridos uma influência da arquitetura em
camadas.” (MAZIERO 2019, p. 31)
Máquinas virtuais
Este assunto já entra bem no universo dos serviços em nuvem e dentro
da estrutura física e lógica dos servidores, pois a virtualização representa
a criação de um espaço onde o usuário pode ter acesso ao seu SO dentro
de uma estrutura maior que já contém seu próprio SO, mas que muitas
vezes é incompatível com a arquitetura dos sistemas do usuário.
Desta forma, as máquinas virtuais são uma camada de software
responsável em dar ao usuário um outro sistema operacional completo,
onde temos como exemplo o ambiente JVM (Java Virtual Machine) que
usa como base um SO como o Windows ou Linux e dentro deste SO
pode oferecer um sistema completo que opere em bytecode, o código
binário comum dos programas escritos em Java. Outro exemplo são os
VMWares que permitem uma instância Windows em sistemas Linux, ou
vice-versa.
Contêineres
Podemos definir os contêineres como sendo uma forma de virtualização,
mas desta vez focada em isolar o espaço do usuário de forma também
virtualizada. Os contêineres também são conhecidos por servidores
virtuais e onde em cada instância de usuário é alocada uma porção dos
recursos de hardware disponíveis, onde temos principalmente a
capacidade de processamento, memória e disco.
 
Os 36 Anos de História dos Sistemas Operacionais
 
O primeiro fato que devemos compreender sobre a evolução dos SOs
está no surgimento da sua interface gráfica, ou seja, não existiria uma
história de 36 anos a ser contada com tantos eventos como temos aqui se
a interface gráfica não existisse, pois sem ela os computadores poderiam
ser máquinas complexas restritas a programadores ou pessoas com
treinamento especializado.
Mas o nascimento da computação digital moderna demorou a ver o
nascer da interface gráfica (as telas e ícones que usamos para navegar
entre os recursos e softwares contidos em um sistema operacional). Em
seu primeiro momento as instruções que hoje damos ao sistema com um
clique deveriam ser inseridas diretamente no hardware, o que lhes dava
muita complexidade e se assemelhava ao procedimento antigo de
controle de conexões telefônicas com dezenas de cabos sendo
intercambiados de acordo com a necessidade de conexão a se completar.
Sem um conceito, mesmo que rudimentar, de sistema operacional, os
primeiros computadores nem mesmo tinham a capacidade, hoje tida
como trivial, de rodar softwares em sucessão, de forma automática, o que
determinava que ao fim da execução de um programa, o usuário deveria
retirar este programa do hardware e colocar outro para assim conseguir
ter acesso a suas funcionalidades.
Assim, sem um sistema capaz de governar o hardware e agilizar acesso
aos seus recursos, o que hoje entendemos por fila de trabalho eram filas
indianas de pessoas que ali aguardavam sua oportunidade de rodar a
rotina computacional que eram responsáveis. Extraoficialmente falando,
na Universidade de Cambridge as filas eram as fitas perfuradas (antes
usadas como forma de armazenar os programas), e sua prioridade de
execução seria através da cor do prendedor que as mantinham em linhas
tipo varais de roupa.
Mas, de acordo com Wazlawick (2016) na década de 1950 a evolução
dos computadores lhes concedia cada vez mais velocidade, o que
apresentou um severo gargalo, pois o tempo de se instalar o programa ao
ponto de poder utilizar era, muitas vezes, maiordo que o tempo
necessário para sua execução. A questão era muito mais econômica, pois
computador sendo preparado, não é computador trabalhando, algo
precisava ser feito.
A solução veio na forma de programas capazes de executar outros
programas em fila, de forma automática, os primeiros Sistemas
Operacionais, que na época ganharam o nome de programas monitores,
mas já faziam, em essência, o que o kernel (núcleo) dos sistemas
operacionais modernos faziam.
Nomear os programas monitores de Sistemas Operacionais foi apenas
uma questão de lógica, uma vez que substituíram os operadores
encarregados de executar as filas de programas manualmente. Assim
nasceram os primeiros computadores capazes de realizar muitas
operações por conta própria, assim como define Wazlawick (2016, p. 197)
Bastava que os diversos programas fossem enfileirados na leitora de fita
ou leitora de cartões e com as devidas diretivas (cartões de “job”) a
máquina conseguiria sequenciar esses programas automaticamente, sem
a necessidade do operador humano. (WAZLAWICK 2016, p. 197)
Se existe uma constante no universo dos SOs é sua capacidade de
convenientemente agregar novas funções e transformar softwares de
terceiros em seus utilitários, como o Microsoft Windows fez com o
compactador de arquivos do tipo Winzip. Um dos primeiros casos de
incorporação e de grande relevância aos SOs foram as bibliotecas de
rotinas, que permitiram maior agilidade no acesso ao hardware, e
periféricos, pois o que se tinha antes era a necessidade do operador em
conhecer os comandos próprios de cada componente, algo lento e
moroso.
Apresentando um pouco de cronologia histórica aos sistemas
operacionais, temos que em três anos seguidos 1954, 1955 e 1956 foram
lançados os três primeiros sistemas operacionais registrados, “Em 1955, a
General Motors desenvolveu um sistema operacional para o seu IBM 701
e, em 1956, um outro chamado GM-NAA I/O para o seu IBM 704.”
(WAZLAWICK 2016, p. 198)
Se tem um nome que sempre tem lugar cativo nos livros de história ligado
a inovação e pioneirismo no mundo dos computadores pessoais é o
Steve Jobs, que embora não esteja mais entre nós deixou um legado na
computação que jamais será esquecido. Na década de 1970, Jobs
desenvolveu o que considerou sua tentativa de criar um computador
pessoal e para ele desenvolveu um sistema operacional que pudesse ser
operado por usuários comuns, ou seja, quem não tivesse conhecimento
algum de programação.
A iniciativa de Jobs deu início a era da microinformática e que por volta do
ano de 1976 viu Bill Gates, fundador da Microsoft, desenvolver seu
sistema, o PC-DOS que logo passou a ser conhecido como o MS-DOS.
Gates lançou o seu produto mais conhecido, o SO Windows, depois que a
sua parceria com a IBM tomou rumos inesperados e distintos.
 
 
Atividade Extra
 
 
Já foi o tempo em que instalar o sistema operacional Windows em um PC
era tarefa quase de programador, pois atualmente nem mesmo é preciso
o famoso disco de inicialização, o responsável por carregar um mini
sistema operacional DOS, responsável por permitir que o usuário
formatasse seu disco e instalasse seu SO.
A inovação atual é poder ter sistemas operacionais como Windows ou
Linux que funcionam sem a sua completa instalação no computador,
podendo até mesmo funcionar a partir de uma mídia removível como um
pen drive.
 
Caso tenha curiosidade de saber como pode ser feito este procedimento,
recomendo que consulte o artigo “Criando um pendrive de boot com
vários sistemas operacionais” pelo link:
https://www.infonova.com.br/artigo/criando-um-pen-drive-de-boot-com-
varios-sistemas-
operacionais/#:~:text=Um%20desses%20aplicativos%20%C3%A9%20o,ou%2
 
 
Referência Bibliográfica
 
 
AMORIM, Diego Felipe Borges de. Softwares de sistemas e de
aplicações livres: benefícios e limitações no uso dessas tecnologias nos
negócios. 2015. Disponível em:
<https://semanaacademica.org.br/system/files/artigos/dfba_artigo.pdf>
Acesso EM: 14/05/2021.
 
CÓRDOVA JUNIOR, Ramiro Sebastião. Sistemas operacionais. – Porto
Alegre: SAGAH, 2018.
 
MAZIERO, Carlos Alberto. Sistemas operacionais: conceitos e
mecanismos. – Curitiba: DINF - UFPR, 2019.
 
https://www.infonova.com.br/artigo/criando-um-pen-drive-de-boot-com-varios-sistemas-operacionais/#:~:text=Um%20desses%20aplicativos%20%C3%A9%20o,ou%2C%20ainda%2C%20do%20Linux
https://semanaacademica.org.br/system/files/artigos/dfba_artigo.pdf

Continue navegando