Welcome to Scribd, the world's digital library. Read, publish, and share books and documents. See more
Download
Standard view
Full view
of .
Look up keyword
Like this
2Activity
0 of .
Results for:
No results containing your search query
P. 1
fsOperativosResumo_Livro

fsOperativosResumo_Livro

Ratings: (0)|Views: 626|Likes:
Published by luisje

More info:

Published by: luisje on Mar 25, 2013
Copyright:Attribution Non-commercial

Availability:

Read on Scribd mobile: iPhone, iPad and Android.
download as DOC, PDF, TXT or read online from Scribd
See more
See less

01/28/2014

pdf

text

original

 
CAP: 1 – INTRODUÇÃO1.1. Objectivos dos Sistemas Operativos
O objectivo deste texto é procurar descrever a estrutura dos SO de forma a que constituam umaferramenta de que se conheçam não só o modo de utilização mas também os detalhes deimplementação.Para que servem os SO? Porque se tornaram indispensáveis? 2 motivos históricos:- Transformar um conjunto diversificado de circuitos electrónicos, discos e periféricos numamáquina simples de utilizar.- Obter o máximo rendimento do hardware através da sua utilização para o processamento de umgrande conjunto de actividades.O SO procura também apresentar ao utilizador uma interface coerente que trata, de modouniforme, acções sobre entidades semelhantes.Outro aspecto relevante é a garantia de fiabilidade e segurançaO SO pode pois ser considerado como uma camada de software que virtualiza o hardware debase, transformando-o numa outra máquina com primitivas próprias, normalmente muito maispróximas das acções que o utilizador vulgar pretende ver executadas pelo computador.O segundo princípio enunciado, não é mais que o clássico princípio da optimização de custo.Na história há SO que tentaram ser atingir objectivos tão ambiciosos que se tornaram ineficientes.Os compromissos desempenho/modularidade/fiabilidade são extremamente complexos,constituindo um dos pontos mais delicados na definição da arquitectura de um SO.
1.2. Evolução Histórica
Os 1ºs sistemas informáticos (anos 50) não dispunham de SO.
1.2.1. Monitor de Controlo
 A primeira aproximação foi o programa utilitário Monitor, que permitia ao utilizador carregar osseus programas em memória, editá-los e verificar a sua execução. A gestão era muito simples econsistia em atribuir a cada utilizador quotas de tempo de utilização da máquina.Um monitor típico é constituído por rotinas utilitárias que facilitam a interacção (operação) com amáquina:- Interpretador de uma linguagem de comendo que permite fazer executar os restantes módulos- Compilador - Tradutor de linguagem simbólica (Assembler)- Editor de Ligações (linker)- Carregador de programas em memória (Loader)- Rotinas Utilitárias para o controlo de periféricos: consola; leitor de cartões; leitor/perfurador defita de papel; bandas magnéticas.É óbvia a ineficiência desta gestão: Durante a maior parte do tempo o processador está inactivo.
1.2.2. Tratamento em Lotes (Batch)
No tipo de gestão atrás descrito, o tempo de execução de um programa é predominantementedeterminado pelas suas E/S.Uma solução consistiu em efectuar a recolha dos dados num computador auxiliar onde eram lidos,para uma banda, os cartões dos diversos trabalhos.Este processo dos anos 50 rapidamente evoluiu: os periféricos começara a poder executar operações autónomas e avisando o processador por meio de interrupts (grande inovação esta denotificação assíncrona do processador). Simultaneamente os dispositivos de armazenamentotambém evoluíram e passaram de meros sequenciais para acesso aleatório (tambores, discos).O sistema anterior permite a introdução de mecanismos de optimização na gestão da máquina,escolhendo o próximo programa a ser executado de acordo com um dado critério de prioridade.Por exemplo se nos cartões houver a indicação de duração máxima, recursos ocupados, etc.,pode implementar-se uma política que beneficie os trabalhos mais curtos ou menos exigentes emrecursos.Em paralelo com estes desenvolvimentos começou a fazer sentir-se a necessidade de tornar eficiente o funcionamento dos compiladores.
 
1.2.3. Multiprogramação
Os mecanismos de interrupção permitem multiplexar o processador entre diversas actividadeexecutadas concorrentemente pode ser alargado para vários programas utilizadores em memória,em vez de só um. Isso permite optimizar a utilização da unidade central.Ex. uma operação de acesso ao disco pode ser executada em paralelo por rotinas do sistema quegerem uma interface de hardware, normalmente designada por controlador de disco. O tempopara a leitura (mecânica lenta) pode ser usado por outro programa --> vários programassimultaneamente activos. Agora, isto é eficaz se os diversos programas residirem na memória central, para mudançarápida de contexto. Mas como memória cara, há hierarquização de memória que permita, quandonecessário, carregar novo programa e guardar na memória secundária alguns bloqueados(swapping – tem implicações profundas sobre toda a estrutura dos programas --> o código deveser recolocável).
1.2.4. Sistemas Interactivos
Sistemas transaccionais.Em lugar de ser obrigado a esperar por um programa submetido ao tradicional sistema de lotes, outilizador passou a desfrutar de uma máquina virtual, que lhe permite aceder ao sistema centralsempre à sua disposição. A multiplexagem entre vários utilizadores impõe a divisão do tempo disponível do processador entre os diferentes utentes.Os sistemas interactivos obrigaram a uma profunda reformulação dos conceitos nos SO,conferindo grande importância a conceitos até aí secundários, como: sistema de ficheiros, aprotecção, a linguagem de interacção com o sistema.
1.2.5. Memória Virtual
Limites levaram a evolução do hardware de gestão de endereços que permitiu um avançosignificativo que consistiu na possibilidade de trabalhar sobre um espaço de endereçamentovirtual de dimensões muito superiores e independente da memória física existente na máquina. Oprogramador ficava liberto das preocupações de gestão do espaço ocupado pelas suas aplicaçõese, simultaneamente, o sistema podia gerir mais eficientemente a memória física disponível. A existência de memória virtual revolucionou os mecanismos de protecção, comunicação egeração de código, constituindo uma das etapas significativas da evolução dos SO.
1.2.6. Sistemas Distribuídos
 Apareceram na sequência do desenvolvimento dos mecanismos de interligação de computadores.O aumento de velocidade e elevada fiabilidade das redes locais de computadores permitiramdistribuir e gerir em conjunto os recursos de diversas máquinas. Novas questões de coerência dainformação e de desempenho surgiram nestes sistemas.
1.3. Tipos de Sistemas Operativos
Na gama mais barata predominam os sistemas mono-utilizadores muito simples (CPM da Digita,MS-DOS da Microsoft).Na franja seguinte predomina o sistema UNIX, que se foi impondo como norma nos sistemasmultiprogramados para equipamentos de médio porte.Os equipamentos mais complexos possuem geralmente SO proprietários.Todos eles pertencem a uma mesma categoria –
Tempo Virtual,
dado que o tempo de execuçãodos programas não tem relação com o tempo cronológico exterior à máquina (job-shop).Os sistemas onde a noção do tempo é relevante são normalmente designados por 
Tempo Real
.Têm por objectivo conseguir que o computador produza uma resposta a um acontecimentoexterno ao fim de um intervalo de tempo limitado e previamente especificado. váriasgradações. Os transaccionais também se pode aqui englobar.
1.4. Arquitectura do Sistema Operativo
 
O SO pode ser considerado como um programa de grande complexidade, responsável pelagestão eficiente de todos os recursos da máquina, o que implica uma abordagem estruturada nasua concepção.Uma técnica habitualmente usada é a da decomposição em camadas funcionais. Cada camadaconstitui um nível de abstracção que implementa uma máquina virtual com uma interface bemdefinida. Sobre esta máquina pode constituir-se outra que utiliza os serviços da camadaprecedente para implementar o próximo nível de abstracção. cada camada encapsula aimplementação dos níveis inferiores fazendo que seja possível modificá-los sem afectar ascamadas exteriores.Numa descrição resumida, cada um dos níveis implementa as seguinte funções:- Gestão de Processos: multiplexa a máquina física entre um conjunto de entidades lógicas quedesignaremos por processos. Cada processo pode ser visto como uma máquina virtual queexecuta um programa. São ainda tratados os mecanismos de baixo nível que permitem interactuar com o hardware do processador, nomeadamente as interrupções.- Gestão de Memória: Controla a utilização da memória física. A gestão da memória virtual e todosos algoritmos associados à manipulação do espaço de endereçamento dos processos sãoexecutados neste nível.- Comunicação e Entradas/Saídas: Os processos necessitam de comunicar para poderem gerir recursos comuns ou controlar a execução das aplicações. Na comunicação podem também ser consideradas as operações de E/S com o exterior da máquina. Apesar da implementação de E/Sser complexa, dado que interactuam com o hardware dos dispositivos, a sua estrutura interna einterface apresentam numerosas semelhanças com os restantes mecanismos de comunicação.- Sistema de Ficheiros: Podia-se considerar caso particular do anterior mas não é assim, pois nossistemas actuais a gestão da informação na memória de massas adquiriu uma importânciafundamental na estrutura da programação e utilização dos computadores. A gestão de ficheiros éresponsável pela implementação eficiente de uma organização lógica que virtualiza os dispositivosde memória de massa.- Interface Sistema: divide-se em 2 partes:- Funções Sistema: Constituem a interface dos serviços providenciados pelas camadas internas.São agrupadas em bibliotecas de rotinas, que podem ser ligadas com os programas dosutilizadores para poderem aceder aos mecanismos sistema.- Interpretador de Comandos: É na realidade uma aplicação fornecida com os sistema parafacilitar a sua utilização. Podem encadear-se comandos, numa autêntica linguagem de controlo.Este modelo de implementação não faz referência a alguns aspectos que, por serem gerais nãose enquadram em nenhum dos níveis:- Optimização da Utilização do Sistema (Scheduling). Embora geralmente se associe à gestãoeficiente do processador, relaciona-se com todos os níveis, nomeadamente a gestão de memóriae E/S.- Mecanismos de Protecção, também presentes em todos os níveis: Para não se poder realizar operações que ponham em risco o sistema ou interactuem indevidamente com outros processos.
1.5. Modelo Computacional
Olhar para o SO na perspectiva do programador, abstraindo dos detalhes de implementação dosmecanismos que o compões.Modelo Computacional é o conjunto dos objectos do sistema operativo e as operações que ospermitem manipular.Pragmaticamente pode ser considerado como o conjunto de funções sistema que o programador dispõe para o desenvolvimento das aplicações e que lhe possibilitam estender a capacidade daslinguagens de programação sequenciais.Quando se entra em aplicações complexas é preciso utilizar as facilidades oferecidas pelos SOpara obter desempenho, interactividade, paralelismo de que numerosas aplicações necessitam.Por exemplo gestão dos periféricos. outro ex. reservas de bilhetes de avião – paralelismo, comcoerência dos dados --> processos envolvidos consigam comunicar e sincronizar-se.O modelo computacional para o sistema operativo tem na programação concorrente a mesmafunção que o modelo proporcionado pelas linguagens de alto nível para a programação de

You're Reading a Free Preview

Download
scribd
/*********** DO NOT ALTER ANYTHING BELOW THIS LINE ! ************/ var s_code=s.t();if(s_code)document.write(s_code)//-->