Buscar

organização de computadores

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 10 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 6, do total de 10 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 9, do total de 10 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

Sistema Operacional
Introdução: Um Sistema Operacional é um conjunto de rotinas executadas pelo processador, da mesma forma como qualquer outro programa. Sua principal função é controlar o funcionamento do computador, gerenciando os diversos recursos disponíveis no sistema. O Sistema Operacional executa basicamente duas funções:
- Facilita o acesso aos recursos do sistema
- Compartilha de forma organizada e protegida os recursos do sistema
O Sistema Operacional torna a interação entre o usuário e o computador mais simples, confiável e eficiente.
Conceitos Básicos
Hardware: Um computador é constituído por um conjunto de dispositivos interligados, composto por processadores, memória principal e dispositivos físicos (hardware). Estes componentes podem ser subdivididos em 3 subsistemas básicos:
- Unidade Central de Processamento (U.C.P.)
- Memória Principal
- Dispositivos de Entrada e Saída (I /O)
Unidade Central de Processamento (C.P.U.):  A principal função da Unidade Central de Processamento é unificar todo o sistema, controlando as funções realizadas por cada unidade funcional. Ela é também responsável pela execução de todos os programas do sistema, que obrigatoriamente deverão estar armazenados na memória principal. Um programa é composto por uma série de instruções ordenadas logicamente, que são executadas sequencialmente pela CPU.  Ela busca cada instrução na memória principal e interpreta para a sua execução.
A CPU é composta por dois componentes básicos: Unidade de Controle e Unidade Lógica e Aritmética.
A Unidade de Controle é responsável por controlar as atividades de todos os componentes do computador, emitindo sinais elétricos gerado pelo dispositivo denominado Clock. Este sinal pode ser para a gravação de um dado no disco ou para uma busca de instrução na memória.
A Unidade Lógica e Aritmética é responsável pela realização de operações lógicas (testes e comparação) e aritméticas (soma ou subtração).
A velocidade de processamento de uma CPU é determinado pelo número de instruções que o processador executa por unidade de tempo, normalmente segundo. Esta denominação pode ser MIPS (u Milhões de Instruções por Segundo) ou MFLOPS/GFLOPS (Milhões / Bilhões de Instruções por ponto flutuante por segundo).
Clock: É um dispositivo que está localizado na CPU e que gera pulsos elétricos síncronos em um determinado intervalo de tempo. O sinal de Clock é utilizado pela Unidade de Controle para execução das instruções. A frequência do Clock de um processador é medida em Hertz (Hz).
Registradores: Os registradores são dispositivos de alta velocidade, que estão localizados dentro da CPU e que armazenam dados temporários. Cada processador possui um determinado número de registradores. Alguns registradores são de uso específico e outros de uso geral.
Memória Principal: Também conhecida como memória primária, é o local onde são armazenados as instruções e os dados. Ela é composta por unidades de acesso denominadas células, sendo que cada uma desta célula é composta por um determinado número de bits. O bit é a unidade básica da memória, podendo assumir o valor 0 e 1.
O acesso de cada célula é realizada com a especificação de um número denominado endereço. Desta forma quando um programa escrever ou ler um dado em uma célula deve especificar primeiro qual o endereço de memória desejado, para depois realizar a operação.
A memória principal pode ser classificada de acordo com a sua volatilidade que é a capacidade da memória em preservar o seu conteúdo mesmo sem uma fonte de alimentação.
As memórias voláteis se caracterizam por poderem ser lidas e gravadas, como por exemplo as memórias RAM (Random Acess Memory).
Outro tipo de memória não volátil é a memória ROM (Read Only Memory), que já vem gravada do fabricante, geralmente com algum programa e seu conteúdo é mantido inalterado mesmo quando a alimentação é desligada.
Memória Cache: Trata-se de uma memória volátil de alta velocidade. Toda vez que o processador busca um dado na memória principal, ele "olha" primeiramente para a memória cache. Se este dado estiver armazenado nela, não existe a necessidade do acesso da memória principal.
Memória Secundaria: A memória secundária é um meio não volátil de armazenamento de programas e dados. O acesso a este tipo de dispositivo é lento se compararmos a memória principal ou a memória cache, porém o seu custo é baixo e a sua capacidade de armazenamento, na maioria das vezes, é muito maior.
Dispositivos de Entrada e Saída: Os dispositivos de entrada e saída tem permitem a comunicação entre o computador e o mundo externo. Através desses dispositivos, a CPU e memória principal podem se comunicar tanto com o usuário como a memória secundária, para realizar qualquer tipo de processamento.
Estes dispositivos de Entrada e Saída podem ser divididos em duas categorias:
- Aqueles que são utilizado como memória secundário como discos e fitas magnéticas e que tem um custo bem menor em relação a memória principal, armazenam um quantidade maior de informações, porém possuem uma velocidade de acesso menor.
- Aqueles que são utilizados como interface homem-máquina, como teclado, monitores, impressoras, etc. Com o avanço da tecnologia, estes dispositivos tem se tornado bastante amigáveis, possibilitando que usuários com pouco conhecimento de informática, possam utilizar o computador de forma bastante satisfatória.
Barramento:  A CPU, a memória principal e os dispositivos de E/S são interligados através de linhas de comunicação denominadas barramentos, barras ou vias. Um barramento (BUS) é um conjunto de fios paralelos onde trafegam informações como dados, endereços ou sinais de controle. Os barramentos podem ser classificados como Unidirecional (transmitem em um única direção) ou Bidirecional (transmitem em duas direções).
Na ligação entre CPU e Memória Principal, são necessários a ligação de 3 barramentos:
- Barramento de Dados: onde trafegam as informações entre a CPU e a Memória Principal
- Barramento de Endereço: onde a CPU especifica o endereço da célula que irá ser acessada
- Barramento de Controle: onde a CPU envia pulsos de controle relativos a leitura e gravação
Pipelining: O conceito de Pipelining se assemelha a de um linha de produção, onde uma tarefa é subdividida em outras subaéreas, executadas em diferentes estágios, dentro de uma linha de produção. A execução de uma instrução pode ser dividida em subaéreas, como as fases de busca de instrução de operandos, execução e armazenamento de resultados. O processador através de unidades funcionais pipeline, permite que enquanto a instrução se encontra na fase de execução, possa estar em fase de busca simultaneamente.
Ativação e Desativação do Sistema:  O Sistema Operacional é essencial para o funcionamento do Computador. Sem ele grande parte dos recursos do sistema não estariam disponíveis.
Toda vez que um computador é ligado é necessário que o computador seja carregado da memória secundaria para a memória principal. Este processo, denominado ativação do sistema (boot), é realizado por um programa localizado em um local específico do disco (Disco block), sendo geralmente o primeiro bloco. Este procedimento de ativação varia em função do equipamento, podendo ser realizado através de teclado, de um terminal, ou de chaves em um painel.
Além da carga do Sistema Operacional, a ativação do sistema também consiste na execução de arquivos de inicialização.
Na maioria dos sistemas existe o processo de desativação denominado Shutdown. Este procedimento permite que as aplicações e componentes sejam desativados de maneira ordenada, garantindo a integridade do sistema.
Arquitetura RISC e CISC
Um processador com arquitetura RISC (Reduced Instruction Set Computer) se caracteriza por ter poucas instruções de máquina, bastante simples e que são executadas diretamente pelo hardware. Na sua maioria, estas instruções não acessam a memória principal, trabalhando principalmente com os registradores, que neste tipo de processador, se apresentam em grande número.Um processador com arquitetura CISC (Complex Instrution Set Computer) já possuem instruções que já interpretadas por microprogramas.O número de registradores é pequeno e qualquer instrução pode referenciar a memória principal.
Software: O Hardware sozinho não tem a menor utilidade. Para torna-lo útil é necessário que um conjunto de programas que fazem a interface entre as necessidades do usuário e a capacidade do hardware.
A utilização de softwares adequados às diversas tarefas e aplicações, torna o trabalho do usuário muito mais simples e eficiente.
Tradutor:  No início, quando o computador surgiu, o ato de programar era extremamente complicado, pois o programador tinha que ter conhecimento de hardware ainda fazer a programação através de painéis de fios. Estes programas eram desenvolvidos em linguagem de máquina e carregados diretamente na memória principal para execução.
Com o surgimento das primeiras linguagens de montagem (assembly languages), e ainda com o surgimento das linguagens de alto nível, os programadores deixaram de se preocupar com aspectos pertinentes ao hardware. O tradutor pode ser chamado de Montador ou Compilador.
Compilador:  É um programa responsável por gerar, a partir de um programa escrito em linguagem de alto nível, um programa em linguagem de máquina, não executável. As linguagens de alto nível não possuem nenhuma relação direta com a máquina, ficando esta preocupação para o Compilador.
Interpretador:  Interpretador é   considerado um tradutor que não gera código objeto. A partir de um programa fonte, escrito em linguagem de alto nível, o interpretador, no momento da execução do programa, traduz cada instrução e a executa em seguida.
Loader:  também denominado carregador, é responsável por colocar fisicamente na memória um programa para execução.
Depurador:   é um utilitário que permite o usuário controlar a execução de um programa a fim de detectar erros na sua estrutura.
Linguagem de Controle:  também conhecida como Linguagem de Comando, é a forma direta do usuário se comunicar com o Sistema Operacional. Esta linguagem é oferecida por cada Sistema Operacional, para que os usuários possam ter acesso à rotinas específicas do sistema.
Interpretador de Comandos (Shell):  O Sistema Operacional é um código executor de chamadas de sistema. Os editores, compiladores, montadores e interpretadores não fazem parte do Sistema Operacional. Quando um comando é digitado pelo usuário, o Shell interpreta, verifica a sua sintaxe, envia mensagens de erro e faz chamadas de rotinas do sistema. Desta forma o usuário dispõe de uma interface interativa com o Sistema Operacional para realizar tarefas como copiar um arquivo ou disco ou ainda consultar um diretório.
Linguagem de Máquina: é a linguagem que realmente o processador consegue entender. Cada processador possui um conjunto único de instruções (set de instruções) de máquina, que são definidas pelo próprio fabricante.
Micro programação
Um programa em linguagem de máquina é executado diretamente pelo hardware em processadores com arquitetura RISC, porem em processadores com arquitetura CISC isso não acontece. Entre os níveis de linguagem de programação e hardware, existe ainda a micro programação.
Os micro programas definem a linguagem de máquina de cada computador. Uma máquina posse aproximadamente 25 micro instruções básicas, que são interpretadas pelos circuitos eletrônicos.
Processos
Um processo é basicamente um programa em execução, sendo constituído do código executável, dos dados referente ao código.
Chamadas de Sistema
Os programas dos usuários solicitam serviços do Sistema Operacional através da execução de chamadas de sistema. A cada chamada corresponde um procedimento de uma biblioteca de procedimentos que o programa do usuário pode chamar.
Arquivos
Arquivos são mecanismos de abstração que fornece uma forma de armazenar e recuperar informações em disco. Isso deve ser feito de uma forma que mantenha o usuário isolado dos detalhes a respeito de como as informações são armazenadas e de como os discos efetivamente trabalham.
Tipos de Sistemas Operacionais 
A evolução do hardware está intimamente relacionada com o surgimento de novos Sistemas Operacionais e das aplicações por ele suportadas. A evolução dos Sistemas Operacionais para computadores pessoais e estações de trabalho popularizou termos conceitos e técnicas antes conhecidas somente em ambientes de grande porte.Com isso surgiram novos termos para conceitos já conhecidos, que foram apenas adaptados para a nova realidade.
Sistemas Monoprogramáveis / Monotarefas
Os primeiros Sistemas Operacionais eram tipicamente voltados para a execução de um único programa (job). Qualquer outro programa, para ser executado, deveria aguardar o termino do programa corrente. Os sistemas monoprogramáveis, como vieram a ser conhecidos, se caracterizam por permitir que o processador, a memória e os periféricos permaneçam dedicados apenas para a execução de um único programa. Neste tipo de sistema, quando enquanto um programa aguarda por um evento (por exemplo a digitação de um dado), o processador permanece ocioso, sem realizar qualquer tipo de processamento. A memória acaba sendo subutilizada quando o programa não a utiliza totalmente e os periféricos (discos e impressoras) acabam sendo utilizados por um único usuário. Comparando com outros sistemas, os sistemas monoprogramáveis são de simples implementação e não existe praticamente preocupação com problemas de proteção.
Sistemas Multiprogramáveis / Multitarefas
Os sistemas multiprogramáveis que vieram a substituir os monoprogramáveis são mais complexos e eficientes. Enquanto no monoprogramável existe apenas um programa utilizando todos os seus recursos, nos multiprogramáveis vários programas dividem esses mesmo recursos. A vantagem neste tipo de sistema é que a aumenta a produtividade de seus usuários e ocorre a redução de custos com a possibilidade do compartilhamento dos mesmos recursos do sistema. A partir do número de usuários que interagem com o sistema, podemos classificar os sistemas multiprogramáveis como monousuário ou multiusuário.
O uso de computadores pessoais possibilita que um único usuário (monousuário) possa executar várias tarefas concorrentemente ou simultaneamente. Os sistemas multitarefas permite que um usuário edite um texto, imprima um arquivo, copie um arquivo pela rede, etc.
Sistemas Batch
Os sistemas batch (lote) foram os primeiros sistemas multiprogramáveis a serem implementados e caracterizam-se por terem seus programas, quando submetidos, armazenados em disco ou fita, onde esperam para ser executados sequencialmente. Normalmente os programas (Job) não exigem interação com o usuário, lendo e gravando dados em discos e fitas.
Sistemas de Tempo Compartilhado
Os sistemas de tempo compartilhado (time-sharing) permitem a interação dos usuários com o sistema, basicamente através de terminais que incluem vídeo, teclado e mouse. Desta forma o usuário pode interagir diretamente com o sistema em cada fase de desenvolvimento de suas aplicações e, se preciso, modificá-las imediatamente. Devido a este tipo de interação, estes sistemas também são conhecidos como sistemas on-line.
Para cada usuário, o sistema aloca uma fatia de tempo (time slice) do processador. Caso o programa do usuário não seja concluído nesse intervalo de tempo, ele é substituído por outro usuário e fica esperando por outra fatia de tempo. Não é só o processador que é compartilhado, mas também a memória e os periféricos, como discos e impressoras. O sistema cria para o usuário um ambiente de trabalho próprio, dando a impressão que todo o sistema está exclusivamente dedicado a ele.
Sistemas de tempo compartilhado são de implementação complexa, porém se levado em consideração o tempo de desenvolvimento e depuração de uma aplicação, aumentam consideravelmente a produtividade de seus usuários, reduzindo os custos de utilização do sistema.
Sistemas de Tempo Real
Os sistemas de tempo real (real time) são bem semelhantes emimplementação aos sistema de tempo compartilhado. A maior diferença é no tempo de resposta exigido no processamento das aplicações. Enquanto em sistemas de tempo compartilhado, o tempo de resposta pode variar sem comprometer as aplicações em execução, nos sistemas de tempo real os tempos de resposta devem estar dentro de limites rígidos, que devem ser obedecidos, caso contrário poderão ocorrer problemas irreparáveis.
Não existe a ideia de fatia de tempo, um programa detém o processador o tempo que for necessário até que apareça outro prioritário em função da sua importância no sistema. Esta importância ou prioridade de execução é controlada pela própria aplicação e não pelo Sistema Operacional, como nos sistemas de tempo compartilhado. Estes sistemas são utilizados em aplicações onde o tempo de resposta é fator fundamental.
Sistemas de Múltiplos Processadores
Os sistemas de múltiplos processadores caracterizam-se por possuir duas ou maios UCPS (CPUs) interligadas, trabalhando em conjunto.  Um fator chave no desenvolvimento de um sistema com múltiplos processadores é a forma de comunicação entre a UCP e o grau de compartilhamento da memória e dos dispositivos de entrada e saída. Em função desses fatores podemos classificar os sistemas em fortemente acoplados ou fracamente acoplados.
Sistemas Fortemente Acoplados
Nos sistemas fortemente acoplados (tightly coupled) existem vários processadores compartilhando um única memória e gerenciados por um único Sistema Operacional. Múltiplos processadores permitem que vários programas sejam executados ao mesmo tempo, ou que um programa seja dividido em subprogramas, para a execução simultânea em mais de um processador. Desta forma é possível aumentar a capacidade de computação de um sistema, adicionando novos processadores com um custo muito inferior em relação a aquisição de novos computadores.
Sistemas Assimétricos
Na organização assimétrica ou mestre / escravo (master / slave) somente um processador (mestre) pode executar serviços do Sistema Operacional. Sempre que um processador do tipo escravo necessitar executar uma operação, terá que requisitar ao processador mestre. Dependendo do número de operações efetuados pelos processadores escravo, o sistema pode se tornar ineficiente devido ao elevado número de interrupções tratadas pelo mestre.
Se o processador mestre falhar, todo o sistema ficará incapaz de continuar o processamento. Neste caso o sistema deverá ser reconfigurado, fazendo que um processador escravo assume o papel de mestre.
Sistemas Simétricos
Neste tipo de processamento todos os processadores executam a mesma função. Apenas poucas funções ficam ao cargo de um processador, como por exemplo a inicialização do sistema.
Neste tipo de sistema, um programa pode ser executado por qualquer processador, inclusive por vários processadores ao mesmo tempo (paralelismo). Além disso, quando um processador falha o sistema continua em funcionamento, porém com um capacidade menor de processamento.
Os sistemas simétricos são mais poderosos do que os sistema assimétricos, permitindo um maior balanceamento do processador e das operações de entrada e saída.
Multiprocessamento
Desde a sua criação, os computadores são vistos como máquinas sequenciais, onde a UCP executa as instruções de um programa, uma de cada vez. Porém na realidade isto não é totalmente verdadeiro pós múltiplos sinais são ativos simultaneamente, o que pode ser entendido como uma forma de paralelismo.
Com a implementação de múltiplos processadores, o conceito de simultaneidade ou paralelismo pode ser expandido a um nível mais amplo, denominado multiprocessamento, onde uma tarefa pode ser dívida e executada, ao mesmo tempo, por mais de um processador.

Outros materiais