Sistemas Operacionais e outros softwaresoutros softwaresadriano/lc/2009/2-intro-sist_opera...–...

56
Sistemas Operacionais e Sistemas Operacionais e outros softwares outros softwares outros softwares outros softwares André Proto André Proto Adriano Mauro Adriano Mauro Cansian Cansian UNESP UNESP - São José do Rio Preto São José do Rio Preto ______________________________ ______________________________ http://www.acmesecurity.org/lc http://www.acmesecurity.org/lc (Li C t i l) (Li C t i l) (Linguagem Computacional) (Linguagem Computacional)

Transcript of Sistemas Operacionais e outros softwaresoutros softwaresadriano/lc/2009/2-intro-sist_opera...–...

Sistemas Operacionais e Sistemas Operacionais e outros softwaresoutros softwaresoutros softwaresoutros softwares

André ProtoAndré ProtoAdriano Mauro Adriano Mauro CansianCansian

UNESP UNESP -- São José do Rio PretoSão José do Rio Preto____________________________________________________________

http://www.acmesecurity.org/lchttp://www.acmesecurity.org/lc(Li C t i l)(Li C t i l)(Linguagem Computacional)(Linguagem Computacional)

Neste tNeste tópico veremos:ópico veremos:

•• CaracterCaracterísticas lógicas dos sistemas ísticas lógicas dos sistemas t i i l ãt i i l ãcomputacionais, e sua relação com os computacionais, e sua relação com os

softwaressoftwares–– Softwares básicosSoftwares básicos

•• Sistema operacionalSistema operacional•• Compiladores e interpretadoresCompiladores e interpretadores

–– Softwares aplicativosSoftwares aplicativos•• GeraisGerais•• EspecEspecííficosficos

Adriano Mauro Cansian 2

IntroduIntroduçãoção

•• Sistema Computacional = Sistema Computacional = hardwarehardware + + softwaresoftware• Hardware

– Parte física da máquina.

– Conjunto de circuitos eletrônicos.

• Softwared õ “ l á i ”– Conjunto de instruções “alteráveis”

• Programadores as criam e alteram.– (Algumas vezes nem tão alteráveis assim)

–– São conjuntos de procedimentos básicos que fazem que o São conjuntos de procedimentos básicos que fazem que o computador seja útil executando alguma função. computador seja útil executando alguma função.

–– SSãoão ““ordensordens” pr” préé--estabelecidas, chamadas estabelecidas, chamadas programasprogramas..

Adriano Mauro Cansian 3

pp ,, p gp g

Tipos de softwaresTipos de softwares

•• Tipos de softwaresTipos de softwares–– Software Software bbásicoásico

•• Sistema operacionalSistema operacional•• Compiladores e interpretadoresCompiladores e interpretadores

–– Software Software aplicativoaplicativo•• Programas específicos escritos para executar Programas específicos escritos para executar

operações (ou resolver problemas) de interesse do operações (ou resolver problemas) de interesse do usuáriousuáriousuário.usuário.

•• Exemplos: planilhas, editores de texto, programas de Exemplos: planilhas, editores de texto, programas de ee--mail, navegadores, jogos, mail, navegadores, jogos, etcetc……

Adriano Mauro Cansian 4

AplicativosBásicos

SistemaOperacional Utilitários

G i E ífiGerais Específicos

Editor de textosPlanilhas l t ô i Bancos de dados

Adriano Mauro Cansian 5

Editor de textos eletrônicas Bancos de dados

Software bSoftware básico, divideásico, divide--se em…se em…

•• Sistema OperacionalSistema Operacional (S.O.)(S.O.)R á l l i t f (i t ã ) t h dR á l l i t f (i t ã ) t h d–– Responsável pela interface (interação) entre hardware e Responsável pela interface (interação) entre hardware e o usuário, o hardware e outros softwares aplicativos, o usuário, o hardware e outros softwares aplicativos, entre outras funções. entre outras funções. çç

–– Exemplos: Exemplos: Windows 98Windows 98, , Windows XPWindows XP, , UNIXUNIX, , LinuxLinux, , FreeBSDFreeBSD, , DOSDOS, , Mac OS XMac OS X, dentre outros., dentre outros.

•• CompiladoresCompiladores e interpretadorese interpretadores–– Softwares especiais que traduzem ou interpretam os Softwares especiais que traduzem ou interpretam os

i dif li di dif li dprogramas escritos em diferentes linguagens de programas escritos em diferentes linguagens de programaprogramaççãoão (ser(serão discutidos mais adiante).ão discutidos mais adiante).

•• Exemplos: Compilador Pascal, Compilador C, etcExemplos: Compilador Pascal, Compilador C, etc……

Adriano Mauro Cansian 6

Exemplos: Compilador Pascal, Compilador C, etcExemplos: Compilador Pascal, Compilador C, etc……

Sistema OperacionalSistema Operacional

Veremos com um pouco mais deVeremos com um pouco mais deVeremos com um pouco mais de Veremos com um pouco mais de detalhes para que serve o sistema detalhes para que serve o sistema

operacionaloperacionaloperacionaloperacional

DefiniDefinição de S.O. (1)ção de S.O. (1)

•• ““O Sistema Operacional é responsável por O Sistema Operacional é responsável por alocar alocar d h d l fd h d l f ElElrecursos de hardware e escalonar tarefasrecursos de hardware e escalonar tarefas. Ele . Ele

também deve prover uma interface para o usuário também deve prover uma interface para o usuário l f á i i dl f á i i d-- ele fornece ao usuário uma maneira de acesso ele fornece ao usuário uma maneira de acesso

aos recursos do computador.aos recursos do computador.”” [Sobell].[Sobell].

Adriano Mauro Cansian 8

DefiniDefinição de S.O. (2)ção de S.O. (2)

•• ““Um Sistema Operacional pode ser definido como um Um Sistema Operacional pode ser definido como um gerenciador dos recursos que compõem o computadorgerenciador dos recursos que compõem o computadorgerenciador dos recursos que compõem o computadorgerenciador dos recursos que compõem o computador(processador, memória, I/O, arquivos, etc). Os problemas (processador, memória, I/O, arquivos, etc). Os problemas centrais que o Sistema Operacional deve resolver são o centrais que o Sistema Operacional deve resolver são o

tilh t d d t ã dtilh t d d t ã dcompartilhamento ordenado, a proteção dos recursos a compartilhamento ordenado, a proteção dos recursos a serem usados pelas aplicações do usuário e o serem usados pelas aplicações do usuário e o interfaceamento entre este e a máquina.” [Stemmer].interfaceamento entre este e a máquina.” [Stemmer].q [ ]q [ ]

Adriano Mauro Cansian 9

Sistema Operacional e o hardwareSistema Operacional e o hardware

•• O Sistema Operacional deve ser adaptado às O Sistema Operacional deve ser adaptado às características do hardwarecaracterísticas do hardwarecaracterísticas do hardware.características do hardware.

•• As linguagens de programação e os aplicativos do As linguagens de programação e os aplicativos do usuário final devem ser adaptados ao Sistemausuário final devem ser adaptados ao Sistemausuário final devem ser adaptados ao Sistema usuário final devem ser adaptados ao Sistema OperacionalOperacional..

•• Ou seja traduzindo:Ou seja traduzindo:•• Ou seja, traduzindo:Ou seja, traduzindo:–– Um Um Sistema OperacionalSistema Operacional em geral sem geral só funciona no ó funciona no

hardware para o qual ele foi criadohardware para o qual ele foi criado..hardware para o qual ele foi criadohardware para o qual ele foi criado..–– Softwares feitos para um sistema operacional, em geral Softwares feitos para um sistema operacional, em geral

nnão funcionam em outro sistema operacionalão funcionam em outro sistema operacional..

Adriano Mauro Cansian 10

S.O. nS.O. não apenas em “computadores”…ão apenas em “computadores”…

•• Sistema operacional Sistema operacional nnãoão se se restringe aos computadoresrestringe aos computadores

http://www.sony.net/Products/aibo/http://www.sony.net/Products/aibo/

restringe aos computadores.restringe aos computadores.–– Todos os hardwares que realizam Todos os hardwares que realizam

processamento possuem algum processamento possuem algum tipo de sistema operacionaltipo de sistema operacionaltipo de sistema operacional.tipo de sistema operacional.

•• Exemplos:Exemplos:–– Computadores de bordo de carros Computadores de bordo de carros pp

e aviões, sistemas de defesa, e aviões, sistemas de defesa, calculadoras, máquinas calculadoras, máquinas robotizadas, brinquedos robotizadas, brinquedos computadorizados, videogames, computadorizados, videogames, aparelhos de DVD, aparelhos de DVD, etcetc……

Adriano Mauro Cansian 11

USUÁRIOSUSU OS

SISTEMA OPERACIONAL

HARDWAREW

Adriano Mauro Cansian 12

Sistema Operacional (1)Sistema Operacional (1)

•• Conhecer o Sistema Operacional pode ajudar a Conhecer o Sistema Operacional pode ajudar a resolver alguns problemas que a princípio nosresolver alguns problemas que a princípio nosresolver alguns problemas que, a princípio, nos resolver alguns problemas que, a princípio, nos parecem complicados. parecem complicados.

OO S OS O possui utilitários especiais para a formatação depossui utilitários especiais para a formatação de–– O O S.O.S.O. possui utilitários especiais para a formatação de possui utilitários especiais para a formatação de discos, listagens em vídeo e impressora, discos, listagens em vídeo e impressora, criação/ccriação/cóópia/exclusão e alterações de arquivos, dentre pia/exclusão e alterações de arquivos, dentre muitos outros.muitos outros.

Adriano Mauro Cansian 13

Sistema Operacional (2)Sistema Operacional (2)

•• Tecnicamente:Tecnicamente:O O Sistema OperacionalSistema Operacional (S.O.)é um (S.O.)é um conjunto deconjunto de rotinasrotinasconjunto de conjunto de rotinasrotinas..–– Uma Uma lista de instruções passadas para o lista de instruções passadas para o

processadorprocessador com a finalidade permitir acom a finalidade permitir aprocessador,processador, com a finalidade permitir a com a finalidade permitir a comunicação do usuário com o hardware.comunicação do usuário com o hardware.

Adriano Mauro Cansian 14

Sistema Operacional (3)Sistema Operacional (3)

•• Principais atributos do Sistema Operacional:Principais atributos do Sistema Operacional:Ab ã d H dAb ã d H d Má i Vi lMá i Vi l•• Abstração de Hardware Abstração de Hardware ⇒⇒ Máquina VirtualMáquina Virtual–– Apresenta ao usuário uma Apresenta ao usuário uma máquina virtual,máquina virtual, mais mais

simples do que o hardware realsimples do que o hardware realsimples do que o hardware realsimples do que o hardware real..–– O usuO usuário tem a percepção que interage com uma ário tem a percepção que interage com uma

máquina só para ele.máquina só para ele.q pq p•• O O S.O.S.O. protege o hardware da ação direta do protege o hardware da ação direta do

usuário.usuário.•• Faz com que interaFaz com que interação com o computador seja ção com o computador seja

simples e posssimples e possíível.vel.Adriano Mauro Cansian 15

p pp p

Sistema Operacional (4)Sistema Operacional (4)

•• O sistema operacional é a porção de software que roda em O sistema operacional é a porção de software que roda em ““modomodo kernelkernel”” ouou ““modo supervisormodo supervisor””modo modo kernelkernel ou ou modo supervisormodo supervisor ..

•• O computador pode O computador pode controlarcontrolar a a maneira como os maneira como os softwares ssoftwares são executadosão executados..

•• O O ““modo modo kernelkernel”” ou ou ““modo supervisormodo supervisor”” é uma maneira é uma maneira privilegiada de execuprivilegiada de execuçção, que permite que o software ão, que permite que o software controle todo o hardware e tambcontrole todo o hardware e tambéém controle toda am controle toda acontrole todo o hardware, e tambcontrole todo o hardware, e tambéém controle toda a m controle toda a interainteraçção de outros softwares com este hardware.ão de outros softwares com este hardware.–– No modo No modo kernelkernel um software pode executar operaum software pode executar operaçções que outros ões que outros

não podem.não podem.

Adriano Mauro Cansian 16

Sistema Operacional (5)Sistema Operacional (5)

•• O sistema operacional é a porção de software que O sistema operacional é a porção de software que dd ““ dd k lk l”” ““ d id i ””roda em roda em ““modo modo kernelkernel”” ou ou ““modo supervisormodo supervisor””

–– A definiA definiçção do modo de operaão do modo de operaçção ão éé feita no momento da carga do feita no momento da carga do software (durante osoftware (durante o bootboot, no caso do, no caso do S.O.S.O.))software (durante o software (durante o bootboot, no caso do , no caso do S.O.S.O.))

–– Estabelece critérios de uso dos recursosEstabelece critérios de uso dos recursos e ordem de e ordem de acesso aos mesmos, impedindo violação de regras de acesso aos mesmos, impedindo violação de regras de p gp gacesso acesso àà memória de processos concorrentes e memória de processos concorrentes e tentativas de acesso simultâneo a um mesmo recursotentativas de acesso simultâneo a um mesmo recurso

–– Desta forma Desta forma realiza a gerência e proteção dos realiza a gerência e proteção dos dispositivosdispositivos..

Adriano Mauro Cansian 17

Estrutura do S.O.Estrutura do S.O.

•• O O S.O.S.O. é é formado por: formado por: –– Um conjunto de rotinas (procedimentos) que Um conjunto de rotinas (procedimentos) que

oferecem serviços aos usuários do sistema e oferecem serviços aos usuários do sistema e ççsuas aplicações,suas aplicações,

–– Outras rotinas do próprio sistema.Outras rotinas do próprio sistema.Outras rotinas do próprio sistema. Outras rotinas do próprio sistema. •• Esse conjunto de rotinas é chamado Esse conjunto de rotinas é chamado núcleo núcleo

d i td i t k lk ldo sistema do sistema ou ou kernelkernel..

Adriano Mauro Cansian 18

System CallsSystem Calls

•• Systems Systems CallsCalls ssão ão mecanismos de proteção mecanismos de proteção d ú l d i t dd ú l d i t ddo núcleo do sistema e de acesso aos seus do núcleo do sistema e de acesso aos seus serviços.serviços.

•• O usuário (ou aplicação), quando deseja O usuário (ou aplicação), quando deseja solicitar algum serviço do sistema: solicitar algum serviço do sistema: g çg ç–– Realiza uma chamada a uma de suas rotinas (ou Realiza uma chamada a uma de suas rotinas (ou

serviços) através de serviços) através de system system callscalls (chamadas ao (chamadas ao ç )ç ) yy ((sistema), para executar uma funsistema), para executar uma função específica ção específica do hardware.do hardware.

Adriano Mauro Cansian 19

Modos de acessoModos de acessoModos de acessoModos de acesso

•• Existem certas Existem certas instruçõesinstruções que não podem ser que não podem ser colocadas diretamente à disposição das aplicações.colocadas diretamente à disposição das aplicações.–– Pois a sua utilização indevida ocasionaria sérios Pois a sua utilização indevida ocasionaria sérios

problemas à integridade do sistema.problemas à integridade do sistema.

•• As instruções que têm o poder de comprometer oAs instruções que têm o poder de comprometer o•• As instruções que têm o poder de comprometer o As instruções que têm o poder de comprometer o sistema são conhecidas como sistema são conhecidas como instruções instruções privilegiadasprivilegiadas (ou(ou ““modomodo kernelkernel””))privilegiadasprivilegiadas (ou (ou modo modo kernelkernel ).).

•• As As instruções nãoinstruções não--privilegiadasprivilegiadas são as que não são as que não oferecem perigo ao sistemaoferecem perigo ao sistemaoferecem perigo ao sistema.oferecem perigo ao sistema.

Adriano Mauro Cansian 20

Tipos de Sistemas OperacionaisTipos de Sistemas Operacionais

Tipos de SistemasTipos de SistemasOperacionaisOperacionais

SistemasSistemasMonoprogramáveis / Monoprogramáveis /

M t fM t f

SistemasSistemasMultiprogramáveis / Multiprogramáveis /

MultitarefaMultitarefa

Sistemas comSistemas comMúltiplosMúltiplos

ProcessadoresProcessadoresMonotarefaMonotarefa MultitarefaMultitarefa ProcessadoresProcessadores

Adriano Mauro Cansian 21

Sistemas Monoprogramáveis ou MonotarefaSistemas Monoprogramáveis ou Monotarefa

•• Execução de um único programa (Execução de um único programa (jobjob) por vez) por vez•• Execução de um único programa (Execução de um único programa (jobjob) por vez.) por vez.–– Para ser executado, qualquer outro programa, deve Para ser executado, qualquer outro programa, deve

aguardar o término do programa anterioraguardar o término do programa anterioraguardar o término do programa anterioraguardar o término do programa anterior..

•• Tipicamente relacionado ao surgimento dos Tipicamente relacionado ao surgimento dos mainframes (computadores de grande porte)mainframes (computadores de grande porte)mainframes (computadores de grande porte).mainframes (computadores de grande porte).

•• EncontraEncontra--se se obsoleto.obsoleto.ÉÉ–– É mencionado aqui somente por razões históricas.É mencionado aqui somente por razões históricas.

Adriano Mauro Cansian 22

Sistemas Multiprogramáveis ou MultitarefaSistemas Multiprogramáveis ou Multitarefa

•• Muito mais complexos e mais eficientes.Muito mais complexos e mais eficientes.•• Vários programas Vários programas compartilham e dividem os compartilham e dividem os p gp g pp

mesmos recursos, ao mesmo tempomesmos recursos, ao mesmo tempo..–– Aumento da produtividade dos usuários e a redução de Aumento da produtividade dos usuários e a redução de

custos.custos.–– Aumenta (e permite) a Aumenta (e permite) a interainteração entre os softwaresção entre os softwares..

P i ilh d dP i ilh d d–– Permite compartilhar dados.Permite compartilhar dados.•• Normalmente são Normalmente são multiusuáriosmultiusuários..•• São os sistemas operacionais atuais: São os sistemas operacionais atuais: LinuxLinux, ,

Microsoft Windows XPMicrosoft Windows XP, , Mac OS XMac OS X, , FreeBSDFreeBSD, , S l iS l i tt

Adriano Mauro Cansian 23SolarisSolaris, e outros., e outros.

Sistemas com Múltiplos Processadores (1)Sistemas com Múltiplos Processadores (1)Sistemas com Múltiplos Processadores (1)Sistemas com Múltiplos Processadores (1)

•• Dois ou mais Dois ou mais CPUsCPUs interligadas, trabalhando em interligadas, trabalhando em conjuntoconjuntoconjunto.conjunto.

•• Permitem a Permitem a interligainterligação de ção de CPUsCPUs de de computadores isoladoscomputadores isolados para a solução depara a solução decomputadores isoladoscomputadores isolados, para a solução de , para a solução de problemas complexos.problemas complexos.

Fortemente AcopladoFortemente Acoplado–– Fortemente AcopladoFortemente Acoplado•• Dois ou mais processadores compartilhando uma única memória e Dois ou mais processadores compartilhando uma única memória e

controlados por apenas um único SOcontrolados por apenas um único SO..

F t A l dF t A l d–– Fracamente AcopladoFracamente Acoplado•• Dois ou mais sistemas de computação interligados, sendo que cada Dois ou mais sistemas de computação interligados, sendo que cada

sistema possui o seu próprio SO.sistema possui o seu próprio SO.

Adriano Mauro Cansian 24

Sistemas com Múltiplos Processadores (2)Sistemas com Múltiplos Processadores (2)Sistemas com Múltiplos Processadores (2)Sistemas com Múltiplos Processadores (2)

•• EstEstão dando origem ao conceito de ão dando origem ao conceito de ““GridGrid”” de de computadorescomputadorescomputadores.computadores.–– Interligação em rede permite que um grande número de Interligação em rede permite que um grande número de

computadores atue como um único “supercomputadores atue como um único “supercomputadores atue como um único super computadores atue como um único super computador”, para solucomputador”, para soluçção de problemas de alta ão de problemas de alta complexidade.complexidade.

–– ““TheThe Network is Network is thethe ComputerComputer””

http://www.ibm.com/grid/http://www.ibm.com/grid/

Adriano Mauro Cansian 25

S.O.S.O. MultitarefaMultitarefa

Estrutura básicaEstrutura básicaEstrutura básicaEstrutura básica

Adriano Mauro Cansian 26

S.O.S.O. MultitarefasMultitarefas -- EstruturaEstrutura

•• Um SO de um computador que é usado por Um SO de um computador que é usado por muitas pessoas ao mesmo tempo, é um muitas pessoas ao mesmo tempo, é um sistemasistema complexo.complexo.pp

i f i di f i d•• Para tornar os Para tornar os SOsSOs mais fáceis de serem mais fáceis de serem escritos, foram criados módulos, sendo cada escritos, foram criados módulos, sendo cada um responsável por uma função.um responsável por uma função.

Adriano Mauro Cansian 27

S.O.S.O. MultitarefasMultitarefas -- EstruturaEstrutura

•• Os principais módulos de um SO Os principais módulos de um SO Multitarefa/Multiusuário são:Multitarefa/Multiusuário são:–– Núcleo (Núcleo (KernelKernel em inglês)em inglês)Núcleo (Núcleo (KernelKernel em inglês)em inglês)–– Gerenciador de processos (escalonador)Gerenciador de processos (escalonador)

G i d d ó iG i d d ó i–– Gerenciador de memóriaGerenciador de memória–– Sistema de arquivosSistema de arquivos

Adriano Mauro Cansian 28

Núcleo (Núcleo (KernelKernel))

•• Como visto anteriormente, contém Como visto anteriormente, contém chamadas de sistema para serem utilizadas chamadas de sistema para serem utilizadas por aplicativos, gerencia o acesso ao por aplicativos, gerencia o acesso ao p p , gp p , ghardware, entre outros.hardware, entre outros.

•• Componente principal do SO. Contém todos Componente principal do SO. Contém todos os outros módulos.os outros módulos.

Adriano Mauro Cansian 29

Núcleo (Núcleo (KernelKernel))•• Executa funções como:Executa funções como:

chaveamento entre programaschaveamento entre programas–– chaveamento entre programaschaveamento entre programas–– controle e programação de dispositivo de controle e programação de dispositivo de

h dh dhardwarehardware–– gerenciamento de memóriagerenciamento de memória–– gerenciamento de processosgerenciamento de processos–– escalonamento de tarefasescalonamento de tarefasescalonamento de tarefasescalonamento de tarefas–– comunicação entre processoscomunicação entre processos

t d õ d i t ãt d õ d i t ã–– processamento de exceções e de interrupçãoprocessamento de exceções e de interrupçãoAdriano Mauro Cansian 30

Gerenciador de processosGerenciador de processos•• Um processo ouUm processo ou tarefa é uma porção de um tarefa é uma porção de um

programa em alguma fase de execuçãoprograma em alguma fase de execuçãoprograma em alguma fase de execução.programa em alguma fase de execução.

•• Uma Uma threadthread é uma parte separada de um é uma parte separada de um processo. Um processo pode consistir deprocesso. Um processo pode consistir deprocesso. Um processo pode consistir de processo. Um processo pode consistir de várias threads cada uma das quais sendo várias threads cada uma das quais sendo executada separadamenteexecutada separadamenteexecutada separadamente.executada separadamente.

Adriano Mauro Cansian 31

Gerenciador de processosGerenciador de processos

Adriano Mauro Cansian 32

Gerenciador de processosGerenciador de processos•• O gerenciador de processos, também O gerenciador de processos, também

conhecido comoconhecido como escalonadorescalonador devedeveconhecido como conhecido como escalonadorescalonador, deve , deve gerenciar quais processos serão executados gerenciar quais processos serão executados

l d tl d tpelo processador e em que momento.pelo processador e em que momento.

•• Ou seja, ele tem a função de intercalar entre Ou seja, ele tem a função de intercalar entre uma tarefa e outra (denominauma tarefa e outra (denomina sese troca detroca deuma tarefa e outra (denominauma tarefa e outra (denomina--se se troca de troca de contextocontexto).).

Adriano Mauro Cansian 33

Gerenciador de processosGerenciador de processosGerenciador de processosGerenciador de processos•• Dois modos principais de se fazerDois modos principais de se fazerDois modos principais de se fazer Dois modos principais de se fazer

escalonamento:escalonamento:E l C ãE l C ã i dii di–– Escalonamento por Cooperação Escalonamento por Cooperação indica que uma indica que uma tarefa que está sendo executada atualmente deixará tarefa que está sendo executada atualmente deixará voluntariamente em algum momento o processador evoluntariamente em algum momento o processador evoluntariamente em algum momento o processador e voluntariamente em algum momento o processador e permitirá que outros processos sejam executados.permitirá que outros processos sejam executados.

–– Escalonamento Escalonamento PreemptivoPreemptivo significa que uma tarefa significa que uma tarefa corrente será interrompida (forçou a se render) e ocorrente será interrompida (forçou a se render) e ocorrente será interrompida (forçou a se render) e o corrente será interrompida (forçou a se render) e o processador se dedica a outro processo em estado de processador se dedica a outro processo em estado de espera.espera.pp

Adriano Mauro Cansian 34

Gerenciador de memóriaGerenciador de memória

•• O sistema operacional tem acesso completo O sistema operacional tem acesso completo à memória do sistema e deve permitir que à memória do sistema e deve permitir que os processos dos usuários tenham acesso os processos dos usuários tenham acesso ppseguro à memória quando o requisitam.seguro à memória quando o requisitam.

•• O SO é responsável também por gerenciar o O SO é responsável também por gerenciar o modo como os dados são armazenados na modo como os dados são armazenados na memória principal.memória principal.memória principal.memória principal.

Adriano Mauro Cansian 35

Gerenciador de memóriaGerenciador de memória

•• Alguns Alguns SOsSOs utilizam o conceito de utilizam o conceito de memória memória virtual virtual que nada mais é que a simulação de que nada mais é que a simulação de uma memória principal em um disco físico uma memória principal em um disco físico p pp p(HD).(HD).

Adriano Mauro Cansian 36

G i d d ó iG i d d ó iGerenciador de memóriaGerenciador de memória•• Vários sistemas operacionais usamVários sistemas operacionais usamVários sistemas operacionais usam Vários sistemas operacionais usam

memória virtualmemória virtual, que possui 3 funções , que possui 3 funções básicas:básicas:básicas:básicas:–– assegurar que cada processo tenha seu próprio assegurar que cada processo tenha seu próprio

d d t it ld d t it lespaço de endereçamento para evitar ou resolver o espaço de endereçamento para evitar ou resolver o problema de realocação;problema de realocação;

t ã d ó i i dit ã d ó i i di–– prover proteção da memória para impedir que um prover proteção da memória para impedir que um processo utilize um endereço de memória que não processo utilize um endereço de memória que não lhe pertença;lhe pertença;lhe pertença;lhe pertença;

–– possibilitar que uma aplicação utilize mais possibilitar que uma aplicação utilize mais memória do que a fisicamente existentememória do que a fisicamente existentememória do que a fisicamente existente.memória do que a fisicamente existente.

Adriano Mauro Cansian 37

Sistema de arquivosSistema de arquivos•• Um sistema de arquivos é um conjunto de estruturas Um sistema de arquivos é um conjunto de estruturas

lógicas e de rotinas, que permitem ao sistema lógicas e de rotinas, que permitem ao sistema i l l di idi l l di idoperacional controlar o acesso ao disco rígido.operacional controlar o acesso ao disco rígido.

•• Existem diversos sistemas de arquivos diferentes, que Existem diversos sistemas de arquivos diferentes, que vão desde sistemas simples como o vão desde sistemas simples como o FAT16FAT16, que , que utilizamos em cartões de memória, até sistemas como utilizamos em cartões de memória, até sistemas como o o NTFS, EXT3 e NTFS, EXT3 e ReiserFSReiserFS, que incorporam recursos , que incorporam recursos

it i dit i dmuito mais avançados.muito mais avançados.

Adriano Mauro Cansian 38

Sistema de arquivosSistema de arquivos

Adriano Mauro Cansian 39

Sistema de arquivosSistema de arquivos•• Sistemas de arquivos utilizados pelo Windows: Sistemas de arquivos utilizados pelo Windows:

FAT16, FAT32, NTFS.FAT16, FAT32, NTFS.

•• Sistemas de arquivos utilizados por sistemas Unix: Sistemas de arquivos utilizados por sistemas Unix: Ext2, Ext3, Ext2, Ext3, ReiserFSReiserFS, XFS, etc., XFS, etc.

Adriano Mauro Cansian 40

Sistema de arquivosSistema de arquivos

Adriano Mauro Cansian 41

Compiladores e interpretadoresCompiladores e interpretadores

Compiladores e interpretadoresCompiladores e interpretadores

•• Como jComo já dito anteriormente, são:á dito anteriormente, são:–– Softwares especiaisSoftwares especiais que traduzem ou que traduzem ou

interpretam os programas escritos em diferentes interpretam os programas escritos em diferentes linguagens de programalinguagens de programaççãoão..

–– Dão origem aos aplicativos.Dão origem aos aplicativos.g pg p–– Estes softwares especiais e as linguagens de Estes softwares especiais e as linguagens de

programaprogramaççãoão serserão discutidos mais adianteão discutidos mais adianteprogramaprogramaçção ão serserão discutidos mais adiante.ão discutidos mais adiante.

Adriano Mauro Cansian 43

Softwares aplicativosSoftwares aplicativos

SoftwaresSoftwares ““prontosprontos”” para uso geral epara uso geral eSoftwares Softwares prontosprontos , para uso geral e , para uso geral e especespecíífico.fico.

AplicativosBásicos

SistemasOperacionais Utilitários

G i E ífiGerais Específicos

Editor de textosPlanilhas l t ô i Bancos de dados

Adriano Mauro Cansian 45

Editor de textos eletrônicas Bancos de dados

Software Aplicativo GeralSoftware Aplicativo Geral•• Editores de textos.Editores de textos.•• Planilhas eletrônicas.Planilhas eletrônicas.•• Software de eSoftware de e--mail (mail (PegasusPegasus, Outlook, , Outlook,

ThunderbirdThunderbird).).N d d I t t (N d d I t t (bb ))•• Navegador de Internet (Navegador de Internet (browsersbrowsers).).

•• Softwares para tocar Softwares para tocar áudio e vídeo.áudio e vídeo.•• InstantInstant messengersmessengers ou Comunicaou Comunicaçãoção•• InstantInstant messengersmessengers ou Comunicaou Comunicação ção

instantânea (MSN, ICQ, instantânea (MSN, ICQ, etcetc…)…)•• Compartilhamento de música (Compartilhamento de música (kazaakazaa, , ee--donkeydonkey, , p (p ( ,, yy,,

NapsterNapster, , etcetc…)…)•• Gerenciadores de projetos.Gerenciadores de projetos.

Adriano Mauro Cansian 46•• Muitos outros…Muitos outros…

Planilhas EletrônicasPlanilhas EletrônicasA B C D E F G H I

Adriano Mauro Cansian 47

Bancos de DadosBancos de Dados

Adriano Mauro Cansian 48

Pacotes IntegradosPacotes Integrados

Pl ilhPl ilhPlanilhasPlanilhas

Banco de DadosBanco de Dados

Editores de TextoEditores de Texto

Organizador de grupo de Organizador de grupo de Adriano Mauro Cansian 49trabalhotrabalho

Correio EletrônicoCorreio Eletrônico

ELETRONIC ELETRONIC -- MAILMAIL! EDIEDI

!!

Adriano Mauro Cansian 50

BrowsersBrowsers ou navegadoresou navegadoresBrowsers Browsers ou navegadoresou navegadores

Adriano Mauro Cansian 51

Software aplicativo especSoftware aplicativo específico (1)ífico (1)

•• Desenvolvido “Desenvolvido “sobsob--medidamedida”.”.D l id l d li õD l id l d li õ–– Desenvolvido pelo programador, para aplicações Desenvolvido pelo programador, para aplicações específicas.específicas.

•• Exemplos:Exemplos:•• Exemplos:Exemplos:–– Controle de processos.Controle de processos.–– Operações especiaisOperações especiaisOperações especiais.Operações especiais.–– Cálculos especiais.Cálculos especiais.–– Muitos outros…Muitos outros…Muitos outros…Muitos outros…

•• Software adaptado às necessidades do usuário ou Software adaptado às necessidades do usuário ou do sistema a ser controlado.do sistema a ser controlado.

Adriano Mauro Cansian 52

Software aplicativo especSoftware aplicativo específico (2)ífico (2)p pp p ( )( )

Programa Programa

café + =

Adriano Mauro Cansian 53

AtAté aqui vimos:é aqui vimos:

•• CaracterCaracterísticas lógicas dos sistemas ísticas lógicas dos sistemas t i i l ãt i i l ãcomputacionais, e sua relação com os computacionais, e sua relação com os

softwaressoftwares–– Softwares básicosSoftwares básicos

•• Sistema operacionalSistema operacional•• Compiladores e interpretadoresCompiladores e interpretadores

–– Softwares aplicativosSoftwares aplicativos•• GeraisGerais•• EspecíficosEspecíficos

Adriano Mauro Cansian 54

Nossos prNossos próximos passosóximos passos

•• Veremos as Veremos as linguagens de programalinguagens de programaçãoção..•• ComeComeçaremos a estudar os algoritmos.çaremos a estudar os algoritmos.•• E depois começaremos aE depois começaremos a aprender aaprender a•• E, depois, começaremos a E, depois, começaremos a aprender a aprender a

programarprogramar……•• Are Are youyou readyready ?? ;?? ;--))

Adriano Mauro Cansian 55

Este material tem fin al id ade merame n te educac io n al e ˇ tot a lme n te GR A T U IT O Estas notas de au la po de m con ter fig uras ou te x to s e x tr a ’dos deGR A T U IT O . Estas notas de au la po de m con ter fig uras ou te x to s e x tr a dos de outras fontes , as qua is, quan do oc orr e re m , ser‹ o dev id am ent e c itada s. O s d ire itos auto ra is dos te x tos c itados s‹o de propr ie dade de seus deten tores . Esta n‹o ˇ u m a obra co m erc ia l. A ci ta ¨ ‹ o o u uso de material d e o u tro s a u tore s , qua n d o o correr, tem fi n al idade m erame n te d id‡ti ca. Ne m o autor ,

UNESP b ili i d d i t i d i tne m a UNESP, se responsab ili za m por qu ai squer danos d iretos ou ind ir eto s que o uso de ste m ater ia l possa eventua lm e nte caus ar. Este m ater ia l pod e se rcop iado li vr em ente , desde que c itadas to das as fonte s, e r espe ita dos o s detent ores dos d ire itos au tora is, e d esde que o m at eria l se ja d istr ibu’do po r inte iro e n‹o e m p artes, inc lus ive co m os pref‡c ios. A refe r�nc ia a qua lq ue r

d t i l ’f i d l t b l i t i lprodut o co m erc ia l e spec’f ico , m arca, m o de lo, esta be lec im e nto com erc ia l, processo ou s erv i¨o, at ravˇs de n om e co m erc ia l, m ar ca reg ist rada, n om e d e fabr icant e , fo rnece dor , ou no m e d e e m pres a , necess aria m ente NĢO const itu iou ins inua seu endosso, rec om enda ¨ ‹o, ou favorec im ento por par te da UNES P ou do aut o r. A UNESP ou o autor n‹o e ndossa m ou reco m enda m m arcas , produto s, estabe lec im entos co m erc ia is, serv i¨os ou fornece dores de qua isque r espˇc ies, e m nenh um a h ip —tese. As eve ntua is m arcas e paten tes m enc ionada s s‹o de p ropr ie dade e xc lus iva dos det ento res or ig ina is dos s eus d ire itos e , quando c itadas, a parec em m era m e nte e m car‡ter info rm at ivo, p ara au x ilia r o s part ic ipan tes do cu rso, n um a ba se de b oa -fˇ p�b li ca. Os part ic ip antes ou

Este material Este material é parcialmente baseado nos é parcialmente baseado nos slidesslides ““Introducão à Informática Histórico e Introducão à Informática Histórico e EvoluçãoEvolução”” © Copyright 2004© Copyright 2004 Prof Luiz Affonso Henderson Guedes de Oliveira ProfProf Luiz Affonso Henderson Guedes de Oliveira Prof

p p p p poutros int e ressados de ve m ut ili zar es tas inf o rm a¨›es p or sua conta e r isco, eestare m c ientes desta n o tifica¨‹o.

EvoluçãoEvolução”.”. © Copyright 2004 © Copyright 2004 -- Prof.Luiz Affonso Henderson Guedes de Oliveira, Prof. Prof.Luiz Affonso Henderson Guedes de Oliveira, Prof. Kliger Kissinger F. Rocha Prof. Valnaide Gomes Bittencourt. UFRN Kliger Kissinger F. Rocha Prof. Valnaide Gomes Bittencourt. UFRN -- Universidade Universidade Federal do Rio Grande do Norte / Centro de Tecnologia. Departamento de Computação Federal do Rio Grande do Norte / Centro de Tecnologia. Departamento de Computação e Automação. e Automação. Todos os direitos reservados aos autoresTodos os direitos reservados aos autores..

Adriano Mauro Cansian 56