Escalonamento (Scheduling)
A decisão de qual o próximo processo deve ser executado é chamado escalonamento (scheduling), e pode ser feito em uma grande variedade de maneiras.
Escalonadores por cooperação geralmente são muito simples, já que os processos são organizados em fila circular (ROUND ROBIN). Quando um processo corrente se deixa, vai para o fim da fila. O processo no topo da fila é então executado, e todos os processos se movimentam um lugar para cima na fila. Isso provê uma medida justa, mas não impede que um processo monopolize o sistema (não se deixando).
Escalonadores preemptivos usam um relógio em tempo real que gera interrupção a intervalos regulares (digamos, a cada 1/100 de um segundo). Cada vez que uma interrupção ocorre, o processador muda para outra tarefa. Sistemas que geralmente empregam esse tipo de escalonamento atribuem prioridades a cada processo, de forma que alguns podem ser executados mais freqüentemente que outros.
Carga do Sistema Operacional
O SO pode ser carregado na memória de um computador de duas maneiras.
já está presente em ROM
é carregado a partir do disco quando o computador é ligado.
Se o SO já está presente em ROM (para sistemas tipo controladores industriais, bombas de petróleo, etc), ele ganhará controle imediato do processador ao ser ligado o computador. Para sistemas mais complexos, o SO é armazenado normalmente em mídia secundária (como disco), e é carregado em RAM quando o computador é ligado. A vantagem desse tipo de sistema é que o escalonamento para o SO é mais fácil de fazer e programar.
O PROCESSO de BOOTSTRAP
Descreve a ação da carga inicial do sistema operacional do disco para a RAM. Uma pequena rotina armazenada em ROM, chamada de CARREGADOR de BOOTSTRAP ou IPL (Carregador de Programa Inicial), lê uma rotina especial de carga no disquete. Em sistema baseado em disquete, essa rotina normalmente reside na trilha 00, setor 00 (ou 01), e é chamado de setor de booting. O código contido no setor é transferido para a RAM, e então é executada. Tem a responsabilidade exclusiva de carregar o resto do sistema operacional na memória.
[Tens de ter uma conta e sessão iniciada para poderes visualizar esta imagem]
Tipos diferentes de processamentos em sistemas operacionais
Sistemas operacionais são divididos em categorias que definem as suas características. Sistemas modernos podem usar combinações de essas categorias descritas a seguir.
BATCH (em LOTE)
O tipo mais antigo de SO permite só um programa ser executado de cada vez. O programa que é carregado no computador é executado completamente. Os dados usados pelo programa não podem ser modificados enquanto o programa está sendo executado. Qualquer erro no programa ou nos dados significa começar tudo novamente.
INTERATIVO
Esses permitem a modificação e entrada de dados ainda durante a execução do programa. Sistemas típicos são reservas de vôo aéreo e linguagens como BASIC.
TIME-SHARING/MULTI-USUÁRIO
Esses SOs compartilham o computador entre mais de um usuário, e adota técnicas de escalonamento preemptivo.
MULTI-TAREFAS
Mais de um processo pode ser executado concorrentemente. O processador é escalonado rapidamente entre os processos. Um usuário pode ter mais de um processo executado de cada vez.
TEMPO REAL
Principalmente usado em controle de processos, telecomunicações, etc. O SO monitora várias entradas que afetam a execução de processos, mudando os modelos de computadores do ambiente, e assim afetando as saídas, dentro de um período de tempo garantido (normalmente < 1 segundo).
MULTI-PROCESSAMENTO
Um computador que tem mais de um processador central dedicados na execução de processos.
A decisão de qual o próximo processo deve ser executado é chamado escalonamento (scheduling), e pode ser feito em uma grande variedade de maneiras.
Escalonadores por cooperação geralmente são muito simples, já que os processos são organizados em fila circular (ROUND ROBIN). Quando um processo corrente se deixa, vai para o fim da fila. O processo no topo da fila é então executado, e todos os processos se movimentam um lugar para cima na fila. Isso provê uma medida justa, mas não impede que um processo monopolize o sistema (não se deixando).
Escalonadores preemptivos usam um relógio em tempo real que gera interrupção a intervalos regulares (digamos, a cada 1/100 de um segundo). Cada vez que uma interrupção ocorre, o processador muda para outra tarefa. Sistemas que geralmente empregam esse tipo de escalonamento atribuem prioridades a cada processo, de forma que alguns podem ser executados mais freqüentemente que outros.
Carga do Sistema Operacional
O SO pode ser carregado na memória de um computador de duas maneiras.
já está presente em ROM
é carregado a partir do disco quando o computador é ligado.
Se o SO já está presente em ROM (para sistemas tipo controladores industriais, bombas de petróleo, etc), ele ganhará controle imediato do processador ao ser ligado o computador. Para sistemas mais complexos, o SO é armazenado normalmente em mídia secundária (como disco), e é carregado em RAM quando o computador é ligado. A vantagem desse tipo de sistema é que o escalonamento para o SO é mais fácil de fazer e programar.
O PROCESSO de BOOTSTRAP
Descreve a ação da carga inicial do sistema operacional do disco para a RAM. Uma pequena rotina armazenada em ROM, chamada de CARREGADOR de BOOTSTRAP ou IPL (Carregador de Programa Inicial), lê uma rotina especial de carga no disquete. Em sistema baseado em disquete, essa rotina normalmente reside na trilha 00, setor 00 (ou 01), e é chamado de setor de booting. O código contido no setor é transferido para a RAM, e então é executada. Tem a responsabilidade exclusiva de carregar o resto do sistema operacional na memória.
[Tens de ter uma conta e sessão iniciada para poderes visualizar esta imagem]
Tipos diferentes de processamentos em sistemas operacionais
Sistemas operacionais são divididos em categorias que definem as suas características. Sistemas modernos podem usar combinações de essas categorias descritas a seguir.
BATCH (em LOTE)
O tipo mais antigo de SO permite só um programa ser executado de cada vez. O programa que é carregado no computador é executado completamente. Os dados usados pelo programa não podem ser modificados enquanto o programa está sendo executado. Qualquer erro no programa ou nos dados significa começar tudo novamente.
INTERATIVO
Esses permitem a modificação e entrada de dados ainda durante a execução do programa. Sistemas típicos são reservas de vôo aéreo e linguagens como BASIC.
TIME-SHARING/MULTI-USUÁRIO
Esses SOs compartilham o computador entre mais de um usuário, e adota técnicas de escalonamento preemptivo.
MULTI-TAREFAS
Mais de um processo pode ser executado concorrentemente. O processador é escalonado rapidamente entre os processos. Um usuário pode ter mais de um processo executado de cada vez.
TEMPO REAL
Principalmente usado em controle de processos, telecomunicações, etc. O SO monitora várias entradas que afetam a execução de processos, mudando os modelos de computadores do ambiente, e assim afetando as saídas, dentro de um período de tempo garantido (normalmente < 1 segundo).
MULTI-PROCESSAMENTO
Um computador que tem mais de um processador central dedicados na execução de processos.