[Linux] Arquitetura de software e hardware de computador

1. Arquitetura de Von Neumann

Actualmente, os nossos computadores comuns, como notebooks. A maioria dos nossos computadores incomuns, como os servidores, atendem ao sistema von Neumann, que se caracteriza por armazenar dados e instruções na mesma memória e utilizar um contador de programas (Program Counter, PC) para controlar a execução das instruções pelo computador. ordem . Sua estrutura específica é a seguinte:

Insira a descrição da imagem aqui

A estrutura incorporada de Von Neumann consiste principalmente em cinco partes: unidade aritmética , controlador , memória , dispositivo de entrada e dispositivo de saída .

A unidade aritmética, o controlador e alguns registros são chamados coletivamente de unidade central de processamento (CPU), que é a principal responsável pela execução de instruções e processamento de dados.

Memória geralmente se refere à memória. A memória é volátil quando há falta de energia e só pode ser usada para armazenar programas e dados temporariamente.

Dispositivos de entrada e saída são usados ​​para interação de dados com dispositivos externos e são chamados coletivamente de periféricos. Discos e placas de rede são dispositivos de entrada e saída, teclados são dispositivos de entrada e monitores são dispositivos de saída. Os discos são armazenados sem energia e podem ser usados para armazenamento permanente.

Sabemos que a CPU é o núcleo de um computador porque possui capacidades computacionais rápidas e fortes (operações aritméticas e operações lógicas), mas na verdade podemos dizer que a CPU é muito estúpida porque só pode receber passivamente os dados e instruções passadas por outros são então retornados com os resultados obtidos pela operação, portanto há dois problemas aqui:

1. Como a CPU pode identificar os dados e instruções que lhe passamos?

A CPU pode reconhecer os dados e instruções que lhe passamos porque o computador armazena e processa dados e instruções de acordo com certas regras e formatos. Essas regras e formatos são chamados coletivamente de arquitetura de computador, que inclui como os dados e instruções são codificados e armazenados.

Especificamente, quando inserimos dados e instruções no computador, eles são convertidos em códigos binários e armazenados na memória em um determinado formato. A CPU lê dados e instruções da memória controlando a leitura e escrita do barramento e da memória, e os analisa e executa de acordo com o formato de codificação das instruções.

A unidade de controle (Unidade de Controle) na CPU é responsável por analisar a instrução, determinar o tipo de instrução e o objeto de operação, depois ler o objeto de operação da memória para o registrador e realizar as operações exigidas pela instrução. A Unidade Lógica Aritmética (ALU) da CPU é responsável por realizar operações aritméticas e lógicas e armazenar os resultados em registradores ou memória.

Resumindo, a CPU pode reconhecer os dados e instruções que lhe passamos porque o computador armazena e processa dados e instruções de acordo com certas regras e formatos, e a unidade de controle e a unidade lógica aritmética na CPU podem analisar e executar essas instruções.CPU Existe internamente um conjunto de conjuntos de instruções diretas, que mapearão as instruções para o conjunto de instruções e, em seguida, concluirão as operações correspondentes.

2. Onde a CPU obtém as instruções de que necessita?

As instruções de que a CPU precisa geralmente são buscadas na memória. Em um computador, as instruções e os dados são armazenados na memória em formato binário, e a CPU do computador se comunica com a memória por meio de um barramento.

Quando a CPU precisa executar uma instrução, ela lê a instrução da memória e a armazena no registrador de instruções da CPU. As instruções armazenadas no registrador de instruções serão decodificadas em um formato de instrução que a CPU possa entender e as operações correspondentes serão executadas. Após executar a instrução atual, a CPU adiciona o valor do contador de programa (PC) ao comprimento da instrução para ler a próxima instrução.

Deve-se observar que as instruções exigidas pela CPU não são lidas da memória de uma só vez, mas sim conforme necessário. Além disso, a fim de melhorar a eficiência da execução de instruções da CPU, os computadores modernos geralmente usam cache (Cache) para armazenar instruções e dados usados ​​​​recentemente para leitura e execução rápida.

Em suma, as instruções exigidas pela CPU são geralmente obtidas da memória, e os computadores modernos geralmente usam cache para melhorar a eficiência da leitura e execução das instruções. A CPU apenas lerá e gravará dados na memória, e a memória irá então ler e gravar dados no disco Gravar dados O processo de leitura e gravação de dados da memória no disco é o processo de IO.

【Resumir】

No nível dos dados, a CPU não lida diretamente com os periféricos, mas apenas com a memória. Da mesma forma, todos os periféricos possuem dados que precisam ser carregados e só podem ser carregados na memória. Para gravar na memória, os dados só podem ser carregado na memória. Gravar no periférico

A CPU não se comunica diretamente com os periféricos, mas apenas com a memória.

Então neste ponto podemos entender porque o programa deve ser carregado na memória para rodar, isso porque a CPU quer executar meu código para acessar meus dados e só pode ler da memória, porque a CPU só lida com a memória, e nosso programa é armazenado no disco

Vamos dar um exemplo para entender melhor a arquitetura von Neumann (nível de fluxo de dados de software): Quando normalmente conversamos no QQ, enviamos mensagens para outras pessoas na janela de chat, e outros recebem mensagens na janela de chat. , como funciona o fluxo de dados durante este processo? E se estivermos enviando arquivos?

Fluxo de dados de envio de informações -> recebimento de informações: o teclado de A insere na memória de A, então a CPU de A lê os dados da memória de A, depois os criptografa, depois os transmite para a placa de rede de A, depois para a placa de rede de B e, em seguida, os transmite para B's memória, a CPU de B lê os dados da memória, descriptografa-os, depois os lê na memória e os envia para o display

Fluxo de dados de envio de arquivos -> recebimento de arquivos: o disco de A é inserido na memória de A, a CPU de A lê os dados da memória de A, depois os criptografa e os transmite para a placa de rede de A, a placa de rede de B e, em seguida, os insere para B Na memória de B, a CPU de B lê os dados da memória para descriptografá-los, depois os lê na memória e os grava no disco de B.

2. Sistema operacional (Sistema Operador)

1. O conceito de sistema operacional

O sistema operacional é um software que gerencia recursos de software e hardware, gerencia vários recursos (meios) de software e hardware e fornece aos usuários um ambiente operacional (objetivo) bom (estável, eficiente, seguro).

O sistema operacional possui quatro módulos principais de gerenciamento de software: gerenciamento de processos , sistema de arquivos , gerenciamento de memória e gerenciamento de driver.

Insira a descrição da imagem aqui

2. Por que precisamos de um sistema operacional?

O sistema operacional é um dos softwares mais básicos de um sistema de computador.É a ponte entre o hardware e os aplicativos do computador, proporcionando aos usuários de computador um ambiente de uso amigável, eficiente e seguro.

A seguir estão várias funções principais do sistema operacional:

1**. Gerenciamento de recursos**: O sistema operacional é responsável por gerenciar diversos recursos do computador, incluindo CPU, memória, disco, rede, etc. Ele fornece alocação e gerenciamento de recursos para cada aplicativo por meio de mecanismos como gerenciamento de processos, gerenciamento de memória e sistemas de arquivos.

2. Interface do usuário : O sistema operacional fornece aos usuários uma interface de usuário amigável e intuitiva, permitindo que os usuários usem o computador de maneira conveniente. O sistema operacional oferece diversos aplicativos e ferramentas, como editores de texto, interfaces gráficas, etc., para que os usuários possam realizar seu trabalho com mais eficiência.

3. Proteção de segurança : O sistema operacional protege a segurança do sistema computacional por meio de mecanismos como controle de acesso e criptografia. Ele pode limitar o acesso dos usuários aos recursos do sistema e prevenir ataques de malware e vazamentos de dados.

4. Manutenção do sistema : O sistema operacional pode monitorar o status operacional do sistema do computador, detectar e reparar erros do sistema e melhorar a estabilidade e confiabilidade do sistema. Ele também pode realizar atualizações do sistema, upgrades e outras operações para manter o sistema do computador atualizado.

Em suma, o sistema operativo é uma parte indispensável do sistema informático, proporcionando aos utilizadores um ambiente de utilização amigável, eficiente e seguro, garantindo a estabilidade e fiabilidade do sistema informático.

3. Como gerenciar o sistema operacional

O sistema operacional é gerenciado por meio de uma variedade de mecanismos, incluindo gerenciamento de processos, gerenciamento de memória, sistema de arquivos, gerenciamento de dispositivos, etc.

1. Gerenciamento de processos: O sistema operacional aloca espaço de memória e tempo de CPU independentes para cada aplicativo por meio do mecanismo de gerenciamento de processos. Ele pode monitorar e agendar o status de execução dos processos, evitar interferências e conflitos entre aplicativos e melhorar a estabilidade e a velocidade de resposta do sistema do computador.

2. Gerenciamento de memória: O sistema operacional aloca espaço de memória independente para cada aplicativo por meio do mecanismo de gerenciamento de memória e pode ajustar dinamicamente o uso da memória. Ele pode monitorar o uso da memória, evitar vazamentos e estouros de memória e melhorar a estabilidade e o desempenho dos sistemas de computador.

3. Sistema de arquivos: O sistema operacional fornece aos usuários uma maneira conveniente e segura de armazenar e acessar arquivos por meio do mecanismo do sistema de arquivos. Ele pode gerenciar operações de criação, leitura, gravação e exclusão de arquivos, evitar danos e perdas de arquivos e proteger a segurança dos dados do usuário.

4. Gerenciamento de dispositivos: O sistema operacional gerencia vários dispositivos no sistema de computador por meio do mecanismo de gerenciamento de dispositivos, incluindo dispositivos de entrada e saída, dispositivos de rede, dispositivos de armazenamento, etc. Ele pode coordenar a comunicação e a transmissão de dados entre dispositivos, evitar problemas como conflitos de dispositivos e perda de dados e melhorar a estabilidade e a confiabilidade dos sistemas de computador.

Resumindo, o sistema operacional gerencia por meio de uma variedade de mecanismos para fornecer um ambiente de uso eficiente, seguro e estável para o sistema de computador. Ele pode monitorar e programar o uso de vários recursos, evitar desperdícios e conflitos de recursos e melhorar o desempenho e a confiabilidade dos sistemas de computador.

Além disso, também precisamos entender os três aspectos a seguir:

1. Os gestores não precisam interagir diretamente com os gerenciados, mas ainda assim podem administrar bem os gerenciados.

Tomemos como exemplo a gestão escolar da nossa universidade. Nosso diretor não nos trata diretamente, ou seja, interage conosco. Mesmo que ele interaja conosco, ele só nos pergunta se estamos satisfeitos com a escola, mas ele pode ainda nos administra bem.Podemos Diz-se que não somos administrados pelo diretor, mas pelos nossos conselheiros, mas na verdade, os conselheiros não são totalmente considerados gestores.

Isso ocorre porque os gestores são aqueles que têm o poder de tomar decisões sobre assuntos importantes.Embora no nosso dia a dia a pessoa que mais interage conosco seja o nosso conselheiro, então o conselheiro não tem o direito de tomar decisões sobre alguns dos nossos coisas, como podemos julgar prêmios, ser expulsos da escola, etc.

2. A essência da gestão é gerenciar dados

Então, como nossos gerentes nos gerenciam? Por exemplo, como nosso diretor nos gerencia?

A resposta é gerenciar nossos dados. O diretor obtém nossos vários dados por meio de conselheiros, como notas, se reprovamos nas aulas, etc., e então toma decisões. Finalmente, os conselheiros implementam essas decisões para nós, para que os gerentes Os gerenciados sejam gerenciados através dos dados fornecidos pelo executor. O executor obtém vários dados do gerenciado por meio da interação com o gerenciado. O gerente usa esses dados para tomar decisões sobre o gerenciado e, em seguida, o executor executa essas tomadas de decisão

Para nossos computadores, existe uma sequência de camadas de driver que orienta o hardware entre o sistema operacional e o hardware. Os drivers correspondentes a vários hardwares são o que chamamos de executores. O driver executa as instruções do sistema operacional para concluir tarefas relacionadas, como A placa de rede possui um driver de placa de rede e o disco possui um driver de disco. O sistema operacional obtém os dados de hardware desses drivers e gerencia o hardware com base nos dados de hardware.

Insira a descrição da imagem aqui

3. Método de gestão: descreva primeiro e depois organize

Se não tivermos algumas escolas, o diretor pode usar um formulário Excel para gerenciar os dados de nossos alunos. Mas, na verdade, muitas vezes há muitos alunos em uma escola. Se ainda usarmos esse método, será muito problemático gerenciar. O custo será muito alto, então podemos extrair os dados que os alunos precisam armazenar, depois descrever os dados em uma estrutura ou classe e, em seguida, instanciar as informações de cada aluno em um objeto, e então podemos usar determinados dados estrutura (como lista vinculada, tabela de sequência) para organizar esses objetos. Quando precisamos consultar as informações do aluno, podemos percorrer de acordo com o valor da chave correspondente. Para excluir um aluno, podemos excluir diretamente os dados do aluno. Desta forma, a nossa gestão de alunos passa a ser a gestão de uma determinada estrutura de dados (adição, eliminação, verificação e modificação), o que melhora significativamente a eficiência da nossa gestão.

Insira a descrição da imagem aqui

O sistema operacional pode não apenas gerenciar hardware, mas também gerenciar software, e o método de gerenciamento de software é o mesmo que o método de gerenciamento de hardware.O gerenciamento de software torna-se o gerenciamento de dados de software, e então os dados são descritos como uma estrutura ou Uma classe é então armazenada em uma estrutura de dados e então se torna o gerenciamento da estrutura de dados.

3. Chamada do sistema e interface de operação do usuário

Conceitos de chamada de sistema e função de biblioteca

Do ponto de vista do desenvolvimento, o sistema operacional aparecerá como um todo para o mundo exterior, mas exporá algumas de suas interfaces para o desenvolvimento da camada superior.Esta parte da interface fornecida pelo sistema operacional é chamada de chamada de sistema.

Em termos de uso, as funções das chamadas do sistema são relativamente básicas e os requisitos para os usuários são relativamente altos. Portanto, desenvolvedores atenciosos podem encapsular adequadamente algumas chamadas do sistema para formar bibliotecas. Com bibliotecas, é muito benéfico para usuários ou desenvolvedores de nível superior conduzir o desenvolvimento secundário

1. Interface de chamada do sistema

A interface de chamada do sistema é um conjunto de interfaces fornecidas pelo sistema operacional aos aplicativos, permitindo que os aplicativos acessem diversos recursos do sistema do computador por meio do sistema operacional, como arquivos, redes, dispositivos, etc. A interface de chamada do sistema geralmente é implementada por uma biblioteca de vínculo dinâmico (DLL) ou uma biblioteca compartilhada (Biblioteca Compartilhada) fornecida pelo sistema operacional. Os aplicativos podem acessar serviços fornecidos pelo sistema operacional chamando funções nessas bibliotecas.

Por que precisamos de uma interface de chamada de sistema?

Isso ocorre porque o sistema operacional não pode operar diretamente vários softwares e hardwares. Isso também ocorre porque o sistema operacional não confia em nenhum usuário . O sistema operacional não tem certeza se realizamos operações ilegais em vários softwares e hardwares, assim como em nossas vidas , só Ser capaz de fazer negócios fora da janela significa que o banco não confia em ninguém e nos presta serviços através desta janela. Da mesma forma, o sistema operacional também fornece diversos serviços aos nossos usuários, como as necessidades do usuário para acessar software e hardware, ler dados do disco, gravar dados. Portanto, o sistema operacional fornece aos usuários uma interface de chamada do sistema , que nos permite chamar diretamente a interface de chamada do sistema ao acessar software e hardware, e então o sistema operacional ajuda o usuário a concluir o trabalho correspondente. Isso é semelhante ao princípio de funcionamento do um banco.Ajudando os usuários a atender às suas necessidades através do Windows, o sistema operacional não apenas atende às necessidades dos usuários, mas também protege o ambiente de software e hardware.

Desta forma podemos compreender melhor o banco com base nas suas condições de trabalho.

O que precisamos observar aqui é que o sistema operacional Linux é escrito por Renas Torvalds em linguagem C, portanto, as interfaces de várias chamadas de sistema no Linux são interfaces de estilo C, ou seja, várias interfaces de funções são escritas em C escritas em linguagem

Insira a descrição da imagem aqui

2. Interface de operação do usuário

Interface de operação do usuário refere-se a um conjunto de interfaces fornecidas por um aplicativo aos usuários, que permitem aos usuários interagir e operar o aplicativo. As interfaces de operação do usuário geralmente incluem os seguintes tipos:

1. Interface gráfica do usuário (GUI): Fornece uma interface gráfica intuitiva e fácil de usar que permite aos usuários interagir com aplicativos por meio de dispositivos de entrada como mouse e teclado. A GUI geralmente inclui janelas, menus, botões, caixas de texto e outros controles, permitindo aos usuários realizar várias operações com facilidade.

2. Interface de linha de comando (CLI): Fornece uma interface de linha de comando baseada em texto que permite aos usuários inserir comandos por meio do teclado para operar aplicativos. CLI geralmente inclui prompts de linha de comando, parâmetros de linha de comando, opções de linha de comando, etc., permitindo aos usuários operar aplicativos com mais flexibilidade.

3. Interface de programação de aplicativos (API): Fornece um conjunto de interfaces de programação que permitem aos desenvolvedores operar aplicativos por meio de código. As APIs geralmente incluem funções, classes, métodos, etc., permitindo que os desenvolvedores personalizem as funções do aplicativo com mais flexibilidade.

4. Interface de usuário de voz (VUI): Fornece uma interface de usuário baseada em voz,

Por que você precisa de uma interface de usuário?

A interface de chamada do sistema tem requisitos relativamente altos para os usuários. A interface de operação do usuário é projetada para permitir que os usuários interajam com o sistema do computador. Através da interface de operação do usuário, os usuários podem inserir comandos, navegar por informações, executar tarefas, etc. Desta forma, os usuários podem utilizar o sistema computacional de forma mais conveniente, melhorando a eficiência do trabalho e a experiência do usuário. Ao mesmo tempo, a interface de operação do usuário também ajuda a reduzir os custos de aprendizagem dos usuários em sistemas de computador, permitindo que mais pessoas usem e dominem facilmente a tecnologia de computador.

Portanto, os usuários podem realizar operações de comando , operações de desenvolvimento , operações de gerenciamento , etc. por meio dessas interfaces operacionais. Para o comando ls que usamos no Linux para gravar informações do arquivo de disco na tela, o comando touch, etc., são essencialmente chamadas de interface do sistema, cria arquivos no disco e grava informações do arquivo em disco para concluir o trabalho correspondente

Insira a descrição da imagem aqui

4. Arquitetura de software e hardware de computador

【Resumir】

O sistema operacional gerencia todos os recursos de software e hardware e, ao mesmo tempo, fornece aos usuários interfaces de chamada do sistema para acessar recursos de software e hardware. O sistema operacional completa vários acessos aos recursos. Para reduzir o custo de uso do usuário, o sistema operacional fornece vários usuários A interface operacional é usada para acessar recursos de software e hardware. A camada inferior da interface operacional do usuário chama a interface de chamada do sistema para atender às diversas necessidades do usuário. Neste momento, o sistema operacional conecta organicamente o usuário, software e hardware.

Neste ponto, nossa arquitetura de software e hardware de computador está configurada:

Insira a descrição da imagem aqui

Acho que você gosta

Origin blog.csdn.net/qq_67582098/article/details/133279527
Recomendado
Clasificación