O que é a semente


  Share  
|

Antes que nós comecemos antes de nos, deixe-nos fazer exame de um olhar no papel da semente no sistema operando-se. Em a maioria de sistemas operando-se, including UNIX e Windows, a semente é software especial esse vários elementos extremamente importantes dos controles da máquina. A semente senta-se entre os programas running individuais e a ferragem próprios. Executando várias funções de tarefas domésticas críticas para o sistema operando-se e agindo como uma ligação entre programas user-level e a ferragem, a semente serve a um papel crítico. Muitas sementes, including aquelas encontradas em sistemas de UNIX e de Windows, incluem as seguintes características do núcleo:

  • Controle process e da linha. As ordens da semente que os programas funcionam e quando funcionarem criando vários processos e linhas dentro daqueles processos. Um processo não é nada mais do que alguma memória alocada a um programa running, e as linhas são córregos individuais da execução dentro de um processo. A semente orchestrates vários processos e suas linhas de modo que os programas múltiplos possam funcionar simultaneamente e transparente na mesma máquina.

  • Controle de comunicação interprocess. Quando um processo necessita emitir dados a um outro processo ou à semente próprio, pode utilizar várias características de uma comunicação interprocess de a maioria de sementes para emitir sinais e dados.

  • Controle da memória. A semente aloca a memória aos programas running, e livra essa memória quando é não mais longa requerida. Este controle da memória é executado na função da gerência de memória virtual da semente, que utiliza o espaço da RAM física e da movimentação dura para armazenar a informação para processos running.

  • Controle de sistema da lima. A semente controla todo o acesso à movimentação dura, abstraindo os cilindros e os setores crus da movimentação em uma estrutura do sistema de lima.

  • O outro controle da ferragem. A semente controla a relação entre vários elementos da ferragem, tais como o teclado, o rato, o vídeo, o áudio, e os dispositivos da rede assim que os vários programas podem utilizá-los para operações da entrada e de saída.

  • Controle da interrupção: _ quando vário ferragem componente máquina necessit atenção (por exemplo, um pacote cheg rede relação) ou um programa encontro um usual evento (por exemplo, divisão zero), semente est responsável para determin como para segur result interrupção. Tomando cuidado da interrupção próprio que usa a semente codifique ou emitindo a informação a um processo particular ao negócio com ela, a semente mantem o sistema operar-se lisamente.

Com estas características, a semente é toda sobre o controle: sentar-se nos interstices de programas e de ferragem de usuário e controlando o que acontece na máquina.

Enquanto funciona, a semente confia nas proteções do ferragem-nível executadas em processador central do sistema. Usando a proteção do ferragem-nível, a semente tenta proteger suas próprias estruturas de dados críticas da manipulação acidental ou deliberada por processos user-level na máquina. A maioria de CPUs incluem características da ferragem deixaram o software no sistema funcionado em níveis diferentes do privilégio. O espaço de memória e outros elementos do software altamente sensível (como a semente) não podem ser alcançados pelo código que funciona em um nível menos-importante (por exemplo, processos do usuário). Em x86-compatible CPUs, estes níveis diferentes da sensibilidade são chamados anéis, e escala do anel 0, o nível o mais sensível, para soar 3, menos nível sensível. Porque funciona tarefas diferentes, o processador central comuta entre estes níveis diferentes dependendo da sensibilidade do software particular que executa atualmente.

Para os sistemas operando-se de Linux e de Windows, somente os anéis 0 e 3 são usados; as outras opções suportadas por x86 CPUs (isto é, os anéis 1 e 2) não são utilizados. A semente própria, em Linux e em Windows, funciona no anel 0. No fato, funcionando no anel 0 define uma tarefa dada como estando no nível da semente. Se você funcionar no anel 0, você pode alcançar todas as estruturas de memória da semente, e está conseqüentemente no mesmo nível que o código da semente. Os processos da modalidade do usuário funcionados no anel 3, e, sob a maioria de circunstâncias, não podem alcançar diretamente o espaço da semente. Confiando no anel 0 e no anel 3, todo o software na máquina é dividido realmente em dois mundos diferentes: modalidade da semente (que funcionam no anel 0) e modalidade do usuário (que funciona no anel 3). Para non-x86 CPUs, os sistemas operando-se utilizam conceitos analogous para soar 0 e anel 3 executados na ferragem de CPU's. Quase toda a sustentação de CPUs alguma noção de uma modalidade privilegiada, onde a semente vivesse, e de a nonprivileged a modalidade para processos do usuário.

Assim, seu sistema operando-se consiste realmente em dois mundos: modalidade do usuário e modalidade da semente. A modalidade do usuário é o que você tipicamente vê e interage com sobre uma base cotidiana em seu sistema, porque inclui os programas você funciona, como um escudo do comando, um GUI, um mail server, ou um editor de texto. O outro mundo, modalidade da semente, mentiras silenciosamente debaixo do acesso controlando da operação inteira à ferragem e coisas geralmente controlando. Quando um sistema carrega acima, a semente está carregada na memória e começa a execução no anel 0, criando desse modo o primeiro mundo (modalidade da semente). Depois que a semente se começa se ajustar acima na memória, ativa os vários processos da usuário-modalidade que permitem que os usuários individuais alcancem o sistema e funcionem programas, criando desse modo o mundo da usuário-modalidade.

É importante anotar que a modalidade da semente é um conceito muito diferente das permissões da raiz ou do administrador. Quando um administrador funciona um comando, um programa dado executa dentro da modalidade do usuário; isto é, no anel 3. Do perspective da semente, o administrador é justo um outro usuário, albeit importante, mas ainda alguém que vive no anel 3.

Quando a maioria de funcionamento dos programas, controla às vezes tem que passar da modalidade do usuário na modalidade da semente, como quando o programa necessita interagir com a ferragem para imprimir à tela, recebendo um pacote, ou alguma outra ação. Quando isto acontece, o controle está passado muito com cuidado da modalidade do usuário à modalidade da semente, através das relações firmemente controladas. O software que executa esta transição do anel 3 ao anel 0 é consultado a enquanto uma porta da chamada, porque age como uma porta para processos da usuário-modalidade no software que vive na modalidade da semente.

Quando os administradores pedem uma lista de programas running usando ferramentas como o UNIX picosegundo, lsof, ou comandos superiores ou gerente da tarefa de Windows, executam um comando da modalidade do usuário, que pede a semente para alistar todos os processos running. A semente agarra dados de suas estruturas de dados da semente-modalidade, responde ao comando da usuário-modalidade com a informação apropriada, e os processos running são indicados. Similarmente, o administrador ou os usuários puderam pedir uma lista das limas em um diretório. A semente responde com a informação apropriada. Ou, você poderiam procurar que os portos do TCP ou do UDP são no uso, ou se a relação da rede está na modalidade promiscuous. Você pôde mesmo funcionar um verificador da integridade da lima para ver se algumas de suas limas de sistema críticas fossem alteradas com uma usuário-modalidade RootKit. Todas estas interações, e distante mais, confiam na semente para determinar o status da máquina. Isso é como é toda suposto trabalhar. A semente toma cuidado do negócio, e todos é feliz.

este é um artigo adicionado por Rafael Kwan


Share  

© 2005-2010 E-articles.info All Rights Reserved - Terms and conditions