O que é a semente
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:
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
|
|||||
|