Loading presentation...

Present Remotely

Send the link below via email or IM

Copy

Present to your audience

Start remote presentation

  • Invited audience members will follow you as you navigate and present
  • People invited to a presentation do not need a Prezi account
  • This link expires 10 minutes after you close the presentation
  • A maximum of 30 users can follow your presentation
  • Learn more about this feature in our knowledge base article

Do you really want to delete this prezi?

Neither you, nor the coeditors you shared it with will be able to recover it again.

DeleteCancel

Make your likes visible on Facebook?

Connect your Facebook account to Prezi and let your likes appear on your timeline.
You can change this under Settings & Account at any time.

No, thanks

Untitled Prezi

No description
by

Marcelo Monier

on 7 July 2015

Comments (0)

Please log in to add your comment.

Report abuse

Transcript of Untitled Prezi

Programas de Sistema
Sistema Operacional na Visão de Projeto
Sistemas Operacionais
Prof. Marcelo Monier Jr.
O kernel ou núcleo é a parte do SO que implementa as chamadas ao sistema. As atividades normalmente atribuídas ao kernel são: (a) criação, agendamento e finalização de processos; (b) alocação e liberação de memória; (c) controle do sistema de arquivos; (d) operações de entrada e saída com dispositivos periféricos, acesso à memória, entre outros. A implementação do kernel pode ser organizada de diferentes maneiras, tais como:
Bibliografia
[1] OLIVEIRA, R. S.; CARISSIMI, A. S. e TOSCANI, S. S. Sistemas Operacionais. Sagra Luzzatto, Porto Alegre, 2001. (Cap. 1)

[2] TANENBAUM, A. S. Sistemas Operacionais Modernos. Prentice Hall, 2ª Edição, 2003.
Introdução aos Sistemas Operacionais
Kernel
Sistema Operacional na Visão do Usuário
Definições
Corresponde a imagem que o usuário tem do sistema operacional, definida pela interface através do qual o usuário acessa os serviços do sistema. Todo computador pode ser visto como uma máquina composta por níveis ou camadas. Nesta abordagem podemos visualizar o hardware como sendo a camada de mais baixo nível (nivel 0), logo acima o sistema operacional (nível 1) e, posteriormente, a camada de aplicação (nível 2); conforme ilustrado nas Figuras 1 e 2.
O sistema operacional é uma camada de software colocada sobre o hardware para gerenciar todos os componentes do sistema (processadores, memória, discos, interface de rede, entre outros) de maneira otimizada. O sistema operacional busca oferecer uma interface mais amigável aos usuários em relação às operações associadas a cada componente da máquina.
O sistema operacional é um programa qua atua como intermediário entre o usuário e o hardware de um computador. O propósito de um sistema operacional é oferecer um ambiente na qual os usuários possam executar programas. O principal objetivo de um sistema operacional é, portanto, tornar o uso do sistema de computação conveniente. Uma meta secundária é usar o hardware de forma eficiente.
Sempre que o usuário necessita realizar alguma operação sobre qualquer componente do sistema
computacional ele recorre ao sistema operacional. Assim, não precisamos conhecer os detalhes associados a cada componente do hardware.
Serviços oferecidos pelo sistema operacional
Irá depender do sistema operacional considerado. Entretanto, existe um conjunto básico de serviços oferecidos por quase todos os sistemas operacionais. Assim, um sistema operacional deve
oferecer:
1. Meios para que um programa seja carregado em memória e executado.

2. Sistema de arquivos, permitindo criar, ler, escrever e destruir arquivos.

3. Interface de acesso aos periféricos (impressoras, fitas, discos, etc).
4. Mecanismos de monitoração de recursos, capazes de identificar possíveis gargalos no sistema.

5. Meios para armazenar/manter o estado do sistema.

6. Mecanismos de compartilhamento de hardware por usuários => necessidade de algum tipo de proteção.
Chamadas de Sistema
Existem diferentes tipos de chamadas de sistemas e cada sistema operacional implementa um conjunto distinto relacionado as seguintes atividades:

1. chamadas de sistema para gerenciamento de processos: fork, waitpid, execve, exit, etc.

2. chamadas de sistema para gerenciamento de arquivos: open, close, read, write, seek, etc.

3. chamadas de sistema para gerenciamento do sistema de diretórios: mkdir, rmdir, link, mount, umount, etc.

4. chamadas de sistema diversas: chmod, kill, time, etc.
1. Monolítica: BSD, Linux, Solaris, MS-DOS e derivados, incluindo Windows 95, Windows
98 e Windows ME.

2. Híbrida: BeOS, Windows NT, XNU.

3. Microkernel: Minix;

4. Exokernel.

5. Camadas.
São programas normais, também chamado de utilitários, executados fora do kernel do SO que
utilizam as chamadas de sistema para realizarem suas funções. Exemplos: Windows Explorer, Interpretador de Comandos (DOS ou UNIX) ou Interface Gráfica de Usuário (Windows).
Na visão de projeto a preocupação é com a organização interna do SO, ou seja, como os serviços são implementados. Na solicitação de algum serviço corresponde a uma chamada de sistema que deverá ser tratada pelo SO quais serão as atividades envolvidas no processo e como serão implementadas. Exemplo: na leitura de um registro de arquivo em disco o SO envia comandos à controladora do disco e o programa espera a resposta. Concluída a leitura o SO é informado pela controladora e o programa pode retornar sua execução normal.
1. Como seria utilizar um computador sem um sistema operacional? Quais são suas duas principais funções?

2. Muitos sistemas operacionais atuais são projetados para operar em redes de computadores. Cite algumas vantagens e desvantagens dessa operação em rede, quando comparada com a operação clássica (stand-alone)?

3. Por quê a organização do sistema computacional em camadas é fundamental para odesenvolvimento e evolução dos elementos de hardware e também de software?

4. Pesquise e explique as formas como o kernel pode ser organizado.

5. Explique o que é uma chamada de sistema e pesquise exemplos que não foram citados no texto.
Exercícios
OBRIGADO!
Full transcript