Académique Documents
Professionnel Documents
Culture Documents
Sistemas Operacionais
Sobre o professor
Pesquisador no NP2TEC/UNIRIO (desde 2009) Professor na FES/JF (desde 2007) Coordenador do curso de Tecnologia em Redes de Computadores (desde 2010) Analista de sistemas em empresa privada (1999-2011) Certificado em Qualidade de Software (PROQUALITI) Mestrando em Informtica (UNIRIO) Especialista em Melhoria de Proc. de Software (UFLA) Tecnlogo em Processamento de Dados (CES/JF) Tcnico em Informtica Industrial (UFJF/CTU)
Sistemas Operacionais
Sistemas Operacionais
Contextualizao da disciplina
Ensinar os fundamentos de sistemas operacionais Relacionar os fundamentos a tarefas e problemas conhecidos nas implementaes mais usuais Possibilitar a soluo de problemas com fundamentao terica Possibilitar a soluo de problemas fazendo bom uso das caractersticas de cada sistema Fornecer grau de conhecimento que diferencie profissionais com uma formao adequada dos demais
Sistemas Operacionais
Ementa
Conceitos fundamentais de Sistemas Operacionais Relaes entre os sistemas operacionais conhecidos e respectiva classificao Conceitos de unidade de alocao Carga e execuo de um programa (processos e threads) Concorrncia e sincronizao entre processos Mecanismos de gerncia de recursos Sistema de arquivos
Sistemas Operacionais
Objetivos gerais
Compreender os conceitos e caractersticas dos Sistemas Operacionais Relacionar as atividades executadas pelo processador e demais componentes de um sistema de computao Compreender os componentes necessrios ao projeto dos sistemas operacionais Relacionar os mdulos de um sistema operacional com as atividades exercidas pelo usurio
Sistemas Operacionais
Objetivos especficos
Classificar adequadamente um sistema operacional Compreender os conceitos e estados de processos e threads Entender os mecanismos de alocao do processador Identificar problemas de concorrncia Identificar problemas de alocao de memria Entender os princpios de funcionamento de memria virtual Relacionar as atividades do sistema com questes de desempenho Entender o funcionamento de dispositivos de E/S Entender a interface de dispositivos de E/S com o usurio e com o sistema operacional Implementar regras de segurana de arquivos
Sistemas Operacionais
Unidades
Unidade I - Introduo a Sistemas Operacionais Unidade II - Processos Unidade III Gerncia de processador Unidade IV - Gerncia de Memria Unidade V - Gerncia de Entrada e Sada Unidade VI - Sistema de Arquivos
Sistemas Operacionais
Sistemas Operacionais
Unidade II Processos
Conceito de Processo Estados de um processo Threads Comunicao entre Processos Sincronizao entre Processos
Sistemas Operacionais
Sistemas Operacionais
Sistemas Operacionais
Sistemas Operacionais
Sistemas Operacionais
Bibliografia
Ttulo : Arquitetura de Sistemas Operacionais Autores : Francis Berenger Machado e Luiz Paulo Maia Editora : LTC Ano: 2007 Edio: 4 Ttulo : Fundamentos de Sistemas Operacionais Autores : Silberschatz, Galvin e Gagne Editora : LTC Ano: 2009 Edio: 6
Sistemas Operacionais
Mapa conceitual
<arquivo anexo>
Sistemas Operacionais
Sistemas Operacionais
Objetivos
Compreender as funes de um sistema operacional Entender a posio que um sistema operacional ocupa em um sistema computacional Conhecer os componentes de um sistema operacional Conhecer a evoluo histrica dos sistemas operacionais Diferenciar os tipos de sistemas operacionais existentes Compreender a importncia de conhecer o funcionamento de um sistema operacional para soluo de problemas
Componentes bsicos
Interface com usurio Gerncia de processador Gerncia de memria Gerncia de dispositivos Sistema de arquivos
Componentes avanados
Segurana de acesso Ferramentas de auditoria
Funes bsicas:
Facilitar acesso aos recursos do sistema Compartilhar recursos de forma organizada e protegida
U su r ios
Sistem a O p eracio na l
m em r ia H ar dw ar e U CP
d iscos
fitas
im pr essora s
m o nitor es
Utilitrios
Sistema Operacional
Linguagem de Mquina
Microprogramao
Circuitos Eletrnicos
Dcada de 1940:
Primeiros computadores eletromecnicos (calculadoras) Eram formados por milhares de vlvulas Ocupavam reas enormes Lentos e de funcionamento duvidoso Utilizados basicamente para aplicaes militares (clculos matemticos)
Mark I
ENIAC
EDSAC
Outros:
EDVAC ORDVAC ELLIAC WEIZAC
Dcada de 1950:
Transistor substitui vlvula e memria magntica passa a ser usada: Processamento mais rpido e confivel Acesso a dados mais rpido Maior capacidade de armazenamento Computadores menores Empresas da poca: Raytheon, RCA, Burroughs e IBM Programas passam a ser perfurados em cartes, ao invs de serem codificados diretamente na mquina
relatrio n
P rocessamento
relatrio 2 relatrio 1
relatrios
Linguagens de programao evoluem Sistemas operacionais evoluem: Facilitao do trabalho de codificao, submisso, execuo e depurao de programas SOs passam a ter seu prprio conjunto de rotinas para operaes de E/S Programadores no precisam mais implementar rotinas de leitura/gravao para cada tipo de hardware (independncia de dispositivos) Sistemas operacionais da poca: SOS (SHARE Operating System), FMS (FORTRAN Monitor System) e IBSYS (todos para mquinas IBM)
Dcada de 1960:
Reduo dos custos: difuso de computadores nas empresas (antes restritos a aplicaes militares e governamentais) Aumento de poder de processamento e diminuio de tamanho dos computadores Introduo das tcnicas de multiprogramao, multiprocessamento, time-sharing e memria virtual Substituio de fitas (sequenciais) por discos magnticos: a ordem de execuo dos programas batch pode ser facilmente alterada
Dcada de 1970:
Principal SO: CP/M (Control Program Monitor), da Digital Research Surgimento dos microprocessadores Surgimento dos microcomputadores Destaque para a criao da Apple e da Microsoft Criao da linguagem de programao PASCAL Criao da linguagem de programao C
Dcada de 1980:
IBM entra na briga pelo mercado de PCs, com o IBM PC, utilizando o sistema operacional DOS, comercializado pela Microsoft (muito semelhante ao CP/M) Difuso de sistemas multiusurio Universidade de Berkeley desenvolve sua prpria verso do UNIX (BSD Berkeley Software Distribution) Destaque para a criao do protocolo TCP/IP Principais Sos da poca DOS (Microsoft) SunOS (Sun) Sun Solaris (Sun) Windows (Microsoft): interface grfica OS/2: interface grfica
Dcada de 1990:
Consolidao dos SOs baseados em interface grfica Difuso das famlias Windows, Unix e Linux Difuso do softwara aberto (MySQL, Apache, Linux...) Consolidao de SOs para ambientes corporativos: Windows NT e Unix (HP-UX, IBM-AIX, Sun Solaris)
Dcada de 2000:
Evoluo do multiprocessamento Introduo do conceito de processamento distribudo Sistemas operacionais cada vez mais simples e intuitivos Forte uso de linguagem natural, som e imagem
2010 em diante: possivelmente haver grande propagao de sistemas operacionais para dispositivos mveis
T o d ip s e S te a O e c na is m s p ra io is
S te a is m s M no ro o p gram ve / is M no re o ta fa
S te a is m s c omM ltip s lo P c s a re ro e s do s
Monoprogramveis/monotarefa:
Gerenciam apenas uma tarefa por vez Todos os recursos computacionais (CPU, memria e dispositivos de E/S) so alocados para um nico programa Mesmo que o processador esteja ocioso aguardando por uma operao de E/S (digitao/impresso de um dado, por exemplo), nenhum outro programa executado Foram utilizados nos primeiros computadores da dcada de 1960 e voltaram a ser usados nos computadores pessoais da dcada de 1970
UCP
programa/ tarefa
Memria Principal
Dispositivos de E/ S
Multiprogramveis/multitarefa:
Antes o processador ficava ocioso enquanto aguardava pela leitura ou gravao em um dispositivo de E/S Em sistems multiprogramveis os recursos computacionais so utilizados por diferentes programas Quando o processador est ocioso (geralmente aguardando por uma operao de E/S), outro programa pode ser processado Garantem um uso muito mais otimizado dos recursos do que os sistemas monotarefa, entretanto sua implementao muito mais complexa
programa/ tarefa
UCP
programa/ tarefa
Memria Principal
Dispositivos de E/ S
programa/ tarefa
programa/ tarefa
programa/ tarefa
Sistemas batch:
So tambm sistemas multitarefa Foram implementados no incio da dcada de 1960 Os programas (tambm conhecidos como jobs) eram submetidos execuo atravs de cartes perfurados e armazenados em disco ou fica Em seguida os programas aguardavam sua execuo As sadas eram gravadas em outra fita Nesses sistemas a interao com o usurio no era necessria
Sistemas on-line:
So tambm sistemas multitarefa Permitem a interao com o usurio Normalmente o tempo de resposta para o usurio baixo
Famlia Windows
Verso Windows 1.0 Data 1985 Verso Windows NT Server 4.0 Data 1996
Windows 2.03
Windows 2.86 Windows 3.0 Windows 3.1
1987
1989 1990 1992
Windows 98
Windows 2000 Windows 2000 Server Windows Me Windows XP
1998
2000 2000 2000 2001
Windows 3.11
Windows 3.51 workstation Windows 95 Windows NT 4
1993
1995 1995 1996
2003
2006 2009
Windows 95 (1995)
Windows 98 (1998)
Windows Me (2000)
Windows XP (2001)
Windows 7(2009)
Reviso
1. Ao longo do curso foram apresentadas diferentes definies para sistemas operacionais. Neste contexto, defina o que voc compreendeu por ser um sistema operacional. 2. De acordo com o que foi estudado, um sistema operacional desempenha duas funes fundamentais para os sistemas computacionais. Descreva e explique essas funes. 3. Explique a diferena entre sistemas operacionais monotarefa e multitarefa. 4. Explique a diferena entre sistemas monousurio e multiusurio. 5. No contexto de sistemas operacionais, multitarefa tem o mesmo significado que multiprocessado? Explique. 6. Pode-se dizer que todo sistema operacional multiusurio multitarefa? Explique. 7. Um sistema multitarefa , necessariamente, um sistema multiusurio? Explique.
Objetivos
Compreender os fundamentos de sistemas concorrentes Entender a importncia e o funcionamento dos mecanismos de interrupo Identificar as estruturas existentes de sistemas operacionais Entender o funcionamento de uma chamada ao sistema (system call)
Concorrncia
Segundo Pinkert (1990), sistema operacional pode ser definido comoconjuntoderotinasexecutadasdeformaconcorrentee ordenada Desta forma, o conceito de concorrncia fundamental para a implementao da multiprogramao Possibilita que instrues sejam executadas ao mesmo tempo que outras operaes (ex.: E/S)
Monoprogramao x multiprogramao
E /S
E /S
U P C
liv re
U P C
te p mo
Interrupes e excees
Durante a execuo de um programa podem ocorrer eventos inesperados Esses eventos podem causar um desvio forado no fluxo de execuo de um programa Tais eventos so conhecidos por interrupo ou exceo
Utilitrios
Hardware
S s mC ll y te a
N le d c o o S te a O ra io is m pe c nal
H rd a a w re
A lic p a o
B iblio c te a
- A API GetSystemTime obtm a data e hora do MS Windows - A funo SystemTimeToDateTime converte a data e a hora para o formato DataHoraT do Delphi - A funo DateTimeToStr converte para o formato texto - A ltima linha exibe a data e a hora em uma janela
Hardware
Microkernel
Hardware
me ns ag
em ag ns me em
Referncias
EVOLUTION of Microsoft Windows 1985-2009. Hongkiat.com. Disponvel em: http://www.hongkiat.com/blog/evolution-of-microsoftwindows-1985-2009/. Acesso em 26/10/2010.