Commit 7e17780c authored by Eduardo de Santana Medeiros Alexandre's avatar Eduardo de Santana Medeiros Alexandre
Browse files

numeracao

parent 1a880447
......@@ -34,7 +34,7 @@ funções para o usuário do computador.
=== 6.1 Introdução
=== Introdução
Sem o software, um computador seria um pedaço de metal sem uso. Muitos
consideram o software como a alma do computador.
......@@ -52,6 +52,8 @@ disco rígido, interfaces de rede e etc. Imagine a complexidade de implementar
um programa que faz uso de cada um destes dispositivos, controlando o acesso
concorrente de outros programas para não interferir no resultado final do seu.
(((system calls)))
O leitor deve perceber que seriam programações muito complexas e é uma das
funções do Sistema Operacional, permitir as aplicações de usuário o uso
destes dispositivos de forma mais simplificada. Para isso, o Sistema
......@@ -74,6 +76,8 @@ Um conjunto de instruções é interpretado pela camada de Microprogramação.
Esta camada conversa diretamente com os dispositivos providenciando
funcionalidades para a camada acima através das instruções de máquina.
(((Sistema Operacional)))
A principal função da camada do Sistema Operacional é diminuir a
complexidade e fornecer ao programador um conjunto de instruções de mais alto
nível, sem a preocupação dos detalhes das instruções, como a
......@@ -96,7 +100,7 @@ fronteira do que é o papel do Sistema Operacional, elencamos e em seguida
descrevemos suas duas principais funções: Extensão da Máquina e Gerenciador
de Recursos.
==== 6.1.1 O Sistema Operacional como uma Máquina Estendida
==== O Sistema Operacional como uma Máquina Estendida
A arquitetura, conjunto de instruções, organizações de memória, E/S e
estrutura de barramentos da maioria dos computadores em nível de linguagem de
......@@ -121,7 +125,7 @@ Em todo caso a abstração oferecida pelo sistema operacional é mais simples e
mais fácil de usar que a do hardware, oferecendo ao usuário o equivalente a
uma máquina estendida.
==== 6.1.2 Gerenciador de Recursos
==== Gerenciador de Recursos
O segundo trabalho do Sistema Operacional é fornecer uma alocação ordenada e
controlada de processadores, memórias e dispositivos de E/S entre vários
......@@ -150,13 +154,13 @@ ocupa sua parte no recurso. Por exemplo, a memória principal é normalmente
dividida entre vários programas em execução, assim, cada um pode residir ao
mesmo tempo na memória.
=== 6.2. Evolução dos Sistemas Operacionais
=== Evolução dos Sistemas Operacionais
A história dos Sistemas operacionais está diretamente ligada a arquitetura
dos computadores em que os mesmos iriam executar. Nesta seção iremos abordar
alguns exemplos desta evolução casada entre o hardware e o software.
==== 6.2.1. Computadores a Vácuo (1945-1955)
==== Computadores a Vácuo (1945-1955)
Durante a segunda guerra mundial uma aceleração na evolução dos
computadores ocorreu devido à necessidade de aplicações que pudessem quebrar
......@@ -172,7 +176,9 @@ Não havia linguagem de programação (nem mesmo linguagem de montagem). E os
Sistemas Operacionais não tinham qualquer funcionalidade, ou seja, não
existiam.
==== 6.2.2. Transistores e Sistemas em Lote (1955-1965)
==== Transistores e Sistemas em Lote (1955-1965)
(((Transistores)))
Com o surgimento dos transistores, os computadores se tornaram confiáveis e
passaram a ser comercializados, isto em meados da década de 50.
......@@ -197,7 +203,9 @@ envia sua saída para a impressora. Após o encerramento deste programa o
sistema configurava a próxima atividade para entrar em execução. Este ciclo
se repetia até acabarem todas as atividades do lote.
==== 6.2.3. Circuitos Integrados e Multiprogramação (1965-1980)
==== Circuitos Integrados e Multiprogramação (1965-1980)
(((Circuitos Integrados))) (((Multiprogramação)))
No início da década de 60, os computadores passaram a ter duas utilizações
no mercado: os computadores científicos de larga escala para a ciência e a
......@@ -226,7 +234,9 @@ Operacional, dividir o uso do único processador com os diversos programas em
execução durante pequenas frações de tempo, compartilhamento do tempo
(<<fig_compartilhar_tempo_espaco>>(b)).
==== 6.2.4. Computadores Pessoais (1980-1995)
==== Computadores Pessoais (1980-1995)
(((Computadores Pessoais)))
Com o advento dos minicomputadores na década de 80, o computador passou a ser
usado na vida privada das pessoas, passou-se a comprar computadores como se
......@@ -314,7 +324,7 @@ O importante é que nesta briga ganham os usuários, com novas ferramentas mais
amigáveis e novas funcionalidade para os dispositivos que um dia serviam
apenas para cálculos científicos ou contabilidades empresariais.
=== 6.3. Tipos de Sistemas Operacionais
=== Tipos de Sistemas Operacionais
Como vimos na seção anterior, muitos Sistemas Operacionais possuem
características distintas devido à arquitetura do hardware em que irão
......@@ -369,6 +379,8 @@ pertencem a esta última categoria.
==== Sistema Operacional Embarcado
(((Sistemas embarcados)))
Sistemas embarcados são pequenos computadores, geralmente computadores de
mão, celulares e set-top-box para TV Digital. Realizam um pequeno número de
funções, seu Sistema Operacional deve lidar com restrições de tamanho,
......@@ -383,13 +395,13 @@ como pagamentos eletrônicos, mas outros podem tratar múltiplas funções. O
gerenciamento dos recursos e a proteção das mesmas são tratados pelo Sistema
Operacional, geralmente muito primitivo, contido no cartão.
=== 6.4. Conceitos de Sistemas Operacionais
=== Conceitos de Sistemas Operacionais
Todos os Sistemas Operacionais têm certos conceitos básicos, como processos,
memória e arquivos, que são fundamentais para entendê-los. Nesta seção
iremos dar uma introdução sobre seus principais conceitos.
==== 6.4.1 Processos
==== Processos
Um processo é basicamente um programa em execução. Associado a cada processo
está o seu espaço de endereçamento e uma lista de posições de memória que
......@@ -419,7 +431,7 @@ estejam em seu espaço de endereçamento, são armazenados em uma tabela do
Sistema Operacional chamada de tabela de processos, contendo uma entrada para
cada processo.
===== 6.4.1.1 Estados de Processos
===== Estados de Processos
Os processos em um Sistema Operacional possuem três estados ilustrados na
<<fig_transicao_de_estados>>, estes estados são:
......@@ -463,7 +475,9 @@ que a transição 4 não leva o processo diretamente para o estado “Em
Execução”, pois pode existir um outro processo em execução e este
processo que estava bloqueado deve aguardar sua vez no escalonador.
===== 6.4.1.2 Threads
===== Threads
(((Threads)))
Em Sistemas Operacionais tradicionais, cada processo tem um espaço de
endereçamento e um único thread (fluxo) de controle. Na verdade, isso é
......@@ -496,7 +510,7 @@ futuramente retornar a execução no ponto em que foi interrompido.
A vantagem de se criar thread está na rapidez de sua criação e no menor
gasto de recursos do sistema para o mesmo.
==== 6.4.2. Gerenciamento de memória
==== Gerenciamento de memória
O que todo programador deseja é dispor de uma memória infinitamente grande,
rápida e não volátil, a um custo muito baixo. Infelizmente, a tecnologias
......@@ -516,6 +530,8 @@ os processos terminam.
===== Monoprogramação
(((Monoprogramação)))
Quando se utiliza o esquema mais simples de gerenciamento de memória, a mesma
é compartilhada entre o programa e o Sistema Operacional, e somente um
programa é executado por vez.
......@@ -528,6 +544,8 @@ ocupado pelo programa anterior.
===== Multiprogramação
(((Multiprogramação)))
A maioria dos sistemas modernos permite a multiprogramação, onde múltiplos
processos estejam em execução simultânea, coexistindo na memória principal,
através do particionamento da memória entre os processos. Das técnicas de
......@@ -536,6 +554,8 @@ microcomputadores é a Memória Virtual.
===== Memória Virtual
(((Memória Virtual)))
O conceito básico da Memória Virtual é que um programa pode está com sua
parte ativa em memória e o restante em disco, por exemplo, um programa com
16MB de memória pode rodar em um computador de 4MB de memória, sendo parte do
......@@ -548,7 +568,9 @@ do Sistema Operacional o controle de indicar que programas devem ficar na
memória e quais devem ficar em disco, chaveando estes programa a medida que
forem sendo exigidos pelo usuário.
==== 6.4.3. Entrada/Saída (E/S)
==== Entrada/Saída (E/S)
(((Entrada & Saída)))
O Sistema Operacional deve controlar todos os dispositivos de E/S de um
computador. Deve emitir comandos para os dispositivos, interceptar
......@@ -577,7 +599,9 @@ outros dispositivos que são diferentes do disco são considerados dispositivos
de caractere.
==== 6.4.4. Sistema de Arquivo
==== Sistema de Arquivo
(((Sistema de Arquivo)))
Um problema em manter a informação dentro do espaço de endereçamento do
processo é quando o mesmo termina, e sua informação é perdida. Em muitas
......@@ -609,8 +633,7 @@ operações subseqüentes. Se o acesso for proibido, um código de erro é
retornado.
=== 6.5 Recapitulando
=== Recapitulando
Neste capítulo introduzimos o conceito de Sistema Operacional, descrevendo
suas duas principais funções paras os programadores de aplicações:
......@@ -624,8 +647,10 @@ visão de seus usuários, estes conceitos são: Processos, Thread, seus estados
e transições; Gerenciamento de Memória e Sistemas de Arquivos.
// FIXME Faltando ponte para o próximo capítulo.
=== 6.6 Atividades
=== Atividades
1. Quais as principais funções de um Sistema Operacional? Para quem se
destinam estas funções?
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment