SlideShare uma empresa Scribd logo
1 de 5
Baixar para ler offline
Sistema Operacional
O sistema operacional é uma coleção de programas que:

•inicializa o hardware do computador

•fornece rotinas básicas para controle de dispositivos

•fornece gerência, escalonamento e interação de tarefas

•mantém a integridade de sistema

 Há muitos tipos de Sistemas Operacionais, cuja complexidade varia e depende de que tipo de
funções é provido, e para que computador esteja sendo usado. Alguns sistemas são
responsáveis pela gerência de muitos usuários, outros controlam dispositivos de hardware
como bombas de petróleo.

Um Sistema Operacional muito simples para um sistema de controle de segurança poderia ser
armazenado numa memória ROM (Só de Leitura - um chip que mantém instruções para um
computador), e assumir o controle ao ser ligado o computador. Sua primeira tarefa seria
reajustar (e provavelmente testar) os sensores de hardware e alarmes, e então ativar uma
rotina monitorando ininterruptamente todos os sensores introduzidos. Se o estado de
qualquer sensor de entrada for mudado, é ativada uma rotina de geração de alarme.

Em um grande computador multiusuário, com muitos terminais, o Sistema Operacional é
muito mais complexo. Tem que administrar e executar todos os pedidos de usuários e
assegurar que eles não interferiram entre si. Tem que compartilhar todos os dispositivos que
são seriais por natureza (dispositivos que só podem ser usados por um usuário de cada vez,
como impressoras e discos) entre todos os usuários que pedem esse tipo de serviço. O SO
poderia ser armazenado em disco, e partes dele serem carregadas na memória do computador
(RAM) quando necessário. Utilitários são fornecidos para:

•Administração de Arquivos e Documentos criados por usuários

•Desenvolvimento de Programas

•Comunicação entre usuários e com outros computadores

•Gerenciamento de pedidos de usuários para programas, espaço de armazenamento e
prioridade

 Adicionalmente, o SO precisaria apresentar a cada usuário uma interface que aceita,
interpreta, e então executa comandos ou programas do usuário. Essa interface é comumente
chamada de SHELL (=cápsula, manteremos o nome original em inglês) ou interpretador de
linha de comando (CLI). Em alguns sistemas ela poderia ser uma simples linha de texto que
usam palavras chaves (como MSDOS ou UNIX); em outros sistemas poderiam ser gráficas,
usando janelas e um dispositivo apontador como um mouse (como Windows95 ou X -
Windows).
As Várias Partes de um Sistema Operacional

Um sistema operacional de um computador que é usado por muitas pessoas ao mesmo
tempo, é um sistema complexo. Contém milhões de linhas de instruções escritas por
programadores. Para tornar os sistemas operacionais mais fáceis de serem escritos, eles são
construídos como uma série de módulos, cada módulo sendo responsável por uma função. Os
módulos típicos em um grande SO multiusuário geralmente são:

•Núcleo (Kernel em inglês - também conhecido como "executivo")

•Gerenciador de processo

•Escalonador (Scheduler, em inglês)

•Gerenciador de arquivo

O Núcleo - Um Executivo em Tempo-Real

O núcleo de um sistema operacional é algumas vezes chamado de EXECUTIVO em tempo real.
Algumas das funções executadas por ele são:

•chaveamento entre programas

•controle e programação de dispositivo de hardware

•gerenciamento de memória

•gerenciamento de processos

•escalonamento de tarefas

•comunicação entre processos

•processamento de exceções e de interrupção

 Nosso sistema simples de monitoração de segurança não teria todas as funções acima, já
que provavelmente seria um sistema mono-tarefa, executando apenas um programa. Como
tal, não precisaria processar permutas entre mais de um programa ou permitir comunicação
entre programas (comunicação entre processos). A gerência da memória seria desnecessária,
já que o programa residiria permanentemente em ROM ou em EPROM (uma forma
programável especial de ROM).

Um sistema operacional projetado para manusear um grande número de usuários precisaria
de um núcleo para executar todas as funções acima. Programas de usuários geralmente são
armazenados em disco, assim precisa ser carregado em memória antes de ser executado. Isso
apresenta a necessidade de gerência da memória, já que a memória do computador precisaria
ser pesquisada para localizar uma área livre para carregar um programa de usuário na mesma.
Quando o usuário tivesse encerrada a execução do programa, a memória consumida por ele
precisaria ser liberada e se tornaria disponível para outro usuário quando solicitado.
Gerenciamento e Escalonamento (Scheduling) de processos também são necessários, de forma
que todos os programas possam ser executados razoavelmente. Não há como um programa de
um usuário específico ser executado numa área de extensão, negando o funcionamento de
qualquer outro programa, e fazendo todos os outros usuários esperarem. Adicionalmente,
alguns programas poderiam precisar ser executados mais freqüentemente que outros, por
exemplo, checando comunicações de rede ou imprimindo. Alguns programas podem precisar
ser suspensos temporariamente, e serem reiniciados depois, assim introduzindo a necessidade
da comunicação inter-programas.

Programando um computador

Um programa é uma seqüência de instruções ao computador. Quando o programador de
software (uma pessoa que escreve programas para serem executados em um computador)
desenvolve um programa, este é convertido em uma longa lista de instruções que são
executadas pelo sistema de computador.

Em sistemas operacionais nós falamos mais de um processo do que de um programa. Nos
sistemas operacionais modernos, só uma porção de um programa é carregada em cada
instante. O resto do programa espera numa unidade de disco até que se precise do mesmo.
Isso economiza espaço de memória.

Os programas no computador são executados por processadores. Um processador é um chip
no computador que executa instruções de programa. Processadores executam milhões de
instruções por segundo.

Um Processo

Um processo ou tarefa é uma porção de um programa em alguma fase de execução. Um
programa pode consistir de várias tarefas, cada uma com funcionamento próprio ou como
uma unidade (talvez se comunicando entre si periodicamente).

A Thread (fileira, linha)

Uma thread é uma parte separada de um processo. Um processo pode consistir de várias
threads cada uma das quais sendo executada separadamente. Por exemplo, uma thread
poderia tratar refresh e gráficos na tela, outra thread trataria impressão, outra thread trataria
o mouse e o teclado. Isso dá bom tempo de resposta em programas complexos. Windows NT é
um exemplo de um sistema operacional que suporta multi-thread.

Sistemas operacionais de Multi-processo

Alguns sistemas executam só um único processo, outros sistemas executam múltiplos
processos de cada vez. A maioria dos computadores é baseada num único processador, e um
processador pode executar só uma instrução de cada vez. Assim, como é possível um único
processador executar processos múltiplos? A resposta mais imediata é que ele não faz desse
modo. O processador do computador executa um processo por um período pequeno de
tempo, e então muda para o próximo processo e assim por diante. Como o processador
executa milhões de instruções por segundo, isso dá a impressão de muitos processos serem
executados ao mesmo tempo.

Em um sistema de computador que suporta mais de um processo de cada vez, algum
mecanismo deve ser usado para intercalar de uma tarefa para outra. Há dois métodos
principais usados para fazer essa troca:

 •Escalonamento por Cooperação indica que uma tarefa que está sendo executada atualmente
deixará voluntariamente em algum momento o processador e permitirá que outros processos
sejam executados.

•Escalonamento Preemptivo significa que uma tarefa corrente será interrompida (forçou a se
render) e o processador se dedica a outro processo em estado de espera.

O problema da mudança por cooperação é que um processo poderia demorar e assim negar a
execução de outros processos e poderia resultar em nenhum trabalho ser feito. Um exemplo
de um sistema de cooperação é o Windows 3.1

O escalonamento preemptivo é melhor. Dá mais respostas a todos os processos e ajuda a
prevenir (ou reduz o número de ocorrências de) contra o medo de máquinas travadas.
Windows NT é um exemplo de tal sistema operacional.

Nota: Só para programas de 32bits em Windows 95 há escalonamento preemptivo. Programas
de 16bits ainda são escalonados cooperativamente, o que significa que ainda é fácil para um
programa de 16bits travar um computador Windows.

Contexto de Troca

Quando o processador muda de um processo a outro, o seu estado (o processador registra e
associa os dados) deve ser salvo, pois algum tempo depois, será reiniciado o processo e
continuará como se nunca fora interrompido. Uma vez esse estado tenha sido salvo, o próximo
processo em espera é ativado. Isso envolve carga nos registradores do processador e na
memória, com todos os dados previamente salvos, e reiniciando na instrução que seria
executada quando houve a última interrupção.

O ato de mudar de um processo a outro é chamado troca de contexto. Um período de tempo
que um processo execute antes de ser trocado é chamado de time slice ou período de
quantum.

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 frequentemente 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.

                                                                               Oficina da Net

Mais conteúdo relacionado

Mais procurados

Aula3 escalonamento
Aula3 escalonamentoAula3 escalonamento
Aula3 escalonamento
Bruno Rick
 
Componentes do Sistema operacional
Componentes do Sistema operacional Componentes do Sistema operacional
Componentes do Sistema operacional
Rodrigo Rodrigues
 
Sistemas operacionais lista de exercicios
Sistemas operacionais lista de exerciciosSistemas operacionais lista de exercicios
Sistemas operacionais lista de exercicios
Carlos Melo
 

Mais procurados (19)

SO - Aula 05 - Concorrencia
SO - Aula 05 - ConcorrenciaSO - Aula 05 - Concorrencia
SO - Aula 05 - Concorrencia
 
Aula 03
Aula 03Aula 03
Aula 03
 
Escalonamento de processos
Escalonamento de processosEscalonamento de processos
Escalonamento de processos
 
Aula 6 semana
Aula 6 semanaAula 6 semana
Aula 6 semana
 
SO-04 Escalonamento de Processos
SO-04 Escalonamento de ProcessosSO-04 Escalonamento de Processos
SO-04 Escalonamento de Processos
 
2. conceito de processos
2. conceito de processos2. conceito de processos
2. conceito de processos
 
S.o aula 5678
S.o aula 5678S.o aula 5678
S.o aula 5678
 
Visão Geral: Estruturas do Sistema Operacional
Visão Geral: Estruturas do Sistema OperacionalVisão Geral: Estruturas do Sistema Operacional
Visão Geral: Estruturas do Sistema Operacional
 
Aula3 escalonamento
Aula3 escalonamentoAula3 escalonamento
Aula3 escalonamento
 
Componentes do Sistema operacional
Componentes do Sistema operacional Componentes do Sistema operacional
Componentes do Sistema operacional
 
Aula 12 - Escalonamento
Aula 12 - EscalonamentoAula 12 - Escalonamento
Aula 12 - Escalonamento
 
Sistemas Operacionais - Aula 2 - Visão Geral de Sistemas Operacionais
Sistemas Operacionais - Aula 2 - Visão Geral de Sistemas OperacionaisSistemas Operacionais - Aula 2 - Visão Geral de Sistemas Operacionais
Sistemas Operacionais - Aula 2 - Visão Geral de Sistemas Operacionais
 
Conceito de processos
Conceito de processosConceito de processos
Conceito de processos
 
Aula 8 semana
Aula 8 semanaAula 8 semana
Aula 8 semana
 
Estruturas de Sistemas Operacionais
Estruturas de Sistemas OperacionaisEstruturas de Sistemas Operacionais
Estruturas de Sistemas Operacionais
 
Sistemas operacionais lista de exercicios
Sistemas operacionais lista de exerciciosSistemas operacionais lista de exercicios
Sistemas operacionais lista de exercicios
 
Sistemas operacionais
Sistemas operacionaisSistemas operacionais
Sistemas operacionais
 
Apostila de sistemas operacionais emi mario gurgel
Apostila de sistemas operacionais emi mario gurgelApostila de sistemas operacionais emi mario gurgel
Apostila de sistemas operacionais emi mario gurgel
 
Gerencia de processo by "slideplayer.com.br"
Gerencia de processo by "slideplayer.com.br"Gerencia de processo by "slideplayer.com.br"
Gerencia de processo by "slideplayer.com.br"
 

Destaque (9)

A que sabe lua
A que sabe luaA que sabe lua
A que sabe lua
 
Takyi_Lawrence Adams
Takyi_Lawrence AdamsTakyi_Lawrence Adams
Takyi_Lawrence Adams
 
Work sample
Work sampleWork sample
Work sample
 
Fashion Artwork
Fashion ArtworkFashion Artwork
Fashion Artwork
 
Instrumental
InstrumentalInstrumental
Instrumental
 
Instrumental
InstrumentalInstrumental
Instrumental
 
"Pомена" Юлія Тарасюк
"Pомена" Юлія Тарасюк"Pомена" Юлія Тарасюк
"Pомена" Юлія Тарасюк
 
Lookbook
LookbookLookbook
Lookbook
 
Tv 2013
Tv 2013Tv 2013
Tv 2013
 

Semelhante a Sistema operacional

Sistemas Operacionais - Introducao
Sistemas Operacionais - IntroducaoSistemas Operacionais - Introducao
Sistemas Operacionais - Introducao
Luiz Arthur
 
Apostila computacao
Apostila computacaoApostila computacao
Apostila computacao
webphotoshop
 
Infraestrutura de Software - Introdução
Infraestrutura de Software - IntroduçãoInfraestrutura de Software - Introdução
Infraestrutura de Software - Introdução
Rodrigo Rodrigues
 
Revsão sobre sistemas operacionais
Revsão sobre sistemas operacionaisRevsão sobre sistemas operacionais
Revsão sobre sistemas operacionais
Rodrigo Rodrigues
 

Semelhante a Sistema operacional (20)

Visão Geral: Introdução
Visão Geral: IntroduçãoVisão Geral: Introdução
Visão Geral: Introdução
 
Sistemas Operacionais - Introducao
Sistemas Operacionais - IntroducaoSistemas Operacionais - Introducao
Sistemas Operacionais - Introducao
 
Aula 02
Aula 02Aula 02
Aula 02
 
Trabalho de sistemas operativos
Trabalho de sistemas operativosTrabalho de sistemas operativos
Trabalho de sistemas operativos
 
M1_Sistemas Operativos.pptx
M1_Sistemas Operativos.pptxM1_Sistemas Operativos.pptx
M1_Sistemas Operativos.pptx
 
Sistemas Operacionais
Sistemas OperacionaisSistemas Operacionais
Sistemas Operacionais
 
Sistemas Operacionais
Sistemas OperacionaisSistemas Operacionais
Sistemas Operacionais
 
Sistemas Operacionais
Sistemas OperacionaisSistemas Operacionais
Sistemas Operacionais
 
Sistemas Operativos
Sistemas OperativosSistemas Operativos
Sistemas Operativos
 
Processamento.pptx
Processamento.pptxProcessamento.pptx
Processamento.pptx
 
Apostila de sistemas operacionais emi mario gurgel
Apostila de sistemas operacionais emi mario gurgelApostila de sistemas operacionais emi mario gurgel
Apostila de sistemas operacionais emi mario gurgel
 
Apostila de sistemas operacionais emi mario gurgel
Apostila de sistemas operacionais emi mario gurgelApostila de sistemas operacionais emi mario gurgel
Apostila de sistemas operacionais emi mario gurgel
 
Aula 5a - Sistemas Operacionais
Aula 5a - Sistemas OperacionaisAula 5a - Sistemas Operacionais
Aula 5a - Sistemas Operacionais
 
Aula 3 sistema computacional (hardware e software)
Aula 3   sistema computacional (hardware e software)Aula 3   sistema computacional (hardware e software)
Aula 3 sistema computacional (hardware e software)
 
Componentes basicos do pc
Componentes basicos do pcComponentes basicos do pc
Componentes basicos do pc
 
Apostila computacao
Apostila computacaoApostila computacao
Apostila computacao
 
Hardware e sistemas operacionais
Hardware e sistemas operacionaisHardware e sistemas operacionais
Hardware e sistemas operacionais
 
Infraestrutura de Software - Introdução
Infraestrutura de Software - IntroduçãoInfraestrutura de Software - Introdução
Infraestrutura de Software - Introdução
 
Revsão sobre sistemas operacionais
Revsão sobre sistemas operacionaisRevsão sobre sistemas operacionais
Revsão sobre sistemas operacionais
 
Sistemas operativos trabalho 10ºano
Sistemas operativos trabalho 10ºanoSistemas operativos trabalho 10ºano
Sistemas operativos trabalho 10ºano
 

Mais de Fundação Educacionbal Unificada Campograndense

Mais de Fundação Educacionbal Unificada Campograndense (20)

Instrumental
InstrumentalInstrumental
Instrumental
 
Noite da gafieira
Noite da gafieiraNoite da gafieira
Noite da gafieira
 
Aula de sustentabilidade_ambiental
Aula de sustentabilidade_ambientalAula de sustentabilidade_ambiental
Aula de sustentabilidade_ambiental
 
Os benéficios das inovações tecnologicas em sala de aula
Os benéficios das inovações tecnologicas em sala de aulaOs benéficios das inovações tecnologicas em sala de aula
Os benéficios das inovações tecnologicas em sala de aula
 
Internet em pdf
Internet em pdfInternet em pdf
Internet em pdf
 
Manual do hot potatoes
Manual do hot potatoesManual do hot potatoes
Manual do hot potatoes
 
Manual moodle para profesores
Manual moodle para profesoresManual moodle para profesores
Manual moodle para profesores
 
Manual moodle para profesores
Manual moodle para profesoresManual moodle para profesores
Manual moodle para profesores
 
Manual do aluno_moodle
Manual do aluno_moodleManual do aluno_moodle
Manual do aluno_moodle
 
Manual do aluno_moodle
Manual do aluno_moodleManual do aluno_moodle
Manual do aluno_moodle
 
Introdução ao moodle
Introdução ao moodleIntrodução ao moodle
Introdução ao moodle
 
Cartazete a3 jazz
Cartazete a3 jazzCartazete a3 jazz
Cartazete a3 jazz
 
Tecnologia de informação e comunicação aplicada à educação
Tecnologia de informação e comunicação aplicada à educaçãoTecnologia de informação e comunicação aplicada à educação
Tecnologia de informação e comunicação aplicada à educação
 
Tecnologia de informação e comunicação aplicada à educação
Tecnologia de informação e comunicação aplicada à educaçãoTecnologia de informação e comunicação aplicada à educação
Tecnologia de informação e comunicação aplicada à educação
 
Office excell
Office excellOffice excell
Office excell
 
John coltrane
John coltraneJohn coltrane
John coltrane
 
Player de mídia hd
Player de mídia hdPlayer de mídia hd
Player de mídia hd
 
Tipos de cabos e conexões
Tipos de cabos e conexõesTipos de cabos e conexões
Tipos de cabos e conexões
 
Introdução ao Moodle
Introdução ao MoodleIntrodução ao Moodle
Introdução ao Moodle
 
Biografia de joão donato
Biografia de joão donatoBiografia de joão donato
Biografia de joão donato
 

Último

O estudo do controle motor nada mais é do que o estudo da natureza do movimen...
O estudo do controle motor nada mais é do que o estudo da natureza do movimen...O estudo do controle motor nada mais é do que o estudo da natureza do movimen...
O estudo do controle motor nada mais é do que o estudo da natureza do movimen...
azulassessoria9
 
ATIVIDADE 2 - DESENVOLVIMENTO E APRENDIZAGEM MOTORA - 52_2024
ATIVIDADE 2 - DESENVOLVIMENTO E APRENDIZAGEM MOTORA - 52_2024ATIVIDADE 2 - DESENVOLVIMENTO E APRENDIZAGEM MOTORA - 52_2024
ATIVIDADE 2 - DESENVOLVIMENTO E APRENDIZAGEM MOTORA - 52_2024
azulassessoria9
 
Sistema articular aula 4 (1).pdf articulações e junturas
Sistema articular aula 4 (1).pdf articulações e junturasSistema articular aula 4 (1).pdf articulações e junturas
Sistema articular aula 4 (1).pdf articulações e junturas
rfmbrandao
 

Último (20)

Apresentação | Dia da Europa 2024 - Celebremos a União Europeia!
Apresentação | Dia da Europa 2024 - Celebremos a União Europeia!Apresentação | Dia da Europa 2024 - Celebremos a União Europeia!
Apresentação | Dia da Europa 2024 - Celebremos a União Europeia!
 
Novena de Pentecostes com textos de São João Eudes
Novena de Pentecostes com textos de São João EudesNovena de Pentecostes com textos de São João Eudes
Novena de Pentecostes com textos de São João Eudes
 
M0 Atendimento – Definição, Importância .pptx
M0 Atendimento – Definição, Importância .pptxM0 Atendimento – Definição, Importância .pptx
M0 Atendimento – Definição, Importância .pptx
 
aprendizagem significatica, teórico David Ausubel
aprendizagem significatica, teórico David Ausubelaprendizagem significatica, teórico David Ausubel
aprendizagem significatica, teórico David Ausubel
 
O estudo do controle motor nada mais é do que o estudo da natureza do movimen...
O estudo do controle motor nada mais é do que o estudo da natureza do movimen...O estudo do controle motor nada mais é do que o estudo da natureza do movimen...
O estudo do controle motor nada mais é do que o estudo da natureza do movimen...
 
Aula 25 - A america espanhola - colonização, exploraçãp e trabalho (mita e en...
Aula 25 - A america espanhola - colonização, exploraçãp e trabalho (mita e en...Aula 25 - A america espanhola - colonização, exploraçãp e trabalho (mita e en...
Aula 25 - A america espanhola - colonização, exploraçãp e trabalho (mita e en...
 
Caderno de exercícios Revisão para o ENEM (1).pdf
Caderno de exercícios Revisão para o ENEM (1).pdfCaderno de exercícios Revisão para o ENEM (1).pdf
Caderno de exercícios Revisão para o ENEM (1).pdf
 
Educação Financeira - Cartão de crédito665933.pptx
Educação Financeira - Cartão de crédito665933.pptxEducação Financeira - Cartão de crédito665933.pptx
Educação Financeira - Cartão de crédito665933.pptx
 
O que é arte. Definição de arte. História da arte.
O que é arte. Definição de arte. História da arte.O que é arte. Definição de arte. História da arte.
O que é arte. Definição de arte. História da arte.
 
Sopa de letras | Dia da Europa 2024 (nível 1)
Sopa de letras | Dia da Europa 2024 (nível 1)Sopa de letras | Dia da Europa 2024 (nível 1)
Sopa de letras | Dia da Europa 2024 (nível 1)
 
Questões de Língua Portuguesa - gincana da LP
Questões de Língua Portuguesa - gincana da LPQuestões de Língua Portuguesa - gincana da LP
Questões de Língua Portuguesa - gincana da LP
 
Slides Lição 6, Betel, Ordenança para uma vida de obediência e submissão.pptx
Slides Lição 6, Betel, Ordenança para uma vida de obediência e submissão.pptxSlides Lição 6, Betel, Ordenança para uma vida de obediência e submissão.pptx
Slides Lição 6, Betel, Ordenança para uma vida de obediência e submissão.pptx
 
O desenvolvimento é um conceito mais amplo, pode ter um contexto biológico ou...
O desenvolvimento é um conceito mais amplo, pode ter um contexto biológico ou...O desenvolvimento é um conceito mais amplo, pode ter um contexto biológico ou...
O desenvolvimento é um conceito mais amplo, pode ter um contexto biológico ou...
 
ATIVIDADE 2 - DESENVOLVIMENTO E APRENDIZAGEM MOTORA - 52_2024
ATIVIDADE 2 - DESENVOLVIMENTO E APRENDIZAGEM MOTORA - 52_2024ATIVIDADE 2 - DESENVOLVIMENTO E APRENDIZAGEM MOTORA - 52_2024
ATIVIDADE 2 - DESENVOLVIMENTO E APRENDIZAGEM MOTORA - 52_2024
 
Sopa de letras | Dia da Europa 2024 (nível 2)
Sopa de letras | Dia da Europa 2024 (nível 2)Sopa de letras | Dia da Europa 2024 (nível 2)
Sopa de letras | Dia da Europa 2024 (nível 2)
 
MESTRES DA CULTURA DE ASSARÉ Prof. Francisco Leite.pdf
MESTRES DA CULTURA DE ASSARÉ Prof. Francisco Leite.pdfMESTRES DA CULTURA DE ASSARÉ Prof. Francisco Leite.pdf
MESTRES DA CULTURA DE ASSARÉ Prof. Francisco Leite.pdf
 
Sistema articular aula 4 (1).pdf articulações e junturas
Sistema articular aula 4 (1).pdf articulações e junturasSistema articular aula 4 (1).pdf articulações e junturas
Sistema articular aula 4 (1).pdf articulações e junturas
 
Apresentação | Símbolos e Valores da União Europeia
Apresentação | Símbolos e Valores da União EuropeiaApresentação | Símbolos e Valores da União Europeia
Apresentação | Símbolos e Valores da União Europeia
 
6ano variação linguística ensino fundamental.pptx
6ano variação linguística ensino fundamental.pptx6ano variação linguística ensino fundamental.pptx
6ano variação linguística ensino fundamental.pptx
 
GUIA DE APRENDIZAGEM 2024 9º A - História 1 BI.doc
GUIA DE APRENDIZAGEM 2024 9º A - História 1 BI.docGUIA DE APRENDIZAGEM 2024 9º A - História 1 BI.doc
GUIA DE APRENDIZAGEM 2024 9º A - História 1 BI.doc
 

Sistema operacional

  • 1. Sistema Operacional O sistema operacional é uma coleção de programas que: •inicializa o hardware do computador •fornece rotinas básicas para controle de dispositivos •fornece gerência, escalonamento e interação de tarefas •mantém a integridade de sistema Há muitos tipos de Sistemas Operacionais, cuja complexidade varia e depende de que tipo de funções é provido, e para que computador esteja sendo usado. Alguns sistemas são responsáveis pela gerência de muitos usuários, outros controlam dispositivos de hardware como bombas de petróleo. Um Sistema Operacional muito simples para um sistema de controle de segurança poderia ser armazenado numa memória ROM (Só de Leitura - um chip que mantém instruções para um computador), e assumir o controle ao ser ligado o computador. Sua primeira tarefa seria reajustar (e provavelmente testar) os sensores de hardware e alarmes, e então ativar uma rotina monitorando ininterruptamente todos os sensores introduzidos. Se o estado de qualquer sensor de entrada for mudado, é ativada uma rotina de geração de alarme. Em um grande computador multiusuário, com muitos terminais, o Sistema Operacional é muito mais complexo. Tem que administrar e executar todos os pedidos de usuários e assegurar que eles não interferiram entre si. Tem que compartilhar todos os dispositivos que são seriais por natureza (dispositivos que só podem ser usados por um usuário de cada vez, como impressoras e discos) entre todos os usuários que pedem esse tipo de serviço. O SO poderia ser armazenado em disco, e partes dele serem carregadas na memória do computador (RAM) quando necessário. Utilitários são fornecidos para: •Administração de Arquivos e Documentos criados por usuários •Desenvolvimento de Programas •Comunicação entre usuários e com outros computadores •Gerenciamento de pedidos de usuários para programas, espaço de armazenamento e prioridade Adicionalmente, o SO precisaria apresentar a cada usuário uma interface que aceita, interpreta, e então executa comandos ou programas do usuário. Essa interface é comumente chamada de SHELL (=cápsula, manteremos o nome original em inglês) ou interpretador de linha de comando (CLI). Em alguns sistemas ela poderia ser uma simples linha de texto que usam palavras chaves (como MSDOS ou UNIX); em outros sistemas poderiam ser gráficas, usando janelas e um dispositivo apontador como um mouse (como Windows95 ou X - Windows).
  • 2. As Várias Partes de um Sistema Operacional Um sistema operacional de um computador que é usado por muitas pessoas ao mesmo tempo, é um sistema complexo. Contém milhões de linhas de instruções escritas por programadores. Para tornar os sistemas operacionais mais fáceis de serem escritos, eles são construídos como uma série de módulos, cada módulo sendo responsável por uma função. Os módulos típicos em um grande SO multiusuário geralmente são: •Núcleo (Kernel em inglês - também conhecido como "executivo") •Gerenciador de processo •Escalonador (Scheduler, em inglês) •Gerenciador de arquivo O Núcleo - Um Executivo em Tempo-Real O núcleo de um sistema operacional é algumas vezes chamado de EXECUTIVO em tempo real. Algumas das funções executadas por ele são: •chaveamento entre programas •controle e programação de dispositivo de hardware •gerenciamento de memória •gerenciamento de processos •escalonamento de tarefas •comunicação entre processos •processamento de exceções e de interrupção Nosso sistema simples de monitoração de segurança não teria todas as funções acima, já que provavelmente seria um sistema mono-tarefa, executando apenas um programa. Como tal, não precisaria processar permutas entre mais de um programa ou permitir comunicação entre programas (comunicação entre processos). A gerência da memória seria desnecessária, já que o programa residiria permanentemente em ROM ou em EPROM (uma forma programável especial de ROM). Um sistema operacional projetado para manusear um grande número de usuários precisaria de um núcleo para executar todas as funções acima. Programas de usuários geralmente são armazenados em disco, assim precisa ser carregado em memória antes de ser executado. Isso apresenta a necessidade de gerência da memória, já que a memória do computador precisaria ser pesquisada para localizar uma área livre para carregar um programa de usuário na mesma. Quando o usuário tivesse encerrada a execução do programa, a memória consumida por ele precisaria ser liberada e se tornaria disponível para outro usuário quando solicitado.
  • 3. Gerenciamento e Escalonamento (Scheduling) de processos também são necessários, de forma que todos os programas possam ser executados razoavelmente. Não há como um programa de um usuário específico ser executado numa área de extensão, negando o funcionamento de qualquer outro programa, e fazendo todos os outros usuários esperarem. Adicionalmente, alguns programas poderiam precisar ser executados mais freqüentemente que outros, por exemplo, checando comunicações de rede ou imprimindo. Alguns programas podem precisar ser suspensos temporariamente, e serem reiniciados depois, assim introduzindo a necessidade da comunicação inter-programas. Programando um computador Um programa é uma seqüência de instruções ao computador. Quando o programador de software (uma pessoa que escreve programas para serem executados em um computador) desenvolve um programa, este é convertido em uma longa lista de instruções que são executadas pelo sistema de computador. Em sistemas operacionais nós falamos mais de um processo do que de um programa. Nos sistemas operacionais modernos, só uma porção de um programa é carregada em cada instante. O resto do programa espera numa unidade de disco até que se precise do mesmo. Isso economiza espaço de memória. Os programas no computador são executados por processadores. Um processador é um chip no computador que executa instruções de programa. Processadores executam milhões de instruções por segundo. Um Processo Um processo ou tarefa é uma porção de um programa em alguma fase de execução. Um programa pode consistir de várias tarefas, cada uma com funcionamento próprio ou como uma unidade (talvez se comunicando entre si periodicamente). A Thread (fileira, linha) Uma thread é uma parte separada de um processo. Um processo pode consistir de várias threads cada uma das quais sendo executada separadamente. Por exemplo, uma thread poderia tratar refresh e gráficos na tela, outra thread trataria impressão, outra thread trataria o mouse e o teclado. Isso dá bom tempo de resposta em programas complexos. Windows NT é um exemplo de um sistema operacional que suporta multi-thread. Sistemas operacionais de Multi-processo Alguns sistemas executam só um único processo, outros sistemas executam múltiplos processos de cada vez. A maioria dos computadores é baseada num único processador, e um processador pode executar só uma instrução de cada vez. Assim, como é possível um único processador executar processos múltiplos? A resposta mais imediata é que ele não faz desse modo. O processador do computador executa um processo por um período pequeno de tempo, e então muda para o próximo processo e assim por diante. Como o processador
  • 4. executa milhões de instruções por segundo, isso dá a impressão de muitos processos serem executados ao mesmo tempo. Em um sistema de computador que suporta mais de um processo de cada vez, algum mecanismo deve ser usado para intercalar de uma tarefa para outra. Há dois métodos principais usados para fazer essa troca: •Escalonamento por Cooperação indica que uma tarefa que está sendo executada atualmente deixará voluntariamente em algum momento o processador e permitirá que outros processos sejam executados. •Escalonamento Preemptivo significa que uma tarefa corrente será interrompida (forçou a se render) e o processador se dedica a outro processo em estado de espera. O problema da mudança por cooperação é que um processo poderia demorar e assim negar a execução de outros processos e poderia resultar em nenhum trabalho ser feito. Um exemplo de um sistema de cooperação é o Windows 3.1 O escalonamento preemptivo é melhor. Dá mais respostas a todos os processos e ajuda a prevenir (ou reduz o número de ocorrências de) contra o medo de máquinas travadas. Windows NT é um exemplo de tal sistema operacional. Nota: Só para programas de 32bits em Windows 95 há escalonamento preemptivo. Programas de 16bits ainda são escalonados cooperativamente, o que significa que ainda é fácil para um programa de 16bits travar um computador Windows. Contexto de Troca Quando o processador muda de um processo a outro, o seu estado (o processador registra e associa os dados) deve ser salvo, pois algum tempo depois, será reiniciado o processo e continuará como se nunca fora interrompido. Uma vez esse estado tenha sido salvo, o próximo processo em espera é ativado. Isso envolve carga nos registradores do processador e na memória, com todos os dados previamente salvos, e reiniciando na instrução que seria executada quando houve a última interrupção. O ato de mudar de um processo a outro é chamado troca de contexto. Um período de tempo que um processo execute antes de ser trocado é chamado de time slice ou período de quantum. 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).
  • 5. 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 frequentemente 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. Oficina da Net