Sistemas Operacionais

Get Started. It's Free
or sign up with your email address
Sistemas Operacionais by Mind Map: Sistemas Operacionais

1. Gerência de processos

1.1. 1

1.1.1. Um programa não faz nada a não ser que suas instruções sejam executadas por uma CPU. Um processo pode ser considerado um programa em execução, mas sua definição será ampliada à medida que explorarmos melhor o conceito. Um programa de usuário de tempo compartilhado, como um compilador, é um processo. Um processador de textos executado por um usuário individual em um PC é um processo. Uma tarefa de sistema, como enviar saída para uma impressora, também é um processo. Por enquanto, podemos considerar que um processo é um job ou um programa de tempo compartilhado, mas mais tarde você vai aprender que o conceito é mais geral. Como veremos no Capítulo 4, é possível fornecer chamadas ao sistema que permitem aos processos criar subprocessos para a execução concorrente.

1.2. 2

1.2.1. Um processo precisa de determinados recursos – incluindo tempo de CPU, memória, arquivos e dispositivos de I/O – para realizar sua tarefa. Esses recursos são dados ao processo quando ele é criado ou alocados a ele durante sua execução. Além dos vários recursos físicos e lógicos que um processo obtém quando é criado, vários dados de inicialização (entrada) podem ser fornecidos. Por exemplo, considere um processo cuja função seja exibir o status de um arquivo na tela de um terminal. O processo receberá como entrada o nome do arquivo e executará as instruções e chamadas ao sistema adequadas para obter e exibir as informações desejadas no terminal. Quando o processo terminar, o sistema operacional solicitará de volta quaisquer recursos reutilizáveis.

1.3. 3

1.3.1. Enfatizamos que um programa por si só não é um processo; um programa é uma entidade passiva, como o conteúdo de um arquivo armazenado em disco, enquanto um processo é uma entidade ativa, como um contador de programa especificando a próxima instrução a ser executada. A execução de um processo deve ser sequencial. A CPU executa uma instrução do processo após a outra até o processo terminar. Além disso, a qualquer momento, no máximo uma instrução é executada em nome do processo. Assim, embora dois processos possam ser associados com o mesmo programa, eles são considerados duas sequências de execução separadas. É comum ter um programa que utilize muitos processos para sua execução.

1.4. 4

1.4.1. Um processo é a unidade de trabalho em um sistema. Um sistema desse tipo consiste em uma coleção de processos, alguns dos quais são processos de sistema operacional (aqueles que executam código do sistema) e o resto são processos de usuário (aqueles que executam código de usuário). Todos esses processos podem executar concorrentemente, multiplexando a CPU entre eles.

1.5. 5

1.5.1. O sistema operacional é responsável pelas seguintes atividades em relação à gerência de processos: Criar e excluir processos de usuário e de sistema Suspender e retomar processos Fornecer mecanismos para a sincronização de processos Fornecer mecanismos para a comunicação de processos Fornecer mecanismos para o tratamento de deadlocks

2. Gerência do sistema de I/O

2.1. Fragmentação externa

2.1.1. Um dos objetivos de um sistema operacional é ocultar as peculiaridades de dispositivos de hardware específicos do usuário. Por exemplo, no UNIX, as peculiaridades dos dispositivos de I/O são ocultadas do grosso do sistema operacional propriamente dito pelo subsistema de I/O. O subsistema de I/O consiste em: Um componente de gerência de memória que inclui buffering, armazenamento em cache e spooling Uma interface geral de driver de dispositivo Drivers para dispositivos de hardware específicos

2.1.1.1. contínuo

2.1.1.2. espaços livres pequenos

2.2. Fragmentação interna

2.2.1. Apenas o driver de dispositivo conhece as peculiaridades do dispositivo específico ao qual foi atribuído.

2.2.1.1. contíguos

2.2.1.2. prealocados por processos

3. Redes

3.1. Um sistema distribuído é uma coleção de processadores que não compartilham memória, dispositivos periféricos ou um clock. Em vez disso, cada processador tem sua própria memória local e clock, e os processadores se comunicam entre si através de várias linhas de comunicação, como barramentos ou redes de alta velocidade. Os processadores em um sistema distribuído variam em tamanho e função. Podem incluir pequenos microprocessadores, estações de trabalho, minicomputadores e grandes sistemas de computação de uso geral.

3.1.1. Um sistema distribuído reúne sistemas fisicamente separados e possivelmente heterogêneos em um único sistema coerente, fornecendo ao usuário acesso aos vários recursos mantidos pelo sistema. O acesso a um recurso compartilhado permitre maior velocidade de computação, maior funcionalidade, maoir disponibilidade de dados e melhor confiabilidade. Os sistemas operacionais geralmente generalizam o acesso à rede como uma forma de acesso a arquivos, com os detalhes da rede estando contidos no driver de dispositivo de interface da rede. Os protocolos que criam um sistema distribuído podem ter um grande efeitona utilidade e popularidade do sistema. A inovação da World Wide Web foi criar um novo método de acesso para compartilhamento de informações. Melhorou o protocolo de transferência de arquivos existente (FTP) e o protocolo de sistema de arquivos de rede (NFS) removendo a necessidade de um usuário efetuar logon antes de poder usar um recurso remoto. Definiu um novo protocolo, http, para uso na comunicação entre um servidor e um navegador Web. Um navegador Web só precisa enviar um pedido de informação ao servidor Web de uma máquina remota e as informações (textos, gráficos, links com outras informações) são devolvidas. Esse aumento na conveniência promoveu grande crescimento no uso de http e da Web em geral.

3.1.1.1. um programa

3.1.1.2. um endereço

3.1.1.3. uma aplicação

3.2. Os processadores no sistema são conectados através de uma rede de comunicação, que pode ser configurada de várias formas diferentes. A rede pode ser total ou parcialmente conectada. O projeto da rede de comunicação deve considerar as estratégias de conexão e roteamento de mensagens, e os problemas de disputa e segurança.

3.2.1. Um programa pode ser carregado a partir de qualquer endereço ou partição

3.2.1.1. qualquer endereço

3.2.1.2. qualquer partição

4. Memória Virtual

4.1. Benefícios da técnica de memória virtual

4.1.1. Possibilitar que programas e dados sejam armazenados independente do tamanho da memória principal, permitir um número maior de processos compartilhando a memória principal e minimizar o problema da fragmentação. O que possibilita que um programa e seus dados ultrapassem os limites da memória principal

4.2. Mapeamento em Blocos

4.2.1. Espaço ocupado pelas tabelas de mapeamento seria tão grande quanto o endereçamento virtual de cada processo, o que inviabilizaria a implementação do mecanismo

4.3. Técnica de Swapping

4.3.1. Introduzida para contornar o problema da insuficiência de memória principal. Essa técnica é aplicada à gerência de memória para programas que esperam por memória livre para serem executados

4.4. Função gerência de memória

4.4.1. Maximizar o número de processos na memória, permitir a execução de programas maiores que a memória física, compartilhamento de dados na memória e proteção da memória utilizada por cada processo e pelo sistema operacional

4.5. Loader com realocação dinâmica

4.5.1. Permite que os programas possam ser retirados da memória principal para a memória secundária e trazidos novamente para a memória principal em qualquer posição

5. 2

5.1. Conjunto de endereços virtuais que faz parte do espaço de enderaçamento virtual de um processo

6. Componentes do sistema

6.1. É possível criar um sistema tão grande e complexo quanto um sistema operacional simplesmente dividindo-o em partes menores. Cada uma dessas partes deve ser uma porção bem delineada do sistema, com entradas, saídas e funções cuidadosamente definidas. Obviamente, nem todos os sistemas têm a mesma estrutura. No entanto, muitos sistemas modernos compartilham a meta de dar suporte aos componentes do sistema delineados nas Seções 3.1.1 a 3.1.8.

7. Introdução.2

7.1. Existem vários pontos de vista usados para analisar um sistema operacional. Um deles é examinando os serviços que ele fornece. Outro é analisando a interface que ele disponibiliza a usuários e programadores. Um terceiro é desmontar o sistema em seus componentes e suas interconexões. Neste capítulo, exploramos todos os três aspectos dos sistemas operacionais, mostrando os pontos de vista dos usuários, programadores e projetistas de sistemas operacionais. Consideramos que serviços são fornecidos por um sistema operacional, como são fornecidos e quais são as várias metodologias para projetar tais sistemas.

7.2. Forma mais simples de organização

7.2.1. através de uma sequencia não estruturada de bytes, na qual o sistema de arquivos não impõe nenhuma estrutura lógica de dados

8. Introdução

8.1. Um sistema operacional fornece o ambiente no qual os programas são executados. Internamente, os sistemas operacionais variam muito em sua constituição, sendo organizados em muitas linhas diferentes. O projeto de um novo sistema operacional é uma tarefa importante. Portanto, é fundamental que os objetivos do sistema sejam bem definidos antes do início do projeto. O tipo de sistema desejado é a base para as escolhas entre os vários algoritmos e estratégias.