Sistemas Operacionais - Seja Bem-Vindo | Informáticargomes/so_fichiers/aula1x4.pdf · Sistemas...

download Sistemas Operacionais - Seja Bem-Vindo | Informáticargomes/so_fichiers/aula1x4.pdf · Sistemas Operacionais ... soufes@gmail.com Objetivo do Curso Sistemas Operacionais ... (Windows

If you can't read please download the document

Transcript of Sistemas Operacionais - Seja Bem-Vindo | Informáticargomes/so_fichiers/aula1x4.pdf · Sistemas...

  • Sistemas Operacionais

    Introduo

    Informaes Gerais

    Sistemas Operacionais

    Site http://www.inf.ufes.br/~rgomes/so.htm

    Email [email protected]

    Objetivo do Curso

    Sistemas Operacionais

    Apresentar os fundamentos tericos dos sistemas operacionais modernos,enfatizando os seus aspectos...

    de organizao interna (arquitetura conceitual)

    de estruturas e mecanismos de implementao.

    Sistema de Computao

    Sistemas Operacionais

    Hardware Prov os recursos bsicos de computao (UCP,

    memria, dispositivos de E/S).

    Programas de aplicao Definem as maneiras pelas quais os recursos do sistema

    so usados para resolver os problemas computacionais dos usurios (compiladores, sistemas de banco de dados, video games, programas financeiros, etc.).

    Usurios Pessoas, mquinas, outros computadores.

  • Viso Abstrata (1) Viso Abstrata (2)

    Um Sistema Operacional...

    ... possibilita o uso eficiente e controlado dos diversos componentes de hardware do computador (unidade central de processamento, memria, dispositivos de entrada e sada).

    ... implementa polticas e estruturas de software de modo a assegurar um melhor desempenho do sistema de computao como um todo.

    Sistemas Operacionais

    Definio (1)

    Nome dado a um conjunto de programas que trabalham de modo cooperativo com o objetivo de prover uma mquina mais flexvel e adequada ao programador do que aquela apresentada pelo hardware sozinho. Interface de programao Gerenciamento de recursos

    Sistemas Operacionais

  • Definio (2)

    A program that controls the execution of application programs.

    An interface between applications and hardware. Resource allocator

    Manages and allocates resources. Control program

    Controls the execution of user programs and operations of I/O devices .

    Kernel The one program running at all times (all else being

    application programs).

    Sistemas Operacionais

    Funo

    A principal funo de um sistema operacional prover um ambiente no qual os programas dos usurios (aplicaes) possam rodar. Isso envolve: definir um framework bsico para a execuo

    dos programas prover uma srie de servios (ex: sistema de

    arquivos, sistema de E/S) uma interface de programao para acesso aos

    mesmos.

    Sistemas Operacionais

    Organizao Tpica Ncleo (kernel)

    Responsvel pela gerncia do processador, tratamento de interrupes, comunicao e sincronizao entre processos.

    Gerente de Memria Responsvel pelo controle e alocao de memria aos

    processos ativos. Sistema de E/S

    Responsvel pelo controle e execuo de operaes de E/S e otimizao do uso dos perifricos.

    Sistema de Arquivos Responsvel pelo acesso e integridade dos dados residentes

    na memria secundria. Processador de Comandos (shell) / Interface com o Usurio

    Responsvel pela interface conversacional com o usurio.

    Histrico (1)

    No incio ... (inexistncia de S.O.) O usurio programador e operador da mquina ao

    mesmo tempo. Muita interveno humana no processamento das tarefas.

    Setup inclua carregar o compilador e o programa fonte, salvar o programa compilado, carregar e link-editar o programa executvel.

    O sistema operacional surge com o objetivo bsico de automatizar a preparao, carga e execuo de programas.

    A esse objetivo se somou, em seguida, um segundo, de fundamental importncia: a otimizao do uso dos recursos de hardware pelos programas.

  • Histrico (2)

    Tal como nas arquiteturas de hardware, os sistemas operacionais tambm passam por um processo evolutivo, classificado em geraes.

    O surgimento dos S.O. data da segunda gerao de computadores, na dcada de 50.

    1a Gerao

    (dcada de 50)

    Execuo automtica de jobs

    JCL Job Control Language

    Ex: IAS, ATLAS, IBM 701

    HW de 2a gerao, com circuitos transistorizados

    2a. Gerao

    (incio da dcada de 60)

    Primeiros sistemas de multiprogramao e hardware com multiprocessamento. Sistemas de tempo real.

    Ex: IBM OS/MTF, CTSS (IBM 7094), MCP (Burroughs 5000, etc.).

    HW de 3a. gerao, com circuitos integrados..

    3a Gerao

    (meados dos anos 60 a meados dos anos 70)

    Sistemas multi-modo e de propsitos gerais. Uso de memria virtual. Sistemas complexos e caros, exceo do UNIX.

    Ex: Multics (GE 645), TSS (IBM 360/67), CDC Kronos (CDC 6000), RCA VMOS, etc.

    HW construdo com tecnologia VLSI

    4a. Gerao

    (meados dos anos 70 e incio dos anos 80)

    Grandes sistemas de multiprocessamento, uso intensivo de teleprocessamento, sistemas de memria virtual.

    Ex: MCP (Burroughs B6700), VMS (VAX 11/760), MVS (IBM 370), etc.

    HW com suporte de microprogramao

    5a. Gerao

    (Anos 80 e 90)

    Arquiteturas distribudas, ambiente de redes de computadores, mquinas virtuais, uso intenso de microcomputadores pessoais, interfaces visuais mais elaboradas.

    (Ex:DOS, MAC OS, Windows, Unix-like OS, IBM OS/2,IBM VM/370)

    Grande diversidade de HW de E/S, UCP e memrias de alta velocidade.

    Arquiteturas RISC

    Dias atuais Arquitetura microkernel e multithreading, sistemas multiplataforma, middleware, projeto orientado a objetos,, suporte a computao mvel, etc.

    Ex: Linux, Windows2000... 7, 8, Palm OS, IOS , Android, Solaris, Unix SVR4 (... AIX), Linux embarcado etc.

    HW para multiprocessamento simtrico, HW para computao mvel e ubqua, sistemas embarcados

    Tipos de Sistemas Operacionais

    Sistemas de Lotes (Batch) Sistemas de Tempo Compartilhado (Time Sharing) Sistemas de Tempo Real (Real-Time)

    Sistemas Mainframes Sistemas Desktop

    Sistemas Distribudos Sistemas Paralelos Sistemas Handheld (mobile devices) Sistemas embarcados/computao ubqua/redes ad hoc

    Sistemas de Lotes (1) Primeiro tipo de sistema operacional (usurio e operador passam a

    ser entidades diferentes). Job o conceito bsico num sistema de lotes, sendo constitudo do

    programa a ser compilado e executado, acompanhado dos dados. Jobs semelhantes so organizados em lotes, de modo a reduzir

    o tempo de setup. Sequenciamento automtico de jobs, com transferncia

    automtica de controle de um job para outro (processamento seqencial).

    Inexistncia de computao interativa. Nmero de tarefas processadas por unidade de tempo alta

    devido seqencialidade, sem interrupo. Tempo mdio de resposta pode ser muito alto (ex: presena de

    jobs grandes frente de jobs pequenos).

  • Sistemas de Lotes (2) Sistemas de Lotes (3)

    Layout da MP em Sistemas de Lotes Sistemas de Tempo Compartilhado A capacidade e o tempo de processamento da mquina

    dividida entre mltiplos usurios, que acessam o sistema atravs de terminais.

    Usurio dirige a sua tarefa. Seus comandos so interpretados e executados em seguida (processamento on-line).

    Uso da tcnica de multiprogramao para a manipulao de mltiplos jobs interativos.

    Jobs so constantemente trocados entre memria e disco (swap).

    Tempo de resposta baixo. Nmero de tarefas processadas/tempo baixo. Arquitetura mais complexa e de propsitos gerais.

  • Lotes x Tempo Compartilhado

    BatchMultiprogramming TimeSharing

    Principalobjetivo Maximizarousodoprocessador

    Minimizarotempoderesposta

    Fontedediretivasparaosistemaoperacional

    JobcontrollanguageComandosprovidoscomojob

    Comandosviaterminal

    Sistemas de Tempo Real (1)

    Sistemas dedicados a uma classe de aplicaes, tipicamente de controle e medio, que exigemmonitoramento contnuo de instrumentos.

    Ex: sistemas de controle industriais, sistemas robticos, sistemas de realidade virtual, automao domstica, etc.

    Ex: QNX, CMX-RTX, LynxOS, RTMX, etc. Possuem restries temporais bem definidas (o tempo

    de resposta considerado crtico). Pode ser hard ou soft real-time.

    Sistemas de Tempo Real (2)

    Hard Real-Time Memria secundria limitada ou ausente (dados

    armazenados em memria ROM) Caracterstica normalmente no suportada em

    sistemas operacionais de propsitos gerais. Soft Real-Time

    Utilizao limitada em controle industrial e robtica.

    til para aplicaes que requerem caractersticas avanadas de sistemas operacionais (ex: multimdia, realidade virtual).

    Sistemas Mainframes

    Primeiros sistemas computacionais usados na resoluo de problemas comerciais e aplicaes cientficas.

    Nos dias atuais, so projetados para processamento de grande volume de dados.

    Arquitetura de hardware complexa. Trabalham em multimodo (usualmente

    batch e time- sharing).

  • Sistemas Desktop

    Caracterizado pelo uso de computadores pessoais.

    Diferentemente dos sistemas mainframes, um sistema de computao geralmente dedicado a um nico usurio.

    Dispositivos tpicos de E/S: teclado, mouse, terminal de vdeo, pequenas impressoras.

    Apresenta convenincia para o usurio, com um bom tempo de resposta e uma boa taxa de processamento a um custo relativamente baixo.

    Pode rodar diferentes tipos de S.O. (Windows, MacOS, UNIX, Linux, etc.)

    Sistemas Distribudos (1) Conjunto de computadores interconectados de

    forma a possibilitar a execuo de um servio. Requer uma infra-estrutura fsica de redes (LAN,

    WAN) e suporte de protocolos de comunicao (TCP/IP).

    A realizao de uma tarefa distribuda entre vrios ns da rede.

    A existncia de vrias mquinas transparente, isto , o software fornece uma viso nica do sistema.

    Vantagens: Compartilhamento de recursos; Balanceamento de carga; Aumento da velocidade de computao; Maior confiabilidade.

    Sistemas Distribudos (2) Sistema fracamente acoplado (Loosely coupled

    system): Cada n uma mquina independente, com seu prprio

    S.O. e sua prpria memria local, comunicando-se com os outros por meio das vrias linhas de comunicao.

    Arquitetura Cliente-Servidor Mudana do paradigma de arquitetura centralizada,

    provocada pelo barateamento e aumento da capacidade de processamento e armazenamento dos PCs.

    Servidores so configurados para satisfazer as consultas dos sistemas clientes (servidor de arquivos, servidor de mail, servidor de ftp, etc.).

    Arquitetura Peer to Peer

    Ns so simultaneamente clientes e servidores

    Sistemas Distribudos (3)

  • Sistemas Paralelos (1) So sistemas com mais de uma UCP atuando de

    modo colaborativo (multiprocessor systems). Os processadores compartilham o barramento,

    memria e relgio, alm de dispositivos perifricos (so sistemas fortemente acoplados tightly coupled systems):

    Principais vantagens: Aumento da vazo (throughput). Economia de escala; Aumento da confiabilidade.

    Sistemas Paralelos (2) Symmetric multiprocessing

    (SMP) Cada processador roda

    uma cpia idntica do sistema operacional.

    Vrios processos podem ser executados em paralelo, sem perda de desempenho para o sistema.

    Todos os processadores so pares, no existindo relao de mestre-escravo.

    A maioria dos sistemas operacionais modernos suporta SMP, por meio do conceito de multithreading (Windows NT, Solaris, OS/2, Linux).

    Sistemas Handheld

    Sistemas operacionais adaptados para dispositivos mveis, como Smartphones e Tablets...

    No incio...memria limitada, processador mais lento e display de pequenas dimenses.

    S.O. e aplicaes projetados para minimizar o uso do processador (reduo do consumo da bateria).

    Uso possvel de tecnologias wireless, como Bluetooth e wi-fi, para acesso remoto a outros dispositivos e internet.

    Grande variedade de acessrios que expandem a sua funcionalidade.

    Sistemas Embarcados

    Limitaes ainda maiores de memria, processamento, consumo de energia e confiabilidade

    Ex: Roteador, Smart TV, Controlador Lgico

    Programvel (CLP), Cmera Digital

    Sistemas operacionais reprojetados...

  • Prof. Jos Gonalves - DI/UFES Sist. Operacionais - 2003/2

    Classificao Quanto ao nmero de usurios:

    Monousurio: Projetados para suportar um nico usurios Ex: MS-DOS, Windows 3x, Windows 9x.

    Multiusurio: Projetados para suportar vrias sesses de usurios Ex: Windows NT(2000), UNIX.

    Quanto ao nmero de tarefas: Monotarefa:

    Capazes de executar apenas uma tarefa (um aplicativo) de cada vez. Ex: MS-DOS

    Multitarefa: Capazes de executar vrias atividades simultaneamente, como uma

    compilao e um processamento de texto Ex:Windows, OS/2, Unix.

    34

    Mono x Multiprogramao Suponha um programa que processa um arquivo de

    registros e que executa, em mdia, 100 instrues de mquina por registro.

    Ler um registro 0,0015 seg Executar 100 instrues 0,0001 seg Gravar um registro 0,0015 seg

    Percentagem de utilizao da UCP: U = 0,0001 / 0,0031 = 0,032 = 3,2%

    Sistemas OperacionaisLPRM/DI/UFES

    35

    Monoprogramao

    Os recursos computacionais esto inteiramente dedicados a um nico programa/tarefa.

    A UCP fica ociosa durante muito tempo enquanto o programa aguarda por um evento (digitao de um dado, leitura do disco, etc.).

    A memria principal subutilizada caso o programa no a preencha totalmente.

    Os perifricos so dedicados a um nico usurio. No existe grandes preocupaes com a proteo

    de memria. A complexidade de implementao relativamente

    baixa.

    Sistemas OperacionaisLPRM/DI/UFES 36

    Monoprogramao (cont.)

    Sistemas OperacionaisLPRM/DI/UFES

  • 37

    Multiprogramao Vrios programas competem pelos recursos do sistema.

    Sistemas OperacionaisLPRM/DI/UFES 38

    Multiprogramao (cont.) O objetivo manter mais de um programa em execuo

    simultaneamente, dando a iluso de que cada programa/usurio tem a mquina dedicada para si.

    A idia tirar proveito do tempo ocioso da UCP durante as operaes de E/S. Enquanto um programa espera por uma operao de leitura ou escrita os outros podem estar sendo processados no mesmo intervalo.

    Maximizao do uso do processador e da memria. Maior taxa de utilizao do sistema como um todo (reduo do

    custo total mquina/homem). Suporte de hardware:

    Proteo de memria Mecanismo de interrupo (sinalizao de eventos). Discos magnticos (acesso randmico aos programas, melhor

    desempenho em operaes de E/S) para implementao de memria virtual

    Sistemas OperacionaisLPRM/DI/UFES

    39

    Multiprogramao (cont.)

    Sistemas OperacionaisLPRM/DI/UFES 40

    Exemplo (1)

    JOB1 JOB2 JOB3

    Tipo de Job Muita UCP Muita E/S Muita E/S

    Durao 5 min 15 min 10 min

    Memria 50K 100K 80K

    Disco No No Sim

    Terminal No Sim No

    Impressora No No Sim

    Sistemas OperacionaisLPRM/DI/UFES

  • 41

    Exemplo (2)

    Sistemas OperacionaisLPRM/DI/UFES 42

    Exemplo (3)

    Monoprogramao Multiprogramao

    Processor use 17% 33%

    Memory use 33% 67%

    Disk use 33% 67%

    Printer use 33% 67%

    Elapsed time 30 min. 15 min.

    Throughput rate 6 jobs/hr 12 jobs/hr

    Mean response time 18 min. 10 min.

    Sistemas OperacionaisLPRM/DI/UFES