Você está na página 1de 19

Faculdade de Ciências e Tecnologia

Engenharia de Tecnologias e Sistemas de Informação


2ano Primeiro Semestre
Cadeira: Sistemas Operativos
Tema: Sistemas Operativos

Discentes:
Carlos Mario Malave
Jorge Gârnice Fumo
Noel Zacarias Pfumo
Rosa Covane

Prof. Dr. Anibal Faiane

Maputo, Março
2023
UNIVERSIADE JOAQUIM CHISSANO
Faculdade de Engenharia de Tecnologias de Sistemas de Informação
2 ano 1o Semestre

Cadeira: Sistemas Operativos

Discentes:
Carlos Mario Malave
Jorge Gârnice Fumo
Noel Zacarias Pfumo
Rosa Covane

Maputo, Março de 2023


ÍNDICE
 Introdução......................................................................................................2
 Arquitetura de um Sistema Operativo........................................................3
 Sistemas Monoprocessadores vs Sistemas Multiprocessadores................4
Sistemas Monoprocessadores..............................................................................4
Sistemas Multiprocessadores...............................................................................5
Sistemas Cluster...................................................................................................6
 Operações de um Sistema Operativo...........................................................8
Sistema de Enterrupções.....................................................................................9
System Calls..........................................................................................................9
Processo...............................................................................................................10
Memória..............................................................................................................10
 Estrutura de um Sistema Operativo..........................................................11
Serviços de um Sistema Operativo....................................................................11
Interfaces de um Sistema Operativo.................................................................12
Kernel de um Sistema Operativo......................................................................13
Máquina Virtual.................................................................................................14
Números de CPUs suportados por alguns Sistemas Operativos....................15
 Conclusão.....................................................................................................17
Introdução
O trabalho que temos em mão, vem com o intuito de informar aos discentes sobre
os Sistemas Operativos, estes que são indispensáveis no mundo da informática.
Esperamos que com este trabalho alcancemos os objectivos desejados.
Arquitetura de um Sistema Operativo
Um Sistema Operativo (SO) é o software principal que controla e gerencia o
hardware, recursos e software de um computador. A arquitetura de um sistema
operacional é a maneira como o sistema é projetado, organizado e dividido em
camadas para gerenciar os recursos do computador de maneira eficiente e
confiável.

Existem vários componentes principais em um sistema operacional, cada um com


sua própria função específica. A seguir, estão alguns dos principais componentes:

1. Kernel: é o núcleo do sistema operacional e é responsável por gerenciar os


recursos do hardware, como memória, CPU, dispositivos de entrada/saída,
entre outros. O kernel é a camada mais baixa do sistema operacional e é
responsável por garantir que todos os processos e aplicativos tenham acesso
aos recursos do hardware de forma adequada.
2. Gerenciador de Processos: é responsável por gerenciar e controlar os
processos que estão em execução no sistema. Ele decide qual processo
receberá o tempo da CPU e por quanto tempo, e também é responsável por
manter o controle do uso da memória.
3. Gerenciador de Memória: é responsável por gerenciar a memória
disponível no sistema. Ele aloca e desaloca memória para processos e
aplicativos, garantindo que cada processo tenha a quantidade adequada de
memória disponível.
4. Gerenciador de Dispositivos: é responsável por gerenciar os dispositivos
de entrada/saída do sistema, como discos rígidos, impressoras, scanners,
entre outros. Ele controla a comunicação entre o sistema operacional e os
dispositivos de hardware, garantindo que eles estejam funcionando
corretamente.
5. Sistema de Arquivos: é responsável por gerenciar a organização e o acesso
aos arquivos no sistema. Ele controla como os arquivos são armazenados,
organizados e recuperados do disco rígido.
6. Interface de Usuário: é a camada superior do sistema operacional que
permite aos usuários interagir com o sistema. Ele inclui elementos como
menus, janelas, botões e ícones que permitem aos usuários executar
aplicativos e acessar arquivos.

Em geral, a arquitetura de um sistema operacional é organizada em camadas


hierárquicas que se comunicam entre si, permitindo que o sistema funcione de
forma integrada e eficiente. A arquitetura do sistema operacional é fundamental
para garantir a estabilidade, segurança e eficiência do sistema, permitindo que os
usuários realizem suas tarefas de forma rápida e eficaz.

Sistemas Monoprocessadores vs Sistemas Multiprocessadores

Sistemas Monoprocessadores
Os sistemas monoprocessadores, também conhecidos como sistemas de
processador único, são sistemas de computador que possuem apenas um
processador (CPU) para executar todas as tarefas do sistema. A CPU é responsável
por realizar todas as operações de entrada/saída, processamento de dados,
execução de instruções, gerenciamento de memória, entre outras funções.

Em sistemas monoprocessadores, todas as tarefas são executadas sequencialmente,


uma após a outra, em uma única linha de processamento. Isso significa que o
desempenho do sistema é limitado pelo desempenho da CPU, o que pode levar a
gargalos e atrasos devido à sobrecarga do processador. Além disso, em sistemas
monoprocessadores, a CPU é frequentemente ociosa, pois é impossível executar
várias tarefas em paralelo.

No entanto, sistemas monoprocessadores têm algumas vantagens. Eles são


relativamente simples de projetar e implementar, o que os torna menos propensos a
erros e mais fáceis de manter e solucionar problemas. Além disso, em sistemas
monoprocessadores, não há preocupação com a coordenação entre várias CPUs e
com a alocação de recursos entre elas, o que simplifica o gerenciamento do
sistema.

Sistemas monoprocessadores ainda são amplamente utilizados em sistemas


embarcados, como sistemas de controle industrial, equipamentos médicos e
sistemas de navegação de aeronaves, onde a simplicidade e a confiabilidade são
cruciais e o desempenho do sistema é menos crítico.

Sistemas Multiprocessadores
Sistemas multiprocessadores são computadores que possuem mais de um
processador (CPU - unidade central de processamento) trabalhando
simultaneamente. Esses sistemas são utilizados para melhorar o desempenho em
tarefas que exigem grande poder de processamento, como a execução de
programas complexos, análise de dados em tempo real, simulações científicas,
entre outras aplicações.

Existem dois tipos principais de sistemas multiprocessadores: Sistemas Simétricos


(SMP) e Sistemas Assimétricos (ASMP).

Sistemas Simétricos : são sistemas em que cada processador é equivalente em


termos de capacidade e funções. Eles compartilham o mesmo barramento (ou rede)
de comunicação, a mesma memória e os mesmos dispositivos de entrada/saída. Os
sistemas SMP são amplamente utilizados em servidores de alta performance,
supercomputadores e workstations.

Sistemas Assimétricos: são sistemas que possuem processadores diferentes com


funções distintas, como processadores principais e processadores de entrada/saída.
Eles utilizam redes de comunicação dedicadas para conectar os processadores e
podem ter diferentes níveis de hierarquia. Os sistemas ASMP são comumente
utilizados em sistemas de missão crítica, como controle de tráfego aéreo e
aplicações militares.

Os sistemas multiprocessadores apresentam vantagens e desvantagens em relação


aos sistemas monoprocessadores (com apenas um processador). Por um lado, eles
são capazes de executar tarefas mais rapidamente e processar grandes volumes de
dados. Por outro lado, eles são mais complexos, exigem sistemas operacionais e
aplicativos otimizados para aproveitar todo o potencial dos processadores e podem
ter problemas de escalabilidade em sistemas com muitos processadores.

Sistemas Cluster
Sistemas cluster são um tipo de sistema de computação paralela que consiste em
um conjunto de computadores independentes conectados por uma rede de alta
velocidade. Esses computadores, também conhecidos como nós do cluster,
trabalham juntos para realizar uma tarefa ou conjunto de tarefas em paralelo,
dividindo a carga de trabalho entre si.

Cada nó do cluster é geralmente um computador completo, incluindo processador,


memória, armazenamento e dispositivos de entrada/saída. Os nós são
interconectados por uma rede de alta velocidade, que permite a comunicação
rápida e eficiente entre eles.

Os sistemas cluster são amplamente utilizados em aplicações que exigem grande


poder de processamento, como simulações científicas, processamento de imagens e
análise de dados em tempo real. Eles também são comumente utilizados em
ambientes de computação de alta disponibilidade e de recuperação de desastres,
onde a tolerância a falhas é fundamental.

Existem vários tipos de sistemas de cluster, alguns dos principais são:

1. Clusters de alta disponibilidade (HA): Este tipo de cluster é utilizado para


garantir a continuidade do serviço em caso de falhas. Cada nó é capaz de
assumir o trabalho do nó que falhou.
2. Clusters de carga balanceada: Este tipo de cluster é utilizado para
distribuir a carga de trabalho de forma uniforme entre os nós do cluster,
melhorando o desempenho e a capacidade de processamento.
3. Clusters de alto desempenho (HPC): Este tipo de cluster é utilizado para
realizar cálculos complexos e exigentes em termos de recursos. São
comumente usados em campos como pesquisa científica, engenharia e
indústria.
4. Clusters de armazenamento: Este tipo de cluster é utilizado para
armazenar e gerenciar grandes quantidades de dados. Eles geralmente
consistem em nós de armazenamento e servidores de arquivos.
5. Clusters de aplicativos: Este tipo de cluster é utilizado para executar
aplicativos em paralelo e distribuir a carga de trabalho entre os nós do
cluster. Eles são comumente usados em aplicativos empresariais e análise de
dados.

Operações de um Sistema Operativo


Um sistema operacional realiza diversas operações, algumas das mais importantes
são:

1. Gerenciamento de recursos: O sistema operacional é responsável por


gerenciar os recursos do computador, como a memória, processador,
dispositivos de entrada e saída, e rede. Ele aloca os recursos necessários para
cada processo em execução, garantindo que eles tenham acesso aos recursos
necessários e evitando conflitos de acesso.
2. Gerenciamento de processos: O sistema operacional é responsável por
gerenciar os processos em execução no sistema, incluindo a criação, a
finalização, a interrupção e a troca de contexto entre processos.
3. Gerenciamento de memória: O sistema operacional é responsável por
gerenciar a memória do sistema, garantindo que cada processo tenha acesso
aos recursos necessários e evitando conflitos de acesso.
4. Gerenciamento de arquivos: O sistema operacional é responsável pelo
gerenciamento de arquivos armazenados em dispositivos de armazenamento,
permitindo que os usuários criem, acessem e modifiquem arquivos.
5. Gerenciamento de dispositivos: O sistema operacional é responsável por
gerenciar os dispositivos de entrada e saída, permitindo que os usuários
interajam com o sistema e os aplicativos acessem os dispositivos.
6. Gerenciamento de segurança: O sistema operacional é responsável por
garantir a segurança do sistema, protegendo contra vírus, hackers, malware e
outras ameaças.
Essas são apenas algumas das operações realizadas por um sistema operacional.
Dependendo da complexidade e das funcionalidades do sistema, outras operações
podem ser realizadas.

Sistema de Enterrupções
Um sistema de interrupções (ou sistema de interrupções de hardware) é um
componente do sistema operacional responsável por gerenciar e processar as
interrupções geradas pelos dispositivos de hardware conectados ao computador.

As interrupções são sinais enviados pelos dispositivos de hardware para o


processador do computador, indicando que uma ação foi concluída ou que ocorreu
um evento. Essas interrupções são processadas pelo sistema operacional através do
sistema de interrupções, que é composto por um conjunto de rotinas de tratamento
de interrupções.

Quando uma interrupção é gerada por um dispositivo de hardware, o sistema


operacional interrompe a execução do programa atual e transfere o controle para a
rotina de tratamento de interrupção correspondente. Essa rotina processa a
interrupção e retorna o controle ao programa interrompido.

O sistema de interrupções é uma parte crítica do sistema operacional, pois permite


que o sistema operacional gerencie eficientemente a comunicação com dispositivos
de hardware e garanta que as operações sejam concluídas corretamente e sem a
perda de dados.

System Calls
Um sistema de chamadas (também conhecido como sistema de chamadas de
sistema ou system call) é uma interface entre os programas de aplicativos e o
sistema operacional.
Os programas de aplicativos não podem acessar diretamente os recursos do
sistema, como os dispositivos de hardware ou a memória, porque esses recursos
são protegidos pelo sistema operacional. Em vez disso, os programas de aplicativos
fazem chamadas ao sistema operacional através do sistema de chamadas para
solicitar que o sistema operacional execute uma determinada tarefa em seu nome.

Por exemplo, um programa de processamento de texto pode fazer uma chamada ao


sistema operacional para abrir um arquivo, escrever dados nele ou salvá-lo. Essas
chamadas são traduzidas pelo sistema operacional em instruções de baixo nível que
permitem acessar os recursos do sistema.

O sistema de chamadas é uma parte fundamental do sistema operacional, pois


permite que os programas de aplicativos acessem os recursos do sistema de forma
segura e eficiente. Sem um sistema de chamadas, os programas de aplicativos
teriam que lidar diretamente com a complexidade do hardware do sistema, o que
seria difícil e arriscado.

Processo
Um processo é uma instância de um programa em execução no sistema
operacional. Ele é composto por um conjunto de instruções do programa, dados e
contexto de execução, como o contador de programa, registradores e pilha.

Os processos são gerenciados pelo sistema operacional, que é responsável por


criar, executar, suspender, retomar e finalizar processos. O sistema operacional
também é responsável por fornecer mecanismos para sincronizar e compartilhar
recursos entre processos.
Memória
A memória é um componente importante de um sistema de computador,
responsável por armazenar dados e instruções que são acessados pelo processador
durante a execução de um programa.

Existem diferentes tipos de memória, incluindo a memória principal (RAM), a


memória secundária (disco rígido), a memória cache e a memória virtual. Cada
tipo de memória tem uma função específica no sistema e é gerenciado pelo sistema
operacional.

O sistema operacional é responsável por gerenciar a memória do sistema,


garantindo que cada processo tenha acesso aos recursos necessários e evitando
conflitos de acesso. O sistema operacional aloca e libera espaço na memória
principal para os processos em execução, e também gerencia a transferência de
dados entre a memória principal e a memória secundária, conforme necessário.

Estrutura de um Sistema Operativo

Serviços de um Sistema Operativo


Um sistema operativo fornece uma série de serviços que são essenciais para a
operação de um computador ou dispositivo móvel. Alguns dos principais serviços
fornecidos por um sistema operativo incluem:

1. Gerenciamento de hardware: o sistema operativo gerencia o hardware do


computador, como CPU, memória, dispositivos de entrada e saída, entre
outros.
2. Gerenciamento de arquivos: o sistema operativo fornece um sistema de
arquivos para gerenciar a criação, leitura, gravação e exclusão de arquivos
no disco rígido ou outros dispositivos de armazenamento.
3. Gerenciamento de processos: o sistema operativo gerencia a execução de
programas e processos, alocando recursos como memória e CPU e
gerenciando as interações entre eles.
4. Gerenciamento de rede: o sistema operativo fornece recursos para conectar
um computador ou dispositivo móvel a uma rede e gerenciar a comunicação
entre dispositivos.
5. Interface do usuário: o sistema operativo fornece uma interface gráfica do
usuário ou interface de linha de comando para interagir com o computador
ou dispositivo móvel.
6. Segurança: o sistema operativo fornece recursos de segurança, como
controle de acesso de usuário e criptografia de dados, para proteger o
computador e os dados armazenados nele.
7. Gerenciamento de energia: o sistema operativo gerencia o consumo de
energia do computador ou dispositivo móvel, permitindo economizar energia
quando não estiver em uso.

Interfaces de um Sistema Operativo


Um sistema operativo pode ter várias interfaces, que são as formas como o usuário
interage com o sistema. Algumas das interfaces mais comuns são:

1. Interface de linha de comando (CLI): é uma interface baseada em texto,


onde o usuário digita comandos para realizar tarefas no sistema operativo. A
CLI é comumente usada por usuários avançados e administradores de
sistema.
2. Interface gráfica do usuário (GUI): é uma interface baseada em imagens e
ícones, que permite ao usuário interagir com o sistema operativo por meio de
janelas, menus e botões. A GUI é a interface mais comum em sistemas
operativos modernos e é usada por usuários comuns.
3. Interface de programação de aplicativos (API): é uma interface que
permite que os desenvolvedores criem aplicativos para o sistema operativo.
A API define como os aplicativos podem interagir com o sistema operativo,
como acessar recursos do sistema, como a memória e a rede.
4. Interface de linha de comando de gerenciamento (CLI de
gerenciamento): é uma interface de texto que permite que os
administradores do sistema gerenciem as configurações e os recursos do
sistema operativo. A CLI de gerenciamento é usada principalmente por
administradores de sistemas e não é comum para usuários comuns.

Kernel de um Sistema Operativo


O kernel de um sistema operativo é a parte central do sistema responsável pelo
gerenciamento de recursos e execução de tarefas do sistema. É a camada mais
próxima do hardware do computador e fornece os serviços básicos para o
funcionamento do sistema operativo. Algumas das principais funções do kernel de
um sistema operativo incluem:

1. Gerenciamento de memória: o kernel gerencia o acesso à memória do


sistema, alocando e desalocando memória para os programas e processos em
execução.
2. Gerenciamento de processos: o kernel gerencia a criação, execução e
término dos processos do sistema, alocando recursos como CPU e memória.
3. Gerenciamento de entrada e saída: o kernel gerencia o acesso aos
dispositivos de entrada e saída, como teclado, mouse e impressora,
garantindo que os processos tenham acesso adequado a esses recursos.
4. Gerenciamento de arquivos: o kernel fornece as funções para acessar e
gerenciar os arquivos do sistema, incluindo criação, exclusão, leitura e
gravação de arquivos.
5. Gerenciamento de rede: o kernel fornece as funcionalidades para o acesso
e gerenciamento da rede, incluindo a comunicação entre dispositivos e a
transmissão de dados.

O kernel é um componente crítico do sistema operativo e deve ser estável e


confiável. Geralmente, é programado em linguagem de baixo nível, como C ou
Assembly, para garantir a eficiência e a segurança do sistema.

Máquina Virtual
Uma máquina virtual (VM) é um ambiente virtualizado que permite executar
múltiplos sistemas operativos em um único computador físico. A VM é criada a
partir de um software que emula o comportamento de uma máquina física e
permite que um sistema operativo completo seja instalado e executado dentro dela,
sem afetar o sistema operativo hospedeiro.

Ao criar uma VM, o software de virtualização aloca recursos do sistema, como


CPU, memória e armazenamento, e cria um ambiente isolado em que o sistema
operativo convidado pode ser executado. A VM é totalmente independente do
sistema operativo hospedeiro e pode ter seu próprio conjunto de drivers,
aplicativos e arquivos.
Números de CPUs suportados por alguns Sistemas Operativos

Windows Server 2012


O número de CPUs suportados pelo Windows Server 2012 depende da edição do
sistema operativo. As diferentes edições do Windows Server 2012 suportam um
número diferente de processadores físicos e núcleos de processador. Aqui está um
resumo das limitações de CPU por edição:

Windows Server 2012 Standard: suporta até dois processadores físicos e até 64
núcleos de processador.

Windows Server 2012 Datacenter: suporta um número ilimitado de processadores


físicos e até 640 núcleos de processador.

Windows Server 2012 Essentials: suporta um único processador físico com até
dois núcleos de processador.

Windows Server 2016

O número de CPUs suportados pelo Windows Server 2016 também depende da


edição do sistema operacional. As diferentes edições do Windows Server 2016
suportam um número diferente de processadores físicos e núcleos de processador.
Aqui está um resumo das limitações de CPU por edição:

Windows Server 2016 Standard: suporta até dois processadores físicos e até 24
núcleos de processador por processador, totalizando até 48 núcleos.
Windows Server 2016 Datacenter: suporta um número ilimitado de processadores
físicos e até 24 núcleos de processador por processador, sem limitação no número
total de núcleos.

Windows Server 2016 Essentials: suporta um único processador físico com até
dois núcleos de processador.

Windows Server 2019

O número de CPUs suportados pelo Windows Server 2019 também depende da


edição do sistema operacional. As diferentes edições do Windows Server 2019
suportam um número diferente de processadores físicos e núcleos de processador.
Aqui está um resumo das limitações de CPU por edição:

Windows Server 2019 Standard: suporta até dois processadores físicos e até 24
núcleos de processador por processador, totalizando até 48 núcleos.

Windows Server 2019 Datacenter: suporta um número ilimitado de processadores


físicos e até 24 núcleos de processador por processador, sem limitação no número
total de núcleos.

Windows Server 2019 Essentials: suporta um único processador físico com até
dois núcleos de processador.
Conclusão
Esperamos que tenhamos deixado o essencial acerca dos Sistemas Operativos, e
que este trabalho contribua de forma positiva no processo de ensino-aprendizagem.

Você também pode gostar