quarta-feira, agosto 25, 2010

Sistemas Operacionais Abertos

Primeira Aula
  • O que é um sistema Operacional, informações sobre a disciplina, bibliografia, ementa.
  • Chamadas de sistema
  • Linux: Histórico, Distribuições, Licenças. Prática de instalação de uma Distribuição (Ubuntu 10.04) e instalação de programas (usando o instalador de programas Synaptic)


Sistema Computacional: Hardware, Sistema Operacional e Programas de Aplicação

Esquema:
Aplicativos em geral
Compiladores | Shell | Desktop
Sistema Operacional
Linguagem de Máquina
Micro-Arquitetura
Dispositivos Físicos

O que é um Sistema Operacional (SO) ?
  • O SO é um computador virtual, que esconde das aplicações o hardware, fornecendo aos programas uma interface comum.
  • O SO gerencia os recursos de hardware, permitindo que estes sejam acessados pelos programas.
Tipos de Sistemas Operacionais
  • De servidores (UNIX (BSD, OpenSolaris)m Windows Server, Linux
  • De Multi-Processadores (UNIX, Linux)
  • Computadores Pessoais (Windows, MAC OS X, Linux)
    • Nova Geração: Android, Meego, Chrome OS (é tudo Linux)
  • Tempo Real (VxWorks, IOS, Linux)
  • Embarcados (Windows CE, JAVA ME, Linux, Symbian, Iphone OS, Android, Meego
Conceitos de Sistemas Operacionais e Nossa Ementa
  • Processos
  • Impasses (Deadlocks)
  • Gerenciamento de Memória
  • Entrada e Saída
  • Sistema de Arquivos
  • Segurança
Introdução: Chamadas de sistemas(syscalls)
O sistema Operacional separa o modo de operação dos programas em modo kernel e modo usuário. O Hardware inclusive faz esta distinção, se o sistema operacional quiser. Todos os SO querem isto. Deste modo os SO atendem requisições dos programas em espaço de usuário, atuando no espaço de kernel, e retornando ao espaço de usuário. A interface que conecta os dois modos são as chamadas de sistema (ou "ao sistema").

Exemplo: Lendo dados de um disco
No espaço de usuário, faremos algumas ações:

Primeiro, o que o programa faz
  • 1 - Armazena nbytes na pilha (que serão escritos)
  • 2 - Armazena &buffer na pilha (endereço de buffer)
  • 3 - Armazena fd na pilha (fd = descritor de arquivo, sua identificação)
  • 4 - Chama read
  • 5 - Incrementa SP (ou limpa a pilha do que não é mais necessário)
Segundo, o que a chamada a read faz
  • 6 - Coloca o código para read no registrador
  • 7 - Trap para o Núcleo
  • 8 - Retorna a quem chamou
No espaço de kernel, outras ações são tomadas:
  • 9 - Despacho
  • 10 - Acesso Físico
  • 11 - Rotinas de Tratamento da syscall
Qual é a ordem das ações ?
  • Primeiro, temos os passos 1, 2 e 3.
  • O Passo 4 chama o passo 6.
  • O Passo 7 faz um trap e manda para o kernel a execução, ou seja, vai para 9.
  • Os passos 9, 10 e 11, feitos em espaço de kernel, são realizados sequencialmente.
  • O kernel retorna para 8, que irá retornar ao programa de usuário, desbloqueando este, no passo 5.
Quais chamadas de sistema iremos ver neste curso ?

Muitas. Primeiro as que tratam de processos, porque é o primeiro tópico. Depois as de memória,e assim por diante.

As chamadas de sistema que usaremos, e as rotinas de biblioteca que as usam, estão em C. Logo, trabalharemos em linguagem C.

Nenhum comentário: