Fundamentos dos Sistemas Operacionais
Aprenda como o sistema operacional funciona por dentro, do botão de ligar até a rede, a segurança e a preparação do computador para programar. Vamos tratar do que é este livro, para quem ele é, por que um futuro programador precisa disso, do que você vai conseguir fazer, da organização do livro, do restaurante, do português estruturado e de como aproveitar melhor.
0 (0)
1 Alunos
Iniciante
23h 53m de conteúdo
Certificado de conclusão
Acesso em todas as plataformas
Você aperta o botão de ligar. Alguns segundos depois, aparece uma tela com ícones, um relógio no canto e o cursor do mouse esperando por você. Você clica duas vezes em um ícone e o navegador abre. Você salva uma foto e ela continua lá no dia seguinte. Tudo parece simples.
Só que, por trás dessa simplicidade, existe um trabalho enorme acontecendo o tempo todo. Alguém decide qual programa pode usar o computador agora, onde cada arquivo vai ser guardado, quanto espaço cada janela aberta pode ocupar e o que fazer quando você conecta um fone de ouvido. Esse "alguém" é o sistema operacional.
Este livro é sobre ele.
O que é este livro
Este é um livro de introdução aos sistemas operacionais, escrito para quem está começando do zero.
Um sistema operacional é o programa principal do computador. Ele fica entre você e a máquina e organiza tudo o que acontece lá dentro. Windows, Linux, macOS, Android e iOS são exemplos de sistemas operacionais. Você usa pelo menos um deles todos os dias, mesmo sem perceber.
Aqui, você vai olhar para esse programa por dentro. Não para virar um especialista em sistemas operacionais, mas para entender o terreno onde todo programa que você escrever vai rodar.
Para quem é este livro
Este livro é para você que nunca programou e quer começar.
Você não precisa saber nenhuma linguagem de programação. Também não precisa lembrar da matemática da escola. Quando um número aparecer, ele vai aparecer em uma situação do dia a dia, com a conta feita passo a passo.
Se você já usa um computador para navegar na internet, escrever um texto ou assistir a um vídeo, você já tem tudo o que precisa para acompanhar.
Por que um futuro programador precisa entender isso
Talvez você esteja pensando: "eu quero programar, não consertar computador". Faz sentido. Mas existe um motivo forte para começar por aqui.
Todo programa que você criar vai depender do sistema operacional para funcionar. Quando o seu programa quiser mostrar uma mensagem na tela, ler um arquivo ou acessar a internet, ele não faz isso sozinho. Ele pede ao sistema operacional, que faz o trabalho por ele.
Além disso, boa parte das dificuldades de quem está começando não tem nada a ver com programação. É o programa que "não é encontrado", a pasta que "não existe", a permissão que foi "negada", a porta que "já está em uso". São mensagens do sistema operacional. Quem entende o sistema lê essas mensagens com calma. Quem não entende acha que fez algo muito errado e desiste.
Este livro existe para que você seja do primeiro grupo.
O que você vai conseguir fazer no final
Ao terminar o livro, você vai entender o que acontece por baixo do computador quando você liga a máquina, abre um programa ou salva um arquivo.
Você vai conseguir abrir o terminal no Windows, no Linux ou no macOS e usá-lo sem medo, navegando entre pastas, pedindo ajuda ao próprio sistema e lendo o que ele responde.
Você vai saber ver quais programas estão rodando, encerrar um programa travado e entender por que o computador fica lento quando a memória acaba.
Você vai entender o que são permissões, por que às vezes o sistema pede a senha de administrador e o que significa usar sudo.
Você vai saber o que são variáveis de ambiente, o famoso PATH, as portas de rede e o localhost, que aparecem em quase todo tutorial de programação.
E, no último capítulo, você vai preparar o seu sistema para programar: escolher, instalar, configurar e manter o ambiente onde você vai escrever o seu primeiro programa.
Como o livro está organizado
O livro tem 15 capítulos e um módulo final. Cada capítulo começa com uma aula de introdução, que explica por que aquele assunto importa e como ele se liga ao que você já viu. Depois vêm as aulas do capítulo, uma de cada vez.
Cada aula de conteúdo é seguida por uma aula de exercícios. São perguntas curtas, para resolver com papel e caneta, sobre o que você acabou de ler. As respostas ficam escondidas no fim da aula, com a explicação de cada uma, e só aparecem quando você clica para abrir. Tente resolver tudo antes de olhar.
No fim de cada capítulo, há um quiz com 10 perguntas de múltipla escolha. Ele não é uma prova: é um jeito rápido de você descobrir o que ficou claro e o que vale a pena reler antes de seguir.
Quando o texto citar outra aula, ele vai usar dois números, como em "aula 6.8". O primeiro é o capítulo, e o segundo é a posição da aula dentro dele, a mesma numeração que aparece ao lado de cada aula na lista do curso. A aula 6.8, por exemplo, é a oitava aula do capítulo 6.
Os três primeiros capítulos apresentam o personagem principal. Você vai descobrir o que é um sistema operacional, como ele surgiu e quais são os sistemas que existem hoje.
O capítulo 4 mostra o computador ligando, desde o botão até a área de trabalho. No capítulo 5, a mão vai à massa: você conhece o terminal, a ferramenta que todo programador usa.
Do capítulo 6 ao 10, você entra nas grandes responsabilidades do sistema: os programas em execução, a memória, os arquivos, os dispositivos e as permissões de cada usuário.
Do capítulo 11 ao 14, o foco passa a ser o desenvolvedor: o ambiente de um programa, a rede, a segurança, as máquinas virtuais e os contêineres.
O capítulo 15 junta tudo para preparar o seu computador para programar. O módulo final traz um apêndice para consulta e a conclusão do livro.
Os capítulos foram pensados para serem lidos em ordem. Cada um usa ideias que o anterior explicou.
O restaurante que vai nos acompanhar
Algumas ideias deste livro são abstratas. Para que elas fiquem concretas, vamos usar a mesma comparação do começo ao fim: um restaurante.
Imagine um restaurante movimentado. Os clientes chegam querendo comer. A cozinha prepara os pratos, um de cada vez em cada fogão. As mesas são limitadas. A despensa guarda os ingredientes. Os garçons levam recados entre a gerência e cada canto da casa.
Agora imagine esse restaurante sem gerência, sem ninguém no comando. Clientes sentando em mesas já ocupadas. Dois cozinheiros brigando pelo mesmo fogão. Ingredientes guardados em qualquer canto, impossíveis de achar.
O sistema operacional é a gerência desse restaurante: o gerente e a equipe dele. Os clientes são os programas. A cozinha é o processador, a peça que faz as contas. As mesas são a memória. A despensa é o armazenamento, onde os arquivos ficam guardados. Os garçons são os drivers, que levam recados entre o sistema e cada peça do computador.
Sempre que um assunto ficar difícil, vamos voltar ao restaurante.
Os exemplos são em português estruturado
Em alguns momentos, o livro vai mostrar como o sistema operacional toma uma decisão, passo a passo. Esses passos não vão aparecer em uma linguagem de programação, como C#, Python ou JavaScript. Eles vão aparecer em português estruturado.
Português estruturado é uma forma de escrever instruções em português, com algumas palavras fixas, para que cada passo fique claro e sem ambiguidade.
O motivo é simples. Você ainda não escolheu uma linguagem. Cada linguagem real tem detalhes próprios, como ponto e vírgula, chaves e regras de espaçamento, que roubariam a sua atenção da ideia que importa. Em português estruturado, sobra só a ideia.
Veja um exemplo. O gerente do restaurante precisa decidir se consegue acomodar um grupo de 4 pessoas, e há 12 lugares livres:
algoritmo "acomodar_grupo"
var
lugares_livres: inteiro
tamanho_do_grupo: inteiro
inicio
lugares_livres <- 12
tamanho_do_grupo <- 4
se lugares_livres >= tamanho_do_grupo entao
escreva("Grupo acomodado")
senao
escreva("Não há lugares suficientes")
fimse
fimalgoritmo
Lendo de cima para baixo: o gerente anota que há 12 lugares livres e que o grupo tem 4 pessoas. Depois ele compara os dois números. Como 12 é maior que 4, a condição é verdadeira e o grupo é acomodado. Se fossem só 3 lugares livres, a condição seria falsa e a resposta seria a segunda mensagem.
Agora, as palavras fixas, uma de cada vez. Não precisa decorar: elas vão voltar muitas vezes.
algoritmoefimalgoritmomarcam o começo e o fim. O nome entre aspas é só um rótulo.- Variável é um espaço com nome, onde se guarda um valor. Pense em uma caixa com uma etiqueta: a etiqueta é o nome (
lugares_livres) e o que está dentro é o valor (12). varabre a lista das variáveis. Antes de usar uma caixa, o algoritmo diz que ela existe.inteirodiz o tipo do que cabe na caixa: um número inteiro, sem vírgula, como 4 ou 12.iniciomarca onde os passos começam.<-quer dizer "guarde". A linhalugares_livres <- 12se lê "guarde 12 na caixalugares_livres".escrevamostra uma mensagem na tela.se ... entao ... senao ... fimseé uma decisão. Se a condição for verdadeira, valem os passos depois doentao. Se for falsa, valem os passos depois dosenao. Ofimsefecha a decisão.
Os símbolos de comparação são os da escola: >= quer dizer "maior ou igual". Os recuos no começo das linhas não mudam nada. Eles só mostram o que fica dentro do quê.
O sistema operacional faz algo muito parecido quando você abre um programa e ele verifica se ainda existe memória livre para ele. Você vai ver isso em detalhes no capítulo 7.
Existe uma exceção. A partir do capítulo 5, você vai ver comandos de verdade, como cd ou ls. Nesse caso, o comando é o próprio assunto da aula, e você vai aprender a digitá-lo. Sempre que houver uma decisão ou uma repetição em volta desses comandos, ela continua em português estruturado.
Como aproveitar melhor o livro
Leia com o computador ligado. Quando uma aula mostrar onde algo fica no seu sistema, vá até lá e veja com os próprios olhos. O sistema operacional é um assunto que se aprende muito melhor observando.
Não tenha pressa. Se uma aula parecer densa, releia a parte do restaurante. A comparação foi escolhida justamente para ajudar nesses momentos.
Não decore. Termos como kernel, processo e driver vão aparecer várias vezes, sempre explicados na primeira vez em que surgem. Se você esquecer algum, o apêndice no final reúne todos eles em ordem alfabética.
E, principalmente, não tenha medo de errar no terminal. A cada comando que mexe em algo importante, o livro avisa antes.
Antes de começar
No primeiro capítulo, vamos fazer uma pergunta curiosa: como seria usar um computador que não tem sistema operacional nenhum? A resposta vai mostrar, melhor do que qualquer definição, por que esse programa é tão importante.
Vire a página e vamos abrir as portas do restaurante.