Fundamentos Dos SO Completo
Fundamentos Dos SO Completo
Fundamentos Dos SO Completo
APRESENTAÇÃO
Computadores são dispositivos poderosos para a realização de tarefas que exigem alto
processamento. Para que possam operar de forma eficiente, eles necessitam da parte lógica, o
software. Entretanto, para que o software comunique à parte física é necessária uma camada
intermediária, o sistema operacional (SO).
DESAFIO
INFOGRÁFICO
Sistemas operacionais funcionam como uma espécie de camada intermediária entre o hardware
e o software. São tarefas do sistema operacional: o gerenciamento de arquivos nas unidades de
armazenamento, o gerenciamento de processos em execução
e o acesso à memória principal.
Eles podem ser de código aberto, como os baseados em GNU/Linux,
ou de sistemas proprietários, como Windows e OS X (exclusivo para computadores Apple),
além dos sistemas operacionais para dispositivos móveis, como o Android e iOS.
Neste Infográfico, você vai ver uma linha do tempo que condensa os grandes marcos da história
dos sistemas operacionais modernos.
CONTEÚDO DO LIVRO
No capítulo Fundamentos dos sistemas operacionais, da obra Infraestrutura de TI, você vai
aprender a identificar conceitos básicos de sistemas operacionais, como por exemplo, os
componentes e o funcionamento de um SO. Além disso, vai ver os tipos de SOs.
Boa leitura.
INFRAESTRUTURA
DE TI
Introdução
Um dos pilares da infraestrutura de tecnologia da informação consiste
na conceitualização de hardware, descrito como a parte física de um
computador, e de software, a parte lógica. No primeiro, estão incluídos
equipamentos eletrônicos como placas-mãe, processadores e memórias,
além de dispositivos periféricos (p. ex., monitores, impressoras, mouses,
teclados, etc.), e, no segundo, todos os programas de um computador,
como navegadores de internet, editores de texto, de planilhas e de apre-
sentações. Sem o software, o hardware não passaria de um amontoado de
dispositivos eletrônicos sem um propósito, e, sem o hardware, o software
não poderia existir (TANENBAUM; BOS, 2016). Entretanto, você já parou
para pensar como os programas se comunicam com a parte física?
Processadores são poderosas máquinas de cálculo, que processam
dados binários por meio das instruções armazenadas em sua memória.
Fisicamente, tais dados representam apenas pontos com energia (1) e
pontos sem energia (0) manipulados pelos transistores. Já os programas
podem ser vistos como conjuntos de instruções executadas em deter-
minada ordem com múltiplos objetivos.
2 Fundamentos dos sistemas operacionais
1. hardware;
2. programas aplicativos, como navegadores e editores de texto;
3. usuário, que deseja utilizar tais programas;
4. kernel (núcleo), a camada do software responsável pela coordenação
do acesso dos programas aplicativos ao hardware.
Fundamentos dos sistemas operacionais 3
Hardware
A palavra boot deriva do termo em inglês bootstrap, algo que poderia ser compre-
endido como “levantar usando as próprias botas” (MORIMOTO, 2005, documento
on-line). Ao iniciar um computador, o sistema básico de entrada/saída (BIOS firmware),
ou seja, um software que opera em baixo nível, promove um conjunto de testes para
verificar se todos os componentes eletrônicos estão operando corretamente. A seguir,
unidades de armazenamento definidas na sequência de boot são verificadas para
detecção do SO. Quando há mais de um SO instalado, um gerenciador de inicialização,
como o GRUB, pode permitir a seleção do sistema que deve ser inicializado. Para que
o sistema opere rapidamente, os arquivos do sistema operacional são carregados
para a memória principal, e a interface de uso será exibida no dispositivo de saída.
Interfaces de uso podem se dar a partir de um terminal, que opera a partir de linhas
de comando ou interfaces gráficas [graphic user interface (GUI)], que possibilitam um
ambiente interativo com janelas, botões e menus.
2 Componentes e funcionamento
Chamadas de sistema
Processos (programas em execução) interagem com o sistema operacional por
meio das chamadas de sistemas (system calls). Cada processo traz consigo um
espaço de endereçamento contendo o programa executável, dados, sua pilha,
além de um conjunto de registradores que armazenam instruções necessárias
para executar o programa. O SO pode decidir suspender o processo, exigindo
que se salvem as informações na tabela de processos para que ele possa ser
reiniciado.
Gerenciamento de usuários
O SO fornece uma identificação para cada usuário que se conecte a ele; assim,
processos executados por usuários ficam atrelados à sua identificação e podem
ser interrompidos sem a necessidade de afetar tarefas executadas por outros
usuários. SO como aqueles baseados em Unix permitem ainda a existência de
um superusuário (root), com permissões que superam as de outros usuários.
Gerenciamento de processos
Como apresentado anteriormente, um programa representa uma coleção de
instruções armazenada em um arquivo. Ao ser executado, o programa, agora
carregado na memória, pode ser considerado um processo (CÓRDOVA JU-
NIOR; LEDUR; MORAIS, 2018). Durante sua execução, um programa passa
por cinco estados controlados pelo SO (Figura 3):
1. novo;
2. execução;
3. espera;
4. pronto;
5. terminado.
Gerenciamento de memória
Computadores modernos apresentam uma hierarquia de memória controlada
pelo gerenciador de memória (TANENBAUM; BOS, 2016). Uma de suas
funções consiste em controlar quais partes da memória estão em uso, além de
alocar e desalocar memória para que processos sejam executados.
Os SOs modernos suportam a técnica de memória virtual, na qual há uma
realocação de dados da memória principal para a memória secundária (pagi-
nação), caso não exista espaço na RAM. O SO ainda gerencia um processo
de troca (swap) das informações armazenadas nas memórias secundária e
primária.
Swap (troca) representa o processo mais conhecido por usuários GNU/Linux, uma vez
que estes devem definir uma partição para armazenar os arquivos usados no swap.
No Windows, o processo de gerenciamento da memória virtual é feito de maneira
mais discreta, sendo o equivalente ao swap do GNU/Linux armazenado na unidade
C:\ no arquivo PAGEFILE.SYS (SIMIONI, 2014, documento on-line). Com o aumento
da quantidade de memória RAM nos computadores pessoais, raramente ocorre o
processo de troca.
8 Fundamentos dos sistemas operacionais
Gerenciamento de arquivos
Uma das funções dos SOs, que utilizam unidades de armazenamento para
gravar informações, consiste em reduzir a complexidade e a peculiaridade
das unidades de armazenamento e de outros dispositivos de entrada e saída.
Arquivos são estruturas usadas por usuários para gravar e recuperar informa-
ções. E, ao local utilizado para estruturar a organização de arquivos, dá-se o
nome de diretório (TANENBAUM; BOS, 2016).
Se um processo ou thread necessita de informações armazenadas na me-
mória secundária, ele emite uma solicitação requisitando informações sobre
o tipo de operação realizada (entrada ou saída), um identificador do arquivo,
o endereço de memória para onde o arquivo deverá ser armazenado e quantos
dados devem ser transferidos (CÓRDOVA JUNIOR; LEDUR; MORAIS, 2018).
A requisição somente poderá ser atendida se a unidade não estiver ocupada;
caso contrário, o sistema gerencia uma fila de solicitações pendentes.
Cada SO dispõe de seu próprio método de organização das estruturas de
arquivos — em geral, sistemas baseados em GNU/Linux e macOS X têm uma
estrutura de diretórios derivados do Unix com os arquivos organizados a partir
de um diretório raiz (Quadro 1). No Windows, as unidades de armazenamentos
são lidas como letras (A:\, B:\, C:\, D:\, E:\, etc.).
Diretório Definição
(Continua)
Fundamentos dos sistemas operacionais 9
(Continuação)
Diretório Definição
Contexto histórico
Quando surgiram os primeiros computadores, não havia um SO. O primeiro
computador digital foi proposto pelo matemático Charles Babbage (1792-1871),
mas a tecnologia da época impediu sua conclusão com sucesso (por compreen-
der um dispositivo mecânico). Entretanto, já naquela época, Babbage percebeu
que seu dispositivo necessitaria do software, por isso contratou a matemática
e escritora Augusta Ada Lovelace (1815-1852), Condessa de Lovelace e filha
do poeta Lord Byron, para construir o primeiro algoritmo a ser utilizado na
máquina (TANENBAUM; BOS, 2016).
Nos anos seguintes, a evolução da tecnologia permitiu que os primeiros
software fossem desenvolvidos por meio de cartões perfuráveis, embora
naquele período os programas fossem entregues como jobs ao operador (que
era próprio programador antes do processo de adoção de operadores profis-
sionais). Após o processamento, o computador retornava à saída, cabendo ao
programador encontrar e corrigir os defeitos nos códigos (depuração). Mais
tarde, para reduzir o tempo de ociosidade, os jobs passaram a ser organizados
em lotes (ou batch) e os cartões perfuráveis foram substituídos por discos
magnéticos, o que, aliado à adoção dos intervalos de interrupção, permitiu
o surgimento do chamado multiprocessamento, no qual todos os programas
eram armazenados na memória principal e processados em fila (OLIVEIRA;
CARISSIMI; TOSCANI, 2008).
10 Fundamentos dos sistemas operacionais
Unix
Entre os anos de 1960 e 1970, um grupo de pesquisadores do Massachussets
Institute of Technology (MIT), em parceria com a AT&T, a Bell Labs e a
General Electric, iniciou um projeto visando a construir um SO multiusuários e
multitarefas, denominado Multics, o qual foi restrito, contudo, pelas limitações
do hardware à época.
Ainda nos anos 1960, o programador Ken Thompson decidiu reescrever o
código-fonte do Multics de maneira mais simplificada, quando o sistema foi
batizado como Unics e, mais tarde, renomeado para Unix. Já nos anos 1970,
Dennis Ritchie desenvolveu uma nova linguagem de programação denominada
C, usada para reescrever o código-fonte do Unix em colaboração com Ken
Thompson (CHAGAS, 2019, documento on-line).
Nos primeiros anos, apesar de ser um sistema proprietário sob licença da
AT&T, o Unix tinha o código-fonte aberto, motivo pelo qual era utilizado em
universidades nos cursos de ciência da computação. Entretanto, anos mais
tarde, o código-fonte foi fechado, isto é, as novas versões não permitiriam a
sua visualização. Com isso, deu-se início a uma corrida pelo desenvolvimento
de um novo SO livre e de código-fonte aberto, sendo o Unix a “inspiração”
para todos esses novos sistemas denominados Unix-like (como o Unix era um
sistema comercial, seu código-fonte não poderia ser copiado, tendo que ser
reescrito do zero para novos sistemas).
Fundamentos dos sistemas operacionais 11
Funcionamento do Unix
O Unix é composto por duas partes principais:
kernel, responsável pela intercomunicação dos programas com o hardware a partir
de chamadas de sistema (system call);
aplicativos do sistema, como as bibliotecas, shell (ambiente de linha de comando)
e interface gráfica (GUI).
Windows
SO comercial desenvolvido inicialmente pela Microsoft como interface gráfica
complementar ao MS-DOS (CÓRDOVA JUNIOR; LEDUR; MORAIS, 2018),
o Windows, cujo nome significa “janelas”, apresentava interfaces gráficas que
aperfeiçoaram a usabilidade do SO.
Nas primeiras versões, o Windows ainda não era considerado um SO, mas sim
uma interface gráfica do MS-DOS. Em meados dos anos 1990, a Microsoft rea-
lizou profundas modificações no Windows tanto em relação à interface quanto
ao funcionamento interno, quando passou a ganhar uma maior independência
em relação ao MS-DOS, embora ainda fosse tida como uma interface gráfica.
A Microsoft nomeou a família de sistemas lançados entre 1995 e 2000 como
Windows 9X, que englobava o Windows 95, o Windows 98 e o Windows
ME. O Windows XP (Windows eXPerience) foi a primeira versão do SO da
Microsoft baseado na família NT (família de sistemas operacionais destinados
a servidores), tornando-se famoso por sua estabilidade e sua interface gráfica
personalizável. Ele foi sucedido pelo Windows Vista, que trouxe uma interface
mais futurista, seguido do Windows 7, que melhorou o reconhecimento de
drivers, e do Windows 8, que trouxe uma nova interface mais voltada a dis-
positivos touchscreen. No Quadro 2, é apresentada a evolução dos requisitos
mínimos para instalação do Windows em computadores pessoais.
Fundamentos dos sistemas operacionais 13
Windows 95 — 8 MB 100 MB
Windows 98 — 16 MB 300 MB
Fonte: Adaptado de Como descobrir... (2020, documento on-line); Instalação... (2005, documento on-line);
Requisitos... (2020a, documento on-line); Requisitos... (2020b, documento on-line).
Windows 10
GNU/Linux
Antes de falar do Linux, é importante ressaltar o contexto histórico em que
surgiu: nos anos 1980, com o fechamento do código-fonte do Unix, pesquisado-
res começaram a desenvolver novos SOs baseados nos antigos códigos-fontes
abertos do Unix, como o SO Minix, desenvolvido pelo escritor e professor
Andrew S. Tanenbaum para ser utilizado em universidades. Sua principal
caraterística consistia no micro-kernel, um núcleo de código-fonte reduzido,
14 Fundamentos dos sistemas operacionais
Projeto GNU
No início dos anos 1980, boa parte dos software era formada por sistemas
proprietários, ou seja, eram vendidos com fins lucrativos. Mesmo assim, muitos
programas não permitiam que os usuários visualizassem seu código-fonte
Fundamentos dos sistemas operacionais 15
Uso do GNU/Linux
Distribuições GNU/Linux
macOS
Trata-se de um SO proprietário de código fechado baseado no SO NeXTSTEP
da empresa NeXT, inicialmente chamado de MacOS (Macintosh Operating
System), por ser o SO dedicado à família de computadores Macintosh. A seguir,
passou a ser denominado MacOS X, mais tarde, OS X e, recentemente, passou
Fundamentos dos sistemas operacionais 17
ABOUT US. Linux Foundation, [S. l.], 2020. Disponível em: https://www.infowester.com/
historia_linux.php. Acesso em: 9 jan. 2020.
ALECRIM, E. O que é Linux e qual a sua história? InfoWester, [S. l.], 3 nov. 2011. Disponível
em: https://www.linuxfoundation.org/about/. Acesso em: 9 jan. 2020.
AUGUSTO, C. Conheça as 5 principais vantagens do Linux no Desktop e no Servidor.
Ninja do Linux, [S. l.], 26 maio 2016. Disponível em: http://ninjadolinux.com.br/vantagens-
-do-linux/. Acesso em: 9 jan. 2020.
CHAGAS, F. Conheça o UNIX, o pai dos sistemas operacionais modernos. Medium, [S.
l.], 20 jan. 2019. Disponível em: https://medium.com/@filipe.chagas/a-hist%C3%B3ria-
-do-unix-o-pai-dos-sistemas-operacionais-modernos-2795d0fd564b. Acesso em:
9 jan. 2020.
18 Fundamentos dos sistemas operacionais
Os links para sites da Web fornecidos neste capítulo foram todos testados, e seu fun-
cionamento foi comprovado no momento da publicação do material. No entanto, a
rede é extremamente dinâmica; suas páginas estão constantemente mudando de
local e conteúdo. Assim, os editores declaram não ter qualquer responsabilidade
sobre qualidade, precisão ou integralidade das informações referidas em tais links.
DICA DO PROFESSOR
Nesta Dica do Professor, você vai ver como isso pode ser realizado
na prática.
Conteúdo interativo disponível na plataforma de ensino!
1.
EXERCÍCIOS
1) O sistema operacional pode ser compreendido como um único programa central que,
aliado aos denominados programas de sistema, permite ao usuário acesso aos
programas e aplicativos de forma a reduzir a complexidade. Eles atuam como uma
camada intermediária que oferece ao usuário uma interface de comunicação de fácil
acesso. Há diversos sistemas operacionais, sendo os mais comuns derivados dos
sistemas Windows, OS X e Linux.
O UNIX se tornou bastante popular por ser o primeiro sistema operacional a funcionar
D)
exclusivamente por interface gráfica, o que o distinguia de sistemas operacionais de linha
de comando, como o MS-DOS.
O UNIX foi proposto pelo professor Andrew S. Tanenbaum com fins educacionais.
E)
Tanenbaum mantinha o código-fonte do MINIX organizado e reduzido, rejeitando muitas
vezes sugestões de melhorias enviadas por usuários.
Gerenciar o sistema de arquivos, permitindo que o usuário realize buscas por arquivos e
A)
pastas.
Inicializar a máquina.
C)
Linux não fornece o SWAP, apenas o sistema Windows permite que uma partição seja
D)
definida para isso.
GNU/Linux.
A)
Ubuntu 18.04.
B)
Windows 10.
C)
iOS.
D)
Windows millenium.
E)
NA PRÁTICA
GNU/Linux é o sistema operacional livre mais popular do mundo. Por ter o código-fonte aberto,
qualquer pessoa ou empresa pode modificá-lo e criar uma nova versão, denominada
distribuição.
Neste Na Prática, você vai ver o caso do gerente de TI José, que precisou adotar um novo
sistema operacional na equipe e quais foram os motivos da escolha dele.
SAIBA +
Para ampliar o seu conhecimento a respeito desse assunto, veja abaixo as sugestões do
professor:
Nesta videoaula, você aprenderá alguns comandos básicos de terminal Linux na distribuição
Ubuntu. Clique para conhecer.
O nome Linux surgiu da mistura de Linus, criador do kernel, e Unix. Neste link, você conhecerá
um pouco mais da história do Linux.
Oito sistemas operacionais alternativos para Windows que você precisa conhecer -
Tecmundo
Acesse este conteúdo para conhecer oito sistemas operacionais além do Windows.