Notas do sistema operacional - introdução

1. Introdução

1.1 Conceitos básicos de sistemas operacionais

1.1.1 Modelo de Von Neumann e sistema computacional

Insira a descrição da imagem aqui

O modelo consiste em 5 partes, a parte host é composta por unidade aritmética e controlador de memória, e a parte periférica é composta por dispositivo de entrada e dispositivo de saída.

Um computador sem software de configuração é chamado de computador bare metal .Bare metal apenas forma a base de hardware de um sistema de computador. O sistema de computador realmente apresentado ao usuário é um computador que passou por diversas camadas de transformação de software.

Insira a descrição da imagem aqui

Existe uma relação hierárquica entre hardware de computador, software e várias partes do software. A camada superior é o sistema operacional.Através das funções de gerenciamento de recursos fornecidas pelo sistema operacional e de várias funções de serviço fáceis de usar, o bare metal é transformado em uma máquina com funções mais poderosas e uso mais conveniente (geralmente chamada de máquina virtual ou máquina de expansão). Vários programas utilitários e aplicativos estão no topo do sistema operacional.Esses programas são suportados pelo sistema operacional e fornecem aos usuários vários serviços necessários para concluir seu trabalho.

O sistema operacional é a primeira camada de software em bare metal e éA primeira expansão das capacidades de hardware. O objetivo da introdução de um sistema operacional é:Fornecer uma interface entre usuários de computador e sistemas de hardware de computador para tornar o sistema de computador mais fácil de usar; controlar e gerenciar efetivamente vários recursos de hardware e software no sistema de computador para que possam ser utilizados de forma mais eficaz; organizar racionalmente o fluxo de trabalho do sistema de computador para melhorar o sistema desempenho

1.1.2 O conceito de sistema operacional

  • Ponto de vista do usuário: Diferentes tipos de sistemas operacionais são projetados de acordo com os diferentes computadores utilizados pelos usuários.
  • Perspectiva do sistema (perspectiva de gerenciamento de recursos): De uma perspectiva de gerenciamento de recursos,O sistema operacional é o programa de gerenciamento de recursos do sistema de computador. Existem dois tipos de recursos em um sistema de computador: recursos de hardware e recursos de software . Eles podem ser divididos em 4 categorias principais de recursos de acordo com suas funções:Processador, memória, periféricos e informações (programas e dados). Esses quatro tipos de recursos constituem a base material e o ambiente de trabalho dos quais dependem o próprio sistema operacional e as operações do usuário. Suas estratégias de uso e gerenciamento determinam o tamanho, tipo, função e implementação de todo o sistema operacional. Correspondendo aos quatro tipos de recursos acima,O sistema operacional pode ser dividido em gerenciamento de processador, gerenciamento de memória, gerenciamento de dispositivos e gerenciamento de informações (ou seja, sistema de arquivos)e conduzir análises e pesquisas, respectivamente. Assim, o conteúdo relevante do sistema operacional pode ser organizado sob a perspectiva do gerenciamento de recursos.
  • Visão de processo: esta visão vê o sistema operacional como consistindo de vários programas que podem ser executados de forma independente e de um núcleo que coordena esses programas. Esses programas em execução são chamados de processos, e cada processo é usado para completar uma tarefa específica (como controlar a execução de trabalhos do usuário, processar a entrada/saída de um determinado dispositivo...). eO núcleo do sistema operacional é controlar e coordenar a operação desses processos e resolver a comunicação entre os processos.; Parte do trabalho simultâneo de cada parte do sistema, considera a divisão das tarefas de gestão e a relação entre elas, e resolve os problemas de concorrência causados ​​pelo compartilhamento de recursos através da comunicação entre processos. geralmente,Os processos podem ser divididos em duas categorias: processos de usuário e processos de sistema.Esses dois tipos de processos são executados coordenadamente sob o controle do núcleo para atender aos requisitos do usuário.
  • Perspectiva da máquina virtual: A perspectiva da máquina virtual também é conhecida como perspectiva de escalonamento de máquina. A partir deste ponto de vista,O sistema operacional oferece muitas funções de serviço e um bom ambiente de trabalho para os usuários usarem o computador. Os usuários não usam mais máquinas de hardware diretamente (chamadas bare metal), mas controlam e usam computadores por meio do sistema operacional. O computador é expandido para um computador virtual mais poderoso e fácil de usar.

Do ponto de vista da decomposição funcional, considerando a estrutura do sistema operacional, o sistema operacional pode ser dividido em vários níveis, cada nível completa funções específicas para formar uma máquina virtual e fornece suporte para a camada superior formar seu ambiente operacional. Através da expansão da função camada por camada, a máquina virtual do sistema operacional é finalmente concluída, fornecendo aos usuários um conjunto completo de serviços para atender aos requisitos do usuário .

1.1.3 Características dos sistemas operacionais

  • Simultaneidade:Simultaneidade refere-se a dois ou mais eventos que ocorrem ao mesmo tempo; simultaneidade refere-se a dois ou mais eventos que ocorrem dentro do mesmo intervalo de tempo. A simultaneidade parece paralelismo em nível macro. A execução simultânea de programas pode efetivamente melhorar a utilização de recursos do sistema, mas complicará o sistema, portanto, o sistema operacional deve ter a capacidade de controlar e gerenciar várias atividades simultâneas.
  • Compartilhamento: O compartilhamento de recursos significa que os recursos de hardware e software do sistema não são mais exclusivos de um determinado programa, mas podem ser usados ​​por vários usuários.
    • Compartilhamento mutuamente exclusivo. Alguns recursos do sistema que podem ser compartilhados, como impressoras, determinadas variáveis, filas, etc.Recursos que só podem ser usados ​​por um trabalho por vez, ele só poderá ser usado por outros trabalhos depois que o trabalho atual terminar de usá-lo e liberá-lo.
    • Visite simultaneamente. Outro tipo de recurso no sistema, como discos, código reentrante, etc., podePara acesso simultâneo por vários trabalhos

Simultaneidade e compartilhamento são os dois recursos mais básicos dos sistemas operacionais, as duas são condições mutuamente existentes. Por um lado, a partilha de recursos está condicionada à execução concorrente de programas. Se o sistema não permitir a execução concorrente de programas, naturalmente não haverá problema de partilha de recursos; por outro lado, se o sistema não conseguir gerir eficazmente compartilhamento de recursos, também deve afetar a execução simultânea do programa, ou até mesmo impedir a execução simultânea.

  • Virtualidade: Em um sistema operacional, virtualidade se refere aTransforme uma entidade física em várias contrapartes lógicas. A primeira é real e a segunda é virtual. Este é apenas um sentimento do usuário.. Por exemplo, após a introdução da tecnologia de multiprogramação no sistema operacional, embora haja apenas uma CPU e só possa executar um programa por vez, por meio de compartilhamento de tempo, dentro de um período de tempo, este processador pode executar macroscopicamente vários programas ao mesmo tempo.programa. Dá ao usuário a sensação de que cada programa possui uma CPU servindo a ele. Ou seja, a tecnologia de multiprogramação pode virtualizar uma CPU física em múltiplas CPUs lógicas. Além disso, há memória virtual (memória expandida logicamente), dispositivos virtuais (exclusivos). dispositivos tornam-se dispositivos compartilhados) e outras tecnologias.
  • Assincronidade: Em um ambiente de multiprogramação, devido a restrições de recursos e outros fatores, o programa é executado de maneira "pára e segue".Quando cada programa do sistema é executado, a ordem em que vários programas são executados e o tempo necessário para concluir cada programa são incertos e, portanto, imprevisíveis.

1.1.4 Principais funções e serviços fornecidos pelo sistema operacional

A função do sistema operacional é gerenciar os recursos de software e hardware do sistema, organizar racionalmente o fluxo de trabalho do computador e fornecer aos usuários um bom ambiente de trabalho e uma interface amigável.

As cinco funções básicas do sistema operacional: gerenciamento de processador, gerenciamento de memória, gerenciamento de dispositivos, gerenciamento de arquivos e interface de usuário.

Gerenciamento de processador

As principais tarefas do gerenciamento do processador sãoImplementar gerenciamento eficaz de alocação e operação de processador. Em um ambiente de multiprogramaçãoA alocação e operação do processador são baseadas no processo, portanto o gerenciamento do processador pode ser atribuído ao gerenciamento do processo.

  • Controle do processo. Responsável pela criação de processos, cancelamento e transição de estado.
  • Sincronização de processos. Coordenar processos de execução simultânea.
  • Comunicação de processo. Responsável por completar a troca de informações entre processos.
  • Agendamento de processos. A alocação do processador é realizada de acordo com um determinado algoritmo.

gerenciamento de memória

A principal tarefa do gerenciamento de memória é alocar, proteger e expandir a memória.

  • Alocação de memória. Aloque memória para cada programa de acordo com uma determinada estratégia.
  • Proteção de memória. Certifique-se de que cada programa seja executado em sua própria área de memória sem interferir uns nos outros.
  • Expansão de memória. Para permitir a execução de trabalhos grandes ou múltiplos, a tecnologia de armazenamento virtual deve ser usada para obter o efeito de aumentar a memória.

Gerenciamento de dispositivo

O gerenciamento de periféricos de computador é a parte mais complexa e trivial do sistema operacional.A principal tarefa do gerenciamento de dispositivos é gerenciar com eficácia todos os dispositivos do sistema de computador

  • Alocação de equipamentos. Alocar equipamentos de acordo com determinados princípios de alocação de equipamentos. Para fazer com que o dispositivo e o host funcionem em paralelo, também são necessárias tecnologia de buffer e tecnologia de virtualização.
  • Controle de transferência de dispositivos. Realize operações físicas de entrada/saída, ou seja, iniciar dispositivos, interromper o processamento, finalizar o processamento, etc.
  • Independência do dispositivo. Ou seja, os dispositivos no programa do usuário não têm nada a ver com os dispositivos físicos reais utilizados.

Gerenciamento de arquivos

A parte do sistema operacional responsável pelo gerenciamento da informação é chamada de sistema de arquivos, daí o nome gerenciamento de arquivos.A principal tarefa do gerenciamento de arquivos é apoiar efetivamente as operações de armazenamento, recuperação e modificação de arquivos e resolver problemas de compartilhamento, confidencialidade e proteção de arquivos.

  • Gerenciamento do espaço de armazenamento de arquivos. Responsável pelo gerenciamento do espaço de armazenamento de arquivos, incluindo alocação de espaço de armazenamento e funções de reciclagem.
  • Gerenciamento de diretório. Um diretório é uma estrutura de dados criada para facilitar o gerenciamento de arquivos e fornece acesso por nome.
  • Gerenciamento de operação de arquivos. Implementar operações de arquivo e ser responsável por concluir a leitura e gravação de dados.
  • Proteção de arquivos. Fornece função de proteção de arquivos para evitar que os arquivos sejam danificados.

interface de usuário

Para facilitar o uso do sistema operacional pelos usuários, o sistema operacional também fornece uma interface de usuário.

  • Interface de comando.Fornece um conjunto de comandos para os usuários controlarem direta ou indiretamente seus próprios trabalhos. Existem principalmente dois métodos de controle de interface de comando, ou seja, interface de comando online e interface de comando offline .
    • A interface de comando online, também conhecida como interface de comando interativa, é adequada para sistemas operacionais de tempo compartilhado ou em tempo real. Consiste em um conjunto de comandos de operação do teclado. Os usuários inserem comandos de operação por meio do console ou terminal para apresentar vários serviços requisitos ao sistema.Cada vez que o usuário insere um comando, o controle é transferido para o interpretador de comandos do sistema operacional e, em seguida, o interpretador de comandos interpreta e executa o comando inserido para completar a função de execução.. O controle então retorna ao console ou terminal, onde o usuário pode inserir o próximo comando.
    • A interface de comando offline também é chamada de interface de comando em lote, adequada para sistemas de processamento em lote e consiste em um conjunto de comandos de controle de trabalho (ou instruções de controle de trabalho).Os usuários offline não podem intervir diretamente na execução do trabalho, eles devem escrever antecipadamente uma instrução de operação do trabalho com o comando de controle do trabalho correspondente e enviá-la ao sistema junto com o trabalho. Quando o sistema agenda o trabalho, o interpretador de comandos no sistema interpreta e executa as instruções de comando ou controle na descrição do trabalho, um por um, controlando indiretamente a operação do trabalho.
  • interface do programa.Também chamada de chamada de sistema, é uma interface de nível de programa. O sistema fornece um conjunto de comandos de chamada de sistema para programas de usuário e outros programas de sistema chamarem.. Os usuários podem usar diretamente este conjunto de comandos de chamada do sistema no programa para fazer várias solicitações de serviço ao sistema operacional, como usar periféricos, solicitar alocação de memória, operações de arquivos em disco, etc.
  • Interface gráfica. A interface gráfica (também chamada de interface gráfica) que surgiu nos últimos anos éInterface gráfica de comando online. Você pode saber quais serviços o sistema operacional fornece pelas funções do sistema operacional: o sistema operacional fornece um ambiente para execução de programas. Os serviços fornecidos incluem execução de programas, operações de E/S, operações de arquivos, alocação e proteção de recursos, detecção de erros e eliminação, etc.

1.2 Desenvolvimento e classificação de sistemas operacionais

1.2.1 A formação e desenvolvimento de sistemas operacionais

O processo de desenvolvimento de sistemas operacionais está, na verdade, intimamente relacionado aos problemas encontrados pelas primeiras pessoas. Por exemplo, a tecnologia de entrada/saída offline foi proposta para resolver a contradição de velocidade entre processadores e dispositivos, e a tecnologia de processamento em lote foi desenvolvida para reduzir a intervenção humana. pode-se perceber que o desenvolvimento de sistemas operacionais é uma solução muito natural para os problemas dos primeiros sistemas de computador.

O sistema operacional passou pelo seguinte processo de desenvolvimento

  • Operação manual (sem sistema operacional)

    • Uso exclusivo do usuário de toda a máquina
    • CPU aguardando operação manual

    A tecnologia de entrada/saída offline é proposta para resolver a incompatibilidade de velocidade entre a CPU e os dispositivos de E/S. Esta tecnologia reduz o tempo de espera ociosa da CPU e aumenta a velocidade de E/S.

Insira a descrição da imagem aqui

  • Sistemas em lote (os sistemas operacionais começam a aparecer)

    • Sistema de processamento em lote de pista única

    Insira a descrição da imagem aqui

    Primeiro transfira o primeiro trabalho da fita para a memória e dê o controle da operação ao primeiro trabalho.Quando o primeiro trabalho é processado, o controle é retornado ao programa supervisor, e o programa supervisor então transfere o segundo trabalho para memória.Um trabalho é carregado na memória.Dessa forma, o sistema do computador processa automaticamente os trabalhos na fita, um após o outro, até que todos os trabalhos na fita sejam processados., formando assim um sistema inicial de processamento em lote.

    • Características: Automático, sequencial, monocanal.

    • Desvantagem: Durante as operações de E/S, a CPU não tem nada para fazer.

    • Sistema operacional de processamento em lote multicanal

    Insira a descrição da imagem aqui

    • Recursos: Paralelismo multitarefa multicanal de nível macro e serialização de fatiamento multitarefa de nível micro.

    • Vantagens: O rendimento do sistema é aprimorado devido à utilização aprimorada de CPU, memória e dispositivos de E/S.

    • questões que precisam ser resolvidas

      • Problemas de gerenciamento de processador, problemas de gerenciamento de memória, problemas de gerenciamento de dispositivos de E/S (dispositivos de entrada e saída), problemas de gerenciamento de arquivos e problemas de gerenciamento de trabalhos.
      • Desvantagens: Sem recursos interativos.
  • sistema de compartilhamento de tempo

    • Características: multicanal, independência, pontualidade, interatividade.
  • sistema em tempo real

    • Características: multicanal, independência, pontualidade, interatividade e confiabilidade.
  • Sistema operacional de microcomputador

    • Sistemas monousuário monotarefa, sistemas multitarefa monousuário e multitarefa multiusuário.
  • sistema operacional embarcado

    Um sistema operacional embarcado é um sistema de software que roda em um ambiente de sistema embarcado e executa coordenação, agendamento, comando e controle unificados de todo o sistema embarcado e dos vários componentes e dispositivos que ele opera e controla.

  • sistema de cluster

    Um sistema clusterizado une dois ou mais sistemas independentes para completar uma tarefa. A definição de cluster ainda não foi finalizada,A definição geralmente aceita é um cluster de computadores que compartilham armazenamento e estão intimamente conectados através de uma rede LAN.. Um cluster geralmente possui vários computadores de nós e um ou mais computadores de monitoramento, onde os computadores de monitoramento são usados ​​para gerenciar e controlar os nós, emitir instruções de trabalho, etc.

  • sistema operacional de rede

    Um sistema operacional de rede é um sistema que interconecta vários sistemas de computadores fisicamente dispersos com funções autônomas por meio de recursos de comunicação para alcançar troca de informações, compartilhamento de recursos, interoperabilidade e processamento colaborativo.Seu objetivo é alcançar comunicação mútua e compartilhamento de recursos

  • Sistema operacional distribuído

    Sistema distribuído refere-se aUm sistema que consiste em múltiplas unidades de processamento distribuídas conectadas através de uma rede interconectada, cada unidade de processamento tem um alto grau de autonomia e colabora entre si, podendo realizar o gerenciamento de recursos, alocar tarefas dinamicamente no sistema e executar programas distribuídos em paralelo.

    Características: unidade, partilha, transparência, autonomia.

1.3 Ambiente do sistema operacional

1.3.1 Modo de operação da CPU

Para evitar que o sistema operacional e seus dados principais (como PCB, etc.) sejam danificados intencionalmente ou não por programas do usuário, o estado de execução do processador é geralmente dividido em dois tipos: estado central e estado do usuário .

  • estado central. O estado central, também conhecido como estado de gerenciamento e estado do sistema, é o estado da máquina quando o programa de gerenciamento do sistema operacional é executado. Possui privilégios mais elevados, pode executar todas as instruções, incluindo instruções privilegiadas, e pode acessar todos os registros e áreas de armazenamento .
  • Modo de usuário. O modo de usuário, também conhecido como modo olho, é o estado da máquina quando os programas do usuário são executados. É um estado de execução com privilégios mais baixos. Ele só pode executar instruções especificadas e acessar registros e áreas de armazenamento específicas .

Os programas em modo usuário não podem chamar diretamente programas em modo núcleo, masAo executar o comando para acessar o estado central, uma interrupção é causada e o sistema de interrupção é transferido para o programa correspondente no sistema operacional., por exemplo, quando uma chamada do sistema é feita, o modo de usuário é convertido para o modo principal.

Instruções privilegiadas :Instruções que só podem ser usadas pela parte do kernel do sistema operacional e não podem ser usadas diretamente pelos usuários., como I/0 refere-se à instrução de configuração de máscara de interrupção, instrução de limpeza de memória, instrução de proteção de armazenamento e instrução de configuração de relógio.

Alguns módulos do sistema operacional que estão intimamente relacionados ao hardware (como gerenciamento de relógio, processamento de interrupções, drivers de dispositivos, etc.) e programas com frequências de execução mais altas (como gerenciamento de processos, gerenciamento de memória, gerenciamento de dispositivos, etc.) constituem o kernel do sistema operacional.As operações de instrução do kernel funcionam no estado central

  • Gerenciamento de relógio. O relógio é o dispositivo mais crítico entre todos os componentes do computador.O sistema operacional fornece aos usuários a hora padrão do sistema por meio do gerenciamento do relógio. Além disso, através do gerenciamento de interrupções de relógio, a comutação de processos pode ser realizada, como o agendamento de rotação de intervalo de tempo.
  • mecanismo de interrupção. Entrada de teclado ou mouse, gerenciamento e agendamento de processos, chamadas de funções do sistema, drivers de dispositivos, acesso a arquivos, etc., todos dependem do mecanismo de interrupção. No mecanismo de interrupção, apenas uma pequena parte pertence ao kernel, que é responsável por proteger e restaurar as informações no local da interrupção e transferir o controle para o manipulador relevante. Isto pode reduzir o tempo de processamento do terminal e melhorar a capacidade de processamento paralelo do sistema.
  • Primitivos. Primitivos são pequenas rotinas utilitárias usadas para desligar interrupções
    • Está na parte inferior do sistema operacional e é a parte mais próxima do hardware.
    • A execução do programa é atômica e as operações só podem ser concluídas de uma só vez.
    • Esses programas têm tempos de execução curtos e são chamados com frequência.
  • Estrutura e processamento de dados para controle do sistema. No sistema operacional, algumas estruturas de dados são necessárias para registrar informações de status, como blocos de controle de tarefas, blocos de controle de processos, blocos de controle de dispositivos, várias listas encadeadas, filas de mensagens, buffers, áreas de registro livres, tabelas de alocação de memória, etc.; em adição Além disso, uma série de operações nessas estruturas de dados deve ser definida: gerenciamento de processos, gerenciamento de memória e gerenciamento de dispositivos.

1.3.2 Tratamento de interrupções e exceções

As interrupções, também conhecidas como interrupções externas, fazem parte das funções normais do sistema. Por exemplo, devido ao agendamento do processo, o sistema interrompe o processo em execução no momento e executa outros processos, ou interrompe a operação atual devido à falta de recursos necessários e aguarda a chegada dos recursos.Depois que outras coisas forem processadas, o processo antes da interrupção continuará.

As exceções, também chamadas de interrupções internas, são causadas por erros, como arquivos corrompidos, processos fora dos limites, etc.

Geralmente as exceções causam interrupções, mas as interrupções não são necessariamente causadas por exceções.

1.3.3 Chamadas do sistema

Chamada de sistema é uma das interfaces de usuário fornecidas pelo sistema operacional. É uma coleção de todas as chamadas de sistema implementadas pelo sistema operacional, ou seja, a interface do programa ou interface de programação de aplicativo (API). É a interface entre o programa aplicativo e o sistema.

A principal função do sistema operacional é criar um bom ambiente para a execução dos aplicativos. Para atingir esse objetivo, o kernel fornece uma série de funções de kernel com funções pré-determinadas, que são apresentadas aos usuários por meio de um conjunto de interfaces chamadas chamadas de sistema. A chamada do sistema passa a solicitação do aplicativo ao kernel, chama a função do kernel correspondente para concluir o processamento necessário e retorna o resultado do processamento ao programa aplicativo. Sem chamadas de sistema e funções de kernel, os usuários não seriam capazes de escrever aplicações grandes. As chamadas de sistema fornecidas pelo sistema operacional geralmente incluem controle de processo, controle de sistema de arquivos (operações de leitura e gravação de arquivos e operações de sistema de arquivos), controle de sistema, gerenciamento de memória, gerenciamento de rede, controle de soquete, gerenciamento de usuários e comunicação entre processos (sinais, mensagens , pipes, semáforos e memória compartilhada).

Quando o usuário precisa realizar uma chamada de sistema,Primeiro, prepare e passe os parâmetros necessários para a chamada do sistema e insira o kernel do sistema operacional por meio da instrução trap. Neste momento, ele entrará no estado do kernel no modo de usuário; em seguida, execute a função de chamada do sistema correspondente e use funções específicas do kernel do sistema; finalmente, retorne o resultado do processamento ao processo do usuário. Neste momento, ele retornará do modo kernel para o modo do usuário.

Insira a descrição da imagem aqui

1.4 Arquitetura do sistema operacional

A arquitetura do sistema operacional é a estrutura de componentes do sistema operacional.A arquitetura do sistema operacional inclui principalmente estrutura de combinação de módulos, estrutura hierárquica e estrutura de microkernel

1.4.1 Estrutura de combinação de módulos

A estrutura de combinação de módulos é a arquitetura dos primeiros sistemas operacionais antes do surgimento da engenharia de software e de alguns pequenos sistemas operacionais atuais.O sistema operacional é um programa de sistema com múltiplas funções, podendo ser considerado um módulo integral ou um sistema composto por vários módulos de acordo com uma determinada estrutura.. Cada módulo do sistema é dividido de acordo com as funções que deseja realizar.Esses módulos funcionais são combinados de acordo com um determinado método estrutural para completar colaborativamente as funções de todo o sistema.

  • Vantagens: estrutura compacta, interface simples e direta, eficiência do sistema relativamente alta.
  • Desvantagens: Os módulos desta estrutura podem ser trocados à vontade, e cada módulo está envolvido entre si. Não é fácil compreender a independência do módulo, resultando emA estrutura do sistema não é clara. Em segundo lugar, este tipo deA estrutura é menos escalável. Ao substituir ou modificar um módulo, você deve primeiro esclarecer as interfaces entre os módulos. Se você deseja projetar um novo módulo de acordo com a interface do módulo originalmente projetada, e a interface do módulo originalmente projetada provavelmente será acordada arbitrariamente, então você precisa para fazer isso Há um certo grau de dificuldade neste trabalho. Finalmente, esteMá adaptabilidade dos sistemas estruturais. À medida que a escala do sistema continua a aumentar, a complexidade do sistema construído utilizando esta estrutura aumentará rapidamente, pelo que só é adequada para sistemas com sistemas pequenos, poucos módulos e ambientes de utilização relativamente estáveis.

1.4.2 Hierarquia

Para compensar as deficiências das chamadas intermódulos na estrutura de combinação de módulos, é necessário melhorar as chamadas mútuas irregulares e as relações de interdependência entre módulos, especialmente para eliminar as chamadas cíclicas entre módulos.O desenho da estrutura hierárquica parte deste ponto e busca colocar em ordem a desordem das chamadas entre os módulos e reduzir a irregularidade das chamadas dos módulos.. Projetar o sistema operacional de acordo com a estrutura hierárquica éOrganize todos os módulos funcionais do sistema operacional em várias camadas de acordo com a ordem das chamadas de função, de modo que haja apenas chamadas unidirecionais e dependências unidirecionais entre os módulos funcionais

  • Vantagens: A organização e as dependências entre os módulos são claras e claras,As funções da camada superior são construídas sobre as funções da camada inferior e a legibilidade, adaptabilidade e confiabilidade do sistema são aprimoradas. Além disso, ao modificar ou substituir uma determinada camada, isso afetará no máximo duas camadas adjacentes, facilitando a modificação e expansão.
  • Desvantagens: Em qual camada os vários módulos funcionais do sistema operacional devem ser colocados e como colocá-los em camadas de maneira eficaz são questões que devem ser consideradas.

1.4.3 Estrutura do micronúcleo

Com a ampla aplicação e desenvolvimento da tecnologia de rede, é necessário fornecer aos usuários um ambiente de sistema distribuído que seja adequado para processar informações distribuídas. Portanto, o sistema operacional pode adotar uma estrutura de microkernel.A ideia principal do microkernel é deixar apenas algumas das funções mais básicas no kernel do sistema operacional, e separar outros serviços do kernel tanto quanto possível, por vários processos (isto é, processos de servidor) rodando em modo de usuário. , formando o chamado modelo "cliente/servidor", ou seja, modelo C/S. Processos de usuários comuns (ou seja, processos clientes) podem enviar solicitações ao processo servidor através do kernel para obter serviços do sistema operacional. Pode-se perceber pela ideia principal da estrutura do microkernel que ela é muito adequada para sistemas distribuídos.

  • Vantagens: Em primeiro lugar, cada processo de serviço é executado em um processo de usuário independente. Mesmo que um servidor falhe ou ocorram problemas, isso não causará o colapso de outros servidores e outros componentes do sistema, e a confiabilidade é boa; em segundo lugar, o sistema tem boa flexibilidade, desde que a interface seja padronizada, o sistema operacional pode facilmente adicionar e excluir funções de serviço; em terceiro lugar, é fácil de manter, ou seja, modificar o código do servidor não afetará outras partes do sistema; finalmente, isso sistema operacional estruturado é adequado para ambientes de computação de processamento distribuído.
    Processo do usuário) pode enviar solicitações ao processo do servidor através do kernel para obter serviços do sistema operacional. Pode-se perceber pela ideia principal da estrutura do microkernel que ela é muito adequada para sistemas distribuídos.

  • Vantagens: Em primeiro lugar, cada processo de serviço é executado em um processo de usuário independente. Mesmo que um servidor falhe ou ocorram problemas, isso não causará o colapso de outros servidores e outros componentes do sistema, e a confiabilidade é boa; em segundo lugar, o sistema tem boa flexibilidade, desde que a interface seja padronizada, o sistema operacional pode facilmente adicionar e excluir funções de serviço; em terceiro lugar, é fácil de manter, ou seja, modificar o código do servidor não afetará outras partes do sistema; finalmente, isso sistema operacional estruturado é adequado para ambientes de computação de processamento distribuído.

  • Desvantagens: O sistema operacional com esta estrutura não é eficiente porque todos os processos do usuário têm que se comunicar entre si através do microkernel, então o próprio microkernel se torna o "gargalo" do sistema, principalmente de sistemas com comunicação frequente.

Acho que você gosta

Origin blog.csdn.net/pipihan21/article/details/129587160
Recomendado
Clasificación