[Versão MOOC do sistema operacional do computador] Capítulo 1 Exercícios pós-aula

Catálogo de exercícios depois da escola:

1. Perguntas de resposta curta

1. Qual é o objetivo de configurar um sistema operacional em um sistema de computador? Em que aspectos funciona?

2. Tente explicar a relação entre o sistema operacional e o hardware, outros softwares do sistema e usuários.

3. Tente explicar qual é a principal força motriz para o desenvolvimento de sistemas operacionais.

4. No sistema operacional, o que são o modo de E/S offline e o modo de E/S online?

5. Quais são as principais forças motrizes que promovem a formação e o desenvolvimento de sistemas de time-sharing?

6. Quais são as principais questões na implementação de um sistema de time-sharing? Como resolver isso?

7. Por que introduzir um sistema em tempo real?

8. O que são tarefas HRT e tarefas SRT? Dê um exemplo

9. Tente comparar sistemas de time-sharing e sistemas de tempo real em termos de pontualidade, interactividade e fiabilidade.

10. O sistema operacional de microcomputadores pode ser dividido em quais categorias de acordo com seu modo de operação? por exemplo.

11.Quais são os principais recursos do sistema operacional? Qual é a relação entre eles?

12. O que faz com que o SO tenha características assíncronas?

13.Qual é o kernel do sistema operacional? Quais são as principais funções do kernel do sistema operacional?

14.O que é uma linguagem primitiva? O que são operações atômicas?

15. Descreva resumidamente o modo de operação duplo do processador.

16. Descreva resumidamente o processo de tratamento de interrupções.

17.Quais são as principais funções do gerenciamento do processador? Qual é a sua principal tarefa?

18.Quais são as principais funções do gerenciamento de memória? Qual é a sua principal tarefa?

19.Quais são as principais funções do gerenciamento de dispositivos? Qual é a sua principal tarefa?

20.Quais são as principais funções do gerenciamento de arquivos? Qual é a sua principal tarefa?

21. Quais são os novos recursos do sistema operacional moderno?

22.O que é um sistema operacional microkernel? Que vantagens isso tem?

23. Qual é a ideia básica do sistema operacional de núcleo externo?

24.O que é uma chamada de sistema? Qual é a diferença entre chamadas de sistema e programas de usuário gerais e funções de biblioteca?

2. Questões de cálculo (importante)

25. (Importante)

26. (Importante)

3. Perguntas abrangentes sobre aplicação

27.Quais são os conceitos, recursos e funções do SO? (importante)

28. As imagens são difíceis de desenhar, consulte os livros para obter detalhes


1. Perguntas de resposta curta


1. Qual é o objetivo de configurar um sistema operacional em um sistema de computador? Em que aspectos funciona?


O principal objetivo da configuração de um sistema operacional em um sistema de computador é alcançar: conveniência, eficácia, escalabilidade e abertura ;
o papel do sistema operacional reflete-se principalmente nos três aspectos seguintes:

  • O sistema operacional serve como interface entre o usuário e o sistema de hardware do computador;
  • O SO atua como gerenciador dos recursos do sistema do computador;
  • OS implementa a abstração de recursos do computador.

2. Tente explicar a relação entre o sistema operacional e o hardware, outros softwares do sistema e usuários.


O sistema operacional é a primeira camada de software que cobre o hardware. Ele gerencia os recursos de hardware e software do computador e fornece uma boa interface aos usuários. O sistema operacional está intimamente relacionado ao hardware, gerenciando diretamente os recursos de hardware e completando todas as operações relacionadas ao hardware para o usuário, facilitando muito o uso dos recursos de hardware pelo usuário e melhorando a utilização dos recursos de hardware. O sistema operacional é um tipo especial de software de sistema. Outros softwares de sistema são executados com base no sistema operacional e podem obter um grande número de serviços fornecidos pelo sistema operacional. Em outras palavras, o sistema operacional é a interface entre outros softwares de sistema e hardware. Além do suporte ao sistema operacional, os usuários em geral também precisam usar um grande número de outros softwares de sistema e aplicativos para tornar seu trabalho mais eficiente e conveniente.

3. Tente explicar qual é a principal força motriz para o desenvolvimento de sistemas operacionais.


1) A taxa de utilização dos recursos do sistema computacional continua a aumentar;
2) Conveniência do usuário;
3) Os dispositivos são constantemente atualizados;
4) A arquitetura do computador continua a se desenvolver;
5) Novos requisitos de aplicação são constantemente propostos.

4. No sistema operacional, o que são o modo de E/S offline e o modo de E/S online?


O método de E/S offline significa que a fita de papel ou cartão contendo o programa do usuário ou dados é carregado na máquina de entrada de fita de papel ou máquina de cartão com antecedência e sob o controle da máquina periférica, os dados ou programa na fita de papel ou cartão é inserido na fita, as operações de E/S neste modo são concluídas sob o controle da máquina periférica e são executadas sem a máquina host, por isso é chamado de modo de E/S offline. O método de E/S online significa que a E/S de programas e dados é realizada sob o controle direto do host.

5. Quais são as principais forças motrizes que promovem a formação e o desenvolvimento de sistemas de time-sharing?


1) O uso de compartilhamento de tempo da CPU (unidade de processamento central, unidade de processamento central) reduz o tempo médio de resposta dos trabalhos; 2
) O fornecimento de funções de interação humano-computador permite que os usuários controlem diretamente seus próprios trabalhos de maneira conveniente;
3) O o compartilhamento de hosts permite que muitos usuários individuais (incluindo usuários remotos) possam usar um computador ao mesmo tempo para processar seus próprios trabalhos de forma independente e sem interferir uns nos outros.

6. Quais são as principais questões na implementação de um sistema de time-sharing? Como resolver isso?


A questão chave na implementação de um sistema de compartilhamento de tempo: permitir que os usuários interajam com seus próprios trabalhos, ou seja, após o usuário inserir um comando em seu terminal para solicitar serviços do sistema, o sistema pode receber e processar o comando em tempo hábil maneira e executar o comando em tempo hábil que seja aceitável para o usuário. Os resultados são retornados ao usuário dentro do atraso.
Solução: A forma de receber comandos e retornar resultados de saída em tempo hábil é configurar uma placa multicanal no sistema e configurar um buffer para cada terminal para armazenar temporariamente os comandos inseridos pelo usuário e os resultados de saída. Portanto, o principal problema a ser resolvido é garantir que todos os programas do usuário no sistema possam ser executados uma vez em um curto período de tempo, para que os comandos inseridos pelo usuário possam ser respondidos em tempo hábil. Para tanto, por um lado, o trabalho do usuário deve ser inserido na memória imediatamente após ser enviado; por outro lado, o sistema deve definir um tempo muito curto denominado intervalo de tempo e estipular que cada programa só pode ser executado continuamente por um tempo máximo de cada vez. Se o intervalo de tempo for esgotado, a CPU deverá ser dada ao próximo trabalho, independentemente de ele ter terminado a execução. Ao permitir que os trabalhos compartilhem a CPU de maneira compartilhada, todos os trabalhos podem ser processados ​​em tempo hábil e as solicitações do usuário também podem ser respondidas em tempo hábil.

7. Por que introduzir um sistema em tempo real?


Um sistema em tempo real refere-se a um sistema que pode responder a solicitações de eventos externos em tempo hábil, concluir o processamento de eventos externos dentro de um tempo especificado e controlar todas as tarefas em tempo real para serem executadas de maneira coordenada. O sistema em tempo real é introduzido para melhor atender às necessidades do campo de controle em tempo real e do campo de processamento de informações em tempo real.

8. O que são tarefas HRT e tarefas SRT? Dê um exemplo


1) Tarefas difíceis em tempo real significam que o sistema deve atender aos requisitos de prazo da tarefa, caso contrário, resultados imprevisíveis podem ocorrer, como controle do veículo lançador; 2) Tarefas suaves em tempo real não têm requisitos de prazo estritos
e as tarefas podem ocasionalmente ser perdido. O prazo não terá muito impacto no sistema, como atualização do conteúdo da página web, atualização do número de bilhetes restantes no sistema de bilhetagem de trem, etc.

9. Tente comparar sistemas de time-sharing e sistemas de tempo real em termos de pontualidade, interactividade e fiabilidade.


1) Pense nisso em termos de interatividade. A questão da interactividade é uma questão fundamental nos sistemas de time-sharing. Em um sistema de compartilhamento de tempo, os usuários podem realizar ampla interação humano-computador com o sistema por meio do terminal, como edição de arquivos, processamento de dados e compartilhamento de recursos. Os sistemas em tempo real também são interativos, mas em sistemas em tempo real, a interatividade é limitada ao acesso a alguns programas de serviços dedicados específicos no sistema, ou seja, sua interatividade tem grandes limitações; 2) Do ponto de vista da oportunidade, considere
. A pontualidade de um sistema de compartilhamento de tempo significa que os usuários podem obter uma resposta do sistema em um curto intervalo de tempo, determinado com base no tempo de espera que as pessoas podem aceitar, que geralmente é de 2 a 3 segundos. Para sistemas em tempo real, a pontualidade é um dos seus principais problemas.Os requisitos de pontualidade dos sistemas de informação em tempo real são semelhantes aos dos sistemas de compartilhamento de tempo, enquanto os requisitos de pontualidade dos sistemas de controle em tempo real são determinados pelo horário de início e término exigido. pelo objeto controlado. O prazo de conclusão geralmente é determinado em segundos, centenas de milissegundos, milissegundos ou até menos;
3) Considere a confiabilidade. A confiabilidade é outra questão fundamental em sistemas em tempo real. Quaisquer erros em sistemas em tempo real podem causar enormes perdas econômicas e até mesmo levar a consequências catastróficas imprevisíveis. Portanto, os sistemas em tempo real frequentemente adotam medidas de tolerância a falhas em vários níveis para garantir que o sistema é altamente confiável. Embora os sistemas de tempo compartilhado também exijam confiabilidade, seus requisitos são inferiores aos dos sistemas de tempo real.

10. O sistema operacional de microcomputadores pode ser dividido em quais categorias de acordo com seu modo de operação? por exemplo.


1) SO de usuário único e tarefa única: permite que apenas um usuário acesse o computador (use o computador) e só permite que o programa do usuário seja executado como uma tarefa. É configurado principalmente em microcomputadores de 8 e 16 bits. Os sistemas operacionais de usuário único e tarefa única mais representativos são CP/M (8 bits) e MSDOS (16 bits);
2) Sistema operacional multitarefa de usuário único: apenas um usuário pode executar no computador, mas o o usuário pode dividir o programa em várias tarefas Execução simultânea, melhorando efetivamente o desempenho do sistema. O sistema operacional multitarefa de usuário único mais representativo é a série Windows lançada pela Microsoft, como Windows 3.1, Windows 95, Windows 98, etc.; 3)
Sistema operacional multitarefa multiusuário: permite que vários usuários usem uma máquina através seus respectivos terminais, compartilhando vários recursos no sistema host, e cada programa de usuário pode ser dividido em várias tarefas para execução simultânea, o que pode melhorar ainda mais a utilização de recursos e o rendimento do sistema. Os sistemas operacionais multiusuário e multitarefa mais representativos são os sistemas UNIX, vários sistemas semelhantes ao UNIX (como Solaris, sistemas Linux, etc.) e sistemas da série Windows NT/Server.

11.Quais são os principais recursos do sistema operacional? Qual é a relação entre eles?


Os quatro recursos básicos são simultaneidade, compartilhamento, virtualidade e assincronidade;
1) Simultaneidade e compartilhamento são os recursos mais básicos do sistema operacional. A fim de melhorar a utilização dos recursos do computador, o sistema operacional deve adotar tecnologia de multiprogramação para permitir que vários programas compartilhem recursos do sistema e sejam executados simultaneamente; 2) A
simultaneidade e o compartilhamento são condições mutuamente exclusivas. Por um lado, o compartilhamento de recursos está condicionado à execução concorrente de programas (processos). Se o sistema não permitir a execução simultânea de programas, não haverá problema de compartilhamento de recursos; por outro lado, se o sistema não puder efetivamente gerenciar compartilhamento de recursos, coordenação Melhorar o acesso de cada processo aos recursos compartilhados certamente afetará a execução simultânea do programa e até mesmo impossibilitará a execução simultânea do programa; 3) A
virtualidade é baseada na simultaneidade e no compartilhamento. Para permitir que processos simultâneos compartilhem recursos de maneira mais conveniente e eficaz, o sistema operacional geralmente usa uma variedade de tecnologias virtuais para aumentar logicamente o número de CPUs e dispositivos e a capacidade de memória, resolvendo assim o problema de processos simultâneos que compartilham recursos limitados do sistema; 4)
Assíncrono O sexo é o resultado inevitável da simultaneidade e do compartilhamento. O SO permite que vários processos simultâneos compartilhem recursos e cooperem entre si, de modo que o processo em execução de cada processo seja restringido por outros processos e não seja mais "coerente", o que inevitavelmente levará ao surgimento de características assíncronas.

12. O que faz com que o SO tenha características assíncronas?


Em um ambiente de multiprogramação, vários processos podem ser executados simultaneamente. No entanto, devido a limitações de recursos e outros fatores, a execução do processo geralmente não é feita de uma só vez, mas sim de forma intermitente. É imprevisível quando cada processo na memória é executado, quando é pausado e com que velocidade irá avançar. Portanto, a ordem em que os jobs são concluídos não é exatamente a mesma ordem em que são inseridos na memória, ou seja, o processo é executado de forma assíncrona. Porém, com o suporte de mecanismos relevantes de controle e sincronização de processos, desde que o ambiente de execução seja o mesmo, o trabalho obterá exatamente os mesmos resultados após executá-lo várias vezes, portanto o método assíncrono é permitido. Portanto, o SO possui características assíncronas.

13.Qual é o kernel do sistema operacional? Quais são as principais funções do kernel do sistema operacional?


Na teoria moderna do sistema operacional, o sistema operacional é geralmente dividido em vários níveis e, em seguida, diferentes funções do sistema operacional são definidas em diferentes níveis. Normalmente, alguns módulos intimamente relacionados ao hardware (como manipuladores de interrupção, etc.), drivers de vários dispositivos comumente usados ​​e módulos com frequências de execução mais altas (como módulos de gerenciamento de relógio, módulos de agendamento de processos, módulos de operação básica comum, etc.) estão dispostos na camada de software próxima ao hardware, eles residem na memória, formando assim o chamado kernel do sistema operacional.
As principais funções do kernel do sistema operacional são: ① Funções de suporte, incluindo processamento de interrupções, gerenciamento de relógio, operações primitivas, etc.; ② Funções de gerenciamento de recursos, incluindo gerenciamento de processos, gerenciamento de memória, gerenciamento de dispositivos, etc.

14.O que é uma linguagem primitiva? O que são operações atômicas?


Primitivo: refere-se a um processo composto por diversas instruções e é utilizado para completar uma determinada função;
operação atômica: refere-se a todas as ações de uma operação que podem ser realizadas ou não realizadas. Em outras palavras, é uma unidade básica indivisível. Portanto, as primitivas não podem ser interrompidas durante a execução. As operações atômicas são executadas no modo kernel e residem na memória.

15. Descreva resumidamente o modo de operação duplo do processador.


Geralmente, um processador requer pelo menos dois modos operacionais separados: modo de usuário e modo kernel.
1) O modo de usuário também é chamado de modo olho, e o hardware do computador pode representá-lo definindo um bit de modo como 1. Quando o sistema de computador executa o programa do usuário, o sistema está no estado do usuário;
2) O estado do kernel também é chamado de estado do tubo ou estado do sistema, e o hardware do computador pode representá-lo definindo um bit de modo como 0. Sempre que o sistema operacional é capaz de controlar o computador, ele está no modo kernel. Por exemplo, quando um programa de usuário solicita um serviço do sistema operacional por meio de uma chamada de sistema, o sistema deve
alternar do modo de usuário para o modo kernel para responder à solicitação.

16. Descreva resumidamente o processo de tratamento de interrupções.


Assim que a CPU responder à interrupção, o sistema inicia o processamento da interrupção. O processo de tratamento de interrupções inclui principalmente as três etapas a seguir.
1) Proteja o local do processo interrompido. Para permitir que o processo retorne corretamente ao ponto de interrupção após a conclusão do processamento da interrupção, o sistema deve salvar a palavra de status atual do processador e o valor do contador do programa; 2) Analisar a causa da interrupção
e transferir para o programa de processamento de interrupção correspondente . Quando múltiplas solicitações de interrupção ocorrem ao mesmo tempo, a solicitação de interrupção emitida pela fonte de interrupção com maior prioridade é processada;
3) A cena do processo interrompido é restaurada e a CPU continua a executar o processo interrompido original.

17.Quais são as principais funções do gerenciamento do processador? Qual é a sua principal tarefa?


As principais funções do gerenciamento do processador incluem gerenciamento de processos, sincronização de processos, comunicação de processos e agendamento de processadores. As principais tarefas de cada parte são:
1) Gerenciamento de processos, criando processos para jobs, cancelando processos finalizados e controlando a transição de estado dos processos durante a execução; 2)
Sincronização de processos, coordenando a execução de múltiplos processos (incluindo threads);
3) A comunicação de processos realiza a troca de informações entre processos cooperantes;
4) Agendamento do processador, incluindo agendamento de tarefas e agendamento de processos. O agendamento de tarefas consiste em selecionar vários trabalhos da fila de backup de acordo com um determinado algoritmo e alocar os recursos necessários para sua operação; o agendamento de processos consiste em selecionar um processo da fila de prontidão do processo de acordo com um determinado algoritmo e atribuir o processador a ele e defina o site em execução para colocar o processo em execução.

18.Quais são as principais funções do gerenciamento de memória? Qual é a sua principal tarefa?


As principais funções do gerenciamento de memória incluem alocação de memória, proteção de memória, mapeamento de endereços e expansão de memória. As principais tarefas de cada parte são:
1) Alocação de memória, alocando memória para cada programa;
2) Proteção de memória, garantindo que cada programa seja executado apenas em seu próprio espaço de memória e não interfira entre si;
3) Mapeamento de endereços, alocando memória no espaço de endereço. O endereço lógico é convertido no endereço físico correspondente ao espaço de memória;
4) Expansão de memória, ou seja, expansão lógica da memória para realizar a função de transferência de solicitação e função de substituição, etc.

19.Quais são as principais funções do gerenciamento de dispositivos? Qual é a sua principal tarefa?


As principais funções do gerenciamento de dispositivos incluem gerenciamento de buffer, alocação de dispositivos, processamento de dispositivos e virtualização de dispositivos. As principais tarefas de cada parte são:
1) Concluir as solicitações de E/S feitas pelo usuário, alocar os dispositivos de E/S necessários ao processo do usuário e concluir as operações de E/S especificadas; 2) Melhorar a utilização da
CPU e a eficiência dos dispositivos de E/S, melhoram a velocidade de E/S e facilitam o uso de dispositivos de E/S pelos usuários.

20.Quais são as principais funções do gerenciamento de arquivos? Qual é a sua principal tarefa?


As principais funções do gerenciamento de arquivos incluem: gerenciamento de espaço de armazenamento de arquivos, gerenciamento de diretórios, gerenciamento e proteção de leitura/gravação de arquivos. Sua principal tarefa é gerenciar arquivos do usuário e arquivos do sistema para facilitar o uso do usuário e garantir a segurança dos arquivos.

21. Quais são os novos recursos do sistema operacional moderno?


O SO moderno é desenvolvido com base no SO tradicional, além das funções do SO tradicional, também possui funções como garantir a segurança do sistema, apoiar os usuários na obtenção de serviços pela Internet e processar informações multimídia.

22.O que é um sistema operacional microkernel? Que vantagens isso tem?


O Microkernel OS possui as seguintes quatro características: ① Um kernel suficientemente pequeno; ② Baseado no modelo cliente/servidor; ③ Aplicar o princípio de separação de estratégias e mecanismos; ④ Utilizar tecnologia orientada a objetos.
As principais vantagens do sistema operacional microkernel incluem: ① Melhorar a escalabilidade do sistema; ② Aumentar a confiabilidade e portabilidade do sistema; ③ Fornecer suporte para sistemas distribuídos; ④ Incorporar tecnologia orientada a objetos.

23. Qual é a ideia básica do sistema operacional de núcleo externo?


A ideia básica do sistema operacional de núcleo externo é que o kernel não fornece coisas abstratas, como processos e armazenamento virtual no sistema operacional tradicional, mas se concentra no isolamento (proteção) e na reutilização de recursos físicos. Especificamente, em um sistema operacional baseado na estrutura do núcleo externo, o kernel é responsável por proteger os recursos do sistema, enquanto as responsabilidades de gerenciamento dos recursos de hardware são confiadas aos aplicativos.Desta forma, o sistema operacional pode reduzir a carga sobre os aplicativos e, ao mesmo tempo, garantir a segurança dos recursos. As restrições do programa atendem plenamente às diferentes necessidades dos aplicativos em termos de recursos de hardware.

24.O que é uma chamada de sistema? Qual é a diferença entre chamadas de sistema e programas de usuário gerais e funções de biblioteca?


As chamadas do sistema são a única interface fornecida pelo sistema operacional aos programadores. Os programadores usam chamadas de sistema para solicitar e liberar dinamicamente recursos do sistema no nível do programa de origem e chamar funções de sistema existentes no sistema para concluir o trabalho relacionado à parte de hardware da máquina e controlar a velocidade de execução do programa. Portanto, a chamada do sistema é como uma “caixa preta” que protege o usuário das ações específicas do SO e fornece apenas funções relevantes.
A diferença entre chamadas de sistema e programas de usuário gerais e funções de biblioteca é que:
1) As chamadas de sistema (programas) são executadas no modo kernel e, ao chamá-las, é necessário um mecanismo de processamento de interrupção semelhante ao mecanismo de processamento de interrupção de hardware para fornecer sistema serviços; 2
) Usuários comuns Os programas são projetados diretamente para que os usuários completem uma função específica, e geralmente são executados no modo de usuário;
3) Funções de biblioteca são uma maneira de colocar funções em uma biblioteca para outras pessoas usarem. Elas são orientadas para a aplicação desenvolvimento e facilitar a programação das pessoas.


2. Questões de cálculo (importante)


25. (Importante)

Existem três programas A, B e C. Eles são executados em ordem de prioridade ( A->B->C ). Seu tempo de cálculo e tempo de operação de E/S são mostrados na Tabela 1-1. Suponha que os três os programas são executados em ordem de prioridade (A-> B-> C). Use o mesmo dispositivo para realizar operações de E/S no modo serial. Tente desenhar o diagrama de relacionamento de tempo entre a execução de um único programa e a execução de vários programas e calcule o tempo necessário para concluir esses três programas.

 

26. (Importante)

Existem apenas dois trabalhos, P1 e P2, em um sistema de processamento em lote multicanal. P2 chega 5 ms depois de P1 . Seu cálculo e sequência de operação de E/S são os seguintes.
P1: Cálculo 60ms, operação de E/S 80ms, cálculo 20ms.
P2: Cálculo 120ms, operação de E/S 40ms, cálculo 40ms.
Ignorando o agendamento e o tempo de troca, calcule o tempo mínimo necessário para concluir ambos os trabalhos.



3. Perguntas abrangentes sobre aplicação


27.Quais são os conceitos, recursos e funções do SO? (importante)


O sistema operacional refere-se ao controle e gerenciamento dos recursos de hardware e software de todo o sistema de computador, e à organização racional e agendamento do trabalho do computador e alocação de recursos para fornecer aos usuários e outros softwares interfaces e ambientes convenientes. É o mais básico parte de um sistema informático.software de sistema;


Características do sistema operacional (simultaneidade, compartilhado, virtual, assíncrono);


As funções do sistema operacional:
1) Atuar como interface entre o usuário e o sistema de hardware do computador;
2) Atuar como gerenciador dos recursos do sistema computacional;
3) Realizar a abstração dos recursos do computador.

28. As imagens são difíceis de desenhar, consulte os livros para obter detalhes

(1) Descreva como o processador, a máquina de entrada e a impressora funcionam juntos neste problema computacional.
Depois que a máquina de entrada lê os dados, o processador realiza cálculos nos dados e os dados processados ​​são finalmente enviados para a impressora e assim por diante. (Obviamente serial)
(2) Calcule a utilização do processador na situação de execução mostrada na Figura 1-14.
40/320=1/8=0,125=12,5%
​​(3) Descreva resumidamente os motivos da baixa utilização do processador.
O processador, a máquina de entrada e a impressora não funcionam em paralelo e os recursos do sistema não são totalmente utilizados.
(4) Desenhe um plano de implementação que possa melhorar a utilização do processador. (foto)

Durante o processo de entrada, processe-o primeiro e depois imprima-o.


Espero ser útil!

Acho que você gosta

Origin blog.csdn.net/weixin_62985813/article/details/133235467
Recomendado
Clasificación