Apostila 2004 1 Parte Gr11022004

Fazer download em doc, pdf ou txt
Fazer download em doc, pdf ou txt
Você está na página 1de 8

Universidade Estácio de Sá / Instituto Politécnico 1

Unidade I – Conceituação

I.1 Unidades funcionais de um computador


Objetivo: Apresentar conceitos básicos sobre hardware e software, fornecendo subsídios para que
os alunos sigam o curso. Partindo de uma configuração genérica de hardware serão apresentadas
as unidades funcionais de um computador, as quais servirão como base para estudo das gerências
de processos, memória e entrada/saída.

Bibliografia complementar: MONTEIRO, M. Introdução à organização de computadores. 4ª ed.


Rio de Janeiro: LTC, 2002.

I.1.1 O hardware e o sistema operacional


Para entendimento do conceito de sistema operacional, objeto desta disciplina, vamos tomar como
exemplo uma configuração de hardware (conjunto de componentes eletrônicos interligados,
composto de processador, memória principal, discos magnéticos, monitor, impressora, entre outros
dispositivos) de um microcomputador PC, daqueles que, normalmente, temos em nossas casas. Basta
abrir o caderno de informática de um jornal, ou mesmo de uma revista especializada, e escolher uma
configuração, dentre as tantas existentes com os mais diferentes preços:
Componente Especificação (capacidade, marca, modelo)

Placa-mãe (mainboard, motherboard) INTEL 845PESV ou ASUS P4P800


Processador (UCP ou CPU), clock e cache INTEL PENTIUM 4 2.4GHz, 512Kb
Memória Principal RAM 256Mb DDR
Memória Secundária FD 1.44Mb, HD 40Gb e CD 52X
Placa e monitor de vídeo GeForce 4 FX5200 128Mb DDR, LCD 17”
Kit Multimídia CREATIVE com acessórios
Placa Fax/Modem e de rede 56K V90 e 10/100 Mbps integrados
Gabinete, teclado, mouse, estabilizador ATX, ABNT2 104 teclas, padrão MICROSOFT, 1KVA
Arquitetura do processador CISC*
Impressora, scanner, câmera digital, joystick Jato de tinta HP, de mesa com boa resolução, etc.

* para fins de identificação da plataforma. Alguns fabricantes trabalham com arquiteturas híbridas.

Se numa próxima etapa, de posse de todos esses componentes, um bom técnico conectá-los de
maneira correta, será que esse microcomputador PR O G R A M A D O R ES E A N A LISTA S
funciona? Alguns ajustes no SETUP (programa de O U TR O S U SU Á R IO S
PR O G R A M A S, SISTEM A S E A PLIC A TIVO S
configuração/verificação, gravado em um componente
da placa-mãe) são necessários, mas certamente o U S U Á R IO S
computador ligaria e mostraria toda sua configuração
de hardware.
SISTEM A
O PER A C IO N A L
A pergunta agora seria um pouco mais específica: do
jeito que foi feita a montagem e configuração dos HARDW ARE
componentes, qual seria a utilidade desse M E M Ó R IA
TEC LA D O UCP IM PR ESSO R A
microcomputador? A resposta é simples, NENHUMA. M O U SE
P R IN C IP A L
D ISC O M A G N ÉTIC O
PR O C ESSA D O R M O N ITO R
Para que o usuário possa utilizar seus programas em D ISPO SITIVO S
D E E/S
benefício de suas atividades profissionais (editar um
texto, montar uma planilha eletrônica, desenvolver um Figura 1 - O que é um sistema operacional?
programa, criar um banco de dados, etc.), ou mesmo
lazer (jogos), é necessário que seja instalado um
SOFTWARE INDISPENSÁVEL que tem como função mais abrangente GERENCIAR todos os
Arquitetura de Sistemas Operacionais – Professores Luiz di Marcello e Roberto Barros Março/2004
Universidade Estácio de Sá / Instituto Politécnico 2
recursos (hardware) disponíveis no sistema (microcomputador), chamado SISTEMA
OPERACIONAL. Basicamente, um sistema operacional possui “partes” que tratam da gerência de
cada um dos subsistemas básicos de hardware (processador, memória, dispositivos de E/S), que
serão vistos mais adiante.

Outras definições e funções para sistema operacional:

 um conjunto de programas indispensáveis ao funcionamento do computador, cuja função é


servir de interface (ligação, elo) entre o homem e a máquina; fazer a comunicação entre o
usuário, o computador e seus periféricos;

 um conjunto de rotinas executadas pelo processador, da mesma forma que os nossos


programas. Controla o funcionamento do computador, como um gerente dos vários recursos
disponíveis no sistema.

Desta forma, o sistema operacional facilita do acesso aos recursos do sistema, transparente para o
usuário, e no caso de muitos usuários, proporciona compartilhamento de recursos de forma
organizada e protegida.

Algumas atividades que envolvem o sistema operacional:

 leitura de um disquete (acionar a cabeça de leitura e gravação, posicionar trilha e setor, dados
do disco para a memória);

 quando um usuário solicita a execução de um programa, o sistema operacional deve alocar


espaço na memória para carregar e acessar o programa.

Quais são as etapas anteriores à carga do sistema operacional em um microcomputador?

Quando o microcomputador é ligado, realiza o POST (Power On Self Test) que consiste em um conjunto de testes
para determinar se o hardware está funcionando corretamente (verificação da RAM, vídeo e outros dispositivos;
localização da unidade de disco de inicialização; etc.). Estes testes são realizados a partir do BIOS ( Basic Input
Output System), podendo variar conforme cada fabricante.
Se o BIOS for compatível com a tecnologia Plug and Play, algumas rotinas adicionais serão realizadas para
reconhecimento dos dispositivos. Após a inicialização dos dispositivos, o computador localiza e lê o setor de
inicialização, contendo o arquivo carregador, que será carregado para a memória principal e passará a controlar a
carga do sistema operacional (boot).

I.1.2 A divisão do hardware de um computador


Como já havia sido comentado, os componentes do hardware de um computador são divididos em
três grupos/subsistemas básicos, chamados unidades funcionais:

1. Unidade Central de Processamento (UCP ou processador) – é o “cérebro” do computador,


responsável pela execução de todos os programas armazenados na memória principal. A UCP é
formada por vários componentes, dentre eles:
- UAL ou ULA (Unidade Aritmética Lógica) que realiza operações tais como adições e
deslocamento, necessárias à execução das instruções;
- UC (Unidade de Controle) que é responsável pela busca das instruções e determinação de
seus tipos;
- Registradores (PC, IR, MAR, MBR, SP e outros) que consistem em áreas de memória para
armazenamento de resultados temporários e informações de controle. Dois registradores
importantes são o Program Counter (PC), que guarda o endereço da próxima instrução a ser
executada, e o Instruction Register (IR) que armazena a instrução que está sendo executada;
Arquitetura de Sistemas Operacionais – Professores Luiz di Marcello e Roberto Barros Março/2004
Universidade Estácio de Sá / Instituto Politécnico 3
- Clock é um dispositivo interno ao processador que gera pulsos elétricos síncronos em um
determinado intervalo de tempo (sinal de clock). A quantidade de vezes que este pulso se
repete em um segundo define a freqüência do clock, medida em Hertz. O sinal de clock é
utilizado pela unidade de controle para a execução das instruções;
- Cache é uma memória auxiliar de alta velocidade, que tem por finalidade aumentar o
desempenho do sistema.

Cada programa é formado por uma seqüência de instruções que será executada pelo processador
do computador. O próprio sistema operacional é conjunto de programas que devem ser
executados pelo processador para controlar o funcionamento do computador. A importância da
execução desse conjunto de programas, porém, é evidente, pois sem o sistema operacional os
programas de usuário não seriam executados.

Vejamos alguns conceitos relacionados aos processadores de um computador:

1.a) Pipelining – processamento pipeline nos passa a idéia de linha de montagem, onde uma
tarefa é dividida em uma seqüência de subtarefas, executadas em diferentes estágios, dentro da
linha de produção. A UCP executa a instrução em uma série de pequenos passos, sendo assim:

P1 P2 P3 P4 P5
Unidade de Analisador Unidade de Unidade de Unidade de
busca de de cálculo de busca execução de
instrução instrução endereço de dados instruções

Figura 2 - Divisão em subtarefas (processamento pipeline)

se cada passo (intervalo de tempo) é de n ns, cada instrução demorará 5n ns para ser executada.
Entretanto, uma instrução completa é executada por P5 a cada n ns, para um ganho de cinco
vezes a velocidade.

1.b) Arquitetura CISC X Arquitetura RISC – um processador com arquitetura CISC (Complex
Instruction Set Computer) se caracteriza por possuir instruções complexas que são interpretadas
pelo nível de microprogramação, onde são convertidas em microinstruções. O número de
registradores é pequeno e qualquer instrução pode referenciar a memória principal. Exemplos de
processadores dessa arquitetura: VAX (DEC), 80x86 e o Pentium (INTEL) 1, 68xxx (Motorola),
além da série 360 e todos os mainframes (IBM).

Já um processador de arquitetura RISC (Reduced Instruction Set Computer) se caracteriza por


possuir poucas instruções de máquina, em geral bastante simples, que são executadas diretamente
pelo hardware, sem a necessidade da camada de interpretação. Na sua maioria, estas instruções
não acessam a memória principal, trabalhando principalmente com registradores que, neste tipo
de processador, se apresentam em grande número. Estas características, além se ajudarem as
instruções serem executadas em alta velocidade, facilitam a implementação de pipeline.
Exemplos de processadores dessa arquitetura: Sparc (SUN), RS-6000 (IBM, PA-RISC (HP),
Alpha AXP (DEC), Rx0000 (MIPS).

2. Memória Principal (RAM) – É a parte do computador onde programas (instruções) e dados são
armazenados, sendo composta por unidades de acesso chamadas células, sendo que:
1
A partir do 486, no entanto, a INTEL passou a projetar seus processadores com o núcleo RISC, núcleo esse
responsável pela execução de instruções simples (e, conseqüentemente mais freqüentes), enquanto as instruções mais
complexas são interpretadas.

Arquitetura de Sistemas Operacionais – Professores Luiz di Marcello e Roberto Barros Março/2004


Universidade Estácio de Sá / Instituto Politécnico 4

- A célula é a menor unidade endereçável. A maioria dos fabricantes de computador padroniza


a célula em 8bits de tamanho (byte). Bytes são agrupados em palavras; um computador com
palavra de 16bits tem 2bytes/palavra, enquanto que um computador com palavra de 32bits
tem 4bytes/palavra. O significado de uma palavra é que a maioria das instruções opera em
palavras inteiras, por exemplo, somando duas palavras. Então uma máquina de 16bits terá
registradores de 16bits e instruções que manipulam palavras de 16bits;
- Todas as células em uma memória possuem o mesmo número de bits;
- Cada célula da memória possui um endereço único; a quantidade de bits do endereço, que
nada tem haver com a quantidade de bits da célula, está relacionada ao número máximo de
células endereçáveis. Por exemplo, com 16bits podemos endereçar 65536 combinações
diferentes, ou seja, uma memória de 64K de capacidade de armazenamento.

Depois do processador, que é o componente que executa as instruções dos programas, a memória
principal é o componente mais disputado pelos programas, uma vez que os programas devem
estar carregados para serem “enxergados” e executados pelo processador. Esta memória é
classificada como volátil, ou seja, não tem capacidade de preservar o seu conteúdo sem uma
fonte de alimentação. Por esse motivo devemos sempre gravar (memória secundária) nossos
arquivos quando estes forem alterados.

O tempo de acesso aos dados contidos na memória principal pode ser agilizado quando coloca-se
no computador uma memória auxiliar, chamada memória cache. As memórias cache são
memórias voláteis de alta velocidade, atualmente localizadas não só no processador e na placa-
mãe, como também em diversos controladores e dispositivos. O tempo de acesso a um dado nela
contido é muito menor que se estivesse na memória principal. Toda vez que o processador faz
referência a um dado armazenado na memória principal, ele “olha” antes na memória cache. Se o
processador encontrar o dado na cache, não há necessidade do acesso à memória principal; do
contrário, o acesso é obrigatório. Neste último caso, o processador, a partir do dado referenciado,
transfere um bloco de dados para o cache. O tempo de transferência entre as memórias é
pequeno, se comparado com o aumento do desempenho obtido com a utilização desse tipo de
memória.

3. Dispositivos de Entrada/Saída – São os componentes que permitem a comunicação entre o


computador e o mundo externo. Podem ser divididos em duas categorias:
 os que servem apenas de interface homem/máquina - através deles, o processador e a
memória principal podem comunicar-se com os usuários (teclado, monitor, impressoras,
scanner, caneta ótica, mouse). O desenvolvimento de interfaces cada vez mais amigáveis
permite que as pessoas sem conhecimento específico sobre informática possam fazer uso de
computadores;
 aqueles destinados ao armazenamento de programas e dados (discos e fitas magnéticas),
chamados de memórias secundárias. Seu custo é relativamente baixo, porém o tempo de
acesso é maior quanto comparado ao tempo de acesso à memória principal ou mesmo à
memória cache.

Não podemos esquecer que a UCP, a memória principal e os dispositivos de E/S encontra-se
interligados fisicamente através de linhas de comunicação denominadas barramentos. Um
barramento (bus) pode ser visto como um conjunto de fios paralelos, onde trafegam informações.
Existem diversos tipos de barramentos, destinados a transmissão de informações específicas, a
saber: barramento de dados, barramento de endereços e barramento de controle.

Arquitetura de Sistemas Operacionais – Professores Luiz di Marcello e Roberto Barros Março/2004


Universidade Estácio de Sá / Instituto Politécnico 5
I.1.3 Conceitos de software (utilitários das linguagens e do sistema)
O hardware sozinho não tem utilidade, tornando-se necessária a existência de um conjunto de
programas relacionado mais diretamente com os serviços do sistema operacional, possibilitando
inclusive a criação de aplicativos pelos usuários desenvolvedores de sistemas (programadores).
Denominaremos de utilitários esse conjunto de programas que apoiam esse desenvolvimento.
Conheceremos alguns desses utilitários e denominações dadas a partes de software dos sistemas
operacionais.

Tradutor
O surgimento das primeiras linguagens de montagem, e das linguagens de alto nível, diminuiu a
necessidade de conhecimento de hardware por parte do programador, quando os programas eram
Montador
PROGRAMA
CÓDIGO TRADUTOR MÓDULO LINKER EXECUTÁVEL
FONTE OBJETO (LINGUAGEM DE MÁQUINA)

Compilador

CÓDIGO TRADUZ E EXECUTA


INTERPRETADOR
FONTE EM TEMPO REAL

Figura 3 - Tradutor, Linker e interpretador

desenvolvidos em linguagem de máquina. A utilização dessas linguagens facilitou a construção de


sistemas em muitos aspectos.
Porém, os programas escritos nessas linguagens (código fonte) não estão prontos para serem
diretamente executados pelo processador, que só consegue executar instruções escritas em linguagem
de máquina. Essa conversão, de linguagem de montagem ou alto nível para linguagem de máquina, é
iniciada pelo software denominado tradutor, onde toda representação simbólica é traduzida para
código de máquina.
O código gerado pelo tradutor é denominado código objeto, que, apesar de estar em código de
máquina, ainda não é executável. O tradutor, dependendo da linguagem de programação utilizada
que esteja sendo transformada, pode ser chamado de montador (linguagens de montagem -
Assembly) ou compilador (linguagens de alto nível – Pascal, Fortran, Cobol).

O que é Assembly?

Assembly (traduz-se como linguagem de montagem) é X:=A+B-C;


uma linguagem de símbolos alfabéticos, que foi a (a) Comando em Pascal
primeira evolução para tornar os programas mais
000100100011 123
representativos da intenção do programador e, 001100100100 324
portanto, mais inteligível. O quadro ao lado mostra 010000100101 425
diferentes modos de escrever um programa, 001000100110 226
equivalente a um comando em PASCAL. (b) Programa em linguagem de máquina (c) Programa em hexadecimal
equivalente ao comando em (a) equivalente ao programa em (b)
O montador Assembler é desenvolvido para entender
as instruções de um processador específico (Pentium, PROG SOMA
por exemplo) e converte-las em código binário LDA A
ADD B
(instruções de máquina) daquele processador. Sendo SUB C
assim, não se pode utilizar o montador para programas STR X
escritos na linguagem Assembly de outro processador (d) Programa em Assembly equivalente ao comando em (a)
(Power PC, por exemplo).

Interpretador
Imagine um tradutor que não gere código objeto e que a partir de um programa em código fonte,
escrito em linguagem de alto nível, traduza cada instrução e a execute em seguida. Esse software é
denominado interpretador e sua maior desvantagem, como podemos perceber, é o tempo gasto na
Arquitetura de Sistemas Operacionais – Professores Luiz di Marcello e Roberto Barros Março/2004
Universidade Estácio de Sá / Instituto Politécnico 6
tradução das instruções de um programa toda vez que este for executado, já que não existe a geração
de código executável. Algumas linguagens tipicamente interpretadas: Basic, APL e dBase.

Linker
Também chamado de linkage editor (editor de ligação) ou linkeditor, é o utilitário responsável por
gerar a partir de um ou mais módulos objeto, um único programa executável. Suas funções básicas
são resolver todas as referências simbólicas existentes entre os módulos e reservar memória para a
execução do programa.
As referências simbólicas são resolvidas pelo linker através de pesquisa em bibliotecas do sistema
ou do próprio usuário, que são arquivos que contêm diversos módulos objeto e/ou definições de
símbolos.
Já a operação de reserva de memória para execução do programa é conhecida como relocação. Em
sistemas operacionais mais antigos, a relocação era realizada uma única vez, quando todos os
endereços simbólicos eram traduzidos para endereços físicos fixos e o programa executável gerado
somente podia ser carregado em uma determinada região da memória (código absoluto). Porém, em
sistemas multiprogramáveis esse tipo de relocação era inviável. A solução é permitir que o programa
seja carregado em regiões diferentes toda vez que for trazido para a memória principal (código
relocável), sendo este tipo de relocação realizado por outro utilitário denominado loader.

Loader
Também chamado de carregador, é o utilitário que carrega/leva o programa para a memória principal
para que este seja então executado. Como pudemos constatar anteriormente, o procedimento de
carga varia com o código gerado pelo linker, que em função disso é classificado como sendo do tipo
absoluto ou relocável.

Depurador
Todos sabemos que os programadores podem cometer erros de lógica no desenvolvimento de
programas. O depurador (debugger) permite ao usuário controlar toda a execução de um programa a
fim de depurá-lo/torná-lo puro/detectar erros, através de alguns recursos:
 Acompanhamento da execução instrução por instrução;
 Monitoramento e alteração do conteúdo das variáveis (watchpoint);
 Implementação de pontos de parada no decorrer da execução do programa (breakpoint).

Linguagem de controle ou de comando


É a forma mais direta de um usuário se comunicar com o sistema operacional, possibilitando ao
usuário acesso a rotinas específicas do sistema. Os comandos quando digitados pelo usuário são
interpretados por um programa denominado interpretador de comandos ou shell, que verifica a
sintaxe do comando, envia mensagens de erro e faz chamadas na
SISTEMA OPERACIONAL

rotinas do sistema. Aplicativos


PROGRAMAÇÃO E O
LINGUAGENS DE

A evolução de tais linguagens originam as interfaces gráficas e no


futuro, com a introdução das linguagens naturais, os sistemas Utilitários
passarão a reconhecer comandos falados e escritos, como fazemos
Sistema Operacional
habitualmente em nosso dia-a-dia.
Linguagem de Máquina
HARDWARE

Linguagem de máquina
É a linguagem de programação que o processador realmente consegue Microprogramação
entender. Cada processador possui um conjunto único de instruções
de máquina definido pelo fabricante, que especifica detalhes, como Hardware (lógica digital)
registradores, modos de endereçamento e tipos de dados. O programa Figura 4 - Máquina de níveis
nessa linguagem é totalmente codificado em formato binário.

Arquitetura de Sistemas Operacionais – Professores Luiz di Marcello e Roberto Barros Março/2004


Universidade Estácio de Sá / Instituto Politécnico 7
Após a exposição de todos esses conceitos, concluímos que um sistema computacional não é tão e
somente hardware e software, cada qual representado por uma única camada. Desde os primeiros
computadores, nos quais a programação era realizada em painéis, através de fios, exigindo grande
conhecimento do hardware, até o surgimento do sistema operacional, tornando a interação entre
usuário e computador mais simples e confiável, o programador afasta-se cada vez mais da
complexidade do hardware. Podemos então, considerar o computador como um conjunto hierárquico
de níveis ou camadas. Com a evolução das arquiteturas de computadores e das linguagens de
programação, atualmente a maioria dos computadores possui a estrutura mostrada na figura ao lado.

I.1.4 Histórico dos sistemas operacionais

Faremos um breve resumo da história dos sistemas operacionais com objetivo ilustrativo, apenas
para termos uma idéia da ordem cronológica de fatos importantes. A evolução do software dos
computadores, especialmente os sistemas operacionais, está relacionada ao desenvolvimento de
equipamentos cada vez mais velozes, menores no tamanho e com custo cada vez menor, e à
necessidade de aproveitamento e controle desses recursos.

Primeira fase (1945-1955)


 Computadores baseados em válvulas (ENIAC, criado para fins militares de cálculos balísticos,
com 18 mil válvulas, 30 toneladas, consumo de cerca de 140.000 watts; EDVAC, utilizado por
universidades e também orgãos militares; UNIVAC I, criado para auxiliar no censo americano de
1950, aplicação comercial);
 Ausência de sistema operacional: programação feita por painéis, através de fios, sem uso de
linguagens de programação.

Segunda fase (1956-1965)


 Criação do transistor (maior velocidade e confiabilidade no processamento, menor dissipação de
energia) e das memórias magnéticas (acesso mais rápido aos dados, maior capacidade de
armazenamento e diminuição do tamanho dos computadores);
 Surgimento das primeiras linguagens de programação (Assembly e Fortran) – os programas
deixam de ser feitos diretamente no hardware;
 Seqüenciamento da execução dos programas, sem intervenção do operador, conhecido como
processamento batch (em lote);
 Importantes avanços com a linha de computadores 7094 da IBM.

Terceira fase (1966-1980)


 Diminuição do tamanho e dos custos de aquisição do hardware com a criação dos circuitos
integrados (CIs) e, posteriormente, dos microprocessadores – lançamento da série 360 de
computadores da IBM e da linha PDP-8 da DEC;
 Evolução dos processadores de E/S, possibilitando a utilização da técnica de compartilhamento
da memória e do processador denominada multiprogramação;
 Substituição das fitas por discos magnéticos, possibilitando a alteração na ordem de submissão
dos programas em lote (spooling);
 Surgimento em 1969 do sistema operacional UNIX.

Quarta fase (1981-1990)


 Miniaturização e barateamento dos computadores através da integração cada vez maior dos
componentes;
 Surgimento dos microcomputadores pessoais (PCs) e do sistema operacional DOS (Disk
Operating System);
 Sistemas multiusuário e multitarefa, permitindo a execução de diversas tarefas de forma
concorrente;
Arquitetura de Sistemas Operacionais – Professores Luiz di Marcello e Roberto Barros Março/2004
Universidade Estácio de Sá / Instituto Politécnico 8
 Equipamentos com múltiplos processadores, processadores vetoriais e diversas técnicas de
paralelismo em diferente níveis (multiprocessamento);
 As redes de computadores se difundiram por todo mundo – software de redes intimamente
relacionados ao sistema operacional e surgimento dos sistemas operacionais de rede.

Quinta fase (1991-????)


 Grandes avanços de hardware (microeletrônica), software e telecomunicações – processadores e
memórias cada vez menores e mais baratos;
 Processamento distribuído em sistemas operacionais;
 Novas interfaces homem/máquina – linguagens naturais, sons e imagens;
 Sistemas multimídia, bancos de dados distribuídos e inteligência artificial.

Exercícios
1.a) O que é um SO? Quais suas funções básicas?
1.b) Um SO deve proporcionar facilidade de acesso aos recursos do sistema e compartilhamento
desses recursos de forma organizada e protegida. Explique, desenvolvendo o texto da sentença.
1.c) Relacione os componentes de hardware descritos na apostila com uma configuração de
computador encontrada em um jornal de informática.
1.d) Sobre os três subsistemas básicos de um computador digital responda:
- faça um diagrama relacionando-as
- quais os componentes internos do processador
- classificação da memória em relação a sua volatilidade
- lista de pelo menos cinco dispositivos de entrada e cinco de saída (não pode o mesmo ser
apresentado como entrada e saída)
1.e) Em uma viagem de negócios, um executivo compra alguns componentes de hardware para
montar seu próprio microcomputador PC. Juntamente com seu primo, eles resolvem montar esses
componentes e, considerando que o disco rígido comprado esteja formatado, pergunta-se: o que
acontecerá quando o microcomputador for ligado pela primeira vez?
1.f) Em linhas gerais, qual a seqüência de inicialização (hardware e software) em um
microcomputador PC?
1.g) Porque a relocação utilizando código com endereçamento absoluto era impraticável em sistemas
multiprogramáveis?
1.h) Quais as diferenças em termos de execução entre um programa desenvolvido em uma linguagem
interpretada e outro desenvolvido em uma linguagem traduzida?
1.i) Cite exemplos de operações que envolvam o sistema operacional.
1.j) Quais as principais diferenças entre as arquiteturas CISC e RISC?

Arquitetura de Sistemas Operacionais – Professores Luiz di Marcello e Roberto Barros Março/2004

Você também pode gostar