Você está na página 1de 11

SISTEMAS OPERACIONAIS

- MEMORIA VIRTUAL - GERENCIADOR RAM - GERENCIADOR DE


PROCESSADOR - GERENCIADOR DE ARQUIVO

Cpu - responsável por processar todos dados, é como fosse o cérebro.


Ram - ela que executa o programa, exemplo todo aplicativo que você abre no celular ou PC
é por que ele está na ram.

Quando você fecha o app ele automaticamente sai da memória ram. Exemplo o WhatsApp que
você está usando agora. Neste exato o programa (zapzap) está na memória ram do seu celular,
quando você fecha o zap ele sai da memória ram. Todo aplicativo que você executa quer dizer
que ele está rodando na memória ram.

Você provavelmente já passou por essa situação exemplo : você baixou um jogo, mas na hora
de entrar nele o jogo fecha sozinho do nada e não abre mais. Isso acontece pois provavelmente
o jogo exigia muita memória ram. E sua memória ram era fraca

Ela aí. Nessa placa fica a cpu, ram, hd. Nesta placa à circuitos que ligam todos os hardwares
como cpu e hd e , que consequentemente permite a comunicar entre eles. Esta arquitetura de
memória processador foi criada pelo John Von Neumann.

Pronto, Só isso daria pra mexer no PC, mas só quem fosse fodão em informática. Pois, para
comandar uma máquina dessa basicamente é usuário e hardware.

Mas Deus é bom (se você for ateu desconsidere). E criaram o sistema operacional. Que é um
software qualquer só que é um software que administra os hardwares fazendo uma ponte
entre usuário e hardware. Facilitando nossa vida de usuário com QI menor que uma banana.
RESUMÃO
Você liga a CPU, e a partir daqui tudo está integrado na placa mãe, ao ligar aciona a Rum que é
um Hardware um mini chip, e dentro da Rum tem a Bios que é um algoritmo, um Software. Daí,
a função da Bios é ter acesso ao HD, e dentro do HD tem um espaço zero onde o nome é Boot
e dentro dele tem o Sistema Operacional.

O Sistema Operacional vai para a Ram onde aparece a tela (iniciando) e todos os gerenciadores
começam a funcionar, existem 4 tipos de gerenciadores, gerenciador de memória principal,
gerenciador de processador, gerenciador secundário e gerenciador de arquivos.

O gerenciador de arquivos manda o Sistema Operacional para a Ram, o Gerenciador de


Memória principal (também pode ser o Gerenciador de Processos) manda a informação em
binário (0101010) para a CPU, e para que a CPU consiga mandar de volta a mensagem, ela lê o
Id da Ram e reenvia já traduzido, pelo Gerenciador de processos.

O que é um sistema operacional? É um algoritmo responsável pela organização dos hardwares,


tradução e facilitação para o usuário.

O que é um Hardware? É a parte física de um Sistema computacional.

O que é um software? É um conjunto de algoritmos de uma máquina, a parte lógica que pode
ser um aplicativo, ou o próprio Sistema Operacional.

O que é CPU? Um Hardware, e tem o UC que é unidade de controle, porque ele tem acesso há
RAM e também tem o ULA que cuida da parte dos cálculos, e a CPU trabalha junto com a Placa
de Vídeo, que ajuda ele a ler fotos e vídeos.

O que é um HD? É um Hardware que tem a funcionabilidade de mostrar na tela as informações


e também traduz. Existe a memória Volátil e Não Volátil. Elétrica e Magnética.

Como os processos são organizados da Ram para a CPU? Em filas, as vezes padrão e as vezes
por necessidade.

Fila padrão é quem chegou primeiro, e por necessidade se escolhe o software mais pesado e
em caso até é fragmentado. Por exemplo: Em um jogo por exemplo Fifa, não dá para jogar dois
jogos enquanto está com o FIFA, primeiro um depois outro. Isso se chama Processo
Monoprogramavel.

Em um outro cenário onde você está com o WhatsApp, Instagram, TikTok etc., abertos é um
Multiprogramavel, ou seja que pode ter 1 ou mais processos abertos na RAM.

Se você abre um aplicativo, você tem 2 processos abertos, do app e do sistema operacional,
pois, os dois são softwares.

O celular apenas funciona na facilidade que funciona, por conta do sistema operacional e o
sistema operacional só funciona por conta da Bios.

;
Existe dois tipos de SO
Multiprogramavel e o Monoprogramavel

S0 multiprogramavel: S0 permite vários softwares na memória ram, ou seja, você


pode abrir vários aplicativos ao mesmo tempo como YouTube Facebook zapzap.

S0 monoprogramavel: Só permite 1 software na ram, ou seja, um aplicativo


aberto. Imagina que seu celular só deixasse você abrir um App por vez, nunca 2 ou 3 sempre
1 por vez

Quando você abre um App você coloca o software na ram, e é criado um processo. Cada
processo tem uma tabela. A partir daqui fica muito abstrato acho que é melhor eu explicar na
sala de aula, importante você entender arquitetura computacional básica coisa que eu já
expliquei aqui no são para ti, como cpu hd ram, sabendo o básico disto que mais fácil de você
entender quando nós tivermos na sala. Lembre-se- se cpu processa dados matemáticos e
aritmética.

Ram - ele abre os softwares e criam um processo.


Hd - guarda vídeos, imagem e música.

Conceitos de Hardware e Software


Hardware = toda parte física de um sistema computacional, exemplo: CPU, HD,
RAM, TECLADO, MOUSE, WEB CAM
Software = uma estrutura em uma linguagem de programação, exemplo: se você
programar em C uma calculadora o código estruturado é um software.

CONTEÚDO A1
Thread em sistemas operacionais, é uma unidade menor de execução dentro de um
processo. Diferentes threads em um processo compartilham os mesmos recursos, como
memória e arquivos, mas têm seu próprio contador de programa, registradores e pilha de
execução.

Processo:
Um processo é um programa em execução. Ele contém o código executável, dados, e outros
recursos do sistema, além de pelo menos um thread.4

Multithreading:
O conceito de multithreading refere-se à capacidade de um processo executar várias threads
simultaneamente. Isso permite que partes diferentes de um programa sejam executadas em
paralelo, melhorando potencialmente o desempenho e a capacidade de resposta do sistema.

Thread de Kernel e Thread de Usuário:


Em alguns sistemas operacionais, há uma distinção entre threads de kernel e de usuário.
Threads de kernel são gerenciados pelo sistema operacional, enquanto threads de usuário são
gerenciados pela aplicação.

Concorrência e Sincronização:
A utilização de threads pode levar a situações de concorrência, onde várias threads estão
tentando acessar ou modificar os mesmos recursos simultaneamente. A sincronização é
importante para garantir que as operações ocorram de maneira segura e previsível.

Processador componentes -importância


(CPU)
Os processadores são componentes essenciais em qualquer sistema computacional e
desempenham um papel crucial na determinação do desempenho e na capacidade de
processamento do sistema. A importância dos componentes do processador pode ser
entendida através de diversos aspectos:
Execução de Instruções: A principal função de um processador é executar instruções de
software. Quanto mais rápido um processador pode executar instruções, mais eficiente será o
sistema em lidar com tarefas diversas, desde operações básicas até processos mais complexos.

Desempenho Geral do Sistema: O desempenho geral de um computador, tablet,


smartphone ou qualquer outro dispositivo depende significativamente do desempenho do
processador. Isso afeta a velocidade de inicialização, a resposta a comandos, a execução de
aplicativos e a capacidade de multitarefa.

Multitarefa e Multithreading: Processadores modernos frequentemente possuem


múltiplos núcleos e suporte a multithreading. Isso permite a execução simultânea de várias
tarefas, melhorando a capacidade de multitarefa e o desempenho geral do sistema.

Eficiência Energética: A eficiência energética do processador é crucial em dispositivos


móveis e laptops. Processadores eficientes consomem menos energia, prolongando a vida da
bateria e reduzindo o calor gerado.

Suporte a Tecnologias Específicas: Certos processadores oferecem suporte a


tecnologias específicas, como virtualização, instruções avançadas (por exemplo, SIMD para
processamento de dados), e segurança incorporada.

Desempenho em Aplicações Específicas: Dependendo das necessidades do


usuário, um processador pode ser otimizado para desempenho em jogos, edição de vídeo,
tarefas de produtividade ou outras aplicações específicas.

Atualizações e Upgrades: Em muitos casos, a capacidade de realizar upgrades em um


sistema está relacionada ao processador. Um processador mais poderoso pode prolongar a
vida útil de um sistema, oferecendo um desempenho competitivo por mais tempo.

Técnicas de Escalonamento (FiFo e


SJF)
FIFo (First In, First Out):
O algoritmo FIFO é um dos métodos mais simples de escalonamento. Ele atribui prioridade à
ordem de chegada dos processos. O primeiro processo a chegar é o primeiro a ser executado, e
assim por diante. É um exemplo de uma fila de espera simples.
Características: Simplicidade - fácil de entender e implementar. Pode resultar em
tempos de espera longos, especialmente se processos de longa duração chegarem primeiro.
Adequado para sistemas onde a ordem de chegada é um critério justo de alocação de recursos.
Pode ser aplicado em situações em que a previsibilidade do tempo de execução dos processos
não é crucial.

SJF (Shortest Job First):


O algoritmo SJF atribui prioridade ao processo com o menor tempo de execução restante. Ele
tenta minimizar o tempo total de execução considerando o próximo processo com o menor
tempo de CPU necessário.

Características: Minimiza o tempo médio de espera, priorizando os processos mais curtos.


Dificuldade em estimar com precisão o tempo de execução dos processos antes de sua
execução. Eficiente quando é possível estimar ou medir o tempo de execução de cada processo
com alguma precisão. Pode ser adequado para ambientes onde a otimização do tempo de
execução é crucial

Page Out, Page In, Page Fault.


Page Out:
"Page Out" refere-se ao processo de mover uma página de dados da memória principal (RAM)
para o armazenamento secundário, geralmente em um disco rígido.

Isso ocorre quando o sistema operacional precisa liberar espaço na RAM para acomodar outras
páginas ou processos em execução. O conteúdo da página é temporariamente transferido para
o armazenamento de longo prazo, e se necessário no futuro, pode ser "Page In" de volta para a
RAM.

Page In:
"Page In" é o processo oposto ao "Page Out". Envolve a transferência de uma página de dados
do armazenamento secundário (como um disco rígido) de volta para a memória principal
(RAM).

Isso ocorre quando o sistema operacional determina que uma página que foi previamente
movida para o armazenamento secundário precisa ser acessada novamente. O conteúdo da
página é lido do disco para a RAM.

Page Fault:
Um "Page Fault" ocorre quando um programa ou processo tenta acessar uma página na
memória que não está atualmente na RAM.

Isso pode acontecer porque a página foi movida para o armazenamento secundário (Page Out)
e agora precisa ser trazida de volta (Page In), ou porque a página nunca foi carregada na RAM.
Em resposta a um "Page Fault", o sistema operacional toma medidas para carregar a página
necessária na RAM antes de permitir que o programa acesse os dados contidos nessa página.
Preemptivos e Não Preemptivo
Preemptivo:
Em um sistema preemptivo, um processo em execução pode ser interrompido antes de sua
conclusão para dar lugar a um processo de maior prioridade ou para iniciar a execução de uma
nova tarefa. Isso significa que o sistema operacional tem o poder de "preemptar" ou
interromper a execução de um processo em andamento. A troca entre os processos pode
ocorrer em intervalos regulares de tempo ou em resposta a eventos específicos.

Exemplo: O escalonamento preemptivo é comum em sistemas multitarefa, onde várias


tarefas são executadas concorrentemente e o sistema operacional decide quando alternar
entre elas.

Não Preemptivo:
Em um sistema não preemptivo, um processo em execução não pode ser interrompido até que
termine naturalmente ou solicite explicitamente a interrupção. O sistema operacional não
interfere na execução de um processo até que esse processo libere voluntariamente o controle.
Esse tipo de sistema é muitas vezes chamado de "cooperativo", pois depende da cooperação
dos processos para liberar o controle.

Exemplo: O escalonamento FCFS (First-Come, First-Served), onde o primeiro processo a


chegar é o primeiro a ser executado, e ele não é interrompido até que termine.

Tratamento de Erros
O tratamento de erros em sistemas operacionais é multifacetado e envolve uma combinação
de estratégias para detecção, relatório, registro e, sempre que possível, recuperação de falhas.
Essas práticas contribuem para a confiabilidade e estabilidade dos sistemas operacionais em
diferentes ambientes e cenários de uso.

Sistemas operacionais fornecem mensagens de erro claras e informativas para os usuários e


administradores do sistema. Isso ajuda a identificar a natureza do problema e a tomar medidas
corretivas. Geralmente mantêm registros detalhados de eventos, incluindo erros, em logs do
sistema. Esses logs são cruciais para os administradores diagnosticarem problemas e para os
desenvolvedores melhorarem o sistema.
Podem ser projetados para se recuperar automaticamente de certos tipos de erros. Por
exemplo, um sistema operacional pode tentar reiniciar automaticamente um serviço que
falhou. Em sistemas com interface gráfica, as exceções podem ser apresentadas aos usuários
de maneira amigável, informando sobre o erro de uma forma que seja compreensível.

Sistemas operacionais implementam mecanismos de proteção para isolar processos uns dos
outros, o que ajuda a evitar que um erro em um processo cause danos a outros processos ou
ao sistema como um todo. Atualmente, implementam estratégias para lidar com falhas de
hardware, como a correção de erros de memória (ECC) para detectar e corrigir erros de bits.

Em operações críticas, os sistemas operacionais podem implementar políticas de retentativa,


tentando novamente uma operação após uma falha inicial. Além disso, podem ser
implementadas estratégias de backoff para evitar tentativas repetitivas em curtos intervalos de
tempo.

Sistemas operacionais precisam lidar com erros em operações de entrada/saída, como falhas
de disco, perda de conexão de rede etc. Isso pode envolver mecanismos de recuperação, como
realocação de setores defeituosos em discos.

Afinal, muitas vezes incluem ferramentas de monitoramento e alertas que permitem que os
administradores sejam notificados sobre problemas imediatamente. Em caso de falha grave, os
sistemas operacionais podem oferecer mecanismos de reinicialização segura para garantir
uma recuperação estável.

Memória Ram
A memória RAM (Random Access Memory), ou memória de acesso aleatório, é um
componente vital em computadores e outros dispositivos eletrônicos.

Definição:
A RAM é uma forma de memória volátil que armazena dados temporariamente enquanto um
dispositivo está ligado. É chamada de "acesso aleatório" porque o processador pode acessar
qualquer local de armazenamento diretamente, sem ter que percorrer os dados
sequencialmente.

Volatilidade:
A memória RAM é volátil, o que significa que os dados armazenados nela são perdidos quando
o dispositivo é desligado. Isso é diferente da memória de armazenamento de longo prazo,
como discos rígidos ou SSDs.

Função Principal:
A principal função da RAM é fornecer espaço de trabalho para o sistema operacional e os
aplicativos em execução. Isso inclui o armazenamento temporário de dados e instruções
necessários para a operação dos programas.

Rapidez de Acesso:
A RAM é muito mais rápida em termos de acesso do que a memória de armazenamento de
longo prazo. Isso permite que o processador recupere rapidamente dados necessários para a
execução de programas e operações do sistema.

Hierarquia de Memória:
Em muitos sistemas, a RAM faz parte de uma hierarquia de memória que inclui cache e
memória de armazenamento secundário. Cada nível dessa hierarquia tem diferentes
capacidades, velocidades de acesso e custos.

Capacidade e Upgrade:
A capacidade da RAM pode variar de alguns gigabytes a vários terabytes, dependendo do
dispositivo. Em muitos computadores, é possível fazer upgrade da RAM para melhorar o
desempenho.

Trabalho em Conjunto com o Processador:


A RAM e o processador trabalham em conjunto para fornecer um ambiente eficiente para a
execução de programas. Quanto mais RAM disponível, mais dados e instruções podem ser
mantidos na memória, melhorando o desempenho geral do sistema.

Memória Virtual
A memória virtual é uma técnica utilizada por sistemas operacionais para expandir a
capacidade de armazenamento disponível, permitindo que programas usem mais memória do
que fisicamente existe na RAM (Random Access Memory).

Definição:
Memória virtual é uma combinação da RAM (memória de acesso aleatório) e espaço no
armazenamento de longo prazo, como discos rígidos ou SSDs, que é usado pelo sistema
operacional para criar uma ilusão de que há mais memória RAM disponível do que realmente
existe fisicamente.

Paginação e Segmentação:
Duas abordagens principais são usadas na implementação de memória virtual: paginação e
segmentação. A paginação divide a memória em páginas fixas, enquanto a segmentação divide
a memória em segmentos lógicos.

Swapping:
O sistema operacional pode mover partes inativas de programas para o armazenamento de
longo prazo em um processo chamado "swapping". Isso libera espaço na RAM para outros
processos ativos.
Page Faults:
Quando um programa tenta acessar uma parte da memória que está no armazenamento de
longo prazo e não na RAM, ocorre um "page fault". O sistema operacional responde trazendo a
página necessária da memória secundária para a RAM.

Eficiência vs. Capacidade:


A memória virtual oferece eficiência ao permitir que mais programas sejam executados
simultaneamente, mas pode diminuir o desempenho se houver muitos page faults. Encontrar
um equilíbrio entre eficiência e capacidade é crucial.

Mapeamento de Endereços Virtuais para Físicos:


O sistema operacional mantém tabelas de mapeamento que associam endereços virtuais
(usados pelos programas) a endereços físicos (na RAM ou no armazenamento de longo prazo).

Benefícios:
Permite que programas usem mais memória do que a RAM física disponível. Facilita a execução
eficiente de vários programas simultaneamente. Melhora a utilização dos recursos de
armazenamento.

Desvantagens:
Pode levar a page faults, que podem afetar o desempenho. Requer gerenciamento complexo
por parte do sistema operacional.

3 estados (execução, pronto e espera)


Esses estados refletem o ciclo de vida de um processo enquanto ele é executado no sistema.

Execução: Neste estado, o processo está sendo executado pela CPU (Unidade Central
de Processamento). Durante a execução, o processo está realizando suas operações e
instruções designadas. É neste estado que o processo está utilizando ativamente os recursos do

sistema. Pronto: No estado "Pronto", o processo está carregado na memória e pronto


para ser executado pela CPU, mas está temporariamente aguardando sua vez de ser
escalonado para execução. Isso geralmente ocorre quando há vários processos em execução

concorrente e o sistema operacional precisa alternar entre eles. Espera: No estado


"Espera" (ou "Bloqueado"), o processo está temporariamente interrompido ou impedido de
continuar sua execução devido a algum evento externo, como uma operação de entrada/saída
(E/S). O processo está aguardando a conclusão de uma operação, como leitura de dados de um
disco ou entrada do usuário.

+-------------------------+
| |

| Execução |

| |

+-------------------------+

+-------------------------+

| |

| Pronto |

| |

+-------------------------+

+-------------------------+

| |

| Espera |

| |

+-------------------------+

Os processos podem transitar entre esses estados à medida que são escalonados para
execução, aguardam eventos de E/S ou terminam suas operações.

O gerenciamento eficiente desses estados é fundamental para garantir um sistema


operacional eficaz e responsivo.

O escalonador do sistema operacional é responsável por decidir quais processos são


movidos entre esses estados com base em políticas de escalonamento e nas condições do
sistema.

Você também pode gostar