Operando perguntas da entrevista sistema comum

Há três anos, para aprender algo quase esqueci, o re-exame temporária para se preparar, não olhe para subjacente implementação (veja o último rolo ou honesto a placa de circuito) olhar para a lógica

1. processo (processo) e rosca (thread)

Processo é a unidade básica do sistema tem a recursos e independência programação, um processo que pode incluir vários segmentos.

Processo tem seu próprio espaço de memória, os fios podem compartilhar memória. comunicação entre você precisa IPC (comunicação entre processos).

Além disso fios dentro do mesmo processo é muito menor do que a sobrecarga de comutação processo de comutação.

2. Modo de núcleo (Kernel Mode estado nozes) e o modo de utilizador (User Mode)

programa de sistema operacional e um programa de usuário em execução no conjunto de instruções da CPU correspondente a uma máquina diferente. sistema operacional usa todas as instruções, mas o usuário só pode usar parte das instruções do programa.

Do ponto de vista da gestão dos recursos e programa de controle de ponto de execução de vista, o sistema de comando é dividido em duas partes: os instruções privilegiadas e instruções não-privilegiados . Durante a execução do programa, a execução do programa de acordo com os direitos de uso para as instruções de recursos e da máquina, a máquina está definida para dois estados: um modo kernel e modo usuário .
Isto é, quando o sistema estiver no modo kernel, a instrução pode usar todos os recursos, e ter a capacidade de alterar o estado da CPU, e quando a CPU está no modo de usuário, apenas instruções não-privilegiados.
Se a CPU executa o programa do usuário (modo de usuário) não foi interrompido, o sistema entrará em seu próprio manipulador de interrupção, é convertido pelo modo de usuário CPU de modo kernel, o fim do processamento de interrupção, retorna para continuar a execução do programa do usuário e a CPU eo núcleo atitude em relação ao modo de usuário.

Então, qual é a diferença entre o modo de usuário e modo kernel é? (Seguintes diferenças escolher para "design de sistema operacional UNIX")

  1. O processo pode acessar as instruções de modo de usuário e dados de conta própria, mas não pode acessar as instruções do kernel e dados (ou outras instruções processos e dados). No entanto, o processo pode ser acessado no kernel e usuário endereços modo kernel
  2. Alguns instrução de máquina é uma instrução privilegiada, executar uma instrução privilegiada no modo de usuário causará um erro

Aqui puxando para fora um outro conceito: threads de usuário e threads no nível do kernel

No sistema operacional tradicional não suporta threads de núcleo (kernel do processo, e não para tópicos de segurança para essa coisa nova no kernel), cada vez que um processo de ir a um núcleo da CPU (mas CPU multi-core ainda pode lidar com vários processos), de modo que o fio em nível de usuário é uma semente transparente , e não pode fazer esse tipo de processo de agendamento round-robin (um tempo de direcioná-lo para parar o processo, o segmento teve uma parada), então gerenciamento de threads tudo para fazer modo de utilizador, e a eficiência pode ser optimizada com jaqueta

Em CPU / multi-core tópicos apoio CPU de nível caso multi-core de hoje (na verdade, significa que o segmento é visível para o kernel, o kernel pode assumir a gestão fio), pode ser mais do que threads de núcleo executados em paralelo. Não vai acontecer de novo o caso do segmento em um processo de uma perda para ambos os lados. A desvantagem é: deixe o agendamento de threads kernel, depois passou para alternar threads têm modo de usuário experiente para modo kernel haverá mais caro

No entanto, em sistemas operacionais de hoje, a operação comum de n é mapeado para rosca modo de usuário ---- ----> Um modo kernel tópicos considerados como um compromisso

 

3. interrupção

Interno ① Abort

falha de hardware de computador ou interrupção causada por anormal

② macio (pedaços) de interrupção (instrução de interrupção)

A execução do programa da instrução que causou a interrupção causada pela interrupção, como o sistema chama o modo de usuário para modo kernel é usar a visita ao comando da tubulação

③ interrupção externa (interrupção forçada)

solicitação de interrupção periférica

4. Vários estratégia de escalonamento de processos simultâneos ---

Acho que você gosta

Origin www.cnblogs.com/yasheng/p/12617192.html
Recomendado
Clasificación