Conceitos Fundamentais de Sistemas Operacionais e Comandos Linux

Classificado em Computação

Escrito em em português com um tamanho de 4,88 KB

Proteção do Kernel e Modos de Acesso

Como o Kernel do sistema operacional pode ser protegido pelo mecanismo de modos de acesso?
R: Através do modo de acesso de uma aplicação determinado por um conjunto de bits localizado no registrador de status do processador ou PSW.

Máquina Virtual

O que é máquina virtual?
R: Uma máquina, implementada através de software, que executa programas como um computador real. (uma duplicata eficiente e isolada de uma máquina real)

Programação Orientada a Objetos em Sistemas

Por que a utilização da programação orientada a objetos é um caminho natural para o projeto de sistemas?
R: Porque ela fornece melhoria na organização das funções e recursos do sistema; redução no tempo de desenvolvimento; maior facilidade na manutenção e extensão do sistema; facilidade de implementação do modelo de computação distribuída.

Conceito e Partes de um Processo

Defina o conceito de processo:
R: Conjunto necessário de informações para que o sistema operacional implemente a concorrência de programas.

Quais são as partes de um processo?
R: Um processo é formado por três partes, conhecidas como contexto de hardware, contexto de software e espaço de endereçamento, que juntos mantêm todas as informações necessárias à execução de um programa.

Estados do Processo

Cinco estados do processo:

  • Estado de Execução: processo que está sendo processado pela UCP no momento.
  • Estado de Pronto: processo que aguarda para ser executado.
  • Estado de Espera: processo que aguarda por algum evento ou recurso para prosseguir processamento.
  • Estado de Criação: processo cujo PCB já foi criado, porém ainda não teve seu processamento iniciado.
  • Estado de Terminado: processo que não pode ter mais nenhum programa executado no seu contexto, porém o sistema operacional mantém suas informações de controle presentes na memória.

Aplicações CPU-Bound e I/O Bound

Dê exemplos de aplicações CPU-Bound e I/O Bound:

  • CPU-bound: Esse tipo de processo realiza poucas operações de leitura e gravação e é encontrado em aplicações científicas que efetuam muitos cálculos.
  • I/O Bound: Esse tipo de processo é encontrado em aplicações comerciais, que se baseiam em leitura, processamento e gravação.

Sinais, Interrupções e Exceções

Justifique com um exemplo a frase: o sinal está para o processo assim como as interrupções e exceções estão para o sistema operacional.
R: Quando ocorre uma divisão por zero, por exemplo, o sistema operacional é notificado do problema através de uma exceção. Por sua vez, o sistema deve notificar ao processo que gerou o problema através de um sinal.

Threads e Shell

O que é Thread?
R: É uma corrente única de controle sequencial dentro de um programa.

Comandos de Linux

  • Pwd: Mostra o caminho por inteiro do diretório em que nos encontramos em dado momento.
  • Su: Troca do usuário comum para o root.
  • Who: Visualizar quem está conectado ao sistema.
  • Mkdir: Cria um diretório (make directory).

O que é shell?
R: É uma linguagem de script usada em vários sistemas operacionais, com diferentes dialetos, dependendo do interpretador de comandos utilizado. Um exemplo de interpretador de comandos é o bash, usado na grande maioria das distribuições GNU/Linux.

Comandos básicos extras:

  • exit: Terminar a sessão.
  • kill: Mata um processo.
  • passwd: Mudar a password do nosso utilizador.
  • jobs: Permite-nos visualizar jobs em execução.
  • vi: Editor de texto full-screen.
  • clock: Define a hora do processador.
  • cd: Mudar de diretoria atual.
  • date: Exibe a data e hora.
  • cp: Copia ficheiros.
  • df: Exibe um resumo do espaço livre em disco.
  • ls: Lista o conteúdo de uma diretoria.
  • du: Exibe um resumo do uso do espaço em disco.
  • mv: Move ou renomeia ficheiros ou diretoria.
  • history: Lista os últimos comandos usados.
  • rm: Apaga ficheiros.
  • rmdir: Apaga diretoria.
  • set: Define variáveis da sessão.

Entradas relacionadas: