1 / 150

Sistemas Operacionais

Sistemas Operacionais. Renato O. Violin. Conteúdo. Introdução ao S.O Gerenciamento de processos. Gerenciamento de memória. Dispositivos de Entrada/Saída. Sistemas de arquivos. Definição do problema. Um sistema de computação consiste de diversos dispositivos.

cicily
Download Presentation

Sistemas Operacionais

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Sistemas Operacionais Renato O. Violin

  2. Conteúdo • Introdução ao S.O • Gerenciamento de processos. • Gerenciamento de memória. • Dispositivos de Entrada/Saída. • Sistemas de arquivos.

  3. Definição do problema • Um sistema de computação consiste de diversos dispositivos. • Todos os dispositivos são complexos de manipular. • Escrever programas que fazem usos desses dispositivos é uma tarefa difícil.

  4. Como solucionar o problema? • Utilizar uma camada de software chamada sistema operacional. • Ele gerencia todos esses dispositivos e fornece uma interface de mais alto nível para acesso ao hardware.

  5. O que é um Sistema Operacional? • É um software que realiza duas funções: • Estende a máquina, isto é, esconde do programador a “verdade” sobre a programação do hardware e apresenta uma forma mais simples de acessar o hardware. • Gerencia recursos,isto é, controla todo o hardware e controla a concorrência entre os diversos processos que tentam usar esse hardware.

  6. Exemplo de acesso ao hardware • Queremos gravar dados em um disquete sem um S.O: • O controlador do disquete tem 16 funções de baixo nível; • Funções de leitura/escrita têm 13 parâmetros; • Retornam 23 informações de status. • É preciso verificar o status do motor.

  7. Resumindo... • Sistema operacional é um software utilizado para facilitar a utilização do hardware, fornecendo ao usuário uma abstração maior, evitando que o programador acesse as instruções de hardware. • O SO gerencia os recursos de hardware, como por exemplo: endereçamento de memória, fila de processos para execução, concorrência entre processos.

  8. Estrutura de um computador moderno

  9. Estrutura de um computador moderno • Dispositivos físicos: circuitos, unidades de disco etc. • Microprogramação: constituída por softwares capaz de interpretar e executar as instruções de máquina recebidas da camada superior.

  10. Estrutura de um computador moderno • Linguagem de máquina: instruções que movem os dados pela maquina efetuando operações lógicas e aritméticas. • Sistema operacional: esconde a complexidade do hardware e gerencia os recursos compartilhados.

  11. Estrutura de um computador moderno • Utilitários: compiladores, editores texto, interpretador de comando. • Aplicativos: navegador web, bate-papo etc.

  12. Evolução dos S.O

  13. Os sistemas operacionais evoluíram com o passar dos anos, acompanhando a arquitetura dos computadores que executavam.

  14. 1ª geração (1940 – 1955) • Foi marcada pelo invento das válvulas. • Computadores eram formados por milhares de válvulas ocupando salas imensas. • Não havia conceito de sistema operacional. • O acesso era feito diretamente nos painéis do equipamento, onde o usuário programa seus cálculos. • Surge o ENIAC, onde a programação era por fios e pinos.

  15. 1ª geração (1940 – 1955) (cont.) Computador baseado em válvulas Computador ENIAC

  16. 2ª geração (1955 – 1965) • Marcada por três avanços: • Utilização dos transistores em grande quantidade. • Sistema de processamento em batch. • Surgimento de linguagens de programação de alto nível (Fortran, Algol e Cobol). • Criação de mainframes. • Programas deixam de ter relação direta com o hardware.

  17. 2ª geração (1955 – 1965) • Processamento em batch: • Programas eram gravados em cartões perfurados. Após a leitura, eles eram salvos em uma fita magnética de entrada. • A fita de entrada era colocada no computador de grande porte (IBM 7094). Ao final do processamento, gravava o resultado em uma segunda fita (de saída). • A segunda fita (de saída) era colocada em um computador (IBM 1401) que lia a fita de saída e imprimia seu conteúdo.

  18. 2ª geração (1955 – 1965) (cont.) Sistema de processamento batch

  19. 3ª geração (1965 – 1980) • Surgimento dos circuitos integrados. • Surgimento das técnicas de: • Multiprogramação: execução de vários programas por meio da divisão de memória em partes. • Timesharing: divide o tempo de uso do processador entre todos os programas.

  20. 4ª geração (1980 – 1990) • Surgimentos dos PCs (personalcomputers). • Surgimento dos sistemas operacionais mais modernos: • MS-DOS: linha de comando. • Novel network : sistemas operacional de rede. • Macintosh: baseado em janelas.

  21. 5ª geração (1990 – ...) • Surgimento da computação distribuída • Um programa em execução que pode ser dividido em subprocessos para serem executados em outros computadores na rede. • Surgimento do protocolo TCP/IP, padrão Ethernet e o modelo cliente/servidor. • Surgimento da computação ubíqua.

  22. Conceitos básicos de S.O

  23. Monotarefa • Os primeiros S.O executavam um programa de cada vez. • Os outros programas deveriam esperar o termino para poder executar. • Todos os recursos ficavam dedicados a uma única tarefa.

  24. Multitarefa • Suporta a execução concorrente de vários programas, dividindo os recursos. • Classificado como: • Monousuário e Multiusuário. • Pode ser: • Cooperativo: o processo libera a CPU voluntariamente (i.e não há interrupções) • Preemptivo: quando o sistema gera uma interrupção e dá lugar a outro processo na CPU.

  25. Processos • É uma abstração de um programa em execução. • Cada programa tem ao menos um processo concorrendo os recursos de sistema. • Possui um espaço de endereçamento na memória. • Pode assumir três estados: • Execução • Bloqueado • Pronto

  26. Multiprocessamento • Sistemas com múltiplos processadores. • Compartilham a mesma memória e dispositivos de entrada. • Aumentam a capacidade computacional.

  27. Interpretador de comandos (Shell) • Interface entre o usuário e o sistema operacional. • É onde o usuário solicita a execução de programas.

  28. Chamadas do sistema (System Calls) • Interface entre softwares aplicativos e o sistema operacional. • Exemplo: • Criar arquivos. • Acessar drive de disquete, CD-Rom etc.

  29. Sistemas Operacionais e suas Características

  30. Gerenciamento de processos

  31. Processos • Um processo é tudo aquilo que o processador executa. • E a entidade pela qual a utilização da memória de um programa, tempo de processador e recursos de E/S podem ser gerenciados e monitorados pelo sistema operacional. • O processo pode ser visto como a abstração de um programa em execução.

  32. Processos • Exemplo • João vai fazer um bolo. Ele vai utilizar uma receita para saber quais ingredientes e saber como preparar tudo. • Quem é o processador? • Quem é o programa? • Quem é o processo?

  33. Processos • Todo software executável em um computador moderno, até mesmo o sistema operacional, é organizado em processos. • Os sistemas atuais permitem ao usuário a chaveamento de vários processos. • Esse chaveamento nos dá a sensação de que os programas são executados paralelamente.

  34. Troca de processos • Como funciona a troca de processos? • Salvar o conteúdo atual dos registradores da CPU referentes a um processo que esta deixando o processador. • Carregar os registradores com o conteúdo do processo que esta ganhando a CPU.

  35. Troca de processos

  36. Processos • Principais eventos que levam à criação de processos • inicialização do sistema • execução de chamada ao sistema de criação de processos • solicitação do usuário para criar um novo processo

  37. Processos • Condições que levam ao término de processos • saída normal (voluntária) • saída por erro (voluntária) • erro fatal (involuntário) • cancelamento por um outro processo (involuntário)

  38. Estados do processo • O processador não pode ser ocupado por todos os processos ao mesmo tempo. • Existe uma competição entre os processos para entrar em execução. • O sistema operacional deve controlar essa competição.

  39. Estados do processo • Pronto (aguardando na fila de processos) • Execução (esta no processador) • Bloqueado (aguardando E/S)

  40. Subprocessos • Uma aplicação pode ser dividida em partes que trabalham concorrentemente. • Consiste em particionar o processo gerado para controlar a aplicação (processo pai) em outros subprocessos subordinados a este que são chamados de processos filhos, ou apenas subprocessos

  41. Subprocessos

  42. Subprocessos • Conforme aumenta-se a utilização de subprocessos, há um desperdício de tempo para criar e destruir estes. • Para resolver este problema, criou-se o conceito de threads.

  43. Threads • São consideradas processos mais leves. • Enquanto os processos são usados para agrupar recursos, as threads são as entidades escalonadas para a execução na CPU. • Um processo possui pelo menos uma thread (linha de controle).

  44. Threads

  45. Exemplo Threads • Aplicação: Processador de textos • Uso: 3 threads • Interação com o usuário (teclado) • Formatação de texto • Gravando o documento

  46. Exemplo Threads

  47. Escalonamento • Vimos que o estado de pronto possui uma fila de processos aguardando a liberação da CPU. • O componente que tenta manter o processador ocupado o tempo todo, escolhendo que será o próximo processo a ser executado é o escalonador.

  48. Escalonamento • Categorias de algoritmos • Não-preemptivos • Preemptivos

More Related