UNIX/Linux Flashcards
O que é um sistema operativo?
Para que serve?
É um programa ou um conjunto de programas cuja função é gerenciar os recursos do sistema (definir qual programa recebe atenção do processador, gerenciar memória, criar um sistema de arquivos, etc…), fornecendo uma interface entre o computador e o usuário.
Quando e por quem foi desenvolvido o sistema UNIX ?
Ken Thompson, Dennis Ritchie em 1969, investigadores da Bell labs.
Quais as características fundamentais do sistema UNIX?
Kernel centralizado:
- os principais componentes de software que gerem os recursos do sistema, como microprocessador, memória e dispositivos I/O ;
Multitarefa preemptiva:
- o kernel executa diversos processos num intervalo de tempo por vez no microprocessador, produzindo a ilusão de execução simultânea ;
Tudo é um arquivo:
- dados, programas e até mesmo dispositivos, são todos representados como arquivos e usam a mesma semântica do “abrir - ler / gravar - fechar “.
Sistema de arquivos hierárquico:
- os arquivos são organizados numa árvore com um diretório raiz (“/”) e subárvores arbitrárias de diretórios e arquivos.
O que é uma BIOS ?
Para que serve ?
BIOS ( Basic Output/Input System ) é um firmware, gravado numa memória não volátil.
Usado para realizar a inicialização do hardware durante o processo de inicialização e para fornecer serviços de tempo de execução para sistemas operacionais e programas.
Onde podemos encontrar a BIOS ?
O firmware BIOS vem pré-instalado na memória permanente da motherboard do computador e é o primeiro software a ser executado quando se liga a máquina.
Kernel:
- O que é ?
O nível mais básico de um sistema operativo de um computador, responsável pela alocação de recursos, gestão de ficheiros e segurança.
Quais as suas funções fundamentais?
Agendamento do processo:
- qual processo tem acesso a CPU? quando isso para? o que vem a seguir?
Gestão de memória :
- um processo pode ser alocado na memória principal? se sim, onde?
Sistemas de arquivos:
- acesso aos arquivos traduzidos em E/S pedidos de dispositivos.
Controlo do dispositivo:
- carregar / armazenar dados de / para dispositivos para / da memória.
Gestão de processos:
O que é um processo ?
Um processo é a instância de um programa a ser executado pelo sistema operativo. As suas instruções, dados e controlo de informação estão armazenados num espaço de endereçamento e uma estrutura de dados do kernel.
O que é um PCB?
Um PCB uma estrutura de dados que :
- Armazena uma informação por processo ;
- Contém informações fundamentais sobre um processo necessárias para pará-lo e fazê-lo funcionar novamente ;
- As informações incluem :
- Estado do processo ;
- ID do processo ;
- Contador de programa ;
- Conteúdo dos programas ;
- Localização do espaço de endereço ;
- ID de arquivos abertos ;
- Etc …
- A informação está atualizada quando o processo (re)inicia e quando para.
O que são filas ready e filas associadas a dispositivos ?
Existem várias filas de processos num sistema operacional, cada qual com PCBs associados a processos.
Normalmente, existe uma fila ready, uma fila para cada dispositivo I/O que possua processos em filas de espera(queues)
O que é um Quantum ?
Um quantum é o tempo que é atribuído pelo sistema operativo para um processo.
Ex:
- Cada processo tem um quantum de 100ms
Qual o ciclo de execução de um processo ?
Os processos dos PCBs movem-se entre as filas:
- A cada processo é atribuído um quantum ;
- Um processo é executado quando é retirado da frente da fila ready ;
- Algo acontece quando:
- O seu quantum acaba (move-se para o final da fila ready) ;
- Ele precisa realizar I/O ( move-se para o final da fila do dispositivo) ;
- Bifurca um filho ( a criança move-se para o final da fila ready) ;
- Espera por uma interrupção ( move-se pata o final da fila do dispositivo) .
- O PCB é remocido das filas quando o processo acaba.
O que é um context switch ?
É o processo de armazenar o estado de um processo para que possa ser restaurado e retomar a execução num ponto posterior.
Isso permite que vários processos compartilhem uma única unidade de processamento central (CPU) e é um recurso essencial de um sistema operacional multitarefa.
Gestão de memória :
- Qual a diferença entre programa e processo ?
Um programa é a representação de um algoritmo, enquanto que o processo é uma instância deste mesmo algoritmo a ser executada.
O que é um espaço de endereçamento ?
Um espaço de endereçamento define uma faixa de endereços discretos, cada um dos quais pode corresponder a um registador físico ou virtual, um nodo de rede, dispositivo periférico, setor de disco ou outra entidade lógica ou física.
Qual o tamanho máximo de espaço de endereçamento com endereços de n bits ?
Um espaço de endereçamento de 32 bits só suporta 4 GB RAM, enquanto que um de 64 bits já suporta 128GB ou mais de RAM.
Expressão geral :
- 2**n bytes