Buscar

Sistemas Operacionais Conceitos de H e S

Esta é uma pré-visualização de arquivo. Entre para ver o arquivo original

Clique para editar o estilo do título mestre
Clique para editar o estilo do subtítulo mestre
*
*
*
Sistemas Operacionais
Tipos de Sistemas Operacionais
Conceitos de Hardware e Software.
*
*
*
Conceitos Básicos
O sistema operacional é um conjunto de rotinas executada pelo processador.
O sistema operacional tem por objetivo funcionar com uma interface entre o usuário e o computador.
Os sistemas operacionais não são executados de forma linear (começo, meio e fim). É executado de forma concorrente.
*
*
*
Funções Básicas
Facilitar o acesso aos recursos do sistema: possibilita que o usuário tenha acesso aos recursos do sistema de forma transparente, eficiente e eficaz (ex: leitura de cd).
*
*
*
Funções Básicas
Compartilhar os recursos de forma organizada e protegida: tem a responsabilidade de permitir o acesso concorrente aos recursos do sistema de forma segura e protegida (ex: impressora compartilhada). 
*
*
*
Máquina de Níveis
Nos primeiros computadores a programação era realizada em painéis através de fios;
Grande conhecimento da arquitetura do hardware;
Conhecimento da linguagem de máquina
O sistema operacional foi a solução encontrada para este problema, pois interage entre o usuário e o computador de forma mais simples, confiável e eficiente.
*
*
*
Máquina de Níveis
O computador pode ser visto como uma máquina de níveis ou máquina de camadas, onde inicialmente existem dois níveis, hardware (0) e sistema operacional (1).
Contudo o computador possui vários níveis, tantos quanto forem necessários para adequar o usuário as suas aplicações.
*
*
*
Máquina de Níveis
Atualmente os computadores possuem a seguinte estrutura básica:
*
*
*
Tipos de S. Operacionais
Os tipos de S. O e sua evolução estão diretamente relacionados com a evolução do hardware e as aplicações por ele suportada.
Os tipos de Sistemas Operacionais são:
Sistemas Monoprogramáveis / Monotarefas:
Execução de uma única tarefa;
Surgimento nos primeiros computadores em 1960;
Utilizado em máquinas que atendem um único usuário;
Vantagem
Subutilização dos recursos do sistema;
Desvantagem
Simples implementação, pois não há compartilhamento de recursos.
*
*
*
Tipos de S. Operacionais
Sistemas Monoprogramáveis/Monotarefas
Programa / Tarefa 
*
*
*
Tipos de S. Operacionais
Sistemas Multiprogramáveis / Multitarefas
Constituem-se em uma evolução dos sistemas monoprogramáveis.
Compartilhamento de recursos entre os diversos usuários e aplicações;
O sistema serve de gerenciador de acesso concorrente aos recursos do sistema;
Vantagens
Redução no tempo de resposta das aplicações;
Redução de custo com hardware;
Desvantagem
Difícil implementação.
*
*
*
Tipos de S. Operacionais
Sistemas Multiprogramáveis / Multitarefas
Programa / Tarefa 
Programa / Tarefa 
Programa / Tarefa 
Programa / Tarefa 
*
*
*
Tipos de S. Operacionais
Os sistemas Multitarefas podem ser classificados de acordo com a quantidade de usuários em:
Monousuário – utilizados em PC´s e estações de trabalho, onde há um único usuário.
Multiusuário: utilizados em ambientes interativos que possibilitam diversos usuários estarem conectados simultaneamente.
*
*
*
Tipos de S. Operacionais
Sistemas com Múltiplos Processadores:
Caracterizam-se por possuir duas ou mais UCP´s interligadas trabalhando em conjunto.
Vantagens
Execução de vários programas ao mesmo tempo;
Execução de um único programa divido em partes;
Escalabilidade – aumento do poder computacional com a adição de novos processadores;
Disponibilidade – capacidade de manter o sistema sempre em operação em caso de falhas;
Balanceamento de carga – distribuição das tarefas de acordo com a capacidade de cada processador.
*
*
*
Tipos de S. Operacionais
Sistemas Operacionais de Rede
Permite o compartilhamento dos recursos como, impressoras e diretórios, com os demais pontos da rede.
Os usuários tem conhecimento do compartilhamento dos recursos.
Sistemas Operacionais Distribuídos
Permite que uma aplicação seja divida em partes e executada em locais diferentes da rede.
Os usuários não percebem o compartilhamento dos recursos.
*
*
*
Hardware
Um sistema operacional é um conjunto de circuitos eletrônicos interligados por hardwares (processadores, memórias, registradores, barramentos e etc).
Os componentes de um sistema computacional pode ser agrupado em três subsistemas básicos, conhecidos como unidades funcionais:
Processador ou unidade central de processamento (UCP);
Memória principal;
Dispositivos de entrada e saída.
*
*
*
Unidades Funcionais
*
*
*
Processador
Também chamado de Unidade Central de Processamento é responsável pelo gerenciamento de todo o sistema computacional.
A sua principal função é o controle e a execução das instruções presentes na memória principal, através das operações de somar, subtrair comparar e movimentar dados.
*
*
*
Processador
Um processador é composto por uma unidade de controle (UC), uma unidade lógica aritmética (ULA) e os registradores.
Unidade de Controle: é responsável por gerenciar todos os componentes do computador, como por exemplo, a gravação de dados em disco, ou a busca de uma instrução na memória.
*
*
*
Processador
Unidade Lógica Aritmética: é responsável pela execução das operações de comparação e teste lógicos;
Unidade Aritmética: é responsável por executar todas as operações aritméticas.
A sincronização de todas as funções do processador é feita através de um sinal de clock. É um pulso gerado ciclicamente que altera a variável de estado do processador.
*
*
*
Processador
Registradores: tem como principal função armazenar dados temporariamente. Funcionam como uma memória interna do processador e alta velocidade de acesso, mas com uma capacidade de armazenamento reduzida.
A quantidade de registradores existente em cada processador varia em função da arquitetura de cada processador.
*
*
*
Processador
Existem dois tipos de registradores, os de uso geral, que podem ser manipulados por instruções e os registradores de uso especifico, que armazenam informações de controle do processador e do sistema operacional. Dentre os registradores de uso especifico temos:
O contador de instruções (CI): armazena o endereço da próxima instrução que o processador deve buscar para executar.
*
*
*
Processador
Apontador da pilha (AP): armazena o endereço do topo da pilha, na qual ficam armazenadas as informações sobre os programas que estão sendo executados e que tiveram que ser interrompidos.
Registrador de Status: armazena informações sobre a execução de instruções. Normalmente a maioria das instruções, quando executadas, alteram o registrador de status conforme o resultado.
*
*
*
Memória Principal
É o local onde são armazenados as instruções e dados.
A memória é composta por unidades de acesso chamadas de células, sendo que cada célula é composta por um numero determinado de bits.
Atualmente a maioria das memórias utiliza o byte (8 bits) como tamanho da célula, mas no passado existiam arquiteturas com 16, 32 ou até mesmo 60 bits.
*
*
*
Memória Principal
O acesso ao conteúdo de cada célula é realizado através do endereço que cada célula possui.
O endereço é uma referencia única a uma célula da memória.
Ao acessar uma célula tanto para leitura, quanto para escrita é necessário informar o endereço dela primeiro.
*
*
*
Memória Principal
O endereço é armazenado no registrador de endereço de memória (MAR). Através do conteúdo desse registrador que a unidade de controle sabe qual célula de memória será acessada.
O registrador de dados da memória (MBR) é usado para armazenar o conteúdo após uma operação de leitura ou para guardar o dado que será gravado.
*
*
*
Memória Principal - Leitura
A UCP armazena no MAR o endereço da célula a ser lida;
A UCP
gera um sinal de controle para a memória principal, indicando que uma operação de leitura deve ser realizada;
O conteúdo das células indicadas pelo MAR é transferido para o MBR.
O Conteúdo do MBR é transferido para um registrador da UCP.
*
*
*
Memória Principal - Gravação
A UCP armazena no MAR o endereço da célula que será gravada;
A UCP armazena no MBR a informação que deverá ser gravada;
A UCP gera um sinal de controle para a memória principal, indicando que uma operação de gravação deve ser realizada;
A informação contida np MBR é transferida para a célula de memória endereçada pelo MAR.
*
*
*
Memória Cache
É um tipo de memória volátil de alta velocidade, porém com pequena capacidade de armazenamento.
O propósito do uso dessa memória é diminuir a diferença existente entre a velocidade em que o processador executa as instruções e a velocidade em que esses dados são acessados na memória principal.
*
*
*
Memória Cache
 A memória cache armazena uma pequena parte do conteúdo da memória principal . Toda vez que o processador faz uma referência a um dado da memória, primeiramente é verificado se esta informação está na memória cache.
Se o dado estiver na cache o tempo de acesso é menor;
Se a informação não estiver lá, o processador tem transferir essa informação da memória principal para a cache.
*
*
*
Memória Cache
 Mesmo com esse tempo adicional de transferência de dados entre as memórias, o tempo é compensado pelo desempenho do sistema, através do principio da localidade.
Apesar de ser uma memória de acesso rápido, sua capacidade de armazenamento é limitada em função do seu alto custo.
*
*
*
Memória Secundária
É um meio de armazenamento permanente , isto é, não-volátil.
O acesso as informações neste tipo de memória é muito lento comparado ao tempo de acesso a memória principal. Porém seu custo é baixo e sua capacidade de armazenamento é muito maior.
*
*
*
*
*
*
Dispositivos de Entrada e Saída
São utilizados para permitir a comunicação entre o sistema computacional e o mundo externo.
Esses dispositivos podem ser divididos em duas categorias:
Dispositivos de armazenamento secundário;
Dispositivos de interface usuário-máquina.
*
*
*
Barramento
É o meio físico de comunicação entre as unidades funcionais de um sistema computacional.
Em geral os barramentos possuem linhas de controles e linhas de dados. Através das linhas de controle trafegam informações de sinalização, como, o tipo de operação que esta sendo realizada, já nas linhas de dados trafegam as instruções, operandos e endereços utilizados pelas unidades funcionais.
*
*
*
Barramento
Os barramentos podem ser classificados em três tipos:
Processador - memória: são de curta extensão e com alta velocidade de transferência;
Entrada e saída: possuem uma extensão maior contudo uma velocidade de transferência menor, além de permitir a conexão com vários tipos de dispositivos.
*
*
*
Barramento
*
*
*
Barramento
Barramento de backplane: é um tipo de barramento utilizado como intermediário entre o barramento processador – memória e de entrada e saída. A principal vantagem desse tipo de arquitetura é diminuir o numero de adaptadores existente no barramento processador – memória e desta forma otimizar o seu desempenho.
*
*
*
*
*
*
Arquiteturas RISC e CISC
Linguagem de máquina é a linguagem que realmente o processador entende. Cada processador possui uma quantidade de instruções de maquina definido por seu fabricante.
Um programa em linguagem de máquina pode ser executado diretamente pelo processador. Um programa quando desenvolvido para um determinado processador só pode ser executado no processador desse fabricante, nenhum outro processador de arquitetura diferente poderá executar este programa.
*
*
*
Arquiteturas RISC e CISC
Um processador de arquitetura RISC (Reduct Instruction Set Computer), se caracteriza por possuir poucas instruções em linguagem de máquina. Na maioria das vezes essas instruções não acessam a memória principal, trabalhando exclusivamente com registradores, que nesta arquitetura apresentam-se em grande número.
Ex: SPARC (Sun), Alpha AXP (Compaq).
*
*
*
Arquiteturas RISC e CISC
Um processador de arquitetura CISC (Complex Instruction Set Computer), se caracteriza por possuir instruções em linguagem de máquina bem complexas que são interpretadas por microprogramas. Nesse tipo de arquitetura os registradores apresentam-se em pequeno número e qualquer instrução pode acessar a memória principal.
Ex: Pentium (Intel), VAX (Dec) e 68xxx (Motorola).
*
*
*
Arquiteturas RISC e CISC
*
*
*
Arquiteturas RISC e CISC
Em uma arquitetura CISC os microprogramas são responsáveis por gerar as instruções que serão executadas pelo hardware. Para cada instrução de máquina existe um microprograma responsável.
Alguns processadores não dispõem deste recurso, já que os microprogramas vêm gravados em memória tipo ROM. 
*
*
*
Software
Para que o hardware tenha utilidade pratica, deve existir um conjunto de programas utilizado como interface entre a necessidade do usuário e a capacidade do hardware. A utilização de software torna a execução das tarefas dos usuários bem mais simples e eficiente.
Softwares utilitários: são os programas que auxiliam o sistema operacional.
*
*
*
Software - Tradutor
Nos primeiros sistemas computacionais era muito complicado a programação, pois o programador deveria possuir conhecimentos sobre a arquitetura da máquina. Os programas eram desenvolvidos em linguagem de máquina.
Com o surgimento das primeiras linguagens de programação de alto nível, o programador deixou de se preocupar com muitos aspectos de hardware. Isso proporcionou a construção de programas, documentação e a manutenção.
*
*
*
Software - Tradutor
Apesar das grandes vantagens apresentadas pelas linguagens de alto níveis elas não podem ser entendida e executada pelos processadores.
Para que elas possam ser executadas é necessário realizar a conversão, na qual toda notação simbólica da linguagem é traduzida para a linguagem de máquina.
*
*
*
Software - Tradutor
A conversão das informações pelo tradutor dá origem a um modulo chamado de modulo objeto, sendo que este modulo ainda necessita de um utilitário chamado linker para ser executado.
De acordo com o código fonte do programa, existem dois tipos de tradutores:
*
*
*
Software - Tradutor
Montador: traduz o programa fonte para linguagem de montagem não executável. Cada maquina possui seu utilitário assembly.
Compilador: traduz o programa fonte para um programa em linguagem de máquina não executável.
*
*
*
Software - Linker
Editor de ligação é responsável por, a partir de um ou mais modulo objeto, gerar um programa executável.
*
*
*
Software - Linker
As principais funções do Linker são:
Reservar espaço de memória para a execução dos programas;
Resolver as referencias simbólicas existentes entre os módulos.
Relocação de memória, que determina em qual região da memória o programa será executado.
Nos primeiros S. O o programa era executado em um local predeterminado em sua implementação (código absoluto).
*
*
*
Software - Linker
Em sistemas multiprogramáveis esse tipo de relocação não pode ocorrer já que a memória é compartilhada por várias tarefas. A solução adotada nesses sistemas é permitir que programa seja carregado em qualquer parte da memória com espaço suficiente (código relocável). Porém este tipo de relocação não é realizada pelo linker, e sim pelo utilitário loader.
*
*
*
Software - Linker
Em alguns sistemas o compilador pode resolver problemas como referencias de endereço, não necessitando passar pela fase de linker edição. Contudo as outras referencias são feitas pelo utilitário linking loader. Esse processo é conhecido como linker dinâmico, no qual todas as referencias
são realizadas no momento da execução do programa.
A principal desvantagem desse tipo de implementação e a sobrecarga do sistema (overhead).
*
*
*
Software - Loader
Loader ou carregador, é responsável por carregar na memória principal o programa que será executado.
Em função do tipo de código gerado pelo linker o loader pode ser classificado em dois tipos:
Loader absoluto: o loader só precisa saber o endereço de memória inicial e o tamanho do modulo.
Loader relocável: o loader só precisa saber o tamanho do modulo para realizar o carregamento.
*
*
*
Software - Interpretador
É considerado um tradutor que não gera o modulo objeto. 
O interpretador a partir do código fonte de um programa escrito em linguagem de alto nível, traduz cada instrução e a executa imediatamente.
A principal desvantagem na utilização do interpretador é o tempo gasto na tradução deste programa, uma vez que nenhum código executável é gerado.

Teste o Premium para desbloquear

Aproveite todos os benefícios por 3 dias sem pagar! 😉
Já tem cadastro?

Continue navegando