Processamento com SPOOL Utilização do CPU e periféricos ...
Processamento com SPOOL Utilização do CPU e periféricos ... Processamento com SPOOL Utilização do CPU e periféricos ...
Múltiplos programas ● Vários programas em memória prontos a executar ● Quando um fizer I/O escalonar outro para executar, mantendo o CPU ocupado Perif. entrada CPU Perif. saída Vários programas em concorrência (multiprogramação) tempo 28-02-2007 ASC II - 06/07 7 Time-sharing ●Um programa CPU bound pode monopolizar a máquina Mau para o uso dos periféricos Mau para a interactividade ●Há que partilhar do tempo de CPU por cooperação entre os programas por apreenção do CPU pelo SO (preemption) Time-slice: Cada programa usa no máximo uma determinada fatia de tempo, sendo-lhe o CPU apreendido pelo SO se gastar todo esse tempo. 28-02-2007 ASC II - 06/07 9 Time-sharing (cont) ● Exemplo: 4 processos concorrem pelo CPU ● A quando de I/O ou do fim do time-slice o SO atribui o CPU a outro processo prog.A prog.B Realmente em execução prog.C prog.D Processo 1 Processo 2 Processo 3 Processo 4 S.O. escalonador CPU temporizador 28-02-2007 ASC II - 06/07 11 Multiprogramação (multitasking) ● Cada programa executa num contexto (processo): Imagem do programa em memória Estado do CPU Estado do I/O ● O SO muda de contexto quando necessário Oferece um máquina virtual a cada processo ● É necessário suporte hardware: Um programa "vê" um espaço de memória próprio, recolocado, (e só pode aceder a essa memória) Só o SO acede realmente a toda a memória e aos periféricos gerindo a sua partilha entre os vários processos 28-02-2007 ASC II - 06/07 8 Múltiplos utilizadores ●Suportado por time-sharing ●Cada utilizador vê uma máquina virtual No disco tem um conjunto de aplicações No disco guarda um conjunto de dados O utilizador interage dando comandos ao sistema via um shell Manda o sistema executar programas, p.ex. Permite programas interactivos 28-02-2007 ASC II - 06/07 10 Estados dum processo criação terminação escalonado pronto fim do I/O fim do time-slice bloqueado executando I/O 28-02-2007 ASC II - 06/07 12 2
Sistema interactivo (time-sharing) utilizadores perif. de entrada Terminais (perif. de entrada e saída) Disco (dados e programas) Unidade central perif. de saída consola Operador/administrador 28-02-2007 ASC II - 06/07 13 Curiosidade (Bell-Labs 1970...) Ritchie Thompson Mini-computador DEC PDP-11 com vários periféricos http://www.bell-labs.com/history/unix/ 28-02-2007 ASC II - 06/07 15 Abstracções do SO (máquina virtual) ●Gerir a execução dos programas e os recursos da máquina Criar/terminar os processos Atribuir espaço de memória a cada processo Noção de ficheiros em disco Executa o I/O com os periféricos Time-sharing do CPU transparente para os processos ●Gerir os utilizadores Gerir os recursos que oferece a cada utilizador 28-02-2007 ASC II - 06/07 17 Exemplos de terminais Digital (DEC) vt100 1978 Teletype 33-ASR 1965 28-02-2007 ASC II - 06/07 14 Papel do SO (resumo) ●Melhorar a utilização dos recursos disponíveis Escalonar os vários trabalhos/processos Suportar a multiprogramação Gerir o hardware: Acede realmente aos periféricos Permite a protecção entre os programas ●Facilitar a programação Implementa abstracções e oferece uma interface com o hardware mais fácil de usar 28-02-2007 ASC II - 06/07 16 Resumo (utilizador vs. computador) ● Modo de trabalho do utilizador Submissão de trabalhos off-line ☺ Interactiva (aumenta a produtividade do utilizador) ● Execução suportada pelo SO Puramente sequencial Concorrência do I/O com computação Usando lotes (c/ I/O off-line) Usando SPOOL (c/ I/O on-line) ☺ Concorrência também na computação/multiprogramação (aumenta a eficiência do sistema e rentabiliza a máquina) 28-02-2007 ASC II - 06/07 18 3
Sistema interactivo (time-sharing)<br />
utiliza<strong>do</strong>res<br />
perif. de<br />
entrada<br />
Terminais<br />
(perif. de entrada e saída)<br />
Disco<br />
(da<strong>do</strong>s e programas)<br />
Unidade<br />
central<br />
perif. de<br />
saída<br />
consola<br />
Opera<strong>do</strong>r/administra<strong>do</strong>r<br />
28-02-2007 ASC II - 06/07 13<br />
Curiosidade (Bell-Labs 1970...)<br />
Ritchie<br />
Thompson<br />
Mini-<strong>com</strong>puta<strong>do</strong>r<br />
DEC<br />
PDP-11<br />
<strong>com</strong> vários<br />
<strong>periféricos</strong><br />
http://www.bell-labs.<strong>com</strong>/history/unix/<br />
28-02-2007 ASC II - 06/07 15<br />
Abstracções <strong>do</strong> SO (máquina virtual)<br />
●Gerir a execução <strong>do</strong>s programas e os<br />
recursos da máquina<br />
Criar/terminar os processos<br />
Atribuir espaço de memória a cada processo<br />
Noção de ficheiros em disco<br />
Executa o I/O <strong>com</strong> os <strong>periféricos</strong><br />
Time-sharing <strong>do</strong> <strong>CPU</strong> transparente para os<br />
processos<br />
●Gerir os utiliza<strong>do</strong>res<br />
Gerir os recursos que oferece a cada utiliza<strong>do</strong>r<br />
28-02-2007 ASC II - 06/07 17<br />
Exemplos de terminais<br />
Digital (DEC) vt100<br />
1978<br />
Teletype 33-ASR<br />
1965<br />
28-02-2007 ASC II - 06/07 14<br />
Papel <strong>do</strong> SO (resumo)<br />
●Melhorar a utilização <strong>do</strong>s recursos disponíveis<br />
Escalonar os vários trabalhos/processos<br />
Suportar a multiprogramação<br />
Gerir o hardware:<br />
Acede realmente aos <strong>periféricos</strong><br />
Permite a protecção entre os programas<br />
●Facilitar a programação<br />
Implementa abstracções e oferece uma<br />
interface <strong>com</strong> o hardware mais fácil de usar<br />
28-02-2007 ASC II - 06/07 16<br />
Resumo (utiliza<strong>do</strong>r vs. <strong>com</strong>puta<strong>do</strong>r)<br />
● Mo<strong>do</strong> de trabalho <strong>do</strong> utiliza<strong>do</strong>r<br />
Submissão de trabalhos off-line<br />
☺ Interactiva (aumenta a produtividade <strong>do</strong> utiliza<strong>do</strong>r)<br />
● Execução suportada pelo SO<br />
Puramente sequencial<br />
Concorrência <strong>do</strong> I/O <strong>com</strong> <strong>com</strong>putação<br />
Usan<strong>do</strong> lotes (c/ I/O off-line)<br />
Usan<strong>do</strong> <strong>SPOOL</strong> (c/ I/O on-line)<br />
☺ Concorrência também na<br />
<strong>com</strong>putação/multiprogramação (aumenta a eficiência<br />
<strong>do</strong> sistema e rentabiliza a máquina)<br />
28-02-2007 ASC II - 06/07 18<br />
3