Você está na página 1de 7

UNIVERSIDADE FEDERAL DO PIAUÍ - UFPI

CURSO: BACHAREL EM SISTEMAS DE INFORMAÇÃO

DISCIPLINA: SISTEMAS OPERACIONAIS

PROFESSOR: DEBORAH MAGALHÃES

ALUNO: PEDRO ANTONIO VITAL DE SOUSA CARVALHO

1. Quais as principais funções do sistema operacional?

Umas das principais funções do sistema operacional é esconder toda a


complexidade do hardware, tornar para o usuário tudo mais simples no computador,
gerenciamento de tarefas e execução de programas.

2. Quais os principais elementos que compõem um sistema de informação?

Recursos de software, recursos de hardware, recursos de rede, recursos de dados e


recursos humanos.

3. Quais as gerações dos sistemas operacionais e qual a principal


característica de cada 1 delas?

1. Primeira Geração - Sistemas Operacionais de Válvulas (1944~1955):

- Característica: Utilizavam válvulas eletrônicas para implementar as

funcionalidades do sistema operacional.

- Exemplo: ENIAC, UNIVAC I.

2. Segunda Geração - Sistemas Operacionais de Transistores (1955~1965):

- Característica: Utilizavam transistores para substituir as válvulas, tornando os

sistemas mais confiáveis, compactos e eficientes em termos de consumo de

energia.

- Exemplo: IBM 1401, DEC PDP-8.

3. Terceira Geração - Sistemas Operacionais de Circuitos Integrados e uso da

multiprogramação (1965~1980):

- Característica: Utilizavam circuitos integrados e multiprogramação para evitar


“perda” de tempo no intervalo entre processos, possibilitando a criação de sistemas

ainda mais compactos, poderosos e eficientes.

- Exemplo: IBM System/360, DEC PDP-11.

4. Quarta Geração - Sistemas Operacionais de Chips e Microprocessadores

(1980~1990):

- Característica: Introdução dos microprocessadores, que permitiram a criação de

sistemas operacionais mais versáteis e de baixo custo, levando ao surgimento dos

computadores pessoais.

- Exemplo: Microsoft Disk Operating System (MS-DOS), Apple DOS.

5. Quinta Geração - Sistemas Operacionais Multitarefa e Multimídia, Sistemas

Operacionais de Código Aberto e Dispositivos Móveis (1990~Até dias atuais):

- Característica: Suporte a multitarefa, permitindo a execução simultânea de vários

aplicativos, e recursos avançados de multimídia, crescimento do software de código

aberto, com sistemas operacionais como o Linux, e o surgimento de dispositivos

móveis, como smartphones e tablets.

- Exemplo: Windows 95/98/Me, MacOS, Linux (distribuições como Ubuntu,

Fedora), Android, iOS.

4. O que é Multiprogramação?

É uma técnica de computação que permite que vários programas sejam

executados compartilhando os recursos do computador tais como discos,

impressora, memória e processador. O processador executa instruções de um

programa por um curto período de tempo e, em seguida, passa para outro

programa, alternando rapidamente entre eles.


5. Para acompanhar as evoluções na indústria do hardware, diferentes tipos
de sistemas operacionais foram desenvolvidos. Entre eles, destaque 3 tipos
utilizados atualmente e comente brevemente sobre eles.

Sistemas Operacionais de Servidores: Esses sistemas são projetados para


gerenciar e fornecer serviços em ambientes de servidor. Exemplos incluem o
Windows Server, Linux (com distribuições como Ubuntu, CentOS, Red Hat) e Unix.

Sistemas Operacionais Móveis: São sistemas projetados para dispositivos


portáteis, como smartphones e tablets. Exemplos incluem Android, iOS (usado em
iPhones) e Windows Phone.

Sistemas Operacionais de Computadores Pessoais (PCs): Esses sistemas são


projetados para serem utilizados em computadores desktop e laptops. Exemplos
incluem o Microsoft Windows, macOS e Linux.

6. Apesar da gama de sistemas operacionais, focados em nichos específicos,

como, por exemplo: sistemas operacionais servidores, sistemas operacionais

de redes de sensores sem fio, entre outros, tais sistemas possuem conceitos

em comuns. Defina processo, espaço de endereçamento e arquivo.

Processo: Um processo é uma cópia em execução de um programa. Ele representa


a unidade fundamental de trabalho em um sistema operacional. Cada processo tem
sua própria área de memória, contexto de execução e recursos associados.

Espaço de Endereçamento: O espaço de endereçamento é a faixa de endereços de


memória disponíveis para um processo em um sistema operacional. Cada processo
tem seu próprio espaço de acesso virtual exclusivo, o que significa que cada
processo tem uma visão única da memória.

Arquivo: Um arquivo é uma unidade lógica de armazenamento de dados em um


sistema operacional. É usado para guardar informações duradouras, como
programas, documentos, imagens e dados de configuração.

7. Em muitas situações, a CPU é compartilhada entre 2 ou mais processos. No


momento em a CPU é atribuída à outro processo, o processo corrente precisa
guardar seu estado atual para que seja dada continuidade à sua execução em
um instante posterior. Quais informações o processo armazena e onde elas
são armazenadas?

Armazenamento de Estado do Processo: Isso inclui os valores dos registros da


CPU, como registros gerais, registro de programa (PC), registros de números com
casas decimais e quaisquer outros registros relevantes para a arquitetura específica
do processador.
Dados de Controle: Isso envolve informações sobre a situação do processo, como o
ID do processo, prioridade de ordem, estado de espera ou bloqueio, informações de
agendamento e qualquer outra informação relevante para o sistema operacional
gerenciar a execução do processo.

8. Explique os principais eventos que levam a criação de um processo e


diferencie o fluxo de criação no Unix e no Windows.

Principais eventos que levam à criação de um processo: Inicialização do sistema


operacional: Quando o sistema operacional é iniciado, um processo especial
chamado processo do kernel ou processo init (no Unix) ou processo do sistema (no
Windows) é criado.

Solicitação de usuário ou aplicativo: Os processos também podem ser criados em


resposta a uma solicitação de um usuário ou de um aplicativo em execução.
Diferenças no fluxo de criação de processos entre Unix e Windows: No Unix, a
criação de processos ocorre por meio das chamadas de sistema fork() e exec(). A
função fork() cria um novo processo chamado processo filho, que é uma cópia exata
do processo pai. Em seguida, o processo filho pode substituir seu código e dados
usando a função exec(), executando um novo programa ou comando. No Windows,
a criação de processos é realizada pela função CreateProcess(). Ao chamar
CreateProcess(), um novo processo é criado. Esse novo processo pode carregar e
executar um programa especificado, substituindo completamente o código do
processo existente.

9. Explique os principais fluxos que levam ao término de um processo.

Saída normal: quando conclui todas as tarefas e atinge o ponto final do programa.

Chamada explícita: quando o próprio processo solicita o término por meio de uma
chamada específica.

Erro ou exceção: quando ocorre um erro fatal ou exceção durante a execução.

Interrupção ou sinal: quando o processo é interrompido ou recebe um sinal do


sistema operacional ou de outro processo.

Encerramento pelo sistema operacional: quando o sistema operacional encerra o


processo para liberar recursos ou em resposta a políticas de escalonamento.

10. Defina hierarquia de processos e explique a diferença entre a


implementação dessa hierarquia no Unix e Windows.

A hierarquia de processos é a estrutura hierárquica de organização dos processos


em um sistema operacional, baseada nos conceitos de processos pai e processos
filhos. No Unix, um processo cria um novo processo, que se torna um processo filho
do processo pai. Essa hierarquia é implementada de forma semelhante no
Windows, onde os processos também são organizados em uma árvore hierárquica
com processos pai e processos filhos. A diferença principal reside no fato de que no
Unix um processo possui apenas um processo pai, enquanto no Windows um
processo pode ter vários processos pais.

11. Explique o ciclo de vida de um processo, citando todos os seus estados e


transições.

O ciclo de vida de um processo descreve os diferentes estados pelos quais um


processo pode passar durante sua execução. Aqui estão os principais estados e as
transições associadas:

Novo (New): O processo é criado e está em processo de inicialização.

Pronto (Ready): O processo está pronto para ser executado, aguardando sua vez na

fila de processos prontos.

Execução (Running): O processo está sendo executado pela CPU.

Bloqueado (Blocked): O processo está temporariamente impedido de prosseguir,

geralmente devido à espera por algum evento, como entrada/saída de dados. O

processo é movido para a fila de processos bloqueados até que o evento necessário

ocorra.

Encerrado (Terminated): O processo terminou sua execução e todos os seus

recursos foram liberados.

As transições entre os estados podem ocorrer da seguinte maneira:

Novo -> Pronto: O processo é criado e passa para o estado pronto, aguardando

para ser executado.

Pronto -> Execução: O processo é selecionado pelo escalonador de processos para

ser executado pela CPU.

Execução -> Bloqueado: O processo pode ser bloqueado quando aguarda a

ocorrência de um evento, como entrada/saída de dados.

Bloqueado -> Pronto: O evento necessário ocorre, e o processo é movido para o


estado pronto, aguardando sua vez de ser executado novamente.

Execução -> Pronto: O processo pode ser interrompido voluntariamente ou por um

evento externo, retornando ao estado pronto.

Execução -> Encerrado: O processo termina sua execução e é encerrado, passando

para o estado terminado.

12. Qual o papel do escalonador de processos?

Decide qual dos processos está pronto e qual será o próximo a ser executado,

dividindo o uso de memória e do processador.

13. O que é chamada de sistema? Cite pelo menos 1 exemplo de cada

categoria de chamadas.

Uma chamada de sistema é uma rotina que permite que um aplicativo de

usuário solicite ações que requerem privilégios especiais. A inclusão de chamadas

do sistema é uma das várias formas de ampliar as funções fornecidas pelo kernel.

Uma categoria da chamada do sistema é o gerenciamento de processos: São

chamadas que lidam com a criação, término, controle e comunicação entre

processos. Exemplo: fork (criar um novo processo), exec (substituir a imagem do

processo atual por um novo programa), wait (esperar pela conclusão de um

processo filho).

14. Explique, com suas palavras, o que o seguinte comando está fazendo:

#ps aux | grep aluno

O comando lista todos os processos em execução no sistema e, em seguida, filtra

apenas as linhas que contêm a palavra "aluno".

"ps aux": O comando "ps" é usado para exibir informações sobre os processos em

execução no sistema. A opção "aux" é usada para exibir todos os processos em um

formato detalhado.
"|": O caractere "|" é conhecido como "pipe" ou tubulação. Ele permite redirecionar a

saída de um comando para a entrada de outro comando. Logo ele redireciona a

saída do comando "ps aux" para o comando "grep aluno".

"grep aluno": O comando "grep" é usado para pesquisar padrões em um texto.

Neste caso, estamos procurando o termo "aluno". Quando combinado com o pipe, o

"grep" recebe a saída do comando anterior e filtra as linhas que contêm o padrão

especificado.

Você também pode gostar