420 likes | 648 Views
Sistemas Operativos. O que é um sistema operativo? …e quais são as suas funções?.
E N D
O que é um sistema operativo?…e quais são as suas funções? Resumidamente, um Sistema Operativo é um programa ou conjunto de programas cuja função é servir de Interface entre um computador e o utilizador e gerir os recursos e componentes de hardware de modo a tornar o computador mais eficiente para o acesso do utilizador. Se quiser saber mais…
Funções de um S.O. Mais detalhadamente, um SO tem várias funções tais como: • Partilha de recursos com protecção: • - físicos: processador, memória, discos, periféricos diversos; • - lógicos: programas de uso geral (editores, compiladores) e bibliotecas partilhadas por diversos programas. • Gestão da concorrência – controlar diversos fluxos de actividade independentes que se executam "em paralelo", sem que os mesmos interfiram não intencionalmente. • Gestão de informação persistente – armazenamento fiável e seguro da informação não volátil em suportes magnéticos, ópticos, etc. • Controlo dos gastos – contabilização e limitação da utilização dos recursos físicos.
Noção de um S.O. Os computadores funcionam com dois tipos de software: • software de sistema ou sistema operativo; • software de aplicação.
TIPOS DE SISTEMAS OPERATIVOS • Mainframes • Servidores • Multiprocessadores • Computadores Pessoais • Tempo Real • Embebidos e Smart Cards
Mainframes Um Mainframe é um computador de grande porte, dedicado normalmente ao processamento de um volume grande de informações. Os mainframes são capazes de oferecer serviços de processamento a milhares de utilizadores utilizando para isso milhares de terminais conectados directamente a ele ou através de uma rede. O termo mainframe refere-se ao gabinete principal que alojava a unidade central de processamento nos primeiros computadores. Embora venham perdendo espaço para os computadores pessoais (PCs) e para as estações de trabalho, de custo bem menor, ainda são muito usados em ambientes comerciais e grandes empresas (Bancos, Empresas de aviação, Universidades, etc.), bem como para processamento científico.
Mainframes Características: • geralmente ocupam um grande espaço; • necessitam de um ambiente especial para seu funcionamento, que inclui instalações de refrigeração (alguns usam refrigeração a água); • são capazes de realizar operações em grande velocidade e sobre um volume muito grande de dados; • possuem uma grande capacidade de processamento, e uma grande capacidade de armazenamento primário (memória primária de trabalho) e secundário (unidades de armazenamento de dados e programas). Actualmente o uso de Mainframes dá-se em processamento de dados meteorológicos, universidades, centros de pesquisa, unidades governamentais, bancos e outros sectores que demandam uma grande quantidade de dados processados e que exigem rapidez. Se quiser saber mais…
Servidores Correm em servidores que podem ser máquinas com grandes capacidades, workstations ou mesmo mainframes. Servem múltiplos utilizadores através da rede e permitem a partilha de hardware ou de recursos de software. Podem fornecer serviços de impressão, de ficheiros ou Web. Hiperligações (Internet) : Tipos de Servidores • Hardware e software de servidores Software de Servidores
Multiprocessadores Multiprocessamento é a capacidade de um sistema operativo executar simultaneamente dois ou mais processos. Pressupõe a existência de dois ou mais processadores. Difere da multitarefa, pois esta simula a simultaneidade, utilizando-se de vários recursos, sendo o principal o compartilhamento de tempo de uso do processador entre vários processos. Arquitectura Hiperligações (Internet) : • Referências
Multiprocessadores Características: Envolve dois ou mais processadores físicos (sejam processadores separados ou múltiplos núcleos encapsulados no mesmo chip) ou lógicos (processador(es) com a tecnologia HyperThreading da Intel) com o mesmo poder computacional e cada um capaz de executar processos autonomamente. Isto implica que não há nenhuma unidade central de controle; cada processador contém sua própria unidade de controle. Assim, efectivamente, a lógica de controle é distribuída pelo sistema. Os processadores compartilham um único espaço de endereçamento de memória. O sistema de hardware é como um todo gerido por um único sistema operativo. O sistema operacional com suporte a multiprocessamento deve ser capaz de suportar multitarefa e de manter múltiplas filas de processos, uma para cada processador.
Computadores Pessoais Este tipo de sistema operativo tem como objectivo servir de interface para um único utilizador. São largamente utilizados para tarefas comuns tais como processamento de texto, desenho, acesso à Internet, etc. Os Sistemas Operacionais predominantes são Microsoft Windows, Mac OS e Linux e as principais arquitecturas são as baseadas nos processadores x86, x64 e PowerPC. Se quiser saber mais…
Tempo Real Sistemas de tempo real são sistemas cujas características dependem do cumprimento de requisitos temporais e lógicos e onde as consequências do não cumprimento desses mesmos requisitos podem causar prejuízos nefastos, como sejam a segurança de pessoas. Nesta perspectiva, um Sistema Operativo de Tempo Real (SOTR) é uma aplicação multitarefa na qual várias tarefas críticas devem ser processadas em simultâneo. O sistema deve assegurar que as tarefas críticas sejam tratadas em tempo útil. S.O.de Tempo Real • S.O. de Tempo Real 2 Hiperligações (Internet) :
Embebidos Este tipo de Sistema Operativo é nada mais nada menos um ambiente gráfico contendo também um conjunto reduzido de tarefas para permitir uma maior interacção entre o utilizador e o acessório/máquina – telecomandos, palmtop ou PDA – PalmOS, Windows CE PDA Hiperligações (Internet) : • Windows Mobile
Smart Cards São Sistemas Operativos mais pequenos / pequenos CPUs – cartões de crédito. Além de ser usado em cartões bancários e de identificação pessoal, é encontrado também nos celulares GSM (o "chip" localizado normalmente atrás da bateria). A grande diferença é que ele possui capacidade de processamento pois embute um microprocessador e memória (que armazena vários tipos de informação na forma electrónica), ambos com sofisticados mecanismos de segurança. É cada vez maior o número de cartões de crédito que utilizam a tecnologia. Se quiser saber mais…
Requisitos do S.O. • Em relação ao Utilizador: • fácil de utilizar e aprender • rápido e adequado às tarefas que se destina • A nível de Software: • manutenção • forma de funcionamento • restrições de utilização • eficiência • tolerância aos erros • flexibilidade
Estruturas dos S. O. • Monolítica • Hierárquica (Dijkstra) • Máquina virtual • Cliente-servidor (Microkernel)
Estrutura Monolítica Características fundamentais: • Construção do programa final com base em módulos compilados separadamente unidos através do linker; • Boa definição dos parâmetros de ligação entre as diversas rotinas; • Carece de protecções e privilégios de execução das rotinas; • Feitos por medida (eficientes e rápidos na execução e gestão, mas têm pouca flexibilidade ao suportar diferentes ambientes de trabalho). Primeiros S.O. constituídos por um único programa de várias sub-rotinas. (cada uma pode chamar qualquer uma das outras)
Estrutura Hierárquica (Dijsktra) Surgiu devido à necessidade de maior organização. O S.O contém várias sub-partes organizadas em forma de níveis. Pequenos blocos bem definidos com uma interface clara para permitir a ligação com outros blocos. Estrutura hierárquica ou de níveis/camadas (layers). O primeiro foi construído (para fins didácticos) na Holanda por E. W. Dijsktra (1968) e seus alunos e foi denominado THE (Technische Hogeschool, Eindhoven) A maior parte dos S.O. actuais baseiam-se neste tipo de estrutura. Neste modelo, as zonas/níveis mais internos estão protegidos contra acessos indesejados a partir de níveis mais externos.
Estrutura Máquina Virtual Disponibiliza uma interface a cada processo, mostrando ao utilizador uma máquina idêntica ao hardware existente – permite integrar diferentes SO dando ao utilizador a sensação de várias máquinas diferentes. O núcleo destes SO denomina-se monitor virtual – tem por objectivo a multiprogramação. Os níveis superiores apresentam várias máquinas virtuais – réplicas da máquina real – cada uma executa um S.O. diferente
Estrutura Cliente-Servidor (Microkernel) Parte I de II Mais recente Pode ser executado na maior parte dos computadores S.O. de propósitos gerais, servindo todo o tipo de aplicações e cumprindo as mesmas funções dos S.O. Convencionais. No contexto Cliente/Servidor, um Cliente é um programa que pede um determinado serviço (por exemplo, a transferência de um ficheiro) a um Servidor, outro programa. O Cliente e o Servidor podem estar em duas máquinas diferentes, sendo esta a realidade para a maior parte das aplicações que usam este tipo de interacção.
Estrutura Cliente-Servidor (Microkernel) Parte II de II Um processo Cliente pode actuar como Servidor para outro processo. Grande flexibilidade nos serviços oferecidos ao utilizador final. O núcleo serve apenas as funções mais básicas de memória, In/Out, ficheiros e processos, deixando para os servidores os outros serviços que o utilizador final ou o programador podem utilizar Os servidores têm mecanismos de segurança e protecção que serão filtrados pelo núcleo que controla o hardware.
Conceitos de S.O. • Núcleo (Kernel) • System Calls • Protecções • Processos • Interrupção • excepção • Ficheiros • Shell
Conceitos de S.O. (Núcleo) • Conjunto de rotinas (procedimentos) que oferecem serviços aos utilizadores/aplicações (bem como outras rotinas do próprio SO) – núcleo do sistema ou kernel (cérebro). • Principais funções: • tratamento de interrupções; • criação e eliminação de processos; • sincronização e comunicação de processos; • escalonamento e controlo de processos; • gestão de memória; • operações de In/Out; • contabilização e segurança do sistema.
Conceitos de S.O. (Processos) Um processo é um programa em execução. Um processo tem associado o espaço de endereçamento: • onde pode ler e escrever; • contém o programa executável; • contém os dados do programa; • contém a informação acerca da stack associada; • contém informação sobre outros registos: - program counter, stack pointer e outros registos de hardware, contém todas as informações necessárias à execução do programa.
Conceitos de S.O. (System Calls) 1ª parte System Calls Chamadas do sistema – a porta de entrada que permite (ou não) o acesso ao núcleo do S.O. Constitui um conjunto de mecanismos de protecção do núcleo do sistema e de acesso aos seus serviços – evita que uma aplicação realize uma operação que danifique todo o S.O. Quando um utilizador (ou processo) deseja solicitar algum serviço do sistema, realiza uma chamada a uma das suas rotinas (ou serviços) através das systemcalls. Para cada serviço existe uma systemcall associada e cada S.O. tem o seu conjunto (biblioteca) de chamadas (nomes, parâmetros, formas de activação específicos) O mecanismo é semelhante à chama de um procedimento/função num programa.
Conceitos de S.O. (System Calls) 2ª parte System Calls Podem ser divididos em grupos de função: • Gestão de processos: • Criação/eliminação de processos • Alteração das características do processo • Sincronização e comunicação entre processos • Gestão de memória: • Alocação e libertação de memória • Gestão de entrada/saída: • Operações de entrada/saída • Manipulação de arquivos e directórios
Conceitos de S.O. (Protecções) Protecções • Mecanismo de protecção existente em sistemas multiprogramáveis onde vários utilizadores partilham os mesmos recursos e que garante a integridade dos dados pertencentes a utilizador ou processo. • O recurso pode ser memória, CPU ou um dispositivo I/O. • No caso de vários processos concorrerem ao mesmo periférico (p.ex. impressora), o sistema operativo tenta prevenir um acesso concorrente (deadlock) através de uma política de controle de modos de acesso. • Gestão de memória - mecanismos de protecção que visam impedir a violação de espaços de memória reservados aos programas em execução. • Entrada/saída - o acesso a dispositivos físicos de I/O é feito através das seguintes técnicas: • Buffering– utilização de uma área de memória para a transferência de dados entre os periféricos e a memória principal. • Spooling – simultaneous periphericaloperationon-line (spool).
Conceitos de S.O. (Ficheiros) Ficheiros Mecanismo de abstracção que fornece soluções para armazenar e recuperar informações em disco. Para encontrar um espaço para os ficheiros, existe em muitos S.O. o conceito de directório, que é a forma encontrada para agrupar vários ficheiros.
Conceitos de S.O. (Shell) Shell – Interpretador de comandos Os editores, compiladores, montadores, ligadores e interpretadores de comando não fazem parte do sistema operativo, apesar, de serem softwares muito importantes e úteis. Esses comandos, quando digitados pelos utilizadores, são interpretados pelo Shell, que verifica a sua sintaxe, envia mensagens de erro e faz chamadas a rotinas do sistema.
Conceitos de S.O. (Interrupção/Excepção) Interrupção/excepção Uma interrupção é gerada pelo sistema operativo ou por algum dispositivo e, neste caso, é independente do programa que está em execução. Uma excepção resulta directamente da execução de uma instrução do próprio programa. Existem diferentes tipos de interrupção. Estes devem ser atendidos por diversas rotinas de tratamento. No momento em que uma instrução é executada, a CPU deve saber para que rotina de tratamento deverá ser desviado o fluxo de execução. A diferença fundamental entre excepção e interrupção é que a primeira é gerada por um evento síncrono, enquanto a segunda é gerada por eventos assíncronos. Um evento é síncrono quando resulta directamente da execução do programa corrente. Um evento é assíncrono quando ocorre independentemente da execução do programa corrente.
Outras curiosidades… Hiperligações: (Internet) História dos S.O. Evolução dos S.O.
Trabalho realizado por… Pedro Rocha 11º C Nº 1