31
Introdução Introdução Introdução Introdução Introdução Introdução Introdução Introdução Disciplina: Sistemas Operacionais Prof. Etelvira Leite

Sistemas Operacionais - Introdução

Embed Size (px)

Citation preview

Page 1: Sistemas Operacionais - Introdução

IntroduçãoIntroduçãoIntroduçãoIntroduçãoIntroduçãoIntroduçãoIntroduçãoIntroduçãoDisciplina: Sistemas Operacionais

Prof. Etelvira Leite

Page 2: Sistemas Operacionais - Introdução

Sistemas OperacionaisSistemas Operacionais

O sistema operacional é um software situado entre ohardware e as aplicações para gerenciar todos osrecursos do sistema (memória, processador, discos,impressoras e outros dispositivos) de forma organizadae otimizada. É um software que habilita as aplicações ainteragirem com o hardware de um computador.interagirem com o hardware de um computador.

Para atingir os objetivos propostos, o sistemaoperacional oferece diversos tipos de serviços. Todosistema operacional oferece meios para que umprograma seja carregado na memória principal eexecutado. Talvez o serviço mais importante oferecidoseja o que permite a utilização de arquivos e diretórios.

Page 3: Sistemas Operacionais - Introdução

Sistemas OperacionaisSistemas Operacionais

Os programas solicitam serviços ao sistemaoperacional através das chamadas de sistema. Elas sãosemelhantes às chamadas de sub-rotinas. Entretanto,enquanto as chamadas de sub-rotinas sãotransferências para procedimentos normais doprograma, as chamadas de sistema transferem aprograma, as chamadas de sistema transferem aexecução para o sistema operacional. Através deparâmetros, o programa informa exatamente o quenecessita. O retorno da chamada de sistema, assimcomo o retorno de uma sub-rotina, faz com que aexecução do programa seja retomada a partir dainstrução que segue a chamada.

Page 4: Sistemas Operacionais - Introdução

Sistemas OperacionaisSistemas Operacionais

Para o programador assembly (linguagem demontagem), as chamadas de sistema são bastantevisíveis. Por exemplo, o conhecido "INT 21H" noMSDOS. Em uma linguagem de alto nível, elas ficamescondidas dentro da biblioteca utilizada pelocompilador. O programador chama sub-rotinas de umacompilador. O programador chama sub-rotinas de umabiblioteca, e estas chamam o sistema. Por exemplo,qualquer função da biblioteca que acesse o terminal(como printf() na linguagem C) exige uma chamada desistema.

Page 5: Sistemas Operacionais - Introdução

Sistemas OperacionaisSistemas Operacionais

A parte do sistema operacional responsável porimplementar as chamadas de sistema é normalmentechamada de núcleo ou kernel . Esse núcleo (kernel )tem a responsabilidade de gerenciar os diversosrecursos presentes no sistema operacional. Osprincipais componentes do kernel de qualquer sistemaprincipais componentes do kernel de qualquer sistemaoperacional são a gerência de processador, agerência de memória, o sistema de arquivos e agerência de entrada e saída . Cada um dessescomponentes será descrito nos próximos slides.

Page 6: Sistemas Operacionais - Introdução

Sistemas OperacionaisSistemas Operacionais

Como gerenciadorde recursos, umsistema operacional écomposto de váriosmódulos comfuncionalidadesfuncionalidadesdistintas. Cadamódulo é responsávelpor gerenciar umaparticularidade dosistema. E o que podeser visto nesta figura:

Page 7: Sistemas Operacionais - Introdução

Sistemas OperacionaisSistemas Operacionais

• Gerência do processador – visa a distribuir acapacidade de processamento (uso de CPU) de formajusta. Deve-se lembrar que algumas aplicaçõesdemandam mais processamentos que outras (navegadorde Internet versus processamento de vídeo, porexemplo).exemplo).

• Gerência de memória – tem como função fornecer, acada aplicação, um espaço próprio de memória,independente e isolado das demais aplicações.Responsável também pelo uso do disco como memóriacomplementar (swap), neste caso, a aplicaçãodesconhece o tipo da memória em uso.

Page 8: Sistemas Operacionais - Introdução

Sistemas OperacionaisSistemas Operacionais

• Gerência de dispositivos – cada periférico docomputador possui suas peculiaridades; logo, temosvários dispositivos diferentes, mas com problemascomuns.

• Gerência de arquivos – construída sobre a gerênciade dispositivos, possibilita criar abstrações de arquivos ede dispositivos, possibilita criar abstrações de arquivos ediretórios.

• Gerência de proteção – políticas de acesso e uso dosistema operacional. Está disponível no maior dossistemas operacionais. Permite a definição de usuários,grupos de usuários e registro de recursos por usuários.

Page 9: Sistemas Operacionais - Introdução

Sistemas OperacionaisSistemas Operacionais

• Interface gráfica – a interação com o usuário se faznecessária, assim a maioria dos sistemas operacionaisapresentam “telas”, nas quais pode-se informar aosistema operacional qual a operação que ele deveráfazer.

• Suporte de rede – a comunicação em rede é,• Suporte de rede – a comunicação em rede é,atualmente, essencial ao mundo dos computadores.Assim, o gerenciamento dessas comunicações se faznecessário e é realizado sob uma abstração do sistemaoperacional sobre os dispositivos físicos, como placasde redes ou modems.

Cada sistema operacional tem suascaracterísticas, ou seja, alguns sistemas podem oferecermais recursos que outro.

Page 10: Sistemas Operacionais - Introdução

Sistemas OperacionaisSistemas Operacionais

• Outros suportes – há sistemas operacionais para osmais diversos usos. Sistemas de uso geral (quepermitem ao usuário ouvir músicas, navegar na Internet,editar textos) normalmente têm mais recursos paragerência de multimídia. Sistemas de uso específico (quepossibilitam o controle de uma usina nuclear, porpossibilitam o controle de uma usina nuclear, porexemplo) possuem outras características específicas,tais como tempo de resposta ou suporte a um hardwareespecial. Nestes casos, o sistema operacional é maisenxuto e tem menos módulos de gerência

.

Cada sistema operacional tem suas características,ou seja, alguns sistemas podem oferecer mais recursosque outro.

Page 11: Sistemas Operacionais - Introdução

Objetivo de um Sistema Objetivo de um Sistema OperacionalOperacional

No nível mais simples, o sistema operacional realizaduas tarefas:

1. Gerencia os recursos de hardware e software dosistema. Em um computador, esses recursos incluem oprocessador, a memória, o espaço em disco etc. Em umtelefone celular, o sistema operacional gerencia otelefone celular, o sistema operacional gerencia oteclado, a tela, a agenda, a bateria e a conexão de rede;

2. Proporciona uma maneira estável e consistentepara lidar com o hardware, sem ter de conhecer todos osdetalhes do hardware.

Page 12: Sistemas Operacionais - Introdução

Objetivo de um Sistema Objetivo de um Sistema OperacionalOperacional

A primeira tarefa, ou seja, o gerenciamento derecursos de software e hardware é uma tarefaextremamente importante. Diversos programas emétodos de entrada de dados competem pela atençãoda CPU (Unidade Central de Processamento) eda CPU (Unidade Central de Processamento) edemandam memória, espaço em disco e largura debanda de entrada/saída. O sistema operacional faz comque cada aplicativo tenha os recursos necessários parao funcionamento e gerencia a capacidade limitada dosistema para atender a todos os usuários e aplicativos.

Page 13: Sistemas Operacionais - Introdução

Objetivo de um Sistema Objetivo de um Sistema OperacionalOperacional

A segunda tarefa é fornecer uma interface consistentepara os aplicativos. A interface é especialmenteimportante se mais de um tipo de computador utiliza osistema operacional ou se o hardware do computador éconstantemente atualizado. Uma API (Applicationconstantemente atualizado. Uma API (ApplicationProgram Interface - Interface de Programação deAplicativos) permite que o desenvolvedor do softwareescreva um programa em um computador e tenha umalto nível de segurança de que este aplicativo vai rodarem outro computador do mesmo tipo, mesmo que aquantidade de memória e a área de armazenamentosejam diferentes.

Page 14: Sistemas Operacionais - Introdução

Objetivo de um Sistema Objetivo de um Sistema OperacionalOperacional

Mesmo que um computador seja único, um sistemaoperacional assegura que os aplicativos continuemfuncionando após as atualizações de hardware. Issoacontece porque é o sistema operacional, e não oaplicativo, que gerencia o hardware e a distribuição dosaplicativo, que gerencia o hardware e a distribuição dosseus recursos. Um dos desafios do desenvolvedor desistemas operacionais é criar um sistema flexível osuficiente para reconhecer hardwares de milhares defabricantes diferentes. Os sistemas atuais podemacomodar milhares de impressoras, drivers e periféricosespeciais em qualquer combinação possível.

Page 15: Sistemas Operacionais - Introdução

A Inicialização do Sistema A Inicialização do Sistema OperacionalOperacional

Ao ligar o computador, o primeiro programa executado é,geralmente, um conjunto de instruções armazenadas namemória ROM. Este código examina o hardware dosistema para ter certeza de que tudo está funcionandocorretamente. Este autoteste, conhecido como POST(power-on self test) verifica a CPU, a memória, a BIOS(power-on self test) verifica a CPU, a memória, a BIOS(Basic Input Output System – Sistema Básico de Entradae Saída), procura por erros e armazena o resultado emuma memória especial. Ao completar o POST, o softwarecarregado na memória ROM ativa as unidades de discodo computador. Quando o computador ativa o discorígido ele encontra o trecho inicial do sistemaoperacional, conhecido como bootstrap loader (sistemade inicialização).

Page 16: Sistemas Operacionais - Introdução

A Inicialização do Sistema A Inicialização do Sistema OperacionalOperacional

O bootstrap loader é um pequeno programa que tem aúnica função de carregar o sistema operacional namemória e permitir que ele comece a operar. Em suaforma mais básica, o bootstrap configura os pequenosprogramas de driver que fazem interface e controlam osvários subsistemas de hardware do computador. Elevários subsistemas de hardware do computador. Eleconfigura as partes da memória que contêm o sistemaoperacional, as informações de usuário e os aplicativos.Ele também estabelece as estruturas de dadosresponsáveis pelos inúmeros sinais, flags e semáforosque são usados para a comunicação com (e entre) ossubsistemas e aplicativos do computador. Então eleentrega o controle do computador ao sistemaoperacional.

Page 17: Sistemas Operacionais - Introdução

Tipos de Sistemas OperacionaisTipos de Sistemas Operacionais

Os tipos de sistemas operacionais e sua evoluçãoestão relacionados diretamente com a evolução dohardware e das aplicações por ele suportadas.

Tipos de Tipos de Sistemas Operacionais

Sistemas Monoprogramáveis/

Monotarefa

Sistemas Multiprogramáveis/

Multitarefa

Sistemas com Múltiplos

Processadores

Page 18: Sistemas Operacionais - Introdução

Tipos de Sistemas OperacionaisTipos de Sistemas Operacionais

• Monoprogramáveis/Monotarefa – se caracterizampor permitir que todos os recursos do sistema fiquemexclusivamente dedicados a uma única tarefa.

• Multiprogramáveis/Multitarefa – se caracterizam porpermitir que os recursos computacionais sejampermitir que os recursos computacionais sejamcompartilhados entre os diversos usuários e aplicações.

• Com Múltiplos Processadores – se caracterizam porpossuir duas ou mais UCPs interligadas e trabalhandoem conjunto. A vantagem deste tipo de sistema épermitir que vários programas sejam executados aomesmo tempo ou que um mesmo programa sejasubdividido em partes para serem executadassimultaneamente em mais de um processador.

Page 19: Sistemas Operacionais - Introdução

Tipos de Sistemas OperacionaisTipos de Sistemas Operacionais

Os sistemas operacionais multiprogramáveis oumultitarefa podem ser classificados pela forma com quesuas aplicações são gerenciadas, podendo ser divididosem:

Sistemas Sistemas Monoprogramáveis/ Multitarefa

Sistemas Batch Sistemas de Tempo Compartilhado

Sistemas de Tempo Real

Page 20: Sistemas Operacionais - Introdução

Tipos de Sistemas OperacionaisTipos de Sistemas Operacionais

• Batch ou lote – neste tipo todos os programas sãocolocados em uma fila para execução pelo processador.Este recebe um programa após o outro (em sequência).Atualmente o termo batch é utilizado para definir umconjunto de comandos que rodam sem interferência dousuário.usuário.

• Tempo compartilhado – permitem que diversosprogramas sejam executados a partir da divisão dotempo do processador em pequenos intervalos epermitem a interação dos usuários com o sistemaatravés de terminais que incluem vídeo, teclado emouse. Devido a esse tipo de interação, os sistemas detempo compartilhado também ficaram conhecidos comosistemas on-line.

Page 21: Sistemas Operacionais - Introdução

Tipos de Sistemas OperacionaisTipos de Sistemas Operacionais

• Tempo Real (RTOS - Real-time operating system) – Éutilizado para controlar máquinas, instrumentoscientíficos e sistemas industriais. Geralmente um RTOSnão tem uma interface para o usuário muito simples enão é destinado para o usuário final, desde que osistema é entregue como uma "caixa selada". A funçãosistema é entregue como uma "caixa selada". A funçãodo RTOS é gerenciar os recursos do computador paraque uma operação específica seja sempre executadadurante um mesmo período de tempo. Numa máquinacomplexa, se uma parte se move mais rapidamente sóporque existem recursos de sistema disponíveis, istopode ser tão catastrófico quanto se uma parte nãoconseguisse se mover porque o sistema está ocupado.Exemplo: sistemas embutidos em caças F-16.

Page 22: Sistemas Operacionais - Introdução

Tipos de Sistemas OperacionaisTipos de Sistemas Operacionais

Os sistemas com múltiplos processadores podemclassificados em fortemente acoplados (conhecidoscomo multiprocessadores) ou fracamente acoplados(conhecidos como multicomputadores)..

Sistemas com Múltiplos

Processadores

Sistemas Fortemente Acoplados

Sistemas Fracamente Acoplados

Page 23: Sistemas Operacionais - Introdução

Tipos de Sistemas OperacionaisTipos de Sistemas Operacionais

A grande diferença entre os dois tipos é que emsistemas fortemente acoplados existeexiste apenasapenas umaumamemóriamemória principalprincipal sendosendo compartilhadacompartilhada porpor todostodos ososprocessadoresprocessadores, enquanto nos fracamente acopladoscadacada sistemasistema temtem suasua própriaprópria memóriamemória individual,individual, sendosendocaracterizadoscaracterizados porpor possuirpossuir doisdois ouou maismais sistemassistemascaracterizadoscaracterizados porpor possuirpossuir doisdois ouou maismais sistemassistemascomputacionaiscomputacionais conectadosconectados atravésatravés dede linhaslinhas dedecomunicaçãocomunicação. Além disso, a taxa de transferência entreprocessadores e memória em sistemas fortementeacoplados é muito maior que nos fracamente acoplados.

Page 24: Sistemas Operacionais - Introdução

Tipos de Sistemas OperacionaisTipos de Sistemas Operacionais

Os sistemas fracamente acoplados podem ser divididosem sistemas:

• de Rede – a característica deste sistema é possibilitaro compartilhamento dos recursos de computadores edisponibilizá-los para uso. A maioria dos sistemasoperacionais modernos implementam recursos de rede.operacionais modernos implementam recursos de rede.

• Distribuídos – os recursos de cada máquina estãodisponíveis globalmente de forma transparente para ousuário. Do ponto de vista das aplicações é como se nãohouvesse um conjunto de vários computadores, masapenas um único sistema centralizado. Portanto ousuário desconhece qual o computador que atendeu asua solicitação.

Page 25: Sistemas Operacionais - Introdução

Tipos de Sistemas OperacionaisTipos de Sistemas Operacionais

Outro Tipo de Sistema Operacional:

• Embutido ou embedded – também conhecido comoembarcado . É um sistema microprocessado no qual ocomputador é completamente encapsulado ou dedicadocomputador é completamente encapsulado ou dedicadoao dispositivo ou sistema que ele controla. É um sistemaoperacional com função específica e bem definida.Normalmente utilizado em hardwares com poucacapacidade de processamento, como celulares,calculadoras ou tocadores de MP3.

Page 26: Sistemas Operacionais - Introdução

Sistemas Operacionais AtuaisSistemas Operacionais Atuais

• Windows 7 – É uma versão da Microsoft. Foi lançadopara empresas no dia 22 de julho de 2009, e começou aser vendido livremente para usuários comuns emoutubro de 2009. Possui seis versões: Starter, HomeBasic, Home Premium, Professional, Ultimate eEnterprise.Enterprise.

• Windows 8 – É um sistema operacional da Microsoftpara computadores pessoais, portáteis, netbooks etablets. Segundo a empresa, esse será um sistema paraqualquer dispositivo, com uma interface totalmente nova,chamada de Metro, sendo adaptada para dispositivossensíveis ao toque.

Page 27: Sistemas Operacionais - Introdução

Sistemas Operacionais AtuaisSistemas Operacionais Atuais

• Linux – Foi lançado oficialmente pela primeira vez emoutubro de 1991, por Linus Torvalds, na versão 0.02, eevoluiu muito desde então. O Linux é apenas o núcleodo sistema operacional. Há diversas distribuições que ousam como núcleo.

• Mac OS X – É um sistema operacional proprietáriobaseado no kernel Unix titulado OpenDarwin,desenvolvido, fabricado e vendido pela empresaamericana Apple, destinado exclusivamente aoscomputadores Mac. A última versão do OS X possuicertificação UNIX.

Page 28: Sistemas Operacionais - Introdução

Sistemas Operacionais AtuaisSistemas Operacionais Atuais

• Google Chrome OS – É um sistema operacional decódigo aberto baseado em Linux projetado pela Googlepara trabalhar exclusivamente com aplicativos web.Anunciado em julho de 2009, o Chrome OS teve umlançamento público de uma versão estável durante osegundo semestre de 2010. O sistema operacional sósegundo semestre de 2010. O sistema operacional sóvirá em hardware específico de fabricação dos parceirosda Google.

• Iphone OS – É um sistema operacional desenvolvidopela Apple para executar três famílias de dispositivos daApple: o smartphone IPhone, o IPod Thouch e IPad. Ébaseado no Mac OS X e segue o padrão UNIX.

Page 29: Sistemas Operacionais - Introdução

Sistemas Operacionais AtuaisSistemas Operacionais Atuais

• Android – É um sistema operacional baseado nonúcleo Linux, e é voltado pata smartphones edispositivos portáteis como netbooks e PDAs. Diferentedo Iphone OS, o Android pode ser instalado emhardwares de diversos fabricantes e, por possuir códigoaberto, pode ser livremente alterado.aberto, pode ser livremente alterado.

• Symbian^3 – Trata-se de um sistema operacional decódigo aberto desenvolvido para ser executado emtelefones móveis. Há diversos fabricantes de telefonesque usam este sistema em seus aparelhos, pois égratuito.

Page 30: Sistemas Operacionais - Introdução

EXERCÍCIOSEXERCÍCIOS

1. O que é um sistema operacional?2. Qual é o objetivo de um sistema operacional?3. Qual é a função do kernel?4. Qual é o primeiro programa executado quando o

computador é ligado?5. O que é bootstrap loader?5. O que é bootstrap loader?6. Quais os tipos de sistemas operacionais

existentes?7. O que caracteriza o processamento batch?8. O que caracteriza os sistemas de tempo real?9. Qual a diferença entre os sistemas fortemente e

fracamente acoplados?

Page 31: Sistemas Operacionais - Introdução

� Coustan, D., Franklin, C. Como funcionam os sistemasoperacionais. Traduzido por HowStuffWorks Brasil.Disponível em: http://rossano.pro.br/fatec/cursos/soii/SistemasOperacionais-peter-jandl-jr.pdf.

� Machado, F. B., Maia, L. P. Arquitetura de Sistemas Operacionais.4ª edição. Rio de Janeiro: LTC, 2011.

BibliografiaBibliografia

4ª edição. Rio de Janeiro: LTC, 2011.

� Olsen, D.R., Laureano, M.A.P. Sistemas Operacionais. Procobre– Curitiba: Editora do Livro Técnico, 2010. Disponível em:http://www.editoralt.com.br/uploads/ livro/12.PDF.

� Oliveira, R.S., Carissimi, A.S. , Toscani, S.S. SistemasOperacionais. Revista de Informática Teórica e Aplicada -RITA - Volume VIII, Número 3, dezembro de 2001.Disponível em: http://www. lume.ufrgs.br/bitstream/handle/10183/19242/000102159.pdf?sequence=1.