S.o aula 2728

8
MATÉRIA: SISTEMA OPERACIONAL (S.O) PROFESSOR: ARMANDO RIVAROLA, LICENCIADO EM COMPUTAÇÃO

Transcript of S.o aula 2728

Page 1: S.o aula 2728

MATÉRIA: SISTEMA OPERACIONAL (S.O)PROFESSOR: ARMANDO RIVAROLA, LICENCIADO EM COMPUTAÇÃO

Page 2: S.o aula 2728

CRIAÇÃO DE PROGRAMAS Os programas são criados a partir de arquivos texto,

que contêm um roteiro estruturado de passos e ações a serem executadas pelo programa que se deseja, ou seja, estes arquivos texto são uma representação dos algoritmos que se desejam programar.

Estes passos e ações estão descritos dentro do arquivo texto através de uma linguagem de programação e por isso são usualmente chamados de arquivo fonte do programa (resumidamente arquivo fonte ou fonte).

As linguagens de programação utilizadas podem ser de alto, médio ou baixo nível, mas qualquer que seja a linguagem, seu tipo e a forma de estruturação do programa, o arquivo fonte continua a ser simplesmente um texto, análogo à uma redação, sujeito à regras de sintaxe e de contexto.

Page 3: S.o aula 2728

Da mesma forma que os computadores não entendem a nossa linguagem, ou seja a linguagem que naturalmente utilizamos para nossa comunicação, estas máquina tão pouco entendem as linguagens de programação diretamente.

Existem entidades especiais responsáveis pela transformação do arquivo fonte do programa em uma forma passível de execução pelo computador.

Estas entidades estão ilustradas na Figura 4.7.

Page 4: S.o aula 2728

Figura 4.7: Esquema de criação de programas

Page 5: S.o aula 2728

O compilador (compiler) é um programa especial que traduz o arquivo fonte em um arquivo binário que contêm instruções, dados e endereços (representados binariamente) que permitem executar as ações necessárias através das instruções em linguagem de máquina do processador existente no computador em questão.

Os arquivos binários produzidos pelo compilador são os arquivos objeto ou resumidamente objeto. Note que cada compilador é apropriado para uma única linguagem de programação.

Page 6: S.o aula 2728

O ligador (linker), quando necessário, apenas encadeia dois ou mais arquivos objeto sob a forma de um único arquivo de programa executável ou arquivo executável. O arquivo executável é aquele que pode ser transferido para a memória do computador possibilitando a execução do programa.

Assim como os compiladores, o ligador também é uma entidade deste processo de geração de programas e também está sujeito a operar com arquivos objeto produzidos apenas por determinados compiladores.

Devemos ressaltar que até agora os arquivos fonte, objeto e executável constituem arquivos, ou seja, estão armazenados nas estruturas de memória secundária (unidades de disco rígido, discos flexíveis, fitas, cartuchos ou discos ópticos).

Page 7: S.o aula 2728

Existe uma outra entidade especial, chamada carregador (loader), que é parte integrante do sistema operacional, responsável por transportar os arquivos de programa executável da memória secundária para a memória principal, onde se dará a execução do programa carregado.

Os carregadores constituem uma parte do sistema operacional porque a colocação de programas na memória e a execução dos mesmos são funções deste, responsável por controlar eficientemente as estruturas de memória primária, de armazenamento secundário e o processamento do sistema computacional.

Page 8: S.o aula 2728

Após o transporte do arquivo executável para a memória principal é possível iniciar sua execução, onde ele mesmo se transforma numa imagem executável, que representa a expansão do código de programa contido no arquivo executável em código executável, áreas de memória reservadas para variáveis do programa, pilha retorno e área extra para alocação dinâmica por parte do programa.

A bem da verdade, o sistema operacional, antes da carga do módulo de código, deve conhecer de antemão seu tamanho total e a quantidade mínima de memória extra necessária.

Tais informações residem geralmente num cabeçalho (header) localizado no início do arquivo de programa executável, que não é copiado para memória, mas apenas lido pelo sistema operacional.