Docsity
Docsity

Prepare-se para as provas
Prepare-se para as provas

Estude fácil! Tem muito documento disponível na Docsity


Ganhe pontos para baixar
Ganhe pontos para baixar

Ganhe pontos ajudando outros esrudantes ou compre um plano Premium


Guias e Dicas
Guias e Dicas

(Afogamento fatal; afogamento não fatal) O afogamento ocorre quando a submersão em líquido, Manuais, Projetos, Pesquisas de Direito Documental

(Afogamento fatal; afogamento não fatal) O afogamento ocorre quando a submersão em líquido causa asfixia ou interfere na respiração. Durante o afogamento, o corpo fica privado de oxigênio, o que pode danificar os órgãos, particularmente o cérebro.

Tipologia: Manuais, Projetos, Pesquisas

2023

Compartilhado em 15/10/2023

marcelo-borges-fuz
marcelo-borges-fuz 🇧🇷

1 documento

1 / 260

Toggle sidebar

Esta página não é visível na pré-visualização

Não perca as partes importantes!

bg1
FUNDAMENTOS DE SISTEMAS OPERACIONAIS
Fundamentos
de Sistemas
Operacionais
KLS
KLS
pf3
pf4
pf5
pf8
pf9
pfa
pfd
pfe
pff
pf12
pf13
pf14
pf15
pf16
pf17
pf18
pf19
pf1a
pf1b
pf1c
pf1d
pf1e
pf1f
pf20
pf21
pf22
pf23
pf24
pf25
pf26
pf27
pf28
pf29
pf2a
pf2b
pf2c
pf2d
pf2e
pf2f
pf30
pf31
pf32
pf33
pf34
pf35
pf36
pf37
pf38
pf39
pf3a
pf3b
pf3c
pf3d
pf3e
pf3f
pf40
pf41
pf42
pf43
pf44
pf45
pf46
pf47
pf48
pf49
pf4a
pf4b
pf4c
pf4d
pf4e
pf4f
pf50
pf51
pf52
pf53
pf54
pf55
pf56
pf57
pf58
pf59
pf5a
pf5b
pf5c
pf5d
pf5e
pf5f
pf60
pf61
pf62
pf63
pf64

Pré-visualização parcial do texto

Baixe (Afogamento fatal; afogamento não fatal) O afogamento ocorre quando a submersão em líquido e outras Manuais, Projetos, Pesquisas em PDF para Direito Documental, somente na Docsity!

Fundamentos

de Sistemas

Operacionais

KLS

Dados Internacionais de Catalogação na Publicação (CIP)

Dauricio, Juliana Schiavetto

ISBN 978-85-8482-233-

  1. Sistemas operacionais (Computadores). I. Título.

CDD 005.

Schiavetto Dauricio. – Londrina : Editora e Distribuidora Educacional S.A., 2015. 256 p.

D243f Fundamentos de sistemas operacionais / Juliana

© 2015 por Editora e Distribuidora Educacional S.A

Todos os direitos reservados. Nenhuma parte desta publicação poderá ser reproduzida ou transmitida de qualquer modo ou por qualquer outro meio, eletrônico ou mecânico, incluindo fotocópia, gravação ou qualquer outro tipo de sistema de armazenamento e transmissão de informação, sem prévia autorização, por escrito, da Editora e Distribuidora Educacional S.A.

Presidente: Rodrigo Galindo Vice-Presidente Acadêmico de Graduação: Rui Fava Gerente Sênior de Editoração e Disponibilização de Material Didático: Emanuel Santana Gerente de Revisão: Cristiane Lisandra Danna Coordenação de Produção: André Augusto de Andrade Ramos Coordenação de Disponibilização: Daniel Roggeri Rosa Editoração e Diagramação: eGTB Editora

2015 Editora e Distribuidora Educacional S.A Avenida Paris, 675 – Parque Residencial João Piza CEP: 86041-100 — Londrina — PR e-mail: editora.educacional@kroton.com.br Homepage: http://www.kroton.com.br/

Unidade 1 | Introdução aos sistemas operacionais

Seção 1.1 - Definição, conceitos e histórico dos sistemas operacionais Seção 1.2 - Tipos de sistemas operacionais: monoprogramáveis, multiprogramáveis e multiprocessamento Seção 1.3 - Características dos sistemas operacionais multiprogramáveis Seção 1.4 - Exemplos de sistemas operacionais: Unix e Windows

7

9

27 41 55

Sumário

Unidade 2 | Processos e threads

Seção 2.1 - Introdução a processos: modelo, criação, término, hierarquia, estados, implementação e threads Seção 2.2 - Comunicação entre processos e problemas clássicos de comunicação entre processos Seção 2.3 - Introdução ao escalonamento: conceitos, tipos e escalonamento de threads Seção 2.4 - Algoritmos de escalonamento: características, políticas, tipos e exemplos

71

73

87

101

115

Unidade 3 | Sistema de arquivos

Seção 3.1 - Arquivos: atribuição de nomes, estrutura, tipos, acesso, atributos e operações Seção 3.2 - Diretórios: diretórios simples, sistemas de diretório hierárquico, nomes de caminho e operações Seção 3.3 - Introdução à implementação do sistema de arquivos. Virtualização do sistema de arquivos e registro Seção 3.4 - Introdução à segurança e mecanismos de proteção

131

133

149

163 177

Unidade 4 | Gerenciamento de dispositivos

Seção 4.1 - Gerenciamento de memória: conceitos, tipos, características e virtualização

193

195

Palavras do autor

Caro(a) aluno(a), bem-vindo à disciplina de Fundamentos de Sistemas Operacionais. Nesta unidade curricular, você será apresentado aos principais tópicos de sistemas operacionais, tais como: o contexto histórico e as responsabilidades desse software para o bom desempenho da máquina, inclusive no que tange ao gerenciamento de aplicativos, programas e arquivos. Com isso, ele também se torna responsável, por alocar e distribuir os recursos de memória e processamento de forma a otimizar e melhorar o desempenho da máquina.

A fim de evidenciar a importância de estudos desta unidade curricular, fica ainda a sugestão para que você visite quantas vezes achar necessário o material didático. O seu material é composto pelo livro didático, que apresenta os principais tópicos que deverão ser estudados para desenvolver os conhecimentos necessários para a sua aplicação; além desse, você também pode contar com a orientação das atividades apresentadas nas webaulas e, ainda, os momentos de orientação, mediação, explicação e interação que ocorrem no decorrer das aulas. Participe atentamente das atividades! A estrutura de seu livro didático contempla quadro unidades de ensino. São elas:

  • Introdução aos sistemas operacionais: apresenta todo o contexto histórico desses softwares.
  • Processos e threads : compreende os modelos de processos e o modo de compartilhamento de recursos.
  • Sistemas de arquivos: contempla alguns fatores, como alocação, virtualização, segurança e mecanismos de proteção.
  • Gerenciamento de dispositivos: expõe as formas de se entender as rotinas e as características desses processos.

Prezado estudante, mantenha uma rotina de estudos que lhe possibilite se dedicar aos processos de leitura, participação e realização das atividades propostas. É de extrema importância para que você obtenha sucesso tanto em construção e desenvolvimento de aprendizagem quanto em sua aplicação. Desde já, desejo a você bons estudos!

Introdução aos sistemas operacionais

U

8

um aparelho mobile ?. Todas essas são situações que podem permear os seus pensamentos ou mesmo o seu dia a dia profissional. Então, o conhecimento sobre essa importante ferramenta do ambiente computacional poderá facilitar algumas atividades, como a escolha de programas, aplicativos e dispositivos. Saber de sua compatibilidade e portabilidade também é bastante útil para a vida profissional, independente de sua área de atuação; esses são conhecimentos valiosos para a sua rotina. Já tentou baixar um aplicativo que foi desenvolvido para IOS (Apple-IPhone) em um sistema operacional Android (Google – demais marcas de aparelhos celulares)? Isso não será possível, mas por quê? Pois é, atualmente, há a necessidade de se conhecer alguns princípios e premissas necessárias até mesmo para o uso correto e mais potencializado do seu aparelho celular, por exemplo. Se você conhecer o sistema operacional desse equipamento, alguns problemas poderão ser evitados.

Então, pensando nesse contexto, o seu desafio, a partir desse ponto, já passa a ser encontrar a melhor solução no que tange à escolha de um sistema operacional, para uma empresa de pequeno porte, no início de suas atividades, inclusive de automatização de algumas rotinas. Sua maior atenção deverá ser encontrar, dentre os sistemas operacionais disponíveis no mercado, um que seja adequado à sua realidade profissional e que de fato esteja dentro de seu orçamento. Então, desde já, bons estudos e práticas!

Introdução aos sistemas operacionais

U

9

Seção 1.

Definição, conceitos e histórico dos sistemas

operacionais

Olá, aluno! Vamos, agora, iniciar os estudos em sistemas operacionais. Você, primeiramente, será apresentado a um breve levantamento histórico, o que o levará a compreender como surgiram e de que forma têm evoluído até os dias atuais. Nesse sentido, cabe resgatar de que forma o mercado de trabalho exige esse conhecimento.

A proposta é apresentar, avaliar e escolher, um sistema operacional que atenda às necessidades de uma empresa de consultoria acadêmica, de pequeno porte, cujo modelo de negócios é baseado em orientação escolar. Ela apresenta grande potencial no mercado e está no início de suas atividades. Em parceria com as escolas da cidade, precisará imediatamente implantar um sistema operacional que permita a instalação dos aplicativos para envio e recebimento de materiais e informações sobre a evolução dos alunos nas disciplinas indicadas.

A empresa, ainda, mantém-se conectada à internet todo o tempo, além de ter de compartilhar recursos, tais como o acesso à rede de computadores interna cabeada e sem fio; duas impressoras e uma máquina de fazer cópias de documentos.

Esses recursos e dispositivos precisam ser compartilhados com os professores e demais colaboradores da empresa. Além disso, há um software que é utilizado nas aulas, que sintetiza as informações trabalhadas e gera um relatório de aula, baseado nas informações que o próprio aluno compreendeu e registrou.

Perceba que vários são os seus desafios! Pergunte-se: “Qual sistema operacional consegue atender à necessidade de processamento, armazenamento e compartilhamento de recursos de que essa empresa de consultoria necessita?”. Sua primeira entrega será pautada em:

  • 1º: verificar qual é o sistema operacional utilizado na empresa atualmente, de forma a entender o seu funcionamento e, com isso, ter fundamentos para a escolha

Diálogo aberto

Introdução aos sistemas operacionais

U

11

O que a Figura 1.1 indica é a interação entre o usuário e o hardware , sendo essa facilitada através da interface dos sistemas operacionais.

Quanto à facilidade de acesso, o sistema operacional assume um papel de interface entre os usuários e o hardware , algo que é próprio dos sistemas operacionais, e a isso atribui-se o nome de máquina virtual.

Os sistemas operacionais também são responsáveis por gerenciar os recursos das máquinas. Isso significa que, mesmo sendo processos concorrentes, como vários usuários compartilhando uma impressora, ou, ainda, um usuário usando em seu computador um editor de texto, a internet e também uma calculadora, esse uso pode acontecer simultaneamente porque o sistema operacional está gerenciando os recursos de processamento e armazenamento de forma apropriada para que o desempenho da máquina permaneça estável.

Se analisarmos as funcionalidades, é possível dizer que os sistemas operacionais trabalham em camadas para a realização de suas tarefas: os usuários interagem com as aplicações, que interagem com o sistema operacional; esse, por sua vez, se comunica com os dispositivos de hardware. Veja a figura a seguir, que exibe esse modelo de comunicação em camadas que o sistema operacional pode exercer:

“Cabe, então, ao sistema operacional servir de interface entre os usuários e os recursos disponíveis no sistema computacional, tornando esta comunicação transparente, além de permitir um trabalho mais eficiente e com menores chances de erros” (MACHADO; MAIA, 2013, p. 4).

Reflita

Fonte: Machado e Maia (2013, p. 6) Fonte: Adaptado de Oliveira et al. (2010, p. 26)

Figura 1.2 | Máquina de camadas Figura 1.3 | Organização do sistema de Kernel e Microkernel

Aplicações Utilitários Sistema Operacional Linguagem de máquina Microprogramação Circuitos eletrônicos

Aplicações

Kernel

Microkernel

Hardware

Serviços de microkernel

Chamada de sistemas

Introdução aos sistemas operacionais

U

12

Para que os comandos possam ser interpretados pelas máquinas, que só processam informações em linguagem binária, ou seja, 0 e 1, todos os comandos, ações e operações exercidas precisam ser codificados, para que a máquina possa processar e exibir o resultado dessa ação. O programa do sistema operacional responsável por essa tarefa é o interpretador de comandos (OLIVEIRA et al., 2010). Assim que o usuário inicia sua sessão de trabalho, o interpretador recebe esses comandos e faz uma chamada de sistema, sendo o núcleo do sistema operacional, também chamado de Kernel. Ele é composto por um processador, memória, sistema de arquivos e é também responsável pela gerência dos dispositivos de entrada e saída. Veja como funciona na Figura 1.3 esse mecanismo. Kernel é o responsável, portanto, pelas chamadas do sistema, e o microkernel pelo gerenciamento dos serviços.

Agora que você já conheceu como é organizado o sistema computacional e o sistema operacional, vamos realizar um breve levantamento acerca da evolução dos sistemas operacionais.

O primeiro sistema operacional desenvolvido em 1953, conhecido como “monitor”, foi criado por uma equipe da General Motors que utilizava o computador IBM701. Esse sistema operacional, segundo Machado e Maia (2013), foi reescrito para o IBM704. Em 1950, as principais linguagens de programação, conhecidas como de “alto nível”, como FORTRAN e COBOL, deram espaço para que outras linguagens de programação fossem desenvolvidas, de forma a manter o foco sobre a interface entre usuários e máquinas, e não apenas à comunicação entre máquinas de processar e armazenar. Com isso, os sistemas operacionais também evoluíram, objetivando, principalmente, facilitar os processos de codificação, submissão, execução e depuração de softwares.

Em 1960, chegou a vez dos circuitos integrados, que permitiram a adesão de sistemas computadorizados pelas empresas. O primeiro motivo foi a diminuição dos equipamentos; o segundo, a consequente redução de custos. No entanto, os softwares precisavam acompanhar essas evoluções também, tornando-se mais acessíveis e amigáveis aos usuários. Com isso, essa década proporcionou avanços em sistemas operacionais, técnicas de programação, multiprocessamento, time-sharing e memória virtual.

Fonte: Machado e Maia (2013)

Quadro 1.1 | Desenvolvimento embrionário Sistemas Operacionais década 1950 Descrição Monitor – 1953 Primeiro sistema operacional. SOS (Share Operating System) FMS (Fortran Monitor System) IBSYS

Incorporou rotinas de processos de entrada e saída de dados conhecidos como IOCS-Input Output Control System. Usados em máquinas IBM.

Atlas

Desenvolvido pela Universidade de Manchester, que implementou esquema de paginação e hierarquia entre memória principal e secundária.

Introdução aos sistemas operacionais

U

14

passou a trabalhar com o conceito de multiprocessadores.

Fonte: Adaptado de Machado e Maia (2013)

Quadro 1.4 | Evolução dos sistemas operacionais IV Sistemas Operacionais década 1980 Descrição DOS (Disk Operating System) Comercializado e desenvolvido pela Microsoft.

Unix (Bekerley Software Distribution

  • BSD)

Nessa década, esse sistema operacional foi bastante estudado e melhorado na universidade de Berkeley – Califórnia. Esse sistema já contava com a programação compatível com a comunicação em rede através dos protocolos TCP/IP.

SunOs

Em 1982, a Sun Microsystems foi fundada e lançou esse sistema operacional, que, em seguida, passou a ser o Sun Solaris. Microsoft Windows Interface gráfica. OS/2 Interface gráfica. Mac OS Integrou a interface gráfica. Novell Netware Sistemacomputadores.^ operacional^ para^ gerenciamento^ de^ redes^ de

Microsoft LAN Manager Sistemacomputadores.^ operacional^ para^ gerenciamento^ de^ redes^ de

PLURIX – 1982 a 1986

Desenvolvido pelo Núcleo de Computação Eletrônica (NCE) da Universidade Federal do Rio de Janeiro. Utilizado no computador Pegasus do NCE. TROPIX Evoluçãodistribuído em versões gratuitas, seguindo a filosofia Unix.^ do^ PLURIX^ –^ multiusuário^ e^ multitarefa,^ era

Muitos avanços tecnológicos, tanto em hardware e software como em redes de computadores, marcaram os anos 1990. Os protocolos TCP/IP tiveram de ser padronizados, para que os acessos em rede e o seu controle pudessem ser realizados e otimizados pelos sistemas operacionais. Outro fator importante é a arquitetura de redes cliente/servidor, que permitiu o desenvolvimento de sistemas operacionais dedicados, ou seja, que passaram a controlar as demandas de integração com os servidores web (Apache), com os bancos de dados (MySQL), e, ainda, com os serviços de correios eletrônicos (SendMail) e administração de arquivos. Os sistemas operacionais SunSolaris, IBM-AIX e Unix HP-UX consolidaram-se no mercado corporativo. Confira, a seguir, um breve levantamento dos principais sistemas operacionais dessa década:

Quadro 1.5 | Evolução dos sistemas operacionais V Sistemas Operacionais década 1990 Descrição Microsoft Windows Predominaram o mercado nessa década. Unix Foi fortalecido como sistema operacional que fornecia maiorsegurança.

Introdução aos sistemas operacionais

U

15

Fonte: Adaptado de Machado e Maia (2013)

Quadro 1.6 | Evolução dos sistemas operacionais VI

Sistemas Operacionais década 2010 Descrição Symbiam OS Desenvolvido e utilizado predominantemente nos celulares daNokia. É multitarefa, eficiente em aplicações em tempo real e estável.

Windows Mobile

Integrado ao Microsoft Exchange Server, sincroniza e-mails e arquivos de computadores pessoais. Boa integração com dispositivos Microsoft, como Xbox 360 e o Zune.

Android

Desenvolvido pelo consórcio entre 47 empresas lideradas pelo grupo Google. É um sistema aberto. Suporta diversos padrões, como bluetooth, EDGE/ GSM, 3G, 4G e wi-fi.

Blackberry OS

Desenvolvida por Research In Motion (RIM). Pioneira em smartphones corporativos. Suporta sincronização com Microsoft Exchange, Lotus Domino/ Novell Group Wise, e serviços como e-mail, calendário, tarefas, notas e contatos, quando usados com o Blackberry Enterprise Server.

iOS

Apple, fundamento no Mac OS X. Divide-se em três partes: machine level software, que visa atender às demandas de ações dos usuários; o system level software, que responde às funções principais do sistema; e user level software, que visa atingir o nível de gerenciamento de ações de um único usuário. Versão 4.0 incorpora funções multitarefa. Interface amigável.

A década de 2000 também é um marco em desenvolvimento de softwares , hardwares e das telecomunicações e o seu crescimento, junto à ascensão dos notebooks , netbooks e, também, os celulares. Com esse desenvolvimento, a evolução da internet e suas inúmeras possibilidades de realização de transações comerciais disparou com os sistemas de busca como Google e ainda a consolidação das redes sociais. Basicamente, os mesmos sistemas operacionais da década de 1990 foram aprimorados e se tornaram, quanto à interface, ainda mais intuitivos e inteligentes. Passaram a ter procedimentos de atualização e correção de erros a partir da conexão com a internet, realizando verificações automáticas.

Em 2010, a novidade passou a ser a computação em nuvem, ou cloud computing , como é conhecida. Houve, também, uma vasta popularização de equipamentos celulares, tablets e smartphones em geral, o que corroborou com o surgimento de sistemas operacionais, como o Android da gigante Google, que veio para ficar e concorrer com o sistema operacional IOS de outra importante empresa, a Apple. Os principais sistemas operacionais para smartphones têm sido:

Fonte: Adaptado de Machado e Maia (2013)

Linux

Linus Torvalds (1991), em conjunto com outros desenvolvedores, melhorou o Kernel desse sistema operacional, que é atualmente bastante utilizado no setor público e nas faculdades e universidades. Windows NT Lançadoversões do DOS e os anteriores do Windows.^ em^1993 pela^ Microsoft,^ veio^ para^ substituir^ as

Introdução aos sistemas operacionais

U

17

Exemplificando

Introdução aos sistemas operacionais

U

18

Fonte: Disponível em: <www.tecmundo.com.br>. Acesso em: 16 jul. 2015