0% acharam este documento útil (0 voto)
5 visualizações22 páginas

Introdução aos Sistemas Operativos

Um Sistema Operativo (S.O.) é um conjunto de programas que gerencia os recursos do computador e fornece uma interface entre o hardware e os usuários. A história dos S.O. é dividida em gerações, cada uma refletindo avanços na arquitetura dos computadores e na complexidade dos sistemas. As principais funções de um S.O. incluem a administração de processos, arquivos e a facilitação da comunicação entre programas e hardware.

Traduzido por

ScribdTranslations
Direitos autorais
© All Rights Reserved
Levamos muito a sério os direitos de conteúdo. Se você suspeita que este conteúdo é seu, reivindique-o aqui.
Formatos disponíveis
Baixe no formato PDF, TXT ou leia on-line no Scribd
0% acharam este documento útil (0 voto)
5 visualizações22 páginas

Introdução aos Sistemas Operativos

Um Sistema Operativo (S.O.) é um conjunto de programas que gerencia os recursos do computador e fornece uma interface entre o hardware e os usuários. A história dos S.O. é dividida em gerações, cada uma refletindo avanços na arquitetura dos computadores e na complexidade dos sistemas. As principais funções de um S.O. incluem a administração de processos, arquivos e a facilitação da comunicação entre programas e hardware.

Traduzido por

ScribdTranslations
Direitos autorais
© All Rights Reserved
Levamos muito a sério os direitos de conteúdo. Se você suspeita que este conteúdo é seu, reivindique-o aqui.
Formatos disponíveis
Baixe no formato PDF, TXT ou leia on-line no Scribd

SISTEMAS OPERATIVOS

Qué es un Sistema Operativo


História dos Sistemas Operacionais - Gerações
Conceitos dos Sistemas Operativos
Estructura de los Sistemas Operativos
Tendências
Hardware
Software
Memória Fixa
Fim

O que é um Sistema Operacional

Uma das definições mais comumente aceitas expressa:

• Um S. O. é um grupo de programas de processo com as rotinas


de controle necessárias para manter continuamente operativos
dichos programas.

O objetivo primário de um Sistema Operativo é:

• Otimizar todos os recursos do sistema para suportar os


requisitos.

Para situar os S. O. no conjunto do software para computadores, podemos


classificar isto da seguinte maneira:

Programas de sistema:

Controlam a operação do computador em


sim.

Programas de aplicação:

Resolvem problemas para os usuários.

En este contexto, el Sistema Operativo es el programa fundamental de todos los programas


de sistema. O S. O. protege e libera os programadores da complexidade do hardware,
colocando um nível de software acima do hardware para:

Controlar todas as partes do sistema.


•Presentar al usuario una interfaz o máquina virtual.

Elesquema típico de un sistema de cómputosincluye:

Programas de aplicação:
oSistema bancario, reservaciones en una línea aérea, juegos,
etc.

Programas de sistema:

Compiladores, editores, intérpretes de comandos.


oSistema Operativo.

Hardware:

Linguagem de máquina.
Microprogramação.
Dispositivos físicos.

Las principales características delmicroprogramason:

•Trata-se de software que geralmente se localiza na memória somente


leitura.
•Busque as instruções de linguagem de máquina para executá-las como uma
série de pequenos passos.
O conjunto de instruções que interpreta define a linguagem de máquina.
•Em certas máquinas, é implantado no hardware e não é realmente uma camada
distinta.

Em relação à linguagem de máquina, é preciso señalar que:

• Geralmente possui entre 50 e 300 instruções, a maioria servindo para


deslocar dados, realizar operações aritméticas e comparar valores.
Os dispositivos de e/s (entrada/saída) são controlados ao carregar
valores en registros del dispositivo especiales.

Uma das principais funções do S. O. é ocultar toda essa complexidade e fornecer ao


programador um conjunto mais conveniente de instruções para trabalhar.

O S. O. é executado em modo central ou modo de supervisão, com máxima prioridade e


geralmente com proteção por hardware.

Os compiladores, editores e outros programas são executados em modo usuário.

O S. O. é a série de programas, dispostos seja no software ou na memória fixa


(microcódigo), que tornam o hardware utilizável.

Os S. O. colocam o "poder computacional básico" do hardware de forma conveniente a


disposição do usuário, porém consome parte desse poder computacional para funcionar

Os S. O. são, em primeiro lugar, administradores de recursos, sendo o recurso primário o


hardware del sistema (ver Figura 1.1).
As principais características dos S. O. são:

•Definir la “Interfaz del Usuario”.


•Compartir el hardware entre usuarios.
•Permitir que os usuários compartilhem os dados entre si.
Planificar recursos entre usuários.
Facilitar a entrada / saída.
Recuperar-se dos erros.

Os principais recursos administrados pelos S. O. são:

•Processadores.
Armazenamento.
Dispositivos de e / s.
•Dados.
Os S. O. são uma interface com:

Operadores.
Programadores de aplicações.
Programadores de sistemas (administradores do S. O.).
Programas.
•Hardware.
Usuários.

O S. O. deve apresentar ao usuário o equivalente de uma máquina estendida ou máquina


virtual que seja mais fácil de programar do que o hardware subjacente.

Historia de los Sistemas Operativos - Generaciones

Os S. O. têm estado historicamente relacionados com a arquitetura dos computadores.


nas quais são executadas, razão pela qual sua história pode ser analisada de acordo com as seguintes
generaciones y sus principales características

• Geração Zero (década de 1940):

oCarência total de S. O.
Acesso completo à linguagem de máquina.
• Primera generación(1945-1955): bulbos y conexiones:

oCarência de S. O.
Nos anos cinquenta começam como transição entre trabalhos,
fazendo a mesma mais simples.
• Segunda generación(1955-1965): transistores y sistemas de procesamiento
por lotes (batch):

Nos anos sessenta aparecem os S. O. para sistemas compartilhados


com:
. Multiprogramación: varios programas de usuarios se
encontram ao mesmo tempo no armazenamento principal,
trocando rapidamente o processador de um trabalho para outro.
. Multiprocesamiento: varios procesadores se utilizan en un
mesmo sistema para aumentar o poder de processamento.
Posteriormente aparece aindependencia de dispositivo:
. O programa do usuário especifica as características dos
dispositivos que requerem os arquivos.
. O S. O. atribui os dispositivos correspondentes de acordo com os
requerimentos e as disponibilidades.
• Terceira geração (1965-1980): circuitos integrados e
multiprogramación:

oDifusão damultiprogramación:
. Partição da memória em porções, com trabalhos distintos
em cada uma delas.
. Aproveitamento do tempo de espera consequência de
operações de E/S, para utilizar a CPU para outros processos.
oProtección por hardware del contenido de cada partición de
memória.
A aparição de técnicas despooling:
. Operação Periférica Simultânea Online
simultânea e online de periféricos.
. Almacenamiento de trabajos de entrada y de salida en
dispositivos transitorios rápidos (discos), para diminuir o
impacto de los periféricos mas lentos.
oSomsistemas de modos múltiplos, ou seja, que devem suportar
sistemas de propósitos gerais; são grandes e complexos, mas
muito poderosos.
oInterponen umacapa de software entre o usuário e o hardware.
Aparecem oslinguagens de controle de trabalhos, necessárias para
especificar o trabalho e os recursos necessários.
oSuportamtempo compartilhado, variante do
multiprogramação com usuários conectados por terminais em
linha, permitindo a operação em modo interativo
conversacional.
Aparecem ossistemas de tempo real, que requerem tempos de
respostas muito exigentes, especialmente para usos industriais ou
militares.
As computadoras de médio porte se difundem.
• Quarta geração (1980-1990): computadores pessoais:

Aparição de softwareamigável com o usuário, destinado a


usuários não profissionais e com uma interface gráfica muito
desenvolvida.
Desenvolvimento desistemas operativos de rede sistemas operativos
distribuídos.
oSistemas operativos de red:
. Os usuários estão cientes da existência de várias
computadores conectados.
. Cada máquina executa seu próprio S. O. local.
. São semelhantes aos S. O. de um único processador, mas com o
agregado de:
. Controlador de interface da rede e seu software de
baixo nível.
. Software para conexão e acesso a arquivos remotos,
etc.
oSistemas operativos distribuidos:
. Aparece para os usuários como um S. O. de um só
processador, mesmo quando suporta vários processadores.
. Os usuários não estão cientes do lugar onde são executados
seus programas ou onde estão seus arquivos, já que o
deve administrar o S. O. automaticamente.
. Devem permitir que um programa seja executado através de vários
processadores ao mesmo tempo, maximizando o paralelismo.
Aparição de emuladores de terminal para o acesso a equipamentos
remotos desde computadores pessoais (PC).
grande ênfase nasegurança, em especial pelo desenvolvimento dos
sistemas de comunicações de dados.
oEl S. O. cria um ambiente de trabalho de acordo com o conceito demáquina
virtual, que o isola do funcionamento interno da máquina.
Proliferação desistemas de bases de dados, acessíveis mediante
redes de comunicação.

Conceitos dos Sistemas Operacionais

A interface entre o S. O. e os programas do usuário é definida como o conjunto de


"instruções ampliadas" que fornece o S. O. e são as "chamadas ao sistema":

Criam, eliminam e utilizamobjetos do software controlados pelo S.


O.:
oLos mas importantes sonprocessosarquivos.

Processos:

É o conceito central de todos os S. O.


•É basicamente um programa em execução.
•Consta do programa executável, seus dados e pilha, contador e outros
registros, além das informações necessárias para executar o
programa.
As informações de controle relacionadas aos processos são armazenadas
na tabela de processos:
é administrada pelo S. O.
Possui um arranjo de estruturas, uma para cada processo
existente naquele momento.
•Um processo (suspenso) consiste em:
Um espaço de endereço.
Os dados pertinentes da tabela de processos.
•Um processo pode criarprocessos filho e esses novos processos filho
conformando uma árvore de processos.

Archivos:

Uma das principais funções do S. O. é fornecerindependência


de dispositivo.
• Muitos S. O. suportam o conceito dediretório como uma forma de
agrupar arquivos.
Os diretórios são estruturados hierarquicamente, portanto cada
arquivo corresponde a uma rota de acesso.
Existem diferentes esquemas de segurança de arquivos nos diferentes
S. O.
Llamadas al sistema:

•Permitem que os programas se comuniquem com o S. O. e solicitem-lhe


serviços.
A cada chamada corresponde um procedimento:
Coloque os parâmetros da chamada em um local específico para
em seguida, executar uma instrução do tipo “trap” de chamada a
procedimento protegido para iniciar o S. O.
Depois do "trap", o S. O. recupera o controle, examina os
parâmetros e se são válidos executa o trabalho solicitado.
Depois de terminar, o S. O. coloca um código de estado em um
registro indicando se teve sucesso ou fracasso e executa uma
instrução do tipo "retornar do trap" para retornar o controle
ao procedimento.
o procedimento retorna ao programa chamador com um
código de estado como um valor de função; dentro dos
parâmetros podem retornar valores adicionais.

Estrutura dos Sistemas Operacionais

Se considera a organização interna dos S. O. e de acordo com ela eles são classificados de
seguinte maneira, destacando suas principais características:

Sistemas monolíticos:

É muito comum: não existe uma estrutura propriamente dita ou é mínima.


•O S. O. é uma coleção de procedimentos que podem ser chamados
entre si (ver Figura 1.).

Cada procedimento tem uma interface bem definida em termos de


parâmetros e resultados.
•Para executar os serviços do S. O. (chamadas ao sistema): (ver
Figura 1.3).
Os parâmetros são solicitados colocando-os em lugares certos.
definidos (registros o pilas).
Uma instrução especial de trampolim é executada:chamada ao
núcleo chamada ao supervisor.
a instrução muda a máquina do modo usuário para o modo
núcleo (o modo supervisor).
o Controle é transferido para o S. O.
O S. O. examina os parâmetros da chamada para
determinar qual delas se deseja realizar.
O S. O. analisa uma tabela que contém na entradak
apuntador al procedimiento que realiza la“k-ésima”llamada
ao sistema:
. Identifica o procedimento de serviço chamado.
A chamada ao sistema termina e o controle retorna ao
programa do usuário.

Sistemas com camadas:

•É uma generalização do modelo de estrutura simples para um


sistema monolítico.
•Consiste em organizar o s. o. como uma hierarquia de camadas, cada uma
construída sobre a imediata inferior.

5 - Operador
4 - Programas do Usuário
3 - Control de Entrada - Salida
2 - Comunicações Operador -
Proceso
1 - Administração da Memória
e do Disco
0 - Atribuição do Processador e
Multiprogramação
Tabela 1.1: Estrutura do S.O.
em capas "THE".

O primeiro sistema com este esquema foi o “THE” (Holanda -


Dijkstra -1968): (ver Tabela 1.1).

A: Universidade Técnica de Eindhoven.

•Capa 0:
Trabalha com a atribuição do processador.
Alterna entre os processos quando ocorrem as
interrupções ou expiram os cronômetros.
Proporciona a multiprogramação básica.
•Capa 1:
Administra a memória.
Assegura que as páginas (porções de memória)
as requeridas dos processos cheguem à memória quando
fosessem necessárias.
•Capa 2:
Administra a comunicação entre cada processo e a
consola do operador.
oPor sobre esta capa, cada proceso tiene su propia
consola de operador.
•Capa 3:
Controla os dispositivos de e / s e armazena em
buffers os fluxos de informação entre eles.
Por sobre a camada 3, cada processo pode trabalhar com
dispositivos abstratos de e / s em vez de com
dispositivos reais.
•Capa 4:
A loja os programas do usuário.
Os programas do usuário não precisam se preocupar
pelo processo, memória, console ou controle de e / s.
•Capa 5:
Localize o processo operador do sistema.

Uma generalização mais avançada do conceito de camadas foi apresentada com


“Multics” (MIT, Bell Labs e General Electric):

• “Multics”: serviço de informação e computação multiplexado.


•Apresenta uma estrutura em anéis concêntricos, sendo os
interiores os privilegiados.
•Um procedimento de um anel exterior, para chamar a um
procedimento de um anel interior, deve fazer o equivalente
a uma chamada ao sistema.

Máquinas virtuales:

Separam totalmente as funções de multiprogramação e de máquina


extendida.

Existe um elemento central chamado monitor da máquina virtual que:

•É executado no hardware.
•Realiza a multiprogramação.
•Fornece várias máquinas virtuais para a camada superior.

Las máquinas virtuales instrumentan copias “exactas” del hardware simple,


com seu modo núcleo / usuário, e / s, interrupções e tudo mais que
possui uma máquina real.

Podem executar qualquer S. O. que é executado diretamente sobre o


hardware.

As diferentes máquinas virtuais podem executar diferentes S. O. e, em geral


assim eles fazem.

Soportan periféricos virtuales.

Ejemplo de S. O. representativo de esta estructura: “VM/370” de IBM: (ver


Figura 1.4).

As m. v. geralmente utilizarão, entre outros, o S. O. “CMS”:


Conversacional Monitor Sistema.
Quando um programa "CMS" executa uma chamada de sistema:

•A chamada é capturada pelo S. O. em sua própria m. v.;


não passa diretamente para o “VM/370”.
•"CMS" fornece as instruções de e/s em
hardware para a leitura do disco virtual ou o
necessário para efetuar a chamada.
•“VM/370” captura essas instruções de E/S e as
executa sobre o hardware verdadeiro.

Modelo cliente - servidor:

Uma tendência nos S. O. modernos é a de explorar a ideia de mover o


código a camadas superiores e manter um núcleo mínimo, de maneira similar
o "VM/370".

Implantar a maioria das funções do S. O. nos processos do usuário.

Para solicitar un servicio (por ej.: lectura de un bloque de cierto archivo)


segundo o modelo cliente-servidor: (ver Figura 1.5).

O processo do usuário (processo cliente) envia a solicitação a um


proceso servidor:

Realiza el trabajo y regresa la respuesta.

O núcleo controla a comunicação entre os clientes e os servidores.

Se fracciona o S. O. em partes, cada uma controlando uma faceta:

Serviço a arquivos, a processos, a terminais, a memória, etc., cada


parte pequeña y más fácilmente controlable.

Os servidores são executados como processos em modo de usuário:

Não têm acesso direto ao hardware.


•Se isolam e delimitam mais facilmente os
problemas.
Se adapta para seu uso em sistemas distribuídos: (ver Figura 1.6).

Se um cliente se comunica com um servidor por meio de mensagens:

•Não precisa saber se a mensagem é atendida localmente


o mediante um servidor remoto, situado em outra
máquina conectada.
•Envía una solicitud y obtiene una respuesta.

Algumas funções do S. O., por exemplo, o carregamento de comandos nos registros


físicos do dispositivo de e / s, apresentam problemas especiais e distintos
soluciones:

Ejecução em modo núcleo, com acesso total ao hardware e


comunicação com os outros processos através do
mecanismo normal de mensagens.
•Construcción de un mínimo demecanismos dentro do
núcleo mantendo as decisões políticas relativas a
usuários dentro do espaço do usuário.

Tendências

As principais tendências em S. O. são as seguintes

Suporte generalizado para multiprocessamento.

Migração para o microcódigo de funções dos S. O. realizadas por software.

Distribuição do controle entre processadores localizados.

Melhoria da eficiência no suporte à execução concorrente de programas.

Suporte a paralelismo massivo com altíssimo grau de concorrência.

Profundização dos esquemas de máquinas virtuais.


Continuación del esquema de familias de S. O. para familias de computadoras,
vendo as aplicações máquinas virtuais.

Compatibilidade com novas gerações de computadores.

Desenvolvimentos em engenharia de software para fornecer S. O. mais preserváveis,


confiáveis e compreensíveis.

Proliferação de redes de sistemas, distribuindo tarefas em equipes sobre as quais o


o usuário pode não ter conhecimento nem controle com ênfase na importância da
perspectiva das máquinas virtuais.

Permanência do conceito de armazenamento virtual.

Permanência da perspectiva do S. O. como administrador de recursos, tendo


presente que os dados serão considerados cada vez mais como um recurso para ser
administrado.

Profundização do desenvolvimento de S. O. com funções distribuídas entre vários


processadores através de grandes redes de sistemas.

Hardware

Os principais aspectos do hardware, de importância para os S. O., são os seguintes:

Compaginación del almacenamiento:

•Objetivo: acelerar el acceso al almacenamiento primario (bancos de


memória).
Geralmente, enquanto qualquer uma das localidades de umbanco
de armazenamento primário, está sendo acessada, nenhuma outra
a referência pode estar em andamento.
A compaginação do armazenamento coloca localidades de
memória adjacente em diferentes bancos de armazenamento, para
permitir varias referencias al mismo tiempo.

Registro de relocalização:

•Permite relocalizar de forma dinâmica os programas.


A direção base de um programa na memória principal está situada
no registro de realocação.
O conteúdo do registro de realocação é adicionado a cada endereço
desenvolvida por um programa em execução.
•Permite ao programa residir em localizações diferentes daquelas
para las cuales fue traducido.

Interrupções e escrutínio:
• Interrupciones: permiten a una unidad obtener la inmediata atención
de outra, de maneira que a primeira possa informar sobre uma mudança de
estado:
Permite salvar o "estado" da unidade interrompida antes de
processar a interrupção.
• Escrutínio: técnica que permite que uma unidade verifique o estado de
outra unidade de funcionamento independente.

Utilização do “buffer”:

Um "buffer" é uma área de armazenamento primário destinada a


contener dados durante transferências de E/S.
•Quando a transferência é concluída, os dados podem ser acessados por
o processador.
Esquema deentradas de buffer simples
O canal deposita dados no buffer.
O processador processa esses dados.
O canal deposita novos dados, etc.
Não pode haver simultaneidade entre operações de colocar
dados no buffer e processá-los:
. Afeta o desempenho.
•Esquema deentradas de buffer duplo
Permite a sobreposição de operações de E/S com o
procesamiento:
. Melhore o desempenho.
Enquanto o canal deposita dados em um buffer, o processador
pode estar processando os dados do outro buffer.
Quando o processador conclui o processo dos dados do
o buffer do primer, pode continuar com os dados do segundo,
mientras el canal deposita nuevos datos en el primer buffer:
. É a técnica de 'buffer biestável (ou flip flop)'.

Dispositivos periféricos:

•Permitem o armazenamento de grandes quantidades de informação


fora do armazenamento principal.
•Existen dispositivos secuenciales y de acceso directo.
As características e prestações são muito variadas.

Proteção do armazenamento:

•Limita o número de endereços que um programa pode referenciar.


É essencial em sistemas multiusuario.
•É implementado por meio dosregistros de limites, que definem as
direcciones superior e inferior del bloque de almacenamiento
afetado a um determinado programa.
•Também podem ser utilizadoschaves de proteção do
armazenamento" anexas a áreas de armazenamento primário:
Um programa só pode acessar locais de
armazenamento cujas chaves de proteção concordam com
as do programa.

Temporizadores e relógios:

• Temporizador de intervalos: previne que um único usuário


monopolize o processador em sistemas multiusuário.
O temporizador gera uma interrupção ao processador quando expira.
o intervalo atribuído a um usuário.
• "Relógio horário": permite ao computador fazer um acompanhamento do
"hora do relógio de parede", com uma exatidão de milionésimos de
segundo o prefeito.

Operações online e offline; processadores de satélite:

• “Operação online”: os periféricos utilizados estão conectados ao


processador.
• “Operación fuera de línea”: los periféricos utilizados están
conectados a unidades de controle que não estão conectadas ao sistema
central ou principal.

Canales de entrada / saída:

•São sistemas computacionais de propósito especial, dedicados ao


gerenciamento da e/s com independência do processador principal.
•Têm acesso direto ao armazenamento principal para armazenar ou
recuperar informação.
•Evitem que o processador lide com a maior parte da carga de gerenciar a e/s,
aumentando a concorrência.
Os principais tipos de canais são os seguintes:
oSelectores.
Multiplexores de bytes.
oMultiplexores de bloques.

Robo de ciclo:

•Significa que nacompetência entre o processador e os canais


para acceder a un determinado banco de almacenamiento primario
(memoria principal),se da prioridad a los canales:
oSe optimiza el uso de los dispositivos de e / s.

Endereçamento de base mais deslocamento:

Todas as direções são adicionadas ao conteúdo de umregistro de


base
Os programas sãoindependentes da localização
Especialmente importante em ambientes multiusuário.
Estado de problema, estado supervisor, instruções privilegiadas:

Corresponde a distintos“estados de ejecución”.


• Estado de problema ou de usuário: estado em que correm os
programas de usuário:
oTiene acceso a un subconjunto de instrucciones del conjunto
de instruções da máquina.
• “Estado supervisor ou de núcleo”: geralmente o S. O. corre assim
com a categoria de "usuário de maior confiança ou nível":
oTiene acceso a todas las instrucciones del conjunto de
instruções da máquina.
•Se o sistema suportar mais de dois estados:
Pode-se instrumentar uma granulação de proteção
fina.
Permite conceder acessos por meio doprincípio de menos
privilegio
. Deve-se garantir a cada usuário em particular a
menor quantidade de privilégio e acesso que necessite
para cumprir suas tarefas.
• "Instruções privilegiadas": são aquelas às quais não se tem
acesso em estado de problema.

Armazenamento virtual:

Os sistemas de armazenamento virtual permitem que os programas


referenciar direções que não precisam corresponder com as
endereços reais disponíveis no armazenamento primário.
Las"endereços virtuais" desenvolvidos pelos programas em
a execução é traduzida dinamicamente pelo hardware para a
endereços reais de instruções e dados do armazenamento
principal.
Os programas podem referenciar espaços de endereços muito
maiores que os espaços de endereços disponíveis no
armazenamento primário.
•São utilizadas técnicas de:
oPaginación: blocos de dados de tamanho fixo vão ou vêm
entre el almacenamiento primario y el secundario.
o“Segmentación”:identifica las unidades lógicas de los
programas e dados para facilitar o controle de acesso e
participação.

Multiprocessamento:

Vários processadores compartilham um armazenamento primário comum


e um único S. O.
É necessário "secuencializar" o acesso a uma localização
(direção) de armazenamento compartilhado para que dois ou mais
processadores não tentem:
Modificar ao mesmo tempo.
oModificarla uno(s) mientras otro(s) intenta(n) leerla.

Acceso directo a la memoria (DMA):

•Requer uma única interrupção ao processador por cada bloco de


caracteres transferidos durante a operação de e/s, o que melhora
significativamente o desempenho.
É como se o processador, em vez de ser interrompido, fosse atrasado.
É muito útil para altos requisitos de E/S.
• "Canal DMA": é o hardware responsável pelo roubo de ciclos e de
operación de los dispositivos de e / s.

Canalização:

•Técnica de hardware utilizada para explotar certos tipos de


paralelismo durante o processamento de instruções.
Várias instruções podem estar simultaneamente em diferentes
estados de ejecución.

Jerarquia de armazenamento:

Os níveis de armazenamento incluem:


Armazenamento primário: memória principal.
Armazenamento secundário: discos, fitas, etc.
oArmazenamentocaché: memória muito rápida projetada
para aumentar a velocidade de execução dos programas:
. Aloja a parte (instruções e dados) em execução de
um programa.
Os níveis de armazenamento criamhierarquias de
almacenamiento”: caché armazenamento primário
armazenamento secundário.
•Ao descer na hierarquia:
O custo e a velocidade diminuem.
Aumenta a capacidade.
• Espaço de endereços: conjunto de todos os endereços
disponíveis para um programa.

Software

Consiste nos programas de instruções e dados que definem para o hardware os


algoritmos necesarios para la resolución de problemas. Los aspectos más destacados en
a relação com os S. O. são os seguintes:

Programação em linguagem de máquina:

Linguagem de máquina
Linguagem de programação que um computador pode
compreender diretamente.
•Es"dependente da máquina": um programa em linguagem
de máquina escrito no computador de um fabricante,
geralmente não pode ser executado no de outro, salvo que
que sua linguagem de máquina seja compatível.
Muito pouco usado atualmente.

Ensambladores e macroprocessadores:

Os "linguagens de montagem" foram desenvolvidas para:

Incrementar a velocidade de programação.


Reduzir os erros de codificação.

Os programas devem ser traduzidos para o "linguagem de máquina" através de um


programa“ensamblador”:

•Também é dependente da máquina.

Os 'macroprocessadores':

•Foram desenvolvidos para acelerar a codificação de um programa


montador.
•Foram incorporados nos montadores.
Umamacroinstrução indica a execução de várias
instruções em linguagem de montagem.
•Eleprocessador de macroinstruções efetua uma
"macroexpansão" quando lê uma macro durante a
traducción de un programa:
Gere uma série de instruções em linguagem
assemblador correspondentes à macro.

Compiladores:

• Linguagens de alto nível: foram desenvolvidas para resolver o


problema de la dependencia respecto a la máquina.
•Permitem o desenvolvimento de programasindependentes da
máquina.
•Se consegue maior velocidade de programação, programas
transportáveis entre sistemas diferentes e menores requerimentos de
conhecimentos de hardware.
• Compiladores: traduzem as linguagens de alto nível para a linguagem de
máquina.
• Tradutores: é a denominação para compiladores e
montadores
oEntrada:programa fonte do programador.
oSalida:programa objeto"o"programa resultante".
Sistemas de controle de entrada / saída (IOCS: sistema de controle de entrada / saída):

•O IOCS libera o programador de aplicações da complexidade de


a administração da e/s:
Programas de canal, coordenação de canais e processadores,
controle da e/s, etc.
É uma manifestação da tendência de que os desenvolvedores de
aplicações se concentram na produção de códigos orientados
em direção às aplicações e não aos sistemas (hardware).

Utilización del SPOOL (Simultaneous Peripheral Operation On Line:


operação simultânea de periféricos em linha

•Um dispositivo de alta velocidade (ex.: disco) se interpõe entre um


programa em execução e um dispositivo de baixa velocidade (ex.:
impresora) relacionado com o programa na e / s.
•Evita a demora na execução de programas como consequência
do uso de periféricos lentos.

Lenguajes orientados hacia el procedimiento versus lenguajes orientados hacia


o problema:

• "O. em relação ao procedimento": são de propósito geral e adequados para


resolver uma grande variedade de problemas:
oEj.: Pascal, Cobol, Fortran, Basic, PL/I.
• "O. para o problema": são específicos para resolver determinados
tipos de problemas:
oEj.: GPSS (simulação), SPSS (estatística).

Compiladores rápidos y sucios versus compiladores optimizadores:

• C. rápidos e sujos”: produzem rapidamente um programa objeto


que pode ser ineficiente em relação ao armazenamento e velocidade de
ejecución:
Úteis para o desenvolvimento e teste de sistemas.
• "C. otimizers": produzem um código com maior lentidão
máquina altamente eficiente em armazenamento e execução:
útil na etapa de produção dos sistemas.

Interpretadores:

•Não produzem um programa objeto.


•Executam diretamente um programa fonte.
•São úteis em ambientes de desenvolvimento de programas.
São mais lentos do que os códigos compilados.

Cargadores absolutos e de realocação:


Os programas são executados na memória principal.
• "Atribuição": é a associação de instruções e dados com
localizações particulares de armazenamento.
• “Cargador”:es un programa que coloca las instrucciones y datos de
um programa dentro de localizações do armazenamento principal.
• Cargador absoluto: coloca as instruções e dados na
localizações específicas indicadas no programa de linguagem de
máquina.
• Cargador de relocalização: pode carregar um programa em vários
lugares dentro do armazenamento principal:
Depende da disponibilidade de armazenamento primário ao
momento de realizar a carga.
• “Tiempo de carga”:momento de realizar la carga.

Cargadores de enlace e editores de enlace:

•O programa em linguagem de máquina produzido por um tradutor


deve ser combinado com outros programas em linguagem de máquina
para formar uma unidade executável.
A"combinação de programas" é realizada por "carregadores de
enlace”y“editores de enlace”antes del tiempo de ejecución del
programa.
• Cargador de enlace: no momento da carga, combina
quaisquer programas necessários e os carrega diretamente no
almacenamiento primario.
• “Editor de enlace”:ejecuta la combinación de programas
mencionada e além disso cria uma imagem de carga a memória que
preserva en el almacenamiento secundario (disco), para usos futuros:
É muito útil em ambientes de produção, pois a carga
imediata da imagem de memória previamente produzida
evita um novo processo de combinação de programas prévio
a cada execução.

Memória Fixa

O conceito de "microprogramação" costuma ser atribuído ao prof. Maurice Wilkes (1951).

La primer aplicación a gran escala fueron los S/360 (IBM - ’60).

A "microprogramação dinâmica": permite carregar facilmente os novos


"microprogramas" ("microcódigo") dentro do "armazenamento de controle", desde
onde são executados:

•Permite variar dinâmica e frequentemente os conjuntos de instruções de


máquina.

A "microprogramação" introduz uma camada de programação abaixo da linguagem de


máquina:
•É possível definir as instruções da linguagem de máquina.

Os 'microprogramas' são formados por 'microinstruções' individuais que em


a relação às instruções das linguagens de máquina são de:

•Natureza muito mais elemental.


•Função mais dispersa.

Cada instrução de linguagem de máquina é implementada por um microprograma completo.


que pode ser extenso:

•O armazenamento de controle deve ser muito mais rápido do que o


armazenamento primário.

Microcódigos vertical e horizontal:

O "microcódigo vertical":

É semelhante à execução de instruções em linguagem de máquina.


•Especifica el movimiento de uno o varios datos entre registros.

O "microcódigo horizontal":

Está constituído por microinstruções que requerem muitos mais bits.


•Você pode especificar a operação paralela de movimentação de dados entre
muitos ou todos os registros de dados da unidade de controle.
É mais poderoso, mas mais complexo do que o microcódigo vertical.

Decisão sobre quais funções implementar em microcódigo:

•Uma questão importante de design é decidir quais funções do sistema


computacional serão implementados em microcódigo.
O microcódigo permite melhorar o desempenho na execução de um
sistema computacional.
•O critério frequentemente é colocar na memória fixa (em vez de em o
software) as sequências de instruções utilizadas com mais frequência.

Emulación:

É uma técnica através da qual se faz com que uma máquina aparente ser
outro.
•O conjunto de instruções de linguagem de máquina que será emulado
se microprograma na "máquina anfitriã".
Os programas de linguagem de máquina da máquina emulada podem
executar-se diretamente na anfitriã.
É útil para compatibilidade e migração de sistemas.

Microdiagnósticos:
Os microprogramas têm mais acesso ao hardware do que os programas de linguagem
de máquina:

•Es posible efectuar detección y corrección de errores más amplia a


um nível mais fino.
•Pode-se intercalar microdiagnóstico com as instruções de
o
programas de linguagem de máquina.

Computadores personalizados:

O hardware fornece um ambiente de propósito geral para executar programas


de software:

•Moldam o sistema computacional de acordo com as necessidades do


usuário.
•Em alguns sistemas, os usuários podem realizar essa adaptação por
meio do microcódigo.

Assistências de microcódigo:

Implementam várias rotinas de gerenciamento de interrupções de uso mais frequente em


microcódigo a fim de alcançar melhorias significativas na execução.

Microprogramação e sistemas operacionais:

As funções implementadas frequentemente em microcódigo são as seguintes:

Manejo de interrupções.
•Manutenção de vários tipos de estruturas de dados.
•Primitivas de sincronização que controlam o acesso aos dados
compartidos e outros recursos.
•Operações de palavras parciais que permitem que as operações
de manipulação de bits sejam manejadas de forma eficiente.
• “Intercambio de contexto”, por ej., intercambio rápido del
processador entre os usuários de um sistema de usuários múltiplos.
•Sequências de retorno e chamada ao procedimento.

Você também pode gostar