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.