quinta-feira, 8 de janeiro de 2015

Aula 1 - Apresentação da Disciplina



Apresentação da Disciplina


·       Apresentação Individual / Expectativa
·       Motivação por um Curso Superior
·       Os 5%
·       O Valor do Conhecimento
·       O Trem
·       Dificuldades
·       PEA
·       ATPS
·       O Motor de um Carro

Ementa

·       Conceitos Básicos de Sistemas Operacionais: Processos, Organizações de Sistemas Operacionais, Chamadas de Sistema.
·       Gerência do Processador: Estados do Processo, Escalonamento
·       Entrada/Saída: Dispositivos controladores, Softwares de E/S, Interrupções, dependência e independência.
·       Gerência de Memória: Partições fixas e variáveis, paginação, segmentação, memória virtual.

Objetivo

·       Compreender a Estrutura de um Sistema Operacional e seus principais subsistemas. Conhecer o conceito de processos e threads,
·       Organização e Gerenciamento de memória, processador e sistemas de arquivos

Conteúdo Programático

·       Conceitos Básicos de sistemas Operacionais, uma visão geral;
·       Sistemas Monoprogramáveis / Monotarefa;
·       Sistemas Monoprogramáveis / Multitarefa.
·       Sistemas com Múltiplos processadores
·       Sistemas Fortemente acoplados
·       Sistemas fracamente acoplados
·       Estrutura do Sistema Operacional
·       Processo
·       Modelo de processo, estados, mudanças de Estados,
·       Subprocesso e Thread
·       Tipos de processos
·       Comunicação entre processos
·       Especificação de concorrência em programas
·       Problemas de compartilhamento de recursos
·       Problemas de sincronização
·       Deadlock
·       Gerência de Processador
·       Critérios de Escalonamento
·       Escalonamento Não-preemptivo
·       Escalonamento preemptivo
·       Escalonamento com múltiplos processadores
·       Gerência de Memória
·       Alocação Contígua Simples
·       Alocação Particionada
·       Memória Virtual
·       Segmentação, segmentação com paginação
·       Proteção
·       Compartilhamento de Memória
·       Sistema de Arquivos
·       Organização de Arquivos
·       Métodos de Acesso, operações de I/O e Atributos
·       Diretórios
·       Alocação de espaço em disco
·       Proteção de acesso
·       Implementação de Cachês
·       Gerência de dispositivos
·       Operações de I/O
·       Subsistemas de I/O
·       Device Drivers
·       Controladores
·       Dispositivos de Entrada e Saída.

Procedimentos Metodológicos

·       Aulas Expositivas
·       Exercícios Práticos
·       Estudos em Grupo
·       Seminários
·       Atividades em laboratório de hardware

Bibliografia

MACHADO, Francis Berenger; MAIA, Luiz Paulo. Arquitetura de Sistemas Operacionais. 1ª ed. Rio de Janeiro: LTC – Livros Técnicos e Científicos, 2008
TANENBAUM, Andrew S. Sistemas Operacionais Modernos. 2ª Ed. São Paulo: Pearson – Prentice Hall, 2008
SILBERSCHATZ, Abraham. Fundamentos de Sistemas Operacionais. 6ª ed. Rio de Janeiro: LTC – Livros Técnicos e Científicos, 2004



INTRODUÇÃO

“Não basta ensinar ao homem uma especialidade, porque se tornará assim uma máquina utilizável, mas não uma personalidade. É necessário que adquira um sentimento, um senso prático daquilo que vale a pena ser aprendido, daquilo que é belo, do que é moralmente correto. A não ser assim, ele se assemelhará, com seus conhecimentos profissionais, mais a um cão ensinado do que a uma criatura harmoniosamente desenvolvida. Deve aprender a compreender as motivações dos homens, suas quimeras e suas angústias, para determinar com exatidão seu lugar preciso em relação a seus próximos e à comunidade.”
Albert Einstein (1879-1955)

Visão Geral

Um Sistema Operacional é um conjunto de rotinas executado pelo processador.
Sua principal função é controlar o funcionamento de um computador, gerenciando a utilização e o compartilhamento dos seus diversos recursos, como processadores, memórias e dispositivos de entrada e saída.
Sem o sistema operacional, um usuário para interagir com o computador deveria conhecer profundamente diversos detalhes sobre hardware do equipamento, o que tornaria seu trabalho lento e com grandes possibilidades de erros. As duas principais funções são “facilidade de acesso aos recursos do sistema” e “compartilhamento de recursos de forma organizada e protegida”.
Portanto, o Sistema Operacional tem como objetivo funcionar como uma interface entre o usuário e o computador, tornando a sua utilização mais simples, rápida e segura.
Suas rotinas são executadas concorrentemente em função de eventos assíncronos, ou seja, eventos que podem ocorrer a qualquer momento.

Funções Básicas

·       Facilidade de acesso aos recursos do sistema. Cabe ao Sistema Operacional servir de interface entre os usuários e os recursos disponíveis no sistema computacional, tornando esta comunicação transparente. 

·       Compartilhamento de recursos de forma organizada e protegida. Em sistema onde diversos usuários compartilham recursos do sistema computacional, é necessário controlar o uso concorrente desses recursos. Se pensarmos que um computador pessoal nos permite executar diversas tarefas ao mesmo tempo, como imprimir um documento, copiar um arquivo pela Internet ou processar uma planilha, o sistema operacional deve ser capaz de controlar a execução concorrente de todas essas atividades.

Máquina de Camadas


O computador pode ser visualizado como uma máquina de camadas, onde inicialmente existem duas camadas: Hardware (nível 0) e sistema operacional (nível 1). Desta forma, o usuário pode enxergar a máquina como sendo apenas o sistema operacional, ou seja, como se o hardware não existisse. Esta visão modular e abstrata é chamada máquina virtual. A vantagem desse conceito é tornar a interação entre o usuário e computador mais simples, confiável e eficiente.

Desta forma o computador pode ser visualizado como uma máquina de níveis ou máquina de camadas, possuindo tantos níveis quantos forem necessários para adequar o usuário às suas diversas aplicações. Quando o usuário está trabalhando em um desses níveis, não necessita saber da existência das outras camadas. Com isso a interação entre o usuário e computador apresenta-se mais simples.

Atividade 1

1.     O que é um Sistema Operacional?
2.     Como seria utilizar um computador sem um sistema operacional?
3.     Quais são suas duas principais funções?
4.     Quais as principais dificuldades que um programador teria no desenvolvimento de uma aplicação em um ambiente sem um sistema operacional?
5.     O que é uma máquina virtual?
6.     Qual a grande vantagem em utilizar o conceito de máquina virtual?
      O que significa o conceito de "Maquina de Camadas" ?

Nenhum comentário:

Postar um comentário