Fundamentos de Sistemas Operacionais - Princípios Básicos

Visualizações: 534
Classificação: (0)

Este novo livro de princípios básicos fornece aos leitores um texto aperfeiçoado e dedicado aos mais importantes conceitos sobre os sistemas contemporâneos. Fundamentos de Sistemas Operacionais – Princípios Básicos aglutina temas como gerenciamento de processos, proteção e segurança, cuja aplicação é essencial para o funcionamento e a manutenção dos sistemas e softwares disponíveis comercialmente.Esta edição reorganizada procura suprir as carências de formação e conteúdo dos estudantes, mediante a apresentação clara e concisa de importantes assuntos – o que é reforçado por uma pedagogia acessível, apoiada em exemplos, estudos de caso, sugestões de leitura e outros recursos. Essa preocupação favorece a otimização do processo de ensino e aprendizagem e, consequentemente, a boa formação dos futuros profissionais do setor.

FORMATOS DISPONíVEIS

16 capítulos

Formato Comprar item avulso Adicionar à Pasta

PARTE UM - Capítulo 1 - Introdução

PDF Criptografado

1

CAPÍTULO

Introdução

Sistema operacional é o programa que gerencia o hardware do computador. Ele também fornece a base para os programas aplicativos e atua como intermediário entre o usuário e o hardware do computador. Um aspecto interessante dos sistemas operacionais é o quanto eles assumem diferentes abordagens ao cumprir essas tarefas. Sistemas operacionais de mainframe são projetados basicamente para otimizar a utilização do hardware.

Sistemas operacionais de computadores pessoais (PCs) suportam jogos complexos, aplicações comerciais e tudo o mais entre esses dois universos. Sistemas operacionais de computadores de mão são projetados para fornecer um ambiente no qual o usuário possa interagir facilmente com o computador para executar programas. Assim, alguns sistemas operacionais são projetados para ser convenientes, outros para ser eficientes e outros ainda para fornecer alguma combinação desses dois aspectos.

Antes de poder examinar os detalhes da operação do sistema de computação, temos que saber algo sobre a estrutura do

 

PARTE UM - Capítulo 2 - Estruturas do Sistema Operacional

PDF Criptografado

2

Estruturas do Sistema

Operacional

O sistema operacional fornece o ambiente dentro do qual programas são executados. Internamente, os sistemas operacionais variam muito em sua composição, já que estão organizados em muitas linhas diferentes. O projeto de um novo sistema operacional é uma tarefa de peso. É importante que os objetivos do sistema sejam bem definidos antes de o projeto começar. Esses objetivos formam a base das escolhas feitas entre vários algoritmos e estratégias.

Podemos considerar um sistema operacional a partir de vários pontos de vista. Um deles enfoca os serviços que o sistema fornece; outro, a interface que ele torna disponível para usuários e programadores; e um terceiro enfoca seus componentes e suas interconexões. Neste capítulo, examinamos todos os três aspectos dos sistemas operacionais, mostrando os pontos de vista de usuários, programadores e projetistas dos sis-

2.1

CAPÍTULO

temas. Consideramos os serviços que um sistema operacional fornece, como eles são fornecidos, como são depurados e que metodologias existem para o projeto desses sistemas. Para concluir, descrevemos como os sistemas operacionais são criados e como um computador inicia seu sistema operacional.

 

PARTE DOIS - Capítulo 3 - Processos

PDF Criptografado

3

CAPÍTULO

Processos

Os primeiros sistemas de computação permitiam que apenas um programa fosse executado de cada vez. Esse programa tinha controle total do sistema e acesso a todos os seus recursos. Por outro lado, os sistemas de computação atuais permitem que vários programas sejam carregados na memória e executados concorrentemente. Essa evolução demandou um controle mais firme e maior compartimentalização dos diversos programas, e essas necessidades resultaram na noção de processo, que é um programa em execução. Um processo é a unidade de trabalho de um sistema moderno de compartilhamento de tempo.

Quanto mais complexo é o sistema operacional, mais se espera que ele faça em benefício de seus usuários. Embora sua principal preocupação seja a execução de programas de usuário, ele também tem que se encarregar de várias tarefas do sistema que ficam melhor fora do kernel. Portanto, um sistema

é composto por um conjunto de processos: processos do sistema operacional executando código do sistema e processos de

 

PARTE DOIS - Capítulo 4 - Threads

PDF Criptografado

4

CAPÍTULO

Threads

O modelo de processo introduzido no Capítulo 3 define processo como um programa em execução com um único thread de controle. A maioria dos sistemas operacionais modernos já fornece recursos que permitem que um processo contenha vários threads de controle. Este capítulo introduz diversos conceitos associados aos sistemas de computação com vários threads, inclusive uma discussão sobre as APIs das bibliotecas de threads Pthreads, Win32 e Java. Examinamos muitas questões relacionadas à programação com múltiplos threads e seu efeito sobre o projeto de sistemas operacionais. Para concluir, vemos como os sistemas operacionais

Windows e Linux dão suporte a threads no nível do kernel.

4.1

dados

registradores

• Introduzir o conceito de thread – uma unidade básica de utilização da CPU que forma a base dos sistemas de computação com vários threads.

• Discutir as APIs das bibliotecas de threads Pthreads,

Win32 e Java.

 

PARTE DOIS - Capítulo 5 - Scheduling da CPU

PDF Criptografado

5

Scheduling da CPU

CAPÍTULO

O scheduling da CPU é a base dos sistemas operacionais multiprogramados. Alternando a CPU entre os processos, o sistema operacional pode tornar o computador mais produtivo. Neste capítulo, introduzimos os conceitos básicos e vários algoritmos de scheduling da CPU. Também consideramos o problema da seleção de um algoritmo para um sistema específico.

No Capítulo 4, adicionamos os threads ao modelo de processo. Em sistemas operacionais que os suportam, os threads de nível de kernel – e não os processos – é que são realmente incluídos no schedule pelo sistema operacional. No entanto, os termos scheduling de processos e scheduling de threads são usados com frequência com o mesmo sentido. Neste capítulo, usamos

5.1

Ciclo de Picos de CPU-I/O

O sucesso do scheduling da CPU depende de uma propriedade observada nos processos: a execução de processos é composta por um ciclo de execução da CPU e espera por I/O. Os processos se alternam entre esses dois estados. A execução do processo começa com um pico de CPU, que é seguido por um pico de I/O que é seguido por outro pico de CPU e, então, outro pico de I/O, e assim por diante. Para concluir, o último pico de CPU termina com o sistema solicitando o encerramento da execução (Figura 5.1).

 

PARTE DOIS - Capítulo 6 - Sincronização de Processos

PDF Criptografado

6

Sincronização de

Processos

Processo cooperativo é aquele que pode afetar outros processos em execução em um sistema ou ser por eles afetado. Os processos cooperativos podem compartilhar diretamente um espaço de endereçamento lógico (código e dados) ou ter permissão para compartilhar apenas dados através de arquivos ou mensagens. O primeiro caso é alcançado com o uso dos threads, discutidos no Capítulo 4. O acesso concorrente a dados compartilhados pode resultar em inconsistência de dados, no entanto. Neste capítulo, discutimos vários mecanismos que asseguram a execução ordenada de processos cooperativos que compartilham um espaço de endereçamento lógico para que a consistência dos dados seja mantida.

6.1

CAPÍTULO

OBJETIVOS DO CAPÍTULO

• Introduzir o problema da seção crítica, cujas soluções podem ser usadas para garantir a consistência de dados compartilhados.

• Apresentar soluções para o problema da seção crítica tanto em software quanto em hardware.

 

PARTE TRÊS - Capítulo 7 - Memória Principal

PDF Criptografado

7

Memória

Principal

CAPÍTULO

No Capítulo 5 mostramos como a CPU pode ser compartilhada por um conjunto de processos. Como resultado do scheduling da CPU, podemos melhorar tanto a utilização da CPU quanto a velocidade de resposta do computador para seus usuários. Para promover essa melhoria no desempenho, no entanto, devemos manter vários processos na memória; isto é, devemos compartilhar a memória.

Neste capítulo, discutimos várias maneiras de gerenciar a memória. Os algoritmos de gerenciamento da memória variam de uma abordagem de máquina nua (bare-machine) primitiva

às estratégias de paginação e segmentação. Cada abordagem tem suas próprias vantagens e desvantagens. A seleção de um método de gerenciamento da memória para um sistema específico depende de muitos fatores, principalmente do projeto de

7.1

OBJETIVOS DO CAPÍTULO

• Fornecer uma descrição detalhada de várias maneiras de organizar o hardware da memória.

• Discutir várias técnicas de gerenciamento da me- mória, inclusive a paginação e a segmentação.

 

PARTE TRÊS - Capítulo 8 - Memória Virtual

PDF Criptografado

8

Memória

Virtual

CAPÍTULO

No Capítulo 7, discutimos várias estratégias de gerenciamento da memória usadas nos sistemas de computação. Todas essas estratégias têm o mesmo objetivo: manter muitos processos na memória simultaneamente para permitir a multiprogramação.

No entanto, elas tendem a demandar que um processo inteiro esteja na memória antes de poder ser executado.

A memória virtual é uma técnica que permite a execução de processos que não estão totalmente na memória. Uma grande vantagem desse esquema é que os programas podem ser maiores do que a memória física. Além disso, a memória virtual abstrai a memória principal em um array de armazenamento uniforme extremamente grande, separando a memória lógica vista pelo usuário da memória física. Essa técnica deixa os programadores livres de preocupações com as limitações de armazenamento da memória. A memória virtual também permite que os processos compartilhem arquivos facilmente e implementem memória

 

PARTE QUATRO - Capítulo 9 - Interface do Sistema de Arquivos

PDF Criptografado

Interface do Sistema de Arquivos

Para a maioria dos usuários, o sistema de arquivos é o aspecto mais visível de um sistema operacional. Ele fornece o mecanismo de armazenamento e acesso on-line tanto dos dados quanto dos programas do sistema operacional e de todos os usuários do sistema de computação. O sistema de arquivos é composto por duas partes distintas: um conjunto de arquivos, cada um armazenando dados relacionados, e uma estrutura de diretórios que organiza e fornece informações sobre todos os arquivos do sistema. Os sistemas de arquivos dependem de dispositivos que examinamos com detalhes nos próximos capítulos mas abordamos rapidamente aqui. Neste capítulo, consideramos os diversos aspectos dos arquivos e as principais estruturas de diretório. Também discutimos a semântica de compartilhamento de arquivos entre vários processos, usuários e computadores. Para concluir, discu-

9.1

tirmos maneiras de manipular a proteção de arquivos, necessária quando temos vários usuários e queremos controlar quem pode acessar arquivos e como eles podem ser acessados.

 

PARTE QUATRO - Capítulo 10 - Implementação do Sistema de Arquivos

PDF Criptografado

10

CAPÍTULO

Implementação do

Sistema de Arquivos

Como vimos no Capítulo 9, o sistema de arquivos fornece o mecanismo para o armazenamento e acesso on-line do conteúdo de arquivos, incluindo dados e programas. O sistema de arquivos reside permanentemente em memória secundária, projetada para armazenar uma grande quantidade de dados permanentemente. Este capítulo aborda principalmente questões relacionadas ao armazenamento de arquivos e seu acesso no meio mais comum de armazenamento secundário, o disco. Examinamos maneiras de estruturar o uso de arquivos, alocar espaço em disco, recuperar espaço liberado, rastrear a locação dos dados e conectar outras partes do sistema operacional à memória secundária. Questões relacionadas ao desempenho são consideradas no decorrer do capítulo.

10.1

• Descrever os detalhes de implementação de estruturas de sistemas de arquivos e diretórios locais.

• Descrever a implementação de sistemas de arquivos remotos.

 

PARTE QUATRO - Capítulo 11 - Estrutura de Armazenamento de Massa

PDF Criptografado

11

Estrutura de

Armazenamento de Massa

O sistema de arquivos pode ser visto logicamente como constituído por três partes. No Capítulo 9, examinamos a interface do usuário e do programador para o sistema de arquivos. No Capítulo 10, descrevemos as estruturas de dados e algoritmos internos usados pelo sistema operacional na implementação dessa interface. Neste capítulo, discutimos o nível mais baixo do sistema de arquivos: as estruturas de armazenamento de massa. Primeiro, descrevemos a estrutura física dos discos e fitas magnéticos. Em seguida, descrevemos os algoritmos de scheduling de disco que organizam a ordem de I/Os de disco para melhorar o desempenho. Depois, discutimos a formatação do disco e o gerenciamento dos blocos de inicialização, blocos danificados e espaço de permuta. Examinamos então a estrutura

11.1

CAPÍTULO

de armazenamento de massa, abordando a confiabilidade do disco. Concluimos com a abordagem da arquitetura RAID.

OBJETIVOS DO CAPÍTULO

 

PARTE QUATRO - Capítulo 12 - Sistemas de I/O

PDF Criptografado

12

CAPÍTULO

Sistemas de I/O

As duas tarefas principais de um computador são o I/O e o processamento. Em muitos casos, a principal tarefa é o I/O e o processamento é meramente incidental. Por exemplo, quando navegamos em uma página da Web ou editamos um arquivo, nosso interesse imediato é ler ou inserir algumas informações e não computar uma resposta.

O papel do sistema operacional em relação ao I/O do computador é gerenciar e controlar operações e dispositivos de

I/O. Embora tópicos relacionados apareçam em outros capítulos, juntamos as peças neste capítulo para descrever um quadro completo do I/O. Primeiro, descrevemos os aspectos básicos do hardware de I/O porque a natureza da interface de hardware impõe restrições aos recursos internos do sistema operacional. Em seguida, discutimos os serviços de I/O fornecidos pelo sistema operacional e a incorporação desses serviços à interface de I/O das aplicações. Depois, explicamos como o sistema

12.1

• Examinar a estrutura do subsistema de I/O de um sistema operacional.

 

PARTE CINCO - Capítulo 13 - Proteção

PDF Criptografado

13

CAPÍTULO

Proteção

Os processos de um sistema operacional devem ser protegidos das atividades uns dos outros. A fim de fornecer esse tipo de proteção, podemos usar vários mecanismos para certificarnos de que somente processos que tenham recebido autorização apropriada do sistema operacional, possam operar sobre os arquivos, segmentos de memória, acessar a CPU e outros recursos de um sistema.

A proteção refere-se a mecanismos para o controle do acesso de programas, processos ou usuários aos recursos definidos por um sistema de computação. Esses mecanismos devem fornecer um meio para especificação dos controles a serem impostos e um meio para exigi-los. Fazemos a distinção entre proteção e segurança, que é uma medida de confiança da preservação da integridade de um sistema e de seus dados. Neste

13.1

OBJETIVOS DO CAPÍTULO

• Discutir os objetivos e princípios de proteção em um sistema de computação moderno.

• Explicar como domínios de proteção, combinados com uma matriz de acesso, são usados para especificar os recursos que um processo pode acessar.

 

PARTE CINCO - Capítulo 14 - Segurança

PDF Criptografado

14

CAPÍTULO

Segurança

Como discutimos no Capítulo 13, a proteção é um problema estritamente interno: como fornecer acesso controlado a programas e dados armazenados em um sistema de computação?

A segurança, por outro lado, requer não apenas um sistema de proteção adequado, mas também a consideração do ambiente externo dentro do qual o sistema opera. Um sistema de proteção

é ineficaz se a autenticação do usuário fica comprometida ou se um programa é executado por um usuário não autorizado.

Os recursos do computador devem ser protegidos contra acesso não autorizado, destruição ou alteração maliciosa e introdução acidental de inconsistências. Esses recursos são as informações armazenadas no sistema (tanto dados quanto código), assim como CPU, memória, discos, fitas e a conexão de rede – tudo o que constitui o computador. Neste capí-

14.1

OBJETIVOS DO CAPÍTULO

• Discutir ameaças e ataques à segurança.

• Explicar os aspectos básicos da criptografia, da autenticação e do hashing.

 

PARTE SEIS - Capítulo 15 - O Sistema Linux

PDF Criptografado

15

CAPÍTULO

O Sistema Linux

Este capítulo apresenta um estudo detalhado do sistema operacional Linux. Examinando um sistema real completo, podemos ver como os conceitos que discutimos estão relacionados uns aos outros e à prática.

O Linux é uma versão do UNIX que ganhou popularidade nos últimos anos. Neste capítulo, examinamos a história e o desenvolvimento do Linux e abordamos as interfaces de usuário e de programador que o Linux apresenta – interfaces que devem muito à tradição do UNIX. Também discutimos os métodos internos por meio dos quais o Linux implementa essas interfaces. O Linux é um sistema operacional em rápida evolução. Este capítulo descreve desenvolvimentos no kernel do Linux 2.6 lançado no fim de 2003.

15.1

• Examinar a história do sistema operacional UNIX do qual o Linux se originou e os princípios segundo os quais o Linux foi projetado.

• Examinar o modelo de processos do Linux e ilustrar como o Linux faz o scheduling de processos e fornece comunicação entre processos.

 

PARTE SEIS - Capítulo 16 - Windows 7

PDF Criptografado

16

CAPÍTULO

Windows 7

O Microsoft Windows 7 é um sistema operacional cliente, multitarefa e preemptivo, de 32/64 bits, para microprocessadores que implementam arquiteturas de conjunto de instruções

(ISAs - instruction set architectures) Intel IA32 e AMD64. O sistema operacional correspondente da Microsoft para servidores, o Windows Server 2008 R2, tem como base o mesmo código do Windows 7, mas só dá suporte às ISAs de 64 bits

AMD 64 e IA64 (Itanium). O Windows 7 é o mais recente de uma série de sistemas operacionais da Microsoft baseados no código do NT que substituíram os sistemas anteriores baseados no Windows 95/98. Neste capítulo, discutimos os principais objetivos do Windows 7, a arquitetura em camadas do sistema que o tornou tão fácil de usar, o sistema de arquivos, os recursos de conexão de rede e a interface de programação.

16.1

Em meados dos anos 1980, a Microsoft e a IBM desenvolver em cooperação o sistema operacional OS/2 escrito em linguagem de montagem para sistemas Intel 80286 com um único processador. Em 1988, a Microsoft decidiu encerrar o esforço conjunto com a IBM e desenvolver seu próprio sistema operacional portável com “nova tecnologia” (ou NT) para dar suporte às interfaces de programação de aplicações (APIs) tanto do OS/2 quanto do POSIX. Em outubro de 1988, Dave

 

Detalhes do Produto

Livro Impresso
Book
Capítulos

Formato
PDF
Criptografado
Sim
SKU
BPP0000206294
ISBN
9788521622819
Tamanho do arquivo
24 MB
Impressão
Desabilitada
Cópia
Desabilitada
Vocalização de texto
Não
Formato
PDF
Criptografado
Sim
Impressão
Desabilitada
Cópia
Desabilitada
Vocalização de texto
Não
SKU
Em metadados
ISBN
Em metadados
Tamanho do arquivo
Em metadados