




























































































Estude fácil! Tem muito documento disponível na Docsity
Ganhe pontos ajudando outros esrudantes ou compre um plano Premium
Prepare-se para as provas
Estude fácil! Tem muito documento disponível na Docsity
Prepare-se para as provas com trabalhos de outros alunos como você, aqui na Docsity
Os melhores documentos à venda: Trabalhos de alunos formados
Prepare-se com as videoaulas e exercícios resolvidos criados a partir da grade da sua Universidade
Responda perguntas de provas passadas e avalie sua preparação.
Ganhe pontos para baixar
Ganhe pontos ajudando outros esrudantes ou compre um plano Premium
Comunidade
Peça ajuda à comunidade e tire suas dúvidas relacionadas ao estudo
Descubra as melhores universidades em seu país de acordo com os usuários da Docsity
Guias grátis
Baixe gratuitamente nossos guias de estudo, métodos para diminuir a ansiedade, dicas de TCC preparadas pelos professores da Docsity
(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
1 / 260
Esta página não é visível na pré-visualização
Não perca as partes importantes!
Dados Internacionais de Catalogação na Publicação (CIP)
Dauricio, Juliana Schiavetto
ISBN 978-85-8482-233-
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:
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
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
9
Seção 1.
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:
Introdução aos sistemas operacionais
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
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
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
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
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
17
Exemplificando
Introdução aos sistemas operacionais
18
Fonte: Disponível em: <www.tecmundo.com.br>. Acesso em: 16 jul. 2015