Tudo

ddd

domingo, 2 de março de 2014

O sistema operacional Windows


Iniciantes
QUANDO se pretende Programar los Assembleia E essecial Conhecer o Sistema Operacional Processador EO parágrafo OS cais Quais d'Orsay o executável se destino. Neste Texto abordaremos apenas o Sistema Operacional do Windows.
O do Windows assumir o Controle do computador Praticamente from o Instante los Opaco E Ligado Ate O Momento los Opaco E Desligado. Uma Aplicação PODE Rodar apenas com uma  Permissão  fazer o Windows, com uma  assitência  fazer o Windows e soluçar o  Controle  fazer do Windows. E dEste Modo Que o do Windows oferece uma previsibilidade ea consistencia da Interface com o Looks Favoritos E E POR Este Motivo Que possui um capacity de (aparentemente) Rodar Diversos Programas simultaneamente (a Chamada multi-Tarefa). Este Sistema opercaional Deverià oferecer Maior robustez los Casos de falhas, mas IstoÉ hum Capítulo à parte: tongue2:
Para resumir a História, o Sistema Operacional do Windows Domina uma Máquina SUA, controlando Tudo o Que para Possível: Hardware, Aplicativos, Microprocessador, Memória e Dados, Interface Favoritos Looks Favoritos e Arquivos.

Controle fazer hardware

A maioria dos microchips Opaco trabalham com a Unidade Central de Processamento (CPU) São programáveis. Por Exemplo, uma placa de video Precisa Ser informada fazer taxa de varredura, resolução e núcleos corretos. Fichas Os de Entrada / SAÍDA da Impressora precisam Conhecer uma porta normalmente utilizada ea Opaco VELOCIDADE OS Dados devem serviços transferidos. Fichas de Os fazer Teclado devem Conhecer a taxa de repetição Opaco devem USAR. A Comunicação com Dispositivos Estes Precisa Ser Controlada - CADA UM TERA SUA Própria área de Memória e Precisa Ser Informado fazer Opaco se Espera e when. O do Windows Realiza Todas ESTAS tarefas Básicas, Como QUALQUÉR Outro Sistema Operacional.
O do Windows also assumir o Controle total de da Escrita e da Leitura destes Dispositivos, o Opaco PODE serviços UMA grande Vantagem de para o Programador. Por Exemplo, parágrafo imprimir hum Documento, o aplicativo Precisa apenas informar los Opaco Parte da Memória o Documento se Encontra e qua o Seu tamanho. O do Windows se encarrega da IMPRESSÃO usando o motorista de um par adequado IMPRESSÃO Impressora los Uso e Colocasia uma Tarefa na POSIÇÃO Correta da fila de IMPRESSÃO, Opaco PODE Conter OUTRAS tarefas de IMPRESSÃO de OUTROS aplicativos. A Tarefa de IMPRESSÃO è sempre efetuada nenhuma Gráfico Modo. O do Windows informa uma Impressora Onde CADA Ponto de IMPRESSÃO desen Ser colocado nenhum parágrafo Papel Formar uma impressa Imagem. Como Vantagens fazer Programador fazer aplicativo São Significantes - Localidade: Não ha Qualquer necessidade de escrever os motoristas de IMPRESSÃO NEM ALGORITMOS Gráficos.
O Melhor do Windows FAZ UM AINDA Trabalho na Tela fazer monitor, that also semper do This não Gráfico Modo. ELE Atende VÁRIOS aplicativos simultaneamente e E Capaz de colocar Diversas Janelas nd Tela, algumas DELAS sobrepostas. SUA Tarefa E CRIAR a Imagem finais e de gerenciar CADA UMA das Janelas respeitando a Prioridade, A Ordem na Tela, Tipo e estilosantes de Cada delas UMA. Uma boa Parte do Trabalho de Programação Consiste los aplicar Estes Fatores AO Programa e obter UMA SAÍDA Correta parágrafo uma Tela.
Em Resumo: o do Windows ControlA TODO O hardware dos Periféricos e impedem (UO Deverià impedir) o Acesso Direto a enguias atraves de aplicativos.

Controle DOS aplicativos

O Que Acontece QUANDO SE Clica o Ícone de hum Programa? O do Windows SABE exatamente uma POSIÇÃO fazer panelinha e qua o Ícone Que se Encontra soluço o cursor do mouse fazer. TAMBEM SABE, atraves da SUA Lista de "atalhos" E "PROPRIEDADES", Qual Programa desen Ser iniciado when Este Ícone los particular para clicado.
Para Iniciar o Programa, o do Windows Carrega o Programa lendo o ARQUIVO Correspondente e colocando-o na Memória. DEPOIS, o do Windows Simplesmente Chama Este Programa, OU SEJA, informa o Processador parágrafo Que elementos executar Todas INSTRUÇÕES como uma Partir fazer ENDEREÇO ​​inicial do Programa ATÉ UMA encontrar Instrução RET. Apos o RET, terminação o Programa e Volta ao Sistema Operacional.

Controle fazer Microprocessador

Ao iniciar hum Programa, o registrador EIP não recebe Processador que Windows o ENDEREÇO ​​inicial do Programa. O do Windows also ControlA de Todos os Valores dos Registradores fazer Processador, mantendo-os NUMA área de Memória Chamada de Contexto de Registradores. O do Windows PODE (EO FAZ com Frequência) Parar o Processador, armazenar OS Valores contidos nn Registradores e Solicitar Opaco o Processador montou hum Programa Diferente ritmo POR sândalo, OU SEJA, fornece um Outro Programa UMA Fatia de ritmo. Terminando o Segundo Programa, o do Windows reconstitui OS Valores armazenados e continua executando o Programa Primeiro a Partir do Ponto de Interrupção.
E Desta forma Que Funciona um multi-Tarefa fazer do Windows. CADA UM dos Programas Opaco estiver Sendo executado recebe UMA Fatia de ritmo - o Processador E rateado Entre Todos enguias e, MESMO los Máquinas com apenas CPU uma, o Looks Favoritos TEM um IMPRESSÃO de Opaco OS Programas São executados simultaneamente. O do Windows FAZ o rateio de ritmo according to varias prioridades. Por Exemplo, Operações de Leitura e Escrita los discoteca possuem prioridades Muito altas e PODEM Bloquear um Execuções de Programas OUTROS ATÉ Que Sejam finalizadas.
Um Programa PODE PEDIR AO do Windows parágrafo Que inicie UMA nova Linha de Execuções (thread). Neste Caso, o do Windows atribuirá this rosca Fatias de Próprias ritmo, Valores de Registradores próprios e hum Pilha própria. A nova Linha de Execuções parece Estar Sendo executada AO MESMO ritmo Que o fio diretor fazer Programa. Isto É Muito Útil when hum Programa precisar dar Continuidade uma determinada Tarefa uma, POR UM Exemplo Cálculo Muito Longo, e, AO MESMO tempo, Manter uma interface Favoritos Looks Favoritos Ativa. Isto É Chamado de multi-threading.

Controle de Memória e Dados

Num dado momento, hum Programa PoDE ter TODOS OS SEUS Dados nd Memória. Estes São mantidos na Memória that was estabelecida POR endereçamento Direto UO entao na Pilha. Como o do Windows preservação Estes Dados when ratear o ritmo Entre Vários Programas?
O do Windows Mantem hum mapa de Memória de Todos os Dados de Programas, OU SEJA, elemento conhece o local, Exato dos Dados dos Programas na Memória Física fazer computador. Este mapa de memoria E mantido NUMA área de Memória Chamada de Contexto de Memória. Se a Memória Física Comecar a se esgotar, o do Windows Passa um USAR o Disco rígido de para armazenar OS Dados dos Programas. Isto É o Porque peso explicativo, EM SISTEMAS Memória Pouca com, uma Atividade fazer HD E Muito Maior que Opaco los Sistemas com Mais Memória Física. This Memória los discoteca E Chamada de Memória virtual.
QUANDO UM Programa Precisa Acessar SEUS Dados, elemento usando o FAZ UM ENDEREÇO ​​virtual. Isto É significa Opaco o ENDEREÇO ​​da área de Memória na Verdade Localidade: Não É O MESMO Que o ENDEREÇO ​​dos Dados na Memória Física. O do Windows informa o Processador Onde como áreas de Memória requeridas si encontram Realmente fornecendo O endereco de da SUA Tabela de Mapeamento de Paginas AO ATRAVES Programa do registrador CR3.

Controle de interface da Favoritos Looks Favoritos

O do Windows possui UMA Interface de Usuario consistente, largamente difundida e utilizada. Como Vantagens de UMA de interface padronizada óbvias São - UMA delas E Que, independentemente do Programa Opaco esteja Sendo executado, o Looks Favoritos se Sente "em casa".
O do Windows adquiriu ESTA uniformidade Por Que fornece Componentes Padrão Opaco PODEM serviços incluidos nn Programas. Exemplos DISTO São OS menus that aparecem soluçar uma barra de Título das Janelas, Diálogos, BOTOES, Barras de rolagem e Arquivos de Ajuda padronizados. O Conjunto destes Componentes Padrão E denominado de GUI UO Graphical User Interface.
Os aplicativos PODEM Fazer USO destes Componentes Padrão Fazendo UMA Chamada a API uma (Interface de Programação de Aplicativos). Como APIs Contém procedures (funções UO) Opaco PODEM serviços chamados POR UM nomo e Opaco fornecem o Componente Desejado. Todas como APIs armazenadas São los Arquivos chamados DLL UO Dinâmica Linked Library. Na Verdade, como DLLs São executáveis ​​com uma Extensão. Dll Opaco Contém funções nominadas Opaco PODEM serviços exportadas (OU SEJA, um aplicativo importa funções).

Controle de Arquivos

O do Windows Mantem Registros de Todos os Arquivos vitais AO SISTEMA É de motoristas des Dispositivos Periféricos. Para Isto É EUA o Registro (Registro), base de Dados com UMA Informations sobre a configuracao fazer Sistema e dos aplicativos Opaco devem Rodar Neste Sistema. De Além Disto, Mantem o Registro de Todas como massas (diretórios) com SEUS respectivos Conteúdos parágrafos Que da possam servi localizados QUANDO solicitados.

A Comunicação sistema-aplicativo

VIMOS Como, o Sistema do Windows ControlA de Todos os Aspectos Importantes fazer computador e dos aplicativos Que estejam Rodando. Para Que Este Controle cerrado POSSA Ser mantido, E necessario Haver hum Sistema de Comunicação Entre o Sistema E os aplicativos.
Um aplicativo ma necessidade de se COMUNICAR com o Sistema when Quiser obter alguma: Informação da GUI, Por Exemplo, o tamanho de UMA Janela los especial UO o tamanho de corda UMA n'uma determinada Fonte. O MESMO QUANDO Acontece o aplicativo necessitar de sândalo Recurso da API, POIs Precisa informar com exatidão Como Este Recurso desen serviços aplicado.
Os methods Mais Comuns Usados ​​POR aplicativos parágrafo se comunicarem com o Sistema de são:
  • Dados nd Pilha: Antes de Fazer UMA Chamada a API UMA, E necessario colocar na Pilha, utilizando TOQUE, OS Dados exigidos Pela função da API. Dados OS, nd maioria Das Vezes, São Valores DWORD. Em alguns Casos PODEM serviços ponteiros de Estruturas Que contenham Mais Dados UO ponteiros de cordas de Texto.
  • Point Of Sale: PODE-SE AO SISTEMA enviar Point Of Sale chamando a função SendMessage da API. Na Realidade, uma MENSAGEM E hum dword colocado na Pilha e Opaco PODE Ser acompanhado POR comemos 3 dwrods de Dados ADICIONAIS.
O Sistema also Precisa se COMUNICAR com o aplicativo de para fornecer o Resultado de UMA Chamada à API UO parágrafo informar o aplicativo de Opaco algoritmo ESTA acontecendo na GUI UO Opaco Algo Importante ESTA ocorrendo com o proprio Sistema.
Os methods Mais Comuns de Comunicação Entre o Sistema e hum aplicativo Sao:
  • API Retornando de uma, o Sistema geralmente Poe hum valor Opaco representação o Resultado da Chamada não EAX registrador.
  • Em alguns Casos, retornando de API UMA, o Sistema Deixa Dados na Memória, num local de Especificado Pelo Programa when Fez uma Chamada à API. Este local, Sido desen ter Especificado Pelo aplicativo PUSHando hum ponteiro parágrafo uma Pilha Antes da Chamada à API.
  • Point Of Sale fazer Sistema de para o aplicativo. QUANDO ocorre Isto É, o Sistema also Envia Dados Para uma Pilha. O Sistema Precisa ter Sido Avisado Pelo aplicativo que endereco não Seu Código that CORRESPONDE AO Procedimento that Gerencia Este Tipo de Chamada. Este Procedimento E Chamado de Procedimento "callback" (Chamada de Retorno), "procedimento de Windows" (janelas) Procedimento UO Simplesmente "WndProc".

Manipuladores e Contextos de Dispositivo

Todos os "Objetos" com OS cais Quais d'Orsay o do Windows trabalha possuem manipuladores (alças). Objetos de Estes Janelas PODEM SER, Controles, menus, Diálogos, Processos, linhas, áreas de Memória, displays, Impressoras, Arquivos, dirige de discoteca Fontes e comeu, pincéis e canetas Usados ​​parágrafo Desenhar e escrever. Um Manipulador E hum valor DWORD Opaco PODE serviços requisitado Pelo aplicativo. Uma Vez obtido, Este Manipulador E Utilizado Pelo aplicativo de para se COMUNICAR com o do Windows e Solicitar Seu USO OU modificações.
De Todos os Dispositivos Opaco mostram UO produzem UMA SAÍDA possuem Contextos de Dispositivo. O Contexto de Dispositivo E UMA área de Memória, mantida Pelo Windows, o Opaco Contém INFORMAÇÃO sobre o Dispositivo Como desen mostrar SUA Saida. Portanto, Uma Janela los especial tera hum Contexto de Dispositivo Opaco CONTERA Informations sobre a Fonte ea cor Opaco devem servi USADAS parágrafo QUALQUÉR Coisa Opaco para Desenhada UO Escrita Nesta Janela. Uma Impressora tera hum Contexto de Dispositivo Contendo como Características da Impressora, tamanho do Papel, núcleos available e ASSIM POR Diante.

TIPOS de executáveis

Um "executável" E hum ARQUIVO Opaco Contém Código that PODE Ser executado Pelo Processador. Como iniciante, portanto E Preciso Conhecer Dois TIPOS:. OS Arquivos com Extensão exe (aplicativos) e OS Arquivos com Extensão dll (biblioteca de vínculo dinâmico UO blibliotecas Dinámicas)..
Para Poder Ser executado Pelo o Windows, um ARQUIVO executável Precisa Estar nenhum Formato PE (Portable Executable). Como o nomo SUGERE, Este Tipo de ARQUIVO possui portabilidade, o Opaco permite PODE SEJA executado los Computadores com processadores Intel Tanto, MIPS, Alpha, Power PC, Motorola 68000, ASSIM Como RISC. E Claro Que, independentemente de fazer Tipo Processador, o Sistema Operacional do Windows Precisa Ser EO version fazer Formato corresponder PE Precisa AO Processador Utilizado.
O logotipo do Windows SABE Que o executável E UM ARQUIVO PE devido à Presença da assinatura "PE" não Início fazer ARQUIVO. Um ARQUIVO Não-PE, Por Exemplo hum executável DOS, Nao possui ESTA assinatura EO do Windows Precisa Tomar OUTRAS providências parágrafo Roda-lo.
Uma DLL E USADA QUANDO Seu Código UO SEUS Dados precisam serviços Compartilhados Entre Diversos aplicativos. O do Windows usa Dlls parágrafo armazenar o Código da SUA API. Uma DLL possui Exports. Isto É reduz sensivelmente o tamanho de CADA exe o Porque, when precisar fazer Código, recorre a DLL UMA. Um campo de grande importancia num ARQUIVO PE E a Lista de Importação. This E UMA Lista das funções das cais Quais d'Orsay o Exe depend e Opaco Podera Chamar when estiver Sendo executado. This Lista also possui o nomo da Dll Que Contém uma função. Ao CARREGAR o Exe, o do Windows checa se Todas como funções e como Dlls Todas estao available. Localidade: Não Se estiverem available, o Sistema Localidade: Não roda o Programa.
Diferentes versões do Windows possuem fazer Dlls Diferentes. Fica Opaco Claro, com Toda a Probabilidade, um Programa Escrito parágrafo Rodar los Win98 ACABE Localidade: Não Rodando não WinNT. Para evitar Este Problema PODE-se utilizar a função da API GetVersionEx, uma determinação quali um version Atual fazer o Windows, e, de posse Desta Informação, Chamar uma Correta API. Só Que HÁ UM Detalhe: se uma API para Chamada não Modo de costume, uma DLL Entra na Lista de Importação e, se estiver Localidade: Não Presente, o ARQUIVO E Localidade: Não executado. Contorna-se Este Problema utilizando uma função da API LoadLibrary (Que Carrega uma DLL Desejada se JÁ Localidade: Não figado Sido carregada) e GetProcAddress (Opaco Acha o ENDEREÇO ​​na DLL da função Desejada).
ASSIM Como o do Windows usa Dlls, also E Possível escrever Dlls Que acompanhem hum aplicativo Composto de Mais de hum Programa. Desta forma OS Programas PODEM compartilhar o codigo e OS Dados existentes na DLL. Existe Mais um Caso não quali o USO de Dlls PODE Ser vantajoso: Colocasia-se codigo e Dados Que precisam de Manutenção Frequente n'uma DLL. Ao inves de ter Opaco atualizar TODO o ARQUIVO exe, trabalha-se com hum ARQUIVO Menor e "segregado", o Opaco facilitador uma Manutenção.

Nenhum comentário:

Postar um comentário