Notas de estudo do sistema operacional e opiniões pessoais

sistema operacional

Notas do curso de sistema operacional de pós-graduação Wangdao e algumas opiniões pessoais

Conceito, função, objetivo

O mais básico: bare metal (hardware puro) (precisa aprender os princípios da composição do computador)

Então: bare metal + sistema operacional é nosso computador recém-comprado

Então: instale o aplicativo

Todos nós sabemos disso: o que é um sistema operacional?

Copiar palavras de outras pessoas é:

1. Responsável por gerenciar e coordenar recursos de computador, como hardware e software

2. Fornecer serviços simples e fáceis de usar para aplicativos e usuários de nível superior (achamos que o Windows é gentil)

3. O sistema operacional é o software do sistema, não o hardware

No vernáculo, a maioria das pessoas só pode usar o sistema operacional se você o tiver instalado, você pode jogar e usar o computador para navegar na Internet. É um pouco como se quiséssemos desenvolver Java, precisamos ter um ambiente JKD JRE.

Definição do sistema operacional

SO (Sistema Operacional, SO) refere-se ao controle e gerenciamento de todos os recursos de hardware e software do medidor de um sistema de computador e à organização racional do trabalho de despacho do computador e à alocação de recursos a serem fornecidos para facilitar os usuários e outras interfaces de software e ambiente , É o software de sistema mais básico em um sistema de computador.

Objetivo funcional

Como gerente de recursos do sistema :

Processamento, armazenamento, gerenciamento de arquivos e gerenciamento de equipamentos são todos os seus trabalhos

Você primeiro acha que existe uma função para agendar o trabalho do processo , como abrir um sistema operacional de processo?

O programa precisa ser colocado na memória antes de ser processado pela CPU. Ele também deve distribuir nosso equipamento uniformemente

Como a interface entre o usuário e o hardware do computador :

Precisa fornecer interface de comando (interface de comando online e interface de comando offline), interface de programa, GUI

Então, qual é a interface de comando online ? ===> cmd este tipo de interação

Qual é a interface de comando offline ? ====> o arquivo bat é a nossa interface de comando em lote , há um monte de instruções

Interface do programa : como C: \ Windows \ System32 \ user32 **. Dll ** O programador pode chamar user32. Dll no programa (o processo de chamada é a
chamada do sistema) para realizar funções como a criação de janelas. Só pode ser usado indiretamente por meio do programa do usuário.

Características do sistema operacional

Quatro características do sistema operacional

Simultaneidade, compartilhamento, virtual, assíncrono , simultaneidade, compartilhamento são as características mais básicas, as duas são condições mutuamente existentes

Concorrente

Desnecessário dizer, vamos apenas colocar uma introdução PPT

Simultaneidade : refere-se a dois ou mais eventos ocorrendo no mesmo intervalo de tempo . Esses eventos ocorreram ao mesmo tempo em um nível macro, mas alternadamente ocorreram em um nível micro.
Paralelo : dois ou mais eventos acontecem ao mesmo tempo ao mesmo tempo.

A simultaneidade do sistema operacional se refere à existência de vários programas em execução no sistema de computador ao mesmo tempo.

Um processador de núcleo único (CPU) só pode executar um programa por vez, então o sistema operacional será responsável por coordenar a execução alternativa de vários programas (os programas são executados alternadamente no
nível micro, mas parecem que estão sendo executados ao mesmo tempo, no nível macro)

compartilhado

Compartilhamento é o compartilhamento de recursos, o que significa que os recursos do sistema podem ser usados ​​por vários processos em execução simultânea na memória .

Dividido em compartilhamento mutuamente exclusivo , compartilhamento simultâneo , literalmente

Ei, isso cheira assim? Você já viu isso antes? Esta frase é muito familiar. Parece que essa é a diferença entre a memória de trabalho e a memória principal. A memória principal pode ser compartilhada, mas a memória de trabalho só pode ser usada por este processo e instância.

Qual é a relação entre eles?

Se, no mesmo período, os dois programas usam memória, dados do disco rígido, seu produto e seu produto. Se uma determinada condição estiver faltando, eles não podem ser simultâneos : então você compartilha um peido, falta de compartilhamento : como podem os dois enviar o mesmo arquivo durante o mesmo período de tempo

virtual

A virtualidade se refere à transformação de uma entidade física em milhares de contrapartes lógicas . A entidade física (a primeira) realmente existe, enquanto a
contraparte lógica (a última) é sentida pelo usuário.

Este é um produto emmm, não é bom dar um exemplo, basta copiar o exemplo de alguém

Conhecimento prévio: Um programa precisa ser colocado na memória e atribuído a uma CPU para ser executado

Se o LOL precisa de 4 GB de memória de execução, QQ precisa de 256 MB de memória, o Thunder precisa de 256 MB de memória e o NetEase Cloud Music precisa de 256 MB de memória interna ... Meu computador: 4 GB de memória.
Problema: esses programas exigem muito mais do que 4 GB de memória para ser executado ao mesmo tempo , então por que eles podem ser executados no meu computador ao mesmo tempo?

Use a " tecnologia de multiplexação por divisão espacial " em tecnologia virtual

Em um computador com CPU de núcleo único , o usuário abriu o seguinte software. …… LOL QQ Douyu.com Yiyun Music

Por que eles podem ser usados ​​ao mesmo tempo?

Na verdade, apenas uma CPU de núcleo único funciona. Como ela pode fingir ser 4 CPUs?

Tecnologia de multiplexação por divisão de tempo : microscopicamente, o processador serve alternadamente cada processo em cada pequeno período de tempo

Essas tecnologias serão mencionadas em detalhes posteriormente

Se o computador não pode ser concorrente, o que mais a tecnologia virtual faz? Você precisa dele?

assíncrono

Freqüentemente encontramos assíncrono no desenvolvimento? Solicitação assíncrona e interação assíncrona. A assincronia aqui é igual às características assíncronas de nosso sistema operacional de computador?

Eu ainda copio uma definição

Assincronia significa que em um ambiente multiprograma , vários programas podem ser executados simultaneamente , mas devido a recursos limitados, a execução do processo não é consistente até o fim, mas para e prossegue em uma velocidade imprevisível. Este é o processo A natureza assíncrona . emmm é diferente, é um pouco como bloquear

Desenvolvimento e classificação de sistema operacional

Copie a imagem para ver

Insira a descrição da imagem aqui

Estágio de operação manual

Sem sistema operacional, apenas código de máquina

Principais desvantagens : os usuários monopolizam a máquina inteira, e a contradição entre a velocidade do homem e da máquina leva a uma utilização de recursos extremamente baixa

Sistema de processamento em lote de passagem única

Introduzir a tecnologia de entrada / saída offline (completada com fita) e supervisionar o programa responsável por controlar a entrada e a saída do trabalho

Este programa de supervisão é o protótipo do sistema operacional com a
principal vantagem : ele alivia um certo grau de contradição de velocidade homem-máquina, e a taxa de utilização de recursos foi melhorada.
Principais desvantagens : Apenas um programa pode ser executado na memória, e o próximo programa pode ser carregado somente após a conclusão da execução do programa. A CPU tem muito tempo em inatividade aguardando a conclusão da E / 0 . A utilização de recursos ainda é muito baixa.

Sistema de processamento em lote de múltiplas passagens

Ou seja, toda vez que vários programas são inseridos na memória, o sistema operacional nasce oficialmente e a tecnologia de interrupção é introduzida, e o sistema operacional é responsável por gerenciar
a operação desses programas . Execução simultânea de vários programas

As principais vantagens : programas multicanais concomitantemente , compartilhamento de recursos do computador . A utilização de recursos foi muito melhorada, a CPU e outros recursos permanecem "ocupados"
e a taxa de transferência do sistema aumentou .

Principais desvantagens : longo tempo de resposta do usuário e nenhuma função de interação humano-computador (após o usuário enviar seu próprio trabalho, ele só pode esperar que o computador conclua o processamento e
não pode controlar a execução de seu próprio trabalho no meio)

Por que o sistema de processamento Duotopi pode aumentar muito a taxa de utilização dos recursos? ?

Veja o exemplo do vídeo

Insira a descrição da imagem aqui

Insira a descrição da imagem aqui

Sistema operacional de compartilhamento de tempo

O computador atende a cada usuário / trabalho em unidades de fatias de tempo , e cada usuário pode interagir com o computador por meio do terminal.

Ei, isso não é familiar para você. Existe um método de rotação de intervalo de tempo para o nosso trabalho de thread?

Principais deficiências : Não pode dar prioridade a algumas tarefas urgentes. O sistema operacional é completamente justo para cada usuário /
trabalho , servindo ciclicamente uma fatia de tempo para cada usuário / trabalho, e não distingue a urgência da tarefa .

Sistema operacional em tempo real

Principais vantagens : ele pode responder a algumas tarefas urgentes primeiro, e algumas tarefas urgentes não precisam de intervalos de tempo para fazer fila . Não é apenas ser capaz de pular na linha?

Sob o controle do sistema operacional em tempo real, o sistema do computador processa o sinal externo em tempo hábil após receber o sinal externo e deve processar o evento dentro de um limite de tempo estrito. As principais características dos sistemas operacionais em tempo real são rapidez e confiabilidade

Os sistemas operacionais em tempo real são divididos em sistemas de tempo real hard (que devem ser processados ​​dentro de um tempo estritamente estipulado) e sistemas de tempo real soft (podem aceitar violações ocasionais dos regulamentos de tempo)

Outros sistemas operacionais

Sistema operacional de rede : nasceu com o desenvolvimento de redes de computadores. Pode combinar organicamente computadores na rede para realizar a transmissão de dados e outras funções , e realizar o compartilhamento de vários recursos na rede (como compartilhamento de arquivos) e a relação entre cada computador Intercomunicação . (Por exemplo: o Windows NT é
um sistema operacional de rede típico e o servidor do site pode ser usado)

Sistema operacional distribuído : O principal recurso é distribuição e paralelismo . Cada computador do sistema tem o mesmo status, e qualquer trabalho pode ser distribuído nesses computadores, e eles podem concluir essa tarefa em paralelo e cooperativamente.

Mecanismo operacional, estrutura do sistema

Duas instruções

Instruções privilegiadas : como instruções para limpar a memória (os usuários não têm permissão para usar)

Instruções não privilegiadas : como instruções aritméticas comuns

Como a CPU julga se pode executar instruções privilegiadas?

O estado dos dois processadores

Modo de usuário : também conhecido como modo de cabeça

Estado do núcleo : também conhecido como estado do tubo

Use um determinado sinalizador no registrador de palavra de status do programa (PSW) para identificar em qual estado o processador atual está. Por exemplo, 0 é o modo do usuário, 1 é o modo principal

Ouvimos essas duas palavras lá também?

Dois procedimentos

Programa de kernel : O programa de kernel do sistema operacional é o administrador do sistema.Ele pode executar instruções privilegiadas ou não privilegiadas e ser executado no estado de núcleo.

Programa aplicativo : para garantir a operação segura do sistema, os programas aplicativos comuns só podem executar instruções não privilegiadas e no modo de usuário.

Kernel do sistema operacional

A parte do sistema operacional mais próxima da camada inferior é chamada de kernel

Copiei uma foto

Insira a descrição da imagem aqui

O kernel pode ser dividido em gerenciamento de tempo , processamento de interrupção , primitivos (driver de equipamento, comutação de CPU, etc.)

Gerenciamento de relógio : perceba a função do temporizador, que alternância de processo geralmente usamos e agendamento de processo com base no gerenciamento de relógio

Primitivo : Primitivo é um programa especial. É a parte mais próxima do hardware , e o funcionamento desse tipo de programa é atômico . Curto tempo de execução e chamadas frequentes

Alguns sistemas operacionais não classificam essas funções ( gerenciamento de processos, gerenciamento de memória, gerenciamento de dispositivos, etc.) como "funções de kernel". Em outras palavras, diferentes sistemas operacionais podem ter diferentes divisões de funções do kernel

Arquitetura

Copiei uma foto

Insira a descrição da imagem aqui

Big kernel : os principais módulos de função do sistema operacional são considerados como o kernel do sistema, rodando no estado central

Vantagens :
Desvantagens de alto desempenho : O código do kernel é enorme, a estrutura é caótica e é difícil de manter

O microkernel mantém apenas as funções mais básicas do kernel.
Vantagens : menos funções do kernel, estrutura clara, fácil de manter
Desvantagens : necessidade de alternar frequentemente entre o modo de núcleo e o modo de usuário, baixo desempenho

Acho que você gosta

Origin blog.csdn.net/qq_22155255/article/details/111998490
Recomendado
Clasificación