UNIX/Linux Flashcards
(42 cards)
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
O que é “ Swapping” :
Operação que envolve a transferência de informação entra memórias e discos, que consiste na gestão de memória de modo a impermeabilizar o bom funcionamento de todos os processos em andamento.
O que é memória virtual ?
A memória virtual é uma técnica de gestão de memória utilizada que permite a execução de processos cujos segmentos de código/dados são maiores que os limites físicos da memória principal.
Os dois tipos principais de memória virtual são a paginação e a segmentação.
O que é a Paginação ?
É um esquema de gestão de memória pelo qual um computador armazena e recupera dados de um armazenamento secundário para uso na memória principal.
Neste esquema, o sistema operativo, recupera os dados do armazenamento secundário em blocos do mesmo tamanho, chamados páginas.
O que é a Segmentação ?
A segmentação consiste em dividir a memória virtual em pedaços e apontar um determinado segmento para uma aplicação. Isto define de maneira única a aplicação na memória virtual e vice-versa e, desta forma, pode-se executar simultaneamente várias aplicações ,compartilhando de maneira mais eficiente a memória sem o risco de alocarmos de maneira incorreta a aplicação.
A segmentação não utiliza o mínimo e máximo para poder executar seus programas e seus dados.
Vantagens e desvantagens da paginação ?
- O programa não necessita estar ciente da técnica;
- Apenas 1 espaço de endereçamento virtual por processo;
- O espaço de endereçamento total pode exceder a memória física;
- Os procedimentos e os dados não podem ser distinguidos;
- O compartilhamento de procedimento entra usuários não é facilitado;
- Motivação para a técnica :
> Obter um espaço linear maior;
> Eliminar a fragmentação externa.
Vantagens e desvantagens da segmentação ?
- O programa necessita estar ciente da técnica;
- Vários espaços de endereçamento virtual por processo;
- O espaço de endereçamento total pode exceder a memória física;
- Os procedimentos e os dados podem ser distinguidos;
- O compartilhamento de procedimento entra usuários é facilitado;
- Motivação para a técnica :
> Programas e dados em espaços de endereços lógicos independentes;
> Compartilhamento e proteção simplificados.
O que entendes por “sistema de ficheiros” ?
É a forma de como o UNIX organiza arquivos em dispositivos de armazenamento em massa, como discos.
O que são ficheiros ?
É um recurso para armazenamento de informação que é disponível a um programa de computador e é normalmente baseado em algum tipo de armazenamento durável.
Um arquivo é durável se estiver disponível para ser usado por outros programas após o programa em execução ser finalizado.