Gerenciamento de Memória no Computador

Tamanho: px
Começar a partir da página:

Download "Gerenciamento de Memória no Computador"

Transcrição

1 Gerenciamento de Memória no Computador

2 Introdução Devido aos Sistemas Operacionais apresentarem características variadas, determinados procedimentos tornam-se por vezes semelhantes ou próprios de cada Sistema. O gerenciamento de memória é um procedimento fundamental na objetividade de todos os Sistemas Operacionais. É responsabilidade do Sistema Operacional executar inúmeras tarefas, independente da quantidade de tarefas assim como o tamanho das mesmas. Neste contexto parece complicado para o Sistema Operacional gerenciar tarefas que exigem uma quantidade de memória superior ao que é disponibilizado pela máquina. Cada Sistema possui suas características próprias para complementar estas tarefas e principalmente gerenciar a memória disponível para estas execuções. No entanto, é necessário garantir para elas além da possibilidade de execução um alto grau de segurança. Recursos do modo usuário O gerenciador do memória virtual (VM) permite aos subsistemas do modo usuário compartilhar memória eficientemente usando objetos que são protegidos, denominados e manipulados como qualquer objeto do executivo. Os subsistemas podem definir proteção a nível de página na memória privativa, bloquear páginas selecionadas na memória, tirar proveito dos arquivos mapeados e gerenciar os espaços de endereçamento virtual de outros processos. Gerenciando a memória O gerenciador VM fornece um conjunto de serviços nativos que um processo pode usar para gerenciar diretamente sua memória virtual. Estes serviços permitem que um processo faça o seguinte: Alocar memória em um processo de dois estágios. Ler e gravar na memória virtual. Bloquear páginas virtuais na memória física.

3 Obter informações sobre páginas virtuais. Descarregar páginas virtuais para o disco. O gerenciador VM estabelece uma abordagem de duas fases para alocar memória, reservá-la e depois comprometê-la. A memória reservada é um conjunto de endereços virtuais que o gerenciador VM reservou para ser usado futuramente por um processo. A reserva de memória é uma operação rápida e barata no Windows NT. A memória comprometida é memória para qual o gerenciador VM separou espaço no seu arquivo de paginação. Outro serviço do gerenciador VM do Windows NT possibilitam ao chamador fornecer uma alça de processos para indicar um processo cuja memória virtual será manipulada. O chamador pode manipular sua própria memória virtual ou aquela de um outro processo. Esta facilidade é poderosa porque permite que um processo do modo usuário gerencie o espaço de endereçamento de um outro processo. Seções, visões e arquivos mapeados Assim como todos os outros componentes do Windows NT, o gerenciador VM é totalmente paralelo. Ele roda simultaneamente em todos os processadores de um computador multiprocessado e tem de compartilhar suas estruturas de dados com as linhas que estão sendo executadas em processadores diferentes. Memória compartilhada pode ser definida como a memória que é visível apartir de mais de um processo ou que está presente em mais de um espaço de endereçamento virtual. A abordagem do Windows NT ao compartilhamento de recursos é implementá-los como objetos protegidos e a memória não é nenhuma exceção. O objeto de seção representa um bloco de memória que dois ou mais processos podem compartilhar. Uma linha de um processo cria um objeto de seção e dá a ele um nome para que as linhas de outros processos possam abrir alças para ele.

4 Um objeto de seção do NT pode ser muito grande, ocupando dezenas ou até milhares de páginas, por isso um processo precisa mapear apenas as partes do objeto de seção que lhes são necessárias. O mapeamento de visões de uma seção permite a um processo acessar grandes blocos de memória que, caso contrário, ele poderia não ter espaço de endereçamento virtual para mapear. Da mesma forma que a memória privativa, o conteúdo da memória compartilhada é paginado para o disco quando a demanda de memória esta alta. O gerenciador VM também permite que os objetos de seção sejam paginados para um arquivo mapeado. O executivo do NT usa os arquivos mapeados para carregar imagens executáveis para a memória e o gerenciador de cache do sistema usa os arquivos mapeados para ler e gravar em páginas do cachê. Objeto de seção Os objetos de seções são alocados e desalocados pelo gerenciador de objetos. O gerenciador VM também implementa serviços que as linhas do modo usuário podem chamar para recuperar e alterar os atributos armazenados no corpo dos objetos de seção. Dois processos podem mapear partes do mesmo objeto de seção em seus espaços necessário que eles sincronizem seus acessos a memória para evitar alterações de dados ao mesmo tempo Protegendo a memória A proteção de memória no Windows NT é oferecida em quatro formas: 1. um espaço de endereçamento separado para cada processo. 2. dois modos de operação: modo kernel e modo usuário. 3. um mecanismo de proteção baseado em páginas. 4. proteção de memória baseado em objetos.

5 Memória privativa do processo Toda vez que uma linha usa um endereço, o gerenciador VM do executivo do NT, juntamente com o hardware, intervém e traduz o endereço virtual em endereço físico. O sistema de memória virtual através do controle da tradução dos endereços virtuais consegue garantir que as linhas de um processo não acessarão uma estrutura de página de memória que pertença a um outro processo. O gerenciador VM oferece as proteções de página somente leitura e leitura/gravação, e suplementa estas proteções de memória em alguns mecanismos próprios: * somente execução. * guardar página. * nenhum acesso. * cópia na gravação. Usando os serviços nativos de memória virtual, o subsistema de ambiente tem condições de controlar a proteção a nível de página virtuais. O controle da proteção a nível de páginas pode produzir programas mais confiáveis já que assegura que as linhas não gravarão em páginas designadas como somente para leitura. Bibliografia

6 Compiladores

7 Compiladores O que são compiladores? Os computadores são máquinas que entendem apenas comandos, dados e endereços escritos em linguagem binária (0 s e 1 s). Porém, desenvolver um programa complexo em linguagem de máquina é muito complicado e desgastante. Para resolver esse impasse, foram criadas as linguagens de programação, que permitem a criação de programas utilizando comandos mais fáceis e com funções já prontas. Os compiladores foram criados para que possamos fazer as programações em alguma das inúmeras linguagens de programação e os computadores recebam as informações em linguagem de máquina. Um compilador é um programa (ou um grupo de programas) que, a partir de um código fonte escrito na linguagem de programação, cria um programa equivalente escrito em uma outra linguagem, ou seja, traduz um programa descrito para um programa equivalente em código de máquina. Para que o compilador possa produzir um arquivo executável, é preciso que o código fonte seja escrito de acordo com as regras da linguagem de programação. Um compilador não reconhece programas escritos em uma linguagem de programação diferente da reconhecida por ele, mesmo que sejam parecidas. Características Gerais Normalmente, o código fonte é escrito em uma linguagem de programação de alto nível, com grande capacidade de abstração, e o código objeto é escrito em uma linguagem de baixo nível, como uma sequência de instruções a ser executada pelo processador. O processo de compilação é composto de análise e síntese. A análise tem como objetivo entender o código fonte e representá-lo em uma estrutura intermediária. A síntese constrói o código objeto a partir desta representação intermediária. A análise pode ser subdividida ainda em análise léxica, análise sintática e análise semântica. A síntese é mais variada, podendo ser composta pelas etapas de geração de código intermediário, otimização de código e geração de código final (ou código de máquina), e somente esta última etapa é obrigatória. Classicamente, um compilador traduz um programa de uma linguagem textual facilmente entendida por um ser humano para uma linguagem de máquina, específica para um processador e sistema operacional. Atualmente, porém, são comuns compiladores que geram código para uma máquina virtual que é, depois, interpretada por um interpretador.

8 Em linguagens híbridas, o compilador tem o papel de converter o código fonte em um código chamado de byte code, que é uma linguagem de baixo nível. Um exemplo deste comportamento é o do compilador da linguagem Java que, em vez de gerar código da máquina hospedeira (onde se está executando o compilador), gera código chamado Java Bytecode. Um compilador é chamado de Just-in-time compiler (JIT) quando seu processo de compilação acontece apenas quando o código é chamado. Normalmente, o usuário tem a percepção que um compilador JIT é um interpretador. Muitos compiladores incluem um pré-processador. Um pré-processador normalmente é responsável por mudanças no código fonte destinadas de acordo com decisões tomadas em tempo de compilação. Por exemplo, um programa em C permite instruções condicionais para o pré-processador que podem incluir ou não parte do código caso uma assertiva lógica seja verdadeira ou falsa, ou simplesmente um termo esteja definido ou não. Tecnicamente, préprocessadores são muito mais simples que compiladores e são vistos, pelos desenvolvedores, como programas à parte, apesar dessa visão não ser necessariamente compartilhada pelo usuário. E por último, outra parte separada do compilador que muitos usuários vêem como integrada é o linker, cuja função é unir vários programas já compilados de uma forma independente e unificá-los em um programa executável. Isso inclui colocar o programa final em um formato compatível com as necessidades do sistema operacional para carregá-lo em memória e colocá-lo em execução. Compilador Dev-C++ Disponível para download grátis no baixaki.

9 Exemplos de compiladores Existem diversos compiladores C / C++ disponíveis para os programadores. A decisão sobre qual compilador utilizar pode ser baseada em vários fatores: qualidade do compilador (é rápido; está conforme com a padronização da linguagem; a interface com o usuário é agradável - possui ou não um IDE (Integrated Development Enviroment); possui diversas opções de compilação etc.); sistema(s) operacional(is) que o compilador funciona (e gera códigos); custo do compilador; documentação disponível e suporte. Compilador GCC (GNU Compiler Collection) Este é o compilador da GNU (Free Software Foundation). É sem dúvida um "líder" no mercado de compiladores C atualmente, é o compilador padrão do sistema operacional GNU/Linux e também foi adotado por (ou portado para) vários outros sistemas operacionais (inclusive S.O.s comerciais pagos), tais como HP-UX, MS-Windows, MS-DOS, IBM OS2, IBM AIX, SUN OS, SUN Solaris etc. No GNU/Linux, este compilador é utilizado no desenvolvimento do próprio sistema operacional e de todas as ferramentas nele disponíveis (ou seja, é o compilador 'nativo' do Linux). Outro detalhe importante é que todas as distribuições Linux já vem com um compilador GCC disponível, ou seja, se você tem um computador com Linux instalado, você tem um compilador GCC pronto para ser utilizado. Compilador Dev-C++ Compilador Free Software (GPL), para Windows, com um IDE 'respeitável' (editor, compilador e debug integrados). Compilador C++ Builder - Borland Outro compilador C muito conhecido e utilizado é o da empresa Borland, certamente uma das empresas mais conhecidas na área de linguagens de programação (Delphi, Turbo Pacal, Turbo C, Kylix...).

10 Turbo C Borland Este é um dos compiladores C mais conhecidos (e antigos) na microinformática. Este compilador roda em "modo MS-DOS"... é muito simples mas funciona perfeitamente em muitas versões de Windows. Compilador Visual C# - Microsoft O compilador C da Microsoft é outro com muitos usuários, com desenvolvimento leve, simples e integrado. Bibliografia apostila de compiladores Introdução a Compilação. Maria G. V. Nunes, Alessandra A. Macedo, Daniel G. Dosualdo e Tatiana Barbosa; Analisadores léxicos e sintáticos

11 Processamento Batch

12 Introdução Processamento batch, no contexto de sistemas operacionais, é um termo referente a um processamento de dados que ocorre através de um lote de tarefas enfileiradas, de modo que o sistema operacional só processa a próxima tarefa após o término completo da tarefa anterior. É um modo de processamento de dados no qual os dados de entrada são coletados em grupos, ou lotes, e periodicamente processados em seqüência por um ou mais jobs. O processamento batch não permite a interação do usuário com o sistema durante a execução dos jobs. Sistemas Batch Os sistemas batch foram os primeiros tipos de sistemas operacionais multiprogramáveis a serem implementados na década de Os programas, também chamados de jobs, eram submetidos para execução através de cartões perfurados e armazenados em disco ou fita, onde aguardavam para ser processados. Posteriormente, em função da disponibilidade de espaço na memória principal, os jobs eram executados, produzindo uma saída em disco ou fita. O processamento batch tem a característica de não exigir a interação do usuário com a aplicação. Todas as entradas e saídas de dados da aplicação são implementadas por algum tipo de memória secundária, geralmente arquivos em disco. Alguns exemplos de aplicações originalmente processadas em batch são programas envolvendo cálculos numéricos, compilações, ordenações, backups e todos aqueles onde não é necessária a interação com o usuário. Esses sistemas, quando bem projetados, podem ser bastante eficientes, devido à melhor utilização do processador, entretanto, podem oferecer tempos de resposta longos. Atualmente, os sistemas operacionais implementam ou simulam o processamento batch, não existindo sistemas exclusivamente dedicados a este tipo de processamento. Figura 1: Sistema de Processamento Batch

13 Cada trabalho (job) podia corresponder a uma seqüência de passos (job steps). Cada passo poderia envolver a compilação de um programa numa linguagem (assembly ou FORTRAN) ou a execução de um programa já compilado. O utilizador era responsável por especificar a descrição de cada trabalho, com base numa linguagem de controle, devendo tipicamente codificar essa descrição sob a forma de cartões perfurados, editados numa máquina perfuradora de cartões. Assim, a descrição do trabalho pedido por cada utilizador constituía uma pilha de cartões, que eram depois entregues ao operador, responsável pela supervisão da execução dos trabalhos. Cartões especiais de controle indicavam, na descrição do trabalho, informações tais como 'início de cartões de um trabalho', 'compilador de FORTRAN', 'início de seqüência de cartões do programa utilizador', 'início de seqüência de cartões de dados para o trabalho', etc. O operador do sistema era responsável por escalonar a ordem segunda a qual os diversos trabalhos submetidos iriam ser executados. Uma vez decidida essa ordem, colocava as pilhas de cartões na 'calha' de leitura de um periférico de entrada: o leitor de cartões perfurados. Os cartões de cada trabalho iriam ser lidos para memória e interpretados por um programa que antes tinha sido carregado em memória (este programa era chamado monitor control program) e constituia o embrião dos atuais interpretadores de comandos do terminal (shell). Este sistema de processamento de trabalhos era estritamente seqüencial, isto é, cada trabalho era executado completamente, até terminar e passar o controle ao monitor de controle, para este processar o próximo trabalho do lote. Durante a execução, o programa era responsável também pelas operações de entrada (leitura de cartões de dados) e de saída (escrita dos resultados numa impressora). Uma evolução introduzida nos primeiros sistemas foi a de disponibilizar as rotinas de controlo das entradas e saídas, como rotinas auxiliares, que residiam em memória, de modo a poupar o trabalho e diminuir a probabilidade de ocorrência de erros do programador. Estas rotinas de entrada/saída, mais o interpretador de cartões de controle, formavam o que se designava por monitor de controle ou programa supervisor de trabalhos. Este programa residia numa zona de memória central. Figura 2: Ocupação de Memória

14 Estes sistemas não ofereciam qualquer mecanismo de proteção contra erros imprevistos dos programas utilizadores: se o programa gerasse endereços que referissem a zona de memória do monitor, poderia corromper o seu código ou dados; o programa de um utilizador, em situações de erro, podia começar a ler os cartões de entrada, do leitor de cartões, mas correspondentes aos utilizadores seguintes, no lote de trabalhos submetidos; se o programa tivesse um ciclo infinito, nunca terminaria e o controle nunca retornaria ao monitor de controle, ficando o sistema completamente bloqueado Para resolver os dois primeiros tipos de problemas, surgiram mecanismos de proteção, suportados pelo hardware dos próprios processadores (CPU). No registrador de flags de estado do processador passou a haver um bit adicional de controle, indicando o modo de operação corrente do processador. Se este bit indicar o modo supervisor ou protegido, então todas as ações são permitidas na execução das instruções da máquina, incluindo o acesso a toda a memória, sem restrições, o acesso aos registradores de controle do processador, incluindo os que controlam o acesso às tabelas de páginas ou de segmentos dos programas, bem como o acesso às interfaces dos periféricos e o controlo do mecanismo de interrupções. Tipicamente, os programas que constituem o sistema de operação, irão ser executados no modo supervisor. O sistema de operação, antes de passar o controle da execução para um programa utilizador, modifica o bit de modo para indicar o modo utilizador. Neste modo, o programa só pode gerar endereços que refiram as zonas de memória às quais lhe foi dado acesso, por exemplo, através da sua tabela de páginas (inicializada pelo SO). Qualquer referência de memória fora dessas zonas é detectada pelo hardware do processador, no processo de transformação do endereço virtual, o que, em modo utilizador, origina uma interrupção do programa, por violação de memória. O mesmo controle é exercido, de modo a impedir o programa em modo utilizador de aceder às portas de interface dos periféricos, executar instruções máquina de entrada e saída e efetuar ações de controle do processador, por exemplo, para o controle de interrupções.

15 Figura 3: Modos de Operação do Processador Como aquelas ações ficam proibidas e são impostas por hardware, os erros dos dois primeiros tipos podem ser controlados pelo SO. Se, em modo utilizador, o programa não pode executar instruções de entrada e saída, como é que comunica com o exterior, isto é, recebe dados e produz resultados, envolvendo os dispositivos periféricos, sejam de entrada, de saída ou de arquivo de ficheiros? A resposta é: fazendo pedidos ao SO, através da invocação de chamadas ao sistema. Conclusão O processamento batch costuma se mostrar mais eficiente nos casos de operações rotineiras de alto volume. Muitos jobs batch costumam ser rodados à noite, nos mainframes. Antes que as redes se tornassem economicamente viáveis, quase todo o processamento de dados empresarial e científico era feito em batch. Os jobs batch podem ser rodados por requisição específica ou dentro de um cronograma regular de produção, sendo essa última modalidade mais comum nas empresas. A freqüência em que os jobs regulares são executados (diária, semanal, mensal e assim por diante) é determinada pelas exigências da aplicação. Este tipo de arquivo pode ser muito perigoso, pois é capaz de danificar o sistema operacional sem o conhecimento do usuário, enchendo o disco rígido,

16 desconfigurando a inicialização do sistema, dentre outros males. Por isso, é recomendado executar jobs batch conhecidos. Bibliografia

17 Processamento Time-Sharing (Tempo Compartilhado)

18 Introdução As redes de computadores habilitam os computadores a comunicar-se diretamente, com o objetivo de trocar informações e serviços de uma forma mais prática e otimizada. Na medida em que os computadores variam em tipo e localidade, a tarefa de habilitar a interconexão pode tornar-se um tanto difícil. Computação Centralizada (time-sharing) Tempo compartilhado ou time sharing (em inglês) é um termo referente a sistemas operacionais, que surgiu durante a 3ª geração dos sistemas operacionais, atualmente em sua 4ª geração. Este conceito significa compartilhamento de tempo, ou seja, o tempo ocioso entre os processos é compartilhado com outros processos para dinamizar o sistema. Múltiplas tarefas são executados simultaneamente, sendo que a CPU atende cada tarefa por um determinado tempo, em sequência. Os tempos dedicados para cada tarefa são pequenos o suficiente para dar a ilusão de que as tarefas estão sendo executadas simultaneamente. É também um termo utilizado pelo mercado imobiliário para um imóvel vendido a mais de um proprietário, que compartilham o uso alternadamente durante o ano, comum em locais muito procurados para férias. Sistemas time-sharing são diferentes, esta técnica é utilizada para aplicações interativas a chave para se medir a eficiência de um sistema é o tempo de resposta. Como o tempo entre duas transações consecutivas é usualmente longo o espaço de memória pode ser gerenciado pela técnica do roll in/roll out Computação Centralizada (time-sharing). Roll In / Roll Out Na maioria dos sistemas de time-sharing as técnicas do roll in/ roll out são utilizadas para gerenciarem o espaço na memória principal. Vejamos uma aplicação típica de time-sharing. As transações (um comando, uma declaração de um programa) são digitadas em um teclado. Na maioria dos casos muito poucos processamento é exigido, a digitação é lenta. Desta maneira, quando uma transação é processada o sistema sabe que haverá um considerável intervalo de tempo até que chegue a próxima transação do mesmo usuário. Então a área de trabalho pode ser colocada em uma memória auxiliar (rolled-out) abrindo espaço

19 para outra aplicação na memória principal. Na próxima transação deste usuário seu espaço será novamente colocado na memória principal (rolled-in). Sistemas de time sharing Os sistemas operacionais multiprogramados apareceram numa época em que os usuários acessavam as máquinas através de "terminais burros" (sem capacidade de processamento local). Todo o processamento era feito num computador central, cujo tempo de processamento era então compartilhado pelos vários usuários. Os sistemas de tempo compartilhado (time-sharing) permitem que diversos programas sejam executados a partir da divisão do tempo do processador em pequenos intervalos, denominados fatia de tempo (time-slice). Caso a fatia de tempo não seja suficiente para a conclusão do programa, ele é interrompido pelo sistema operacional e substituído por um outro, enquanto fica aguardando por uma nova fatia de tempo. O sistema cria para cada usuário um ambiente de trabalho próprio, dando a impressão de que todo o sistema está dedicado exclusivamente a ele. Geralmente, sistemas de tempo compartilhado permitem a interação dos usuários com o sistema, através de terminais que incluem vídeo, teclado e mouse. Esses sistemas possuem uma linguagem de controle que permite ao usuário comunicar-se diretamente com o sistema operacional, através de comandos. Desta forma, é possível verificar arquivos armazenados em disco ou cancelar a execução de um programa. O sistema, normalmente, responde em poucos segundos à maioria desses comandos. Devido a esse tipo de interação, os sistemas de tempo compartilhado também ficaram conhecidos como sistemas on-line. A maioria das aplicações comerciais atualmente é processada em sistemas de tempo compartilhado, pois elas oferecem tempos de respostas razoáveis a seus usuários e custos mais baixos, em função da utilização compartilhada dos diversos recursos do sistema. Time-slicing Imagine que um usuário se encontre a 30 minutos digitando dados para um programa de análise estatística. Cada transação (digitação de dado) corresponde a uma típica aplicação de time-sharing. Apesar disto, ao final de seu trabalho de digitação, sua última transação é diferente. Ele solicitará o processamento dos dados que poderá levar alguns minutos e todos os outros usuários deveriam esperar este processamento terminar para voltarem a obter a atenção do processador novamente, e isto seria intolerável. A fim de evitar este tipo de problema utiliza-se a técnica do time-slicing onde cada programa tem o direito de utilizar-se do processador por um certo período de tempo máximo, por exemplo 0.1 segundo. Após o término deste período de tempo o próximo programa da fila recebe o controle, e assim sucessivamente. Um determinado programa só perderá o controle e entrará em regime de espera antes do seu tempo terminar se ele solicitar uma E/S.

20 Bibliografia

21 Processamento On-line

22 Processamento On-line O processamento de dados online fornece cômputos interativos. Sempre que os dados de entrada ou transações como ele introduz o sistema sejam processados imediatamente. Não há nenhuma provisão para esperar por alguns outros dados para entrar ou reunir dados durante o período do tempo e submeter-se de uma vez em caso do Processamento de Lote. os computadores online processam cada transação sobre a recepção e os resultados do processamento de dados podem ser imediatamente informados ao usuário do sistema. Os exemplos de sistemas de processamento de dados online incluem: Reserva de companhia aérea, reserva de Ônibus, reserva Ferroviária. Os passageiros que fazem reserva gostariam de saber imediatamente se o assento é disponível ou não. Como o balcão de reserva de ônibus online computadorizado aceita dos passageiros os dados da viagem, o tempo de viagem, número de ônibus, número de via, distinção, classe da viagem, número de assentos necessitados etc. Estes dados são processados imediatamente para informar os passageiros sobre a posição de disponibilidade dos assentos de reserva do ônibus especificado e o número de via, em passageiros é disposto agora a reservar os assentos, dados online que processam sistema de computador que trata reservas, confirmar os assentos reservados do passageiro reduzindo o número total de assentos disponíveis naquele ônibus pelo número solicitado de assentos. Lá pelo processamento online fornece a interação, uma espécie de gerência automática quanto a continuam seguindo a pista dos assentos disponíveis reais e inquirição online sobre a posição de reserva. ATMs Computadorizado (Máquinas de Contador Automáticas) no banco permite aos portadores de contas desenhar o dinheiro necessitado.

23 Referências Bibliográficas robson.fjaunet.com.br/fundacao/delphi/pdf/aula_04_delphi.pdf

24 Processamento Real-Time (Tempo Real)

25 Processamento real time Em um processamento em tempo real, há uma entrada contínua, processo e saída de dados. Os dados precisam ser transformados em um pequeno período de tempo estipulado (real time), caso contrário ele irá criar problemas para o sistema. Por exemplo: montagem de robôs em linha e sistema de radar. O que é o Real-Time? Considere um sistema de software em que os insumos representam dados digitais de hardware como dispositivos de imagem ou outro sistema de software e as saídas são dados digitais que o hardware de controle externo, como displays. O tempo entre a apresentação de um conjunto ofinputs e a aparência de todos as saídas associadas é chamado de tempo de resposta. Um sistema em tempo real é aquele que deve satisfazer explícitas limitações de tempo limitado de resposta para evitar falha. Equivalentemente, um sistema em tempo real é uma correção, cuja lógica é baseado tanto na exatidão dos resultados e a sua atualidade. Observe que tempos de resposta, por exemplo, microssegundos não são necessários para caracterizar um sistema em tempo real - ele simplesmente deve ter tempos de resposta que são restritas e, portanto, previsível. Na verdade, o equívoco de que os sistemas em tempo real deve ser "rápido" é porque na maioria dos casos, os prazos são da ordem de microssegundos. Mas as restrições de prazos ou prazos são geralmente uma reflexo do processo físico subjacente está sendo controlado. Por exemplo, em processamento de imagens envolvendo atualização de tela para visualização de movimento contínuo, os prazos são da ordem de 30 microssegundos. A principal diferença entre tempo real e não sistemas de tempo real é uma ênfase na previsão de tempo de resposta e sua redução. Percebe-se que cada sistema pode ser feita de conformidade com a definição em tempo real simplesmente ser o estabelecimento de prazos (arbitrária ou não). Por exemplo, um tempo de um algoritmo de filtragem de imagens para imagens médicas, que não pode ser considerado como tempo-real, realmente é em tempo real se o procedimento está relacionado com a anillness em que o diagnóstico e tratamento têm algum realista prazo. Como todos os sistemas podem ser feitos para olhar como se fossem em tempo real, nós refinamos a definição tanto em termos de tolerância do sistema para não atendidos prazos. Por exemplo, sistemas tempo real, são aqueles onde a falha para atender até mesmo um prazo resulta em falha total do sistema. Na empresa em tempo real sistemas de número pequeno com prazos fixos podem ser perdidos sem total falha do sistema. Finalmente, em suaves prazos de sistemas em tempo real leva em falta para a degradação do desempenho, mas não fracassam. Salvo disposição em contrário, quando dizemos "tempo real" ao longo deste tutorial, vamos dizer rígido em tempo real. Outro equívoco comum é que o estudo do processamento em tempo real não é realmente um problema de hardware, porque é sempre mais rápido. Jogando hardware mais rápido nos prazos problemas podem ser sempre respeitados.

26 Além disso, o hardware mais rápido é sempre disponível ou adequado para determinados aplicações. Alguns acham que o desempenho em tempo real é fácil de conseguir. E nem sempre é assim, principalmente porque a maioria dos hardwares e linguagens de programação não são adequados para as demandas em tempo real. Características de Sistemas em Tempo Real Real-Time Systems são freqüentemente reativos e / ou sistemas embarcados. Reactive sistemas são aqueles em que a funcionalidade é impulsionada pela contínua, esporádica interação com o meio ambiente, como na realidade virtual. Embedded sistemas geralmente não têm uma interface de sistema operacional generalizado e são utilizados explicitamente para controlar dispositivos de hardware especializados. Por exemplo, sistemas de imagem muitos que residem em plataformas de hardware especiais, como realidade virtual, multimídia e imagens médicas, são incorporadas. Um conceito importante em sistemas de tempo real é a noção de um evento, isto é, qualquer ocorrência que resulta em uma mudança no fluxo seqüencial de execução do programa. Os eventos podem ser divididos em duas categorias: síncrono e assíncronas. Acontecimentos síncronos são aqueles que ocorrem na previsível vezes como a execução de uma instrução de ramificação condicional ou armadilha de hardware. Eventos assíncronos ocorrem em pontos imprevisíveis no fluxo de controle e são geralmente causadas por fontes externas, como um sinal de relógio. Ambos os tipos de eventos pode ser um sinal para o processador de sinais de hardware. Real-Time Design Issues Por que estudar sistemas em tempo real? A concepção e implementação de tempo real sistemas requer a consideração cuidadosa de uma variedade de questões. Entre as tarefas atribuídas ao projetista do sistema em tempo real são: 1. Seleção de hardware e software necessário a combinação adequada para uma solução de custo eficaz. 2. A decisão de tirar vantagem de uma operação comercial tempo real sistema ou de conceber um sistema operacional especial.

27 3. Predição e medição de utilização da CPU e conseguir um seguro mas o nível eficiente de utilização. 4. Seleção de um idioma do software apropriado para o desenvolvimento do sistema. 5. Maximizando a tolerância a falhas e confiabilidade do sistema através de uma cuidadosa assinar e testes rigorosos. Ambientes de computação distribuídos estão a evoluir no sentido de sistemas em tempo real. Por exemplo, os avanços na comunicação digital redes e estações de trabalho no computador pessoal estão a começar a permitir que a geração, comunicação e apresentação de voz em tempo real e mídia de vídeo simultaneamente. Muitos não-sistemas em tempo real têm sido estripado para estender seu uso para processamento em tempo real. Este tendência exige distribuição e real funcionalidade de controle de tempo para serem elementos intrínsecos do sistema. Existe uma grande demanda para oferecer real funcionalidades do tempo como serviços do sistema normal, ao invés de adicionar em especial recursos. Exemplo de utilização do processamento real time. A Análise Inteligente de Vídeo (IVA) da Bosch Auxilia os operadores a manterem a atenção, introduzindo um novo nível de automação no controle de CFTV. Baseado em ilustrações virtuais (metadados), o processamento em tempo real identifica as condições de alerta, fornecendo as informações necessárias à equipe de segurança para a tomada de ações preventivas ou ações em situações de emergências.

28 Bibliografia

29 Multiprocessamento

30 Multiprocessamento São cada vez mais comuns os sistemas computacionais que contam com mais de um processador, em comunicação ativa, compartilhando barramento, clock e até mesmo memória e dispositivos periféricos. São denominados como sistemas multiprocessador. Multiprocessamento é a capacidade de um sistema operacional executar simultaneamente dois ou mais processos. Pressupõe a existência de dois ou mais processadores. Difere da multitarefa, pois esta simula a simultaneidade, utilizando-se de vários recursos, sendo o principal o compartilhamento de tempo de uso do processador entre vários processos. Diferenças entre Multiprocessamento e Multitarefa Multitarefa é referente a software, mais precisamente a Sistema Operacional. Um SO multitarefa é um SO que consegue realizar diversas tarefas em paralelo, ou seja, você pode digitar no Word, enquanto escuta música no Musicmatch e baixa um vídeo. Logo o Windows é um sistema multitarefas, pois ele consegue organizar mais de uma tarefa por vez. Ao contrário do antigo MS-DOS, onde não se conseguia nem sequer abrir dois textos simultaneamente. Multiprocessamento é referente a hardware, mais precisamente a processadores. Nada mais é do que executar mais de um processo por vez. Quando o SO vai realizar uma tarefa ele cria um Processo para esta tarefa (que você pode visualizar no Gerenciador de Dispositivos do Windows) e envia ao processador. Na verdade, o multiprocessamento só ocorre se houver mais de um processador no micro, pois mesmo com as Máquinas Virtuais, o que ocorre é uma ilusão de multiprocessos, pois na parte física um único processador só pode executar um processo por vez. Características de um multiprocessamento Um multiprocessador ou sistema multiprocessado é um sistema integrado de computação com as seguintes características: Envolve dois ou mais processadores físicos (sejam processadores separados ou múltiplos núcleos encapsulados no mesmo chip) ou lógicos (processador(es) com a tecnologia HyperThreading da Intel) com o mesmo poder computacional e cada um capaz de executar processos autonomamente. Isto implica que não há

31 nenhuma unidade central de controle; cada processador contém sua própria unidade de controle. Assim, efetivamente, a lógica de controle é distribuida pelo sistema. Os processadores compartilham um único espaço de endereçamento de memória. O sistema de hardware é como um todo gerenciado por um único sistema operacional. O sistema operacional com suporte a multiprocessamento deve ser capaz de suportar multitarefa e manter múltiplas filas de processos, uma para cada processador. Benefícios de um multiprocessamento Estes sistemas geram economia pelo compartilhamento de periféricos, memória primária e secundária e fontes de alimentação. São convenientes, pois possibilitam armazenamento mais centralizado de dados. Além de fornecer maior disponibilidade que é a probabilidade de um sistema estar operando corretamente e disponível para uso em um dado instante de tempo, mesmo na ocorrência de falhas, defeitos físicos ou imperfeições que ocorram em algum componente de hardware ou de software em um dado sistema. Outro benefício é a confiabilidade. A falha de um processador irá diminuir a eficiência do sistema, mas não o interromperá. Esta capacidade é conhecida como degradação normal e os sistemas que a implementam são conhecidos por ser tolerantes a falhas. A operação contínua na presença de falhas requer mecanismos que detectem, façam o diagnóstico e correção das falhas. Arquitetura São comuns os sistemas multiprocessadores utilizarem multiprocessamento simétrico ou SMP (de Symmetric MultiProcessing). Nele, os processadores compartilham a mesma memória, embora possam ter caches separadas. O sistema operacional deve estar preparado para trabalhar com coerência de caches e, principalmente, evitar condições de corrida na memória principal. No SMP, cada processador executa uma cópia idêntica do sistema operacional, que se comunicam entre si como for necessário e tem tempo uniforme de acesso à memória. Também é possível a arquitetura NUMA (Non-Uniform Memory Access), onde o tempo de acesso à memória varia em função da localização física dos processadores em relação à da memória.

32 Como o acesso à memória não é uniforme, cada processador é associado um banco de memória. Nesse caso, o sistema operacional trata cada banco separadamente, pois cada banco tem um custo de acesso diferente, dependendo de qual o processador a que está associado e onde está sendo executado o processo que tenta acessar a memória. Outra forma de trabalho é a de multiprocessamento assimétrico, na qual cada processador recebe uma tarefa específica. Um processador mestre controla o sistema e os outros (escravos) recebem instruções dele. A distinção pode ser implementada em hardware ou software. Com o barateamento dos processadores, mais responsabilidades podem ser atribuídas aos processadores escravos de um sistema com multiprocessamento assimétrico. Por exemplo, um processador escravo com sua própria memória pode gerenciar um sistema de disco (até implementando seus próprios algoritmos de escalonamento e filas de disco) ou controlar interfaces gráficas. É também comum que esta arquitetura não seja mais considerada como multiprocessamento real. Exemplos de Multiprocessamento Placas mãe com dois ou mais processadores são normalmente usadas em servidores e estações de trabalho de alto desempenho. Usam processadores como o XEON e o Itanium (Intel) e o Opteron (AMD). O que os novos processadores duais têm de interessante é o fato de trazerem o multiprocessamento para os micros convencionais (desktop) e e para os notebooks. Certos sistemas operacionais já oferecem suporte a múltiplos processadores há bastante tempo. Citamos o Windows NT, Windows 2000, Windows XP Professional, Windows 2003, Windows Vista e a maioria das implementações do Linux. Antes de existirem processadores com mais de um núcleo, a única forma de ter processamento dual era usando placas mãe com soquetes para vários processadores. Essas placas são comuns em servidores, há bastante tempo. A Figura 1 mostra uma placa mãe com soquetes para dois processadores Intel Xeon, para uso em servidores. O multiprocessamento (uso de mais de um processador) existe em servidores desde meados dos anos 90, com processadores como o Pentium Pro, Pentium II Xeon e Pentium III Xeon, mas sempre com placas mãe para 2 ou 4 processadores. E para que é preciso usar multiprocessamento nos micros mais simples? Todos os que acompanham a evolução recente dos processadores estão a par das dificuldades dos fabricantes em produzirem modelos com clocks mais elevados. A Intel atingiu a marca de 3 GHz no final de 2002, e no início de 2007 ainda estava em 3,8 GHz. É uma contradição à Lei de Moore, que afirma empiricamente que os

33 processadores tendem a dobrar de desempenho a cada 18 meses. Se aumentar o clock é difícil, por limitações tecnológicas, é menos difícil usar dois processadores iguais e de menor velocidade, aumentando bastante a velocidade de processamento. Figura 1: Placa mãe para dois processadores Intel Xeon. Multiprocessamento simétrico O multiprocessamento simétrico ou SMP (Symmetric Multi-Processing) é uma tecnologia que permite a um determinado sistema operacional distribuir tarefas entre dois ou mais processadores. Este método, mais especificamente, permite que vários processadores partilhem o processamento de instruções requisitadas pelo sistema. O multiprocessamento simétrico oferece um aumento linear na capacidade de processamento a cada processador adicionado. Não há necessariamente um hardware que controle este recurso, cabe ao próprio sistema operacional suportá-lo. Este método também é chamado de "processamento paralelo". Funcionamento Os processadores trabalham em conjunto compartilhando os recursos de hardware, geralmente são processadores iguais, similares ou com capacidades parecidas. Todos têm os mesmos privilégios de acesso ao hardware, ao contrário do que acontece em sistemas multiprocessados assimétricos, onde um processador é encarregado de gerenciar e coordenar as tarefas e ações dos demais, o que pode proporcionar melhor controle sobre a sobrecarga ou a ociosidade dos processadores subordinados. Por tratar todos os processadores de forma igualitária, no

34 multiprocessamento simétrico, qualquer processador pode assumir as tarefas realizadas por qualquer outro processador, as tarefas são divididas e também podem ser executadas de modo concorrente em qualquer processador que esteja disponível. Os acessos dos processadores aos dispositivos de entrada e saída e a memória são feitos por um mecanismo de intercomunicação constituído por um barramento único. A memória principal da máquina é compartilhada por todos os processadores através de um único barramento que os interliga, de modo que esse acesso a memória é nativo, não existe a necessidade de um mascaramento da memória real em nível de aplicação. Por todo acesso à memória principal ser realizado através de um único barramento, aqui temos um ponto de gargalo do sistema, pois o acesso é serial, ou seja, o sistema fica limitado a passagem de apenas uma instrução de cada vez pelo barramento, abrindo uma lacuna de tempo entre uma instrução e outra. Memórias caches junto aos processadores diminuem o tempo de latência entre um acesso e outro à memória principal e ajudam também a diminuir o tráfego no barramento. Como estamos falando em mais de um processador, cada um com sua memória cache é imprescindível garantir que os processadores sempre acessem a cópia mais recente da memória cache, isso se chama coerência de cache geralmente implementada diretamente por hardware. Um dos métodos de coerência de cache mais conhecido é o snooping, quando um dado compartilhado nas caches dos processadores é alterado, todas as cópias das caches são consideradas inválidas e logo após atualizadas mantendo assim a integridade do dado. Gerenciamento O sistema operacional é quem se encarrega de realizar a interação entre os processadores e as aplicações do sistema. Deixando a existência de múltiplos processadores transparente para os usuários, pois o próprio sincroniza os processos com os processadores. Mesmo as arquiteturas de SMP já existirem há muitos anos no mercado, até pouco tempo os sistemas não tinham uma padronização para as funções básicas de operação, cada sistema implementava suas próprias funções. O que tornava impossível que os sistemas operacionais fossem portáveis. Apartir dessa necessidade foi criada a MPS (Específicações da Intel para Multiprocessadores ou do inglês - Intel's Multiprocessor Specification), com o objetivo de padronizar o desenvolvimento de SOs que suportassem essas arquiteturas. A criação da MPS fez com que a Intel saísse na frente no desenvolvimento da tecnologia multicore. Vantagens Sistemas de multiprocessamento simétrico são considerados mais poderosos em relação aos de multiprocessamento assimétricos, abaixo alguns descritivos de comparação entre eles.

35 No multiprocesasmento simétrico muitos processos podem ser executados ao mesmo tempo sem queda no desempenho, pois o sistema operacional delega as instruções a cada processador; Se um processador falhar o sistema não tranca pois qualquer outro processador pode assumir as tarefas daquele que falhou, já no assimétrico por exemplo, se o processador mestre falhar o sistema trava; No SMP o usuário pode melhorar o desempenho da máquina simplesmente adicionando um processador. Tecnologias Antigamente para utilizar SMP era necessário hardware específico, placas-mãe com dois ou mais soquetes de CPU, grandes estruturas de servidores clusterizados. Hoje em dia com a tecnologia multi-core, as fabricantes já integram tudo isso em apenas um dispositivo físico, também conhecidos como processadores multi-core. Alguns exemplos de processadores multi-core: Intel Xeon; Intel Pentium D; Core Duo e Core 2 Duo; Intel Itanium; AMD Athlon 64 ou X2; Opteron 200 e 2000 processadores da série; UltraSPARC da Sun Microsystems; Fujitsu SPARC64 III; Hewlett Packard PA-RISC; IBM POWER; PowerPC Apple Computer(G4 e séries G5) Bibliografia

36 Teleprocessamento

37 Teleprocessamento Os primeiros sistemas de comunicações de dados remontam à metade dos anos 60. Os sistemas de comunicações de dados rudimentares eram conhecidos como sistemas de teleprocessamento. Os primeiros sistemas de teleprocessamento eram constituídos de terminais conectados a um computador central por meio de linhas de comunicações. O processamento dos dados enviados pelos terminais era realizado remotamente pelo computador central e os resultados processados, distribuídos posteriormente para os terminais. Em sistemas de teleprocessamento mais modernos, o processamento dos dados passou a ser realizado de forma distribuída (não mais centralizada em um único computador). Maior sistema de teleprocessamento existente: Denominação: Descrição: Projeto SETI - Search for Extraterrestrial Intelligence. Rede de PCs ao redor do mundo destinada a analisar e processar sinais provenientes do espaço, captados por rádio-telescópios.

38 Objetivo: Integrantes: Captar sinais que possam constituir comunicação inteligente, originada de fora da Terra. Qualquer indivíduo ou entidade pode integrar esta rede, disponibilizando seu PC como um terminal de processamento remoto gerenciado pelo projeto SETI. O processamento busca estabelecer a existência de algum processo subjacente responsável pela geração dos sinais analisados. Definição de Teleprocessamento Técnica em que os dispositivos de entrada/saída de dados, por estarem afastados do centro de processamento, utilizam os recursos de telecomunicações para que o sinal (dados) seja transferido entre os pontos distantes, promovendo, à distância, o processamento dos dados. Aglutina tecnologias de telecomunicações + processamento. Inicialmente Denominação proprietária da IBM. Hoje Denominação de domínio público. Definição de Comunicação de Dados Conceito mais abrangente do que Teleprocessamento. Significa: técnica de transferência confiável da informação contida no sinal (dados) entre pontos distantes. Inclui, além das funções de transmissão, funções adicionais como: detecção e correção de erros, protocolos, etc.

39 Bibliografia teleprocessamento-e-redes/

40 Linguagem de Programação de Robôs

41 Linguagem de programação de robôs A concepção de um robô envolve a criação de um conjunto de algoritmos, permitindo cada um deles realizar uma função específica. A dinâmica, o controlo, o planejamento de trajetória, a utilização de sensores são algumas das funções que estes algoritmos implementam. Este conjunto de algoritmos utilizados para completar as tarefas estão normalmente incluídos em módulos de software. No entanto, existem diversas formas de comunicar com o robô, sendo importante destacar três delas: reconhecimento de palavras, a estratégia "teach and playback" e as linguagens de alto nível. Será essencialmente sobre estas últimas que o nosso estudo recairá. Os sistemas de reconhecimento de palavras encontram-se ainda num estado primitivo e dependentes do orador. Estes sistemas podem reconhecer um conjunto de palavras discretas de entre um vocabulário bastante restrito sendo, na maioria dos casos, necessário que o orador efetue pausas entre palavras. A segunda estratégia referida anteriormente é muito comum nos robôs industriais dos dias de hoje. Este método envolve o ensino ao robôs dos movimentos que o utilizador pretende que ele realize e caracteriza-se essencialmente por três fases. Numa primeira fase, o utilizador guia o robôs usando os comandos manuais por todos as fases que constituem a tarefa a realizar registrando todos os ângulos e localizações dos braços do robô e do próprio robô por forma a poder repetir o processo. Numa segunda fase será necessário editar, inserir e recapitular os movimentos ensinados ao robô. Finalmente, se os movimentos estiverem corretos é possível passar para a utilização prática do robô. Em caso contrário será necessário repetir todo o processo.

Sistema Operacional Correção - Exercício de Revisão

Sistema Operacional Correção - Exercício de Revisão Prof. Kleber Rovai 1º TSI 22/03/2012 Sistema Operacional Correção - Exercício de Revisão 1. Como seria utilizar um computador sem um sistema operacional? Quais são suas duas principais funções? Não funcionaria.

Leia mais

Everson Scherrer Borges João Paulo de Brito Gonçalves

Everson Scherrer Borges João Paulo de Brito Gonçalves Everson Scherrer Borges João Paulo de Brito Gonçalves 1 Tipos de Sistemas Operacionais Os tipos de sistemas operacionais e sua evolução estão relacionados diretamente com a evolução do hardware e das

Leia mais

Sistemas Operacionais Introdução. Professora: Michelle Nery

Sistemas Operacionais Introdução. Professora: Michelle Nery Sistemas Operacionais Introdução Professora: Michelle Nery Área de Atuação do Sistema Operacional Composto de dois ou mais níveis: Tipo de Sistemas Operacionais Sistemas Operacionais Monotarefas Sistemas

Leia mais

Sistemas Operacionais. Prof. André Y. Kusumoto andrekusumoto.unip@gmail.com

Sistemas Operacionais. Prof. André Y. Kusumoto andrekusumoto.unip@gmail.com Sistemas Operacionais Prof. André Y. Kusumoto andrekusumoto.unip@gmail.com Introdução Um sistema operacional é um programa que atua como intermediário entre o usuário e o hardware de um computador. O propósito

Leia mais

SISTEMAS OPERACIONAIS CAPÍTULO 3 CONCORRÊNCIA

SISTEMAS OPERACIONAIS CAPÍTULO 3 CONCORRÊNCIA SISTEMAS OPERACIONAIS CAPÍTULO 3 CONCORRÊNCIA 1. INTRODUÇÃO O conceito de concorrência é o princípio básico para o projeto e a implementação dos sistemas operacionais multiprogramáveis. O sistemas multiprogramáveis

Leia mais

Sistemas Operacionais

Sistemas Operacionais Sistemas Operacionais O que se espera de um sistema de computação? Execução de programas de usuários Permitir a solução de problemas Sistema Operacional (SO) é um programa colocado entre o hardware do

Leia mais

Sistemas Operacionais

Sistemas Operacionais Sistemas Operacionais Aula 03 Tipos de Sistemas Operacionais Maxwell Anderson Prof. Maxwell Anderson www.maxwellanderson.com.br Tipos de Sistemas Operacionais Os tipos de sistemas operacionais e a sua

Leia mais

BACHARELADO EM SISTEMAS DE INFORMAÇÃO EaD UAB/UFSCar Sistemas de Informação - prof. Dr. Hélio Crestana Guardia

BACHARELADO EM SISTEMAS DE INFORMAÇÃO EaD UAB/UFSCar Sistemas de Informação - prof. Dr. Hélio Crestana Guardia O Sistema Operacional que você usa é multitasking? Por multitasking, entende-se a capacidade do SO de ter mais de um processos em execução ao mesmo tempo. É claro que, num dado instante, o número de processos

Leia mais

Sistemas Operacionais

Sistemas Operacionais Sistemas Operacionais Aula 6 Estrutura de Sistemas Operacionais Prof.: Edilberto M. Silva http://www.edilms.eti.br Baseado no material disponibilizado por: SO - Prof. Edilberto Silva Prof. José Juan Espantoso

Leia mais

Arquitetura de Computadores. Introdução aos Sistemas Operacionais

Arquitetura de Computadores. Introdução aos Sistemas Operacionais Arquitetura de Computadores Introdução aos Sistemas Operacionais O que é um Sistema Operacional? Programa que atua como um intermediário entre um usuário do computador ou um programa e o hardware. Os 4

Leia mais

Sistemas Operacionais. INTRODUÇÃO Prof. Rafael Alberto Vital Pinto FACSUL/CESUR

Sistemas Operacionais. INTRODUÇÃO Prof. Rafael Alberto Vital Pinto FACSUL/CESUR Sistemas Operacionais INTRODUÇÃO Prof. Rafael Alberto Vital Pinto FACSUL/CESUR 1 Introdução O que se espera de um sistema de computação? Execução de programas de usuários Permitir a solução de problemas

Leia mais

1.2 Tipos de Sistemas Operacionais

1.2 Tipos de Sistemas Operacionais 1.2 Tipos de Operacionais Tipos de Operacionais Monoprogramáveis/ Monotarefa Multiprogramáveis/ Multitarefa Com Múltiplos Processadores 1.2.1 Monoprogramáveis/Monotarefa Os primeiros sistemas operacionais

Leia mais

IFPE. Disciplina: Sistemas Operacionais. Prof. Anderson Luiz Moreira

IFPE. Disciplina: Sistemas Operacionais. Prof. Anderson Luiz Moreira IFPE Disciplina: Sistemas Operacionais Prof. Anderson Luiz Moreira SERVIÇOS OFERECIDOS PELOS SOS 1 Introdução O SO é formado por um conjunto de rotinas (procedimentos) que oferecem serviços aos usuários

Leia mais

Introdução aos Sistemas

Introdução aos Sistemas Introdução Introdução aos Sistemas Operacionais 1 2 3... n Ambientes Operacionais Prof. Simão Sirineo Toscani stoscani@inf.pucrs.br www.inf.pucrs.br/~stoscani Compilador Editor de texto Browser Programas

Leia mais

Hardware (Nível 0) Organização. Interface de Máquina (IM) Interface Interna de Microprogramação (IIMP)

Hardware (Nível 0) Organização. Interface de Máquina (IM) Interface Interna de Microprogramação (IIMP) Hardware (Nível 0) Organização O AS/400 isola os usuários das características do hardware através de uma arquitetura de camadas. Vários modelos da família AS/400 de computadores de médio porte estão disponíveis,

Leia mais

Sistemas Operacionais 2014 Introdução. Alexandre Augusto Giron alexandre.a.giron@gmail.com

Sistemas Operacionais 2014 Introdução. Alexandre Augusto Giron alexandre.a.giron@gmail.com Sistemas Operacionais 2014 Introdução Alexandre Augusto Giron alexandre.a.giron@gmail.com Roteiro Sistemas Operacionais Histórico Estrutura de SO Principais Funções do SO Interrupções Chamadas de Sistema

Leia mais

Prof. Marcos Ribeiro Quinet de Andrade Universidade Federal Fluminense - UFF Pólo Universitário de Rio das Ostras - PURO

Prof. Marcos Ribeiro Quinet de Andrade Universidade Federal Fluminense - UFF Pólo Universitário de Rio das Ostras - PURO Conceitos básicos e serviços do Sistema Operacional Prof. Marcos Ribeiro Quinet de Andrade Universidade Federal Fluminense - UFF Pólo Universitário de Rio das Ostras - PURO Tipos de serviço do S.O. O S.O.

Leia mais

Tipos de sistemas operacionais

Tipos de sistemas operacionais Tipos de sistemas operacionais Sistemas Operacionais de Computadores de Grande Porte Sistemas Operacionais para Servidores Sistemas Operacionais de Multiprocessadores Sistemas Operacionais para Computadores

Leia mais

4 Estrutura do Sistema Operacional. 4.1 - Kernel

4 Estrutura do Sistema Operacional. 4.1 - Kernel 1 4 Estrutura do Sistema Operacional 4.1 - Kernel O kernel é o núcleo do sistema operacional, sendo responsável direto por controlar tudo ao seu redor. Desde os dispositivos usuais, como unidades de disco,

Leia mais

Sistemas Operacionais

Sistemas Operacionais Sistemas Operacionais Gerência de processos Controle e descrição de processos Edson Moreno edson.moreno@pucrs.br http://www.inf.pucrs.br/~emoreno Sumário Representação e controle de processos pelo SO Estrutura

Leia mais

Sistemas Operacionais

Sistemas Operacionais Sistemas Operacionais Aula 4 Tipos de SO Prof.: Edilberto M. Silva http://www.edilms.eti.br SO - Prof. Edilberto Silva Os Sistemas Operacionais podem ser assim classificados: SO - Prof. Edilberto Silva

Leia mais

Processos e Threads (partes I e II)

Processos e Threads (partes I e II) Processos e Threads (partes I e II) 1) O que é um processo? É qualquer aplicação executada no processador. Exe: Bloco de notas, ler um dado de um disco, mostrar um texto na tela. Um processo é um programa

Leia mais

SISTEMAS OPERACIONAIS. Apostila 01 Assunto: Tipos de Sistemas Operacionais UNIBAN

SISTEMAS OPERACIONAIS. Apostila 01 Assunto: Tipos de Sistemas Operacionais UNIBAN SISTEMAS OPERACIONAIS Apostila 01 Assunto: Tipos de Sistemas Operacionais UNIBAN 2.0 - INTRODUÇÃO Os tipos de sistemas operacionais e sua evolução estão intimamente relacionados com a evolução do hardware

Leia mais

1º Estudo Dirigido. Capítulo 1 Introdução aos Sistemas Operacionais

1º Estudo Dirigido. Capítulo 1 Introdução aos Sistemas Operacionais 1º Estudo Dirigido Capítulo 1 Introdução aos Sistemas Operacionais 1. Defina um sistema operacional de uma forma conceitual correta, através de suas palavras. R: Sistemas Operacionais são programas de

Leia mais

Capacidade = 512 x 300 x 20000 x 2 x 5 = 30.720.000.000 30,72 GB

Capacidade = 512 x 300 x 20000 x 2 x 5 = 30.720.000.000 30,72 GB Calculando a capacidade de disco: Capacidade = (# bytes/setor) x (méd. # setores/trilha) x (# trilhas/superfície) x (# superfícies/prato) x (# pratos/disco) Exemplo 01: 512 bytes/setor 300 setores/trilha

Leia mais

Sistemas Operacionais. Prof. André Y. Kusumoto andrekusumoto.unip@gmail.com

Sistemas Operacionais. Prof. André Y. Kusumoto andrekusumoto.unip@gmail.com Sistemas Operacionais Prof. André Y. Kusumoto andrekusumoto.unip@gmail.com Estruturas de Sistemas de Computação O sistema operacional precisa garantir a operação correta do sistema de computação. Operação

Leia mais

7 Processos. 7.1 Introdução

7 Processos. 7.1 Introdução 1 7 Processos 7.1 Introdução O conceito de processo é a base para a implementação de um sistema multiprogramável. O processador é projetado apenas para executar instruções, não se importando com qual programa

Leia mais

Sistemas Operacionais Gerência de Dispositivos

Sistemas Operacionais Gerência de Dispositivos Universidade Estadual de Mato Grosso do Sul UEMS Curso de Licenciatura em Computação Sistemas Operacionais Gerência de Dispositivos Prof. José Gonçalves Dias Neto profneto_ti@hotmail.com Introdução A gerência

Leia mais

11/3/2009. Software. Sistemas de Informação. Software. Software. A Construção de um programa de computador. A Construção de um programa de computador

11/3/2009. Software. Sistemas de Informação. Software. Software. A Construção de um programa de computador. A Construção de um programa de computador Sistemas de Informação Prof. Anderson D. Moura Um programa de computador é composto por uma seqüência de instruções, que é interpretada e executada por um processador ou por uma máquina virtual. Em um

Leia mais

Sistemas Operacionais

Sistemas Operacionais Andrique Amorim www.andrix.com.br professor@andrix.com.br Classificação dos Sistemas Operacionais Classificação Os sistemas operacionais podem ser classificados segundo diversos parâmetros e perspectivas.

Leia mais

SISTEMAS OPERACIONAIS

SISTEMAS OPERACIONAIS SISTEMAS OPERACIONAIS Tópico 4 Estrutura do Sistema Operacional Prof. Rafael Gross prof.rafaelgross@fatec.sp.gov.br FUNÇÕES DO NUCLEO As principais funções do núcleo encontradas na maioria dos sistemas

Leia mais

Multiplexador. Permitem que vários equipamentos compartilhem um único canal de comunicação

Multiplexador. Permitem que vários equipamentos compartilhem um único canal de comunicação Multiplexadores Permitem que vários equipamentos compartilhem um único canal de comunicação Transmissor 1 Receptor 1 Transmissor 2 Multiplexador Multiplexador Receptor 2 Transmissor 3 Receptor 3 Economia

Leia mais

ESTUDO DE CASO WINDOWS VISTA

ESTUDO DE CASO WINDOWS VISTA ESTUDO DE CASO WINDOWS VISTA História Os sistemas operacionais da Microsoft para PCs desktop e portáteis e para servidores podem ser divididos em 3 famílias: MS-DOS Windows baseado em MS-DOS Windows baseado

Leia mais

Unidade 13: Paralelismo:

Unidade 13: Paralelismo: Arquitetura e Organização de Computadores 1 Unidade 13: Paralelismo: SMP e Processamento Vetorial Prof. Daniel Caetano Objetivo: Apresentar os conceitos fundamentais da arquitetura SMP e alguns detalhes

Leia mais

Notas da Aula 15 - Fundamentos de Sistemas Operacionais

Notas da Aula 15 - Fundamentos de Sistemas Operacionais Notas da Aula 15 - Fundamentos de Sistemas Operacionais 1. Software de Entrada e Saída: Visão Geral Uma das tarefas do Sistema Operacional é simplificar o acesso aos dispositivos de hardware pelos processos

Leia mais

1. CAPÍTULO COMPUTADORES

1. CAPÍTULO COMPUTADORES 1. CAPÍTULO COMPUTADORES 1.1. Computadores Denomina-se computador uma máquina capaz de executar variados tipos de tratamento automático de informações ou processamento de dados. Os primeiros eram capazes

Leia mais

Sistemas Operacionais. Prof. M.Sc. Sérgio Teixeira. Aula 02 - Estrutura dos Sistemas Operacionais. Cursos de Computação

Sistemas Operacionais. Prof. M.Sc. Sérgio Teixeira. Aula 02 - Estrutura dos Sistemas Operacionais. Cursos de Computação Cursos de Computação Sistemas Operacionais Prof. M.Sc. Sérgio Teixeira Aula 02 - Estrutura dos Sistemas Operacionais Referência: MACHADO, F.B. ; MAIA, L.P. Arquitetura de Sistemas Operacionais. 4.ed. LTC,

Leia mais

Sistemas Operacionais. Prof. M.Sc. Sérgio Teixeira. Aula 04 - Concorrência. Cursos de Computação

Sistemas Operacionais. Prof. M.Sc. Sérgio Teixeira. Aula 04 - Concorrência. Cursos de Computação Cursos de Computação Sistemas Operacionais Prof. M.Sc. Sérgio Teixeira Aula 04 - Concorrência Referência: MACHADO, F.B. ; MAIA, L.P. Arquitetura de Sistemas Operacionais. 4.ed. LTC, 2007. Mono x Multiprogramação

Leia mais

Profs. Deja e Andrei

Profs. Deja e Andrei Disciplina Sistemas Distribuídos e de Tempo Real Profs. Deja e Andrei Sistemas Distribuídos 1 Conceitos e Projetos de Sistemas Distribuídos Objetivos: Apresentar uma visão geral de processamento distribuído,

Leia mais

Prof.: Roberto Franciscatto. Capítulo 1.2 Aspectos Gerais

Prof.: Roberto Franciscatto. Capítulo 1.2 Aspectos Gerais Sistemas Operacionais Prof.: Roberto Franciscatto Capítulo 1.2 Aspectos Gerais Estrutura do Sistema Operacional Principais Funções do Sistema Operacional Tratamento de interrupções e exceções Criação e

Leia mais

O hardware é a parte física do computador, como o processador, memória, placamãe, entre outras. Figura 2.1 Sistema Computacional Hardware

O hardware é a parte física do computador, como o processador, memória, placamãe, entre outras. Figura 2.1 Sistema Computacional Hardware 1 2 Revisão de Hardware 2.1 Hardware O hardware é a parte física do computador, como o processador, memória, placamãe, entre outras. Figura 2.1 Sistema Computacional Hardware 2.1.1 Processador O Processador

Leia mais

Noções de Software. André Aziz (andreaziz.ufrpe@gmail.com) Francielle Santos (francielle.ufrpe@gmail.com)

Noções de Software. André Aziz (andreaziz.ufrpe@gmail.com) Francielle Santos (francielle.ufrpe@gmail.com) Noções de Software André Aziz (andreaziz.ufrpe@gmail.com) Francielle Santos (francielle.ufrpe@gmail.com) Noções de Software; Sistemas Operacionais: Evolução; Conceitos Básicos; Tipos; Exemplos. DEINFO/UFRPE

Leia mais

Sistema Operacional. Prof. Leonardo Barreto Campos 1

Sistema Operacional. Prof. Leonardo Barreto Campos 1 Sistema Operacional Prof. Leonardo Barreto Campos 1 Sumário Introdução; Tipos de Sistemas Operacionais; Escalonamento; Gerenciamento de Memória; Bibliografia. Prof. Leonardo Barreto Campos 2/25 Introdução

Leia mais

ARQUITETURA DE COMPUTADORES - 1866

ARQUITETURA DE COMPUTADORES - 1866 7 Unidade Central de Processamento (UCP): O processador é o componente vital do sistema de computação, responsável pela realização das operações de processamento e de controle, durante a execução de um

Leia mais

SO - Conceitos Básicos. Introdução ao Computador 2010/01 Renan Manola

SO - Conceitos Básicos. Introdução ao Computador 2010/01 Renan Manola SO - Conceitos Básicos Introdução ao Computador 2010/01 Renan Manola Definição de SO É uma camada de software que opera entre o hardware e os programas aplicativos voltados ao usuário final. É uma estrutura

Leia mais

Programação Concorrente Processos e Threads

Programação Concorrente Processos e Threads Programação Concorrente Processos e Threads Prof. Eduardo Alchieri Processos O conceito mais central em qualquer sistema operacional é o processo Uma abstração de um programa em execução Um programa por

Leia mais

Fundamentos de Sistemas Operacionais

Fundamentos de Sistemas Operacionais Fundamentos de Sistemas Operacionais Professor: João Fábio de Oliveira jfabio@amprnet.org.br (41) 9911-3030 Objetivo: Apresentar o que são os Sistemas Operacionais, seu funcionamento, o que eles fazem,

Leia mais

Sistema de Computação

Sistema de Computação Sistema de Computação Máquinas multinível Nível 0 verdadeiro hardware da máquina, executando os programas em linguagem de máquina de nível 1 (portas lógicas); Nível 1 Composto por registrados e pela ALU

Leia mais

FACULDADE PITÁGORAS DISCIPLINA: ARQUITETURA DE COMPUTADORES

FACULDADE PITÁGORAS DISCIPLINA: ARQUITETURA DE COMPUTADORES FACULDADE PITÁGORAS DISCIPLINA: ARQUITETURA DE COMPUTADORES Prof. Ms. Carlos José Giudice dos Santos cpgcarlos@yahoo.com.br www.oficinadapesquisa.com.br Conceito de Computador Um computador digital é

Leia mais

Introdução a Computação

Introdução a Computação Sistemas Operacionais: Software Oculto Introdução a Computação Sistemas Operacionais Serve como um intermediário entre o hardware e os softwares aplicativos. Sistema Operacional Software de sistemas Kernel

Leia mais

Máquinas Multiníveis

Máquinas Multiníveis Infra-Estrutura de Hardware Máquinas Multiníveis Prof. Edilberto Silva www.edilms.eti.br edilms@yahoo.com Sumário Conceitos básicos Classificação de arquiteturas Tendências da tecnologia Família Pentium

Leia mais

Apresentação. Ementa da Disciplina. Objetivo da Disciplina. DCA-108 Sistemas Operacionais

Apresentação. Ementa da Disciplina. Objetivo da Disciplina. DCA-108 Sistemas Operacionais DCA-108 Sistemas Operacionais Luiz Affonso Guedes www.dca.ufrn.br/~affonso affonso@dca.ufrn.br Apresentação Disciplina básica do curso de Engenharia de Computação Carga-horária: 60h teóricas Associadas

Leia mais

CISC RISC Introdução A CISC (em inglês: Complex Instruction Set Computing, Computador com um Conjunto Complexo de Instruções), usada em processadores Intel e AMD; suporta mais instruções no entanto, com

Leia mais

Prof.: Roberto Franciscatto. Capítulo 1.1 Introdução

Prof.: Roberto Franciscatto. Capítulo 1.1 Introdução Sistemas Operacionais Prof.: Roberto Franciscatto Capítulo 1.1 Introdução Tipos de Sistemas Operacionais Sistemas Monoprogramáveis / Monotarefa Voltados tipicamente para a execução de um único programa.

Leia mais

Bancos de dados distribuídos Prof. Tiago Eugenio de Melo tiagodemelo@gmail.com. http://www.tiagodemelo.info

Bancos de dados distribuídos Prof. Tiago Eugenio de Melo tiagodemelo@gmail.com. http://www.tiagodemelo.info Bancos de dados distribuídos Prof. Tiago Eugenio de Melo tiagodemelo@gmail.com Última atualização: 20.03.2013 Conceitos Banco de dados distribuídos pode ser entendido como uma coleção de múltiplos bds

Leia mais

Tecnologia PCI express. Introdução. Tecnologia PCI Express

Tecnologia PCI express. Introdução. Tecnologia PCI Express Tecnologia PCI express Introdução O desenvolvimento de computadores cada vez mais rápidos e eficientes é uma necessidade constante. No que se refere ao segmento de computadores pessoais, essa necessidade

Leia mais

Introdução aos Computadores

Introdução aos Computadores Os Computadores revolucionaram as formas de processamento de Informação pela sua capacidade de tratar grandes quantidades de dados em curto espaço de tempo. Nos anos 60-80 os computadores eram máquinas

Leia mais

3. Arquitetura Básica do Computador

3. Arquitetura Básica do Computador 3. Arquitetura Básica do Computador 3.1. Modelo de Von Neumann Dar-me-eis um grão de trigo pela primeira casa do tabuleiro; dois pela segunda, quatro pela terceira, oito pela quarta, e assim dobrando sucessivamente,

Leia mais

Organização e Arquitetura de Computadores

Organização e Arquitetura de Computadores Organização e Arquitetura de Computadores Entrada e saída Alexandre Amory Edson Moreno Nas Aulas Anteriores Foco na Arquitetura e Organização internas da Cleo Modelo Von Neuman Circuito combinacional Circuito

Leia mais

Sistemas Operacionais e Introdução à Programação. Módulo 1 Sistemas Operacionais

Sistemas Operacionais e Introdução à Programação. Módulo 1 Sistemas Operacionais Sistemas Operacionais e Introdução à Programação Módulo 1 Sistemas Operacionais 1 Sistema computacional Sistemas feitos para resolver problemas Problema: como obter determinado resultado, com base em dados

Leia mais

Introdução aos Sistemas Operativos

Introdução aos Sistemas Operativos Introdução aos Sistemas Operativos Computadores e Redes de Comunicação Mestrado em Gestão de Informação, FEUP 06/07 Sérgio Sobral Nunes mail: sergio.nunes@fe.up.pt web: www.fe.up.pt/~ssn Sumário Definição

Leia mais

Fundamentos de Sistemas Computacionais Introdução

Fundamentos de Sistemas Computacionais Introdução Fundamentos de Sistemas Computacionais Introdução Prof. Eduardo Alchieri Sistema Computacional Hardware Software Usuários Um ou mais processadores, memória, discos, impressoras, teclado, mouse, monitor,

Leia mais

Sistemas Operacionais

Sistemas Operacionais UNIVERSIDADE BANDEIRANTE DE SÃO PAULO INSTITUTO POLITÉCNICO CURSO DE SISTEMAS DE INFORMAÇÃO Sistemas Operacionais Notas de Aulas: Tópicos 7 e 8 Estrutura do Sistema Operacional São Paulo 2009 1 Sumário

Leia mais

Visão Geral de Sistemas Operacionais

Visão Geral de Sistemas Operacionais Visão Geral de Sistemas Operacionais Sumário Um sistema operacional é um intermediário entre usuários e o hardware do computador. Desta forma, o usuário pode executar programas de forma conveniente e eficiente.

Leia mais

ARQUITETURA E ORGANIZAÇÃO DE COMPUTADORES. Prof. André Dutton

ARQUITETURA E ORGANIZAÇÃO DE COMPUTADORES. Prof. André Dutton ARQUITETURA E ORGANIZAÇÃO DE COMPUTADORES Prof. André Dutton EMENTA: Conceitos fundamentais e histórico da ciência da computação; Histórico dos computadores, evolução e tendências; Modalidades de computadores

Leia mais

Sistemas de Lotes (2) Sistemas de Lotes (3) Layout da MP em Sistemas de Lotes. Minimizar o tempo de resposta

Sistemas de Lotes (2) Sistemas de Lotes (3) Layout da MP em Sistemas de Lotes. Minimizar o tempo de resposta 1 Mono e multiprogramação Introdução Classificação (Aula 2) Recap Sistemas Máquina Profa. Patrícia Gerenciador D. CostaLPRM/DI/UFES Provê Fornece Compartilhamento programador máquina justa recursos Operacionais

Leia mais

Disciplina: Introdução à informática Profª Érica Barcelos

Disciplina: Introdução à informática Profª Érica Barcelos Disciplina: Introdução à informática Profª Érica Barcelos CAPÍTULO 3 1. ARQUITETURA DO COMPUTAÇÃO- SOFTWARE Vimos nos capítulos anteriores que durante muitas décadas vários projetos foram realizados para

Leia mais

SISTEMAS OPERACIONAIS. Apostila 03 Estrutura do Sistema Operacional UNIBAN

SISTEMAS OPERACIONAIS. Apostila 03 Estrutura do Sistema Operacional UNIBAN SISTEMAS OPERACIONAIS Apostila 03 Estrutura do Sistema Operacional UNIBAN 1.0 O Sistema Operacional como uma Máquina Virtual A arquitetura (conjunto de instruções, organização de memória, E/S e estrutura

Leia mais

Classificação de SO (Sistemas Operacionais) Técnico de Informática 2º. Módulo Profa. Madalena Pereira da Silva madalena.silva@ifsc.edu.

Classificação de SO (Sistemas Operacionais) Técnico de Informática 2º. Módulo Profa. Madalena Pereira da Silva madalena.silva@ifsc.edu. Classificação de SO (Sistemas Operacionais) Técnico de Informática 2º. Módulo Profa. Madalena Pereira da Silva madalena.silva@ifsc.edu.br Agenda Classificação de SO quanto a: Interface Processamento Tarefas

Leia mais

6 - Gerência de Dispositivos

6 - Gerência de Dispositivos 1 6 - Gerência de Dispositivos 6.1 Introdução A gerência de dispositivos de entrada/saída é uma das principais e mais complexas funções do sistema operacional. Sua implementação é estruturada através de

Leia mais

Organização de Computadores 1

Organização de Computadores 1 Organização de Computadores 1 4 SUPORTE AO SISTEMA OPERACIONAL Prof. Luiz Gustavo A. Martins Sistema Operacional (S.O.) Programa responsável por: Gerenciar os recursos do computador. Controlar a execução

Leia mais

Sistemas Operacionais valnaide@dca.ufrn.br kliger@dca.ufrn.br affonso@dca.ufrn.br

Sistemas Operacionais valnaide@dca.ufrn.br kliger@dca.ufrn.br affonso@dca.ufrn.br Sistemas Operacionais valnaide@dca.ufrn.br kliger@dca.ufrn.br affonso@dca.ufrn.br INTRODUÇÃO O que é um sistema operacional? História dos sistemas operacionais Conceitos dos Sistemas Operacionais Estrutura

Leia mais

INTRODUÇÃO BARRAMENTO PCI EXPRESS.

INTRODUÇÃO BARRAMENTO PCI EXPRESS. INTRODUÇÃO BARRAMENTO EXPRESS. O processador se comunica com os outros periféricos do micro através de um caminho de dados chamado barramento. Desde o lançamento do primeiro PC em 1981 até os dias de hoje,

Leia mais

Mecanismo de Interrupção

Mecanismo de Interrupção Mecanismo de Interrupção Paralelismo de Operação Num sistema multiprogramado a CPU está sempre apta a compartilhar o seu tempo entre os vários programas e os diferentes dispositivos periféricos que necessitam

Leia mais

Nível do Sistema Operacional

Nível do Sistema Operacional Nível do Sistema Operacional (Aula 14) Introdução a Sistemas Operacionais Roberta Lima Gomes - LPRM/DI/UFES Sistemas de Programação I Eng. Elétrica 2007/1 Introdução Hardware Provê os recursos básicos

Leia mais

SISTEMAS OPERACIONAIS

SISTEMAS OPERACIONAIS SISTEMAS OPERACIONAIS Arquitetura Sistemas Operacionais Andreza Leite andreza.leite@univasf.edu.br Plano de Aula Sistemas monolíticos Sistemas em camadas Sistemas micro-núcleo Modelo Cliente-Servidor Máquinas

Leia mais

Montagem e Manutenção. Luís Guilherme A. Pontes

Montagem e Manutenção. Luís Guilherme A. Pontes Montagem e Manutenção Luís Guilherme A. Pontes Introdução Qual é a importância da Montagem e Manutenção de Computadores? Sistema Binário Sistema Binário Existem duas maneiras de se trabalhar e armazenar

Leia mais

Aula 3. Sistemas Operacionais. Prof: Carlos Eduardo de Carvalho Dantas (carloseduardoxpto@gmail.com) http://carloseduardoxp.wordpress.

Aula 3. Sistemas Operacionais. Prof: Carlos Eduardo de Carvalho Dantas (carloseduardoxpto@gmail.com) http://carloseduardoxp.wordpress. Sistemas Operacionais Aula 3 Prof: Carlos Eduardo de Carvalho Dantas (carloseduardoxpto@gmail.com) http://carloseduardoxp.wordpress.com Nunca cone em um computador que você não pode jogar pela janela.

Leia mais

Disciplina: Introdução à Informática Profª Érica Barcelos

Disciplina: Introdução à Informática Profª Érica Barcelos Disciplina: Introdução à Informática Profª Érica Barcelos CAPÍTULO 4 1. ARQUITETURA DO COMPUTADOR- HARDWARE Todos os componentes físicos constituídos de circuitos eletrônicos interligados são chamados

Leia mais

discos impressora CPU memória AULA 04 - Estruturas de Sistemas Computacionais Operação dos sistemas de computação Controlador de disco

discos impressora CPU memória AULA 04 - Estruturas de Sistemas Computacionais Operação dos sistemas de computação Controlador de disco AULA 04 - Estruturas Sistemas Computacionais Nosso objetivo é apenas revisar conceitos relacionados a estrutura geral um sistema computacional para pois explicarmos os talhes operação do sistema e como

Leia mais

SISTEMAS OPERACIONAIS 2007

SISTEMAS OPERACIONAIS 2007 SISTEMAS OPERACIONAIS 2007 VISÃO GERAL Sumário Conceito Máquina de Níveis Conceituação de SO Componentes do SO Visões do SO Conceito de Sistemas O que se espera de um sistema de computação? Execução de

Leia mais

Tais operações podem utilizar um (operações unárias) ou dois (operações binárias) valores.

Tais operações podem utilizar um (operações unárias) ou dois (operações binárias) valores. Tais operações podem utilizar um (operações unárias) ou dois (operações binárias) valores. 7.3.1.2 Registradores: São pequenas unidades de memória, implementadas na CPU, com as seguintes características:

Leia mais

Cadastramento de Computadores. Manual do Usuário

Cadastramento de Computadores. Manual do Usuário Cadastramento de Computadores Manual do Usuário Setembro 2008 ÍNDICE 1. APRESENTAÇÃO 1.1 Conhecendo a solução...03 Segurança pela identificação da máquina...03 2. ADERINDO À SOLUÇÃO e CADASTRANDO COMPUTADORES

Leia mais

CAPÍTULO 2 CARACTERÍSTICAS DE E/S E PORTA PARALELA

CAPÍTULO 2 CARACTERÍSTICAS DE E/S E PORTA PARALELA 8 CAPÍTULO 2 CARACTERÍSTICAS DE E/S E PORTA PARALELA A porta paralela, também conhecida por printer port ou Centronics e a porta serial (RS-232) são interfaces bastante comuns que, apesar de estarem praticamente

Leia mais

Organização de Computadores 1

Organização de Computadores 1 Organização de Computadores 1 SISTEMA DE INTERCONEXÃO (BARRAMENTOS) Prof. Luiz Gustavo A. Martins Arquitetura de von Newmann Componentes estruturais: Memória Principal Unidade de Processamento Central

Leia mais

INTRODUÇÃO ÀS LINGUAGENS DE PROGRAMAÇÃO

INTRODUÇÃO ÀS LINGUAGENS DE PROGRAMAÇÃO Capítulo 1 INTRODUÇÃO ÀS LINGUAGENS DE PROGRAMAÇÃO 1.1 Histórico de Linguagens de Programação Para um computador executar uma dada tarefa é necessário que se informe a ele, de uma maneira clara, como ele

Leia mais

BARRAMENTO DO SISTEMA

BARRAMENTO DO SISTEMA BARRAMENTO DO SISTEMA Memória Principal Processador Barramento local Memória cachê/ ponte Barramento de sistema SCSI FireWire Dispositivo gráfico Controlador de vídeo Rede Local Barramento de alta velocidade

Leia mais

Gerência de Memória RAM em Computadores com Mais de 4GB O sistema Windows x86 (32bits) não tem capacidade de reconhecer, fisicamente, mais que 3,X GB de RAM, a não ser que seja ativado, manualmente, o

Leia mais

Sistemas Operacionais

Sistemas Operacionais Sistemas Operacionais Aula 3 Software Prof.: Edilberto M. Silva http://www.edilms.eti.br SO - Prof. Edilberto Silva Barramento Sistemas Operacionais Interliga os dispositivos de E/S (I/O), memória principal

Leia mais

Curso de Instalação e Gestão de Redes Informáticas

Curso de Instalação e Gestão de Redes Informáticas ESCOLA PROFISSIONAL VASCONCELLOS LEBRE Curso de Instalação e Gestão de Redes Informáticas PROCESSADORES DE 64 BITS X PROCESSADORES DE 32 BITS José Vitor Nogueira Santos FT2-0749 Mealhada, 2009 Introdução

Leia mais

Aula 26: Arquiteturas RISC vs. CISC

Aula 26: Arquiteturas RISC vs. CISC Aula 26: Arquiteturas RISC vs CISC Diego Passos Universidade Federal Fluminense Fundamentos de Arquiteturas de Computadores Diego Passos (UFF) Arquiteturas RISC vs CISC FAC 1 / 33 Revisão Diego Passos

Leia mais

TRABALHO COM GRANDES MONTAGENS

TRABALHO COM GRANDES MONTAGENS Texto Técnico 005/2013 TRABALHO COM GRANDES MONTAGENS Parte 05 0 Vamos finalizar o tema Trabalho com Grandes Montagens apresentando os melhores recursos e configurações de hardware para otimizar a abertura

Leia mais

PARANÁ GOVERNO DO ESTADO

PARANÁ GOVERNO DO ESTADO A COMUNICAÇÃO NA INTERNET PROTOCOLO TCP/IP Para tentar facilitar o entendimento de como se dá a comunicação na Internet, vamos começar contando uma história para fazer uma analogia. Era uma vez, um estrangeiro

Leia mais

INSTITUTO DE EMPREGO E FORMAÇÃO PROFISSIONAL, I.P.

INSTITUTO DE EMPREGO E FORMAÇÃO PROFISSIONAL, I.P. INSTITUTO DE EMPREGO E FORMAÇÃO PROFISSIONAL, I.P. Centro de Emprego e Formação Profissional da Guarda Curso: Técnico de Informática Sistemas (EFA-S4A)-NS Trabalho Realizado Por: Igor_Saraiva nº 7 Com

Leia mais

Sistemas Operacionais Processos e Threads

Sistemas Operacionais Processos e Threads Sistemas Operacionais Processos e Threads Prof. Marcos Monteiro, MBA http://www.marcosmonteiro.com.br contato@marcosmonteiro.com.br 1 Estrutura de um Sistema Operacional 2 GERÊNCIA DE PROCESSOS Um processo

Leia mais

SISTEMAS OPERACIONAIS ABERTOS Prof. Ricardo Rodrigues Barcelar http://www.ricardobarcelar.com

SISTEMAS OPERACIONAIS ABERTOS Prof. Ricardo Rodrigues Barcelar http://www.ricardobarcelar.com - Aula 2-1. PRINCÍPIOS DE SOFTWARE DE ENTRADA E SAÍDA (E/S) As metas gerais do software de entrada e saída é organizar o software como uma série de camadas, com as mais baixas preocupadas em esconder as

Leia mais