Aula 01 Introdução aos Sistemas Operacionais. Por Sediane Carmem Lunardi Hernandes

Documentos relacionados
ARQUITETURA DE SISTEMAS OPERACIONAIS. VISÃO GERAL DE UM SISTEMA OPERACIONAL Prof. André Luís Alves E. M. DR. LEANDRO FRANCESCHINI

Tecnólogo em Análise e Desenvolvimento de Sistemas. Sistemas Operacionais (SOP A2)

Matéria: Sistema Computacional - SC. Prof.: Esp.: Patrícia Dias da Silva Peixoto

Sistemas Operacionais

Tipos de Sistemas Operacionais. Professores : Jones - Wendell

Sistemas Operacionais. Introdução

Sistemas Operacionais. Tipos de SO

Introdução a Sistemas Operacionais. Adão de Melo Neto

TIPOS DE SISTEMAS OPERACIONAIS. Ademar Alves Trindade

Sistemas Multiprogramáveis/Multitarefa

Tipos de Sistemas Operacionais

Curso: Redes de Computadores

Apresentação. Ementa da Disciplina. Objetivo da Disciplina. DCA-108 Sistemas Operacionais. Referências Bibliográfica. Referências Bibliográfica

Sistemas Operacionais. Adão de Melo Neto

Sistemas Operacionais. Prof. Pedro Luís Antonelli Anhanguera Educacional

Introdução aos Sistemas Operacionais

Apresentação do Professor

Sistemas Operacionais (SO)

Aula 2: Tipos de Sistemas Operacionais. Instituto Federal da Bahia Campus Salvador INF009 - Sistemas Operacionais Profª Flávia Maristela

Sistemas Operacionais

Sistemas Operacionais. Visão Geral

Fundamentos de Sistemas Operacionais

Aula 1: Introdução aos Sistemas Operacionais. Instituto Federal da Bahia INF009 - Sistemas Operacionais Profª Flávia Maristela

Fundamentos da Informática Aula 03 - Sistemas operacionais: Software em segundo plano Exercícios Professor: Danilo Giacobo

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

Sistemas Operacionais

Exercícios Cap I. 1.1, 1.2, 1.3 (somente letras (a), (b) e (c)) , 1.8 e 1.12 IC - UFF

Montador (assembler)

Sistemas Operacionais. Prof. Pedro Luís Antonelli Anhanguera Educacional

Sistemas Operacionais

Introdução à Ciência da Computação

Sistemas Operacionais - Aula 02

Sistemas Operacionais

2. Conceitos Básicos. Introdução à Ciência da Computação.

INTRODUÇÃO. Sistemas Operacionais. Vinícius Pádua

Programação Concorrente

Fundamentos de Sistemas Operacionais

Sistemas Operacionais Aula 1

Sistema Operacional. Escola de Ciências e Tecnologia ECT1103 INFORMÁTICA FUNDAMENTAL UFRN

Introdução aos Sistemas Operacionais

ARQUITETURACONCEITUAL DE UM COMPUTADOR Os primeiros passos para que a arquitetura dos computadores fosse similar à que conhecemos hoje foram dados

Tecnólogo em Análise e Desenvolvimento de Sistemas. Sistemas Operacionais (SOP A2)

Introdução à Informática

INTRODUÇÃO A SISTEMAS OPERACIONAIS

Sistemas Operacionais. Universidade Federal de Minas Gerais. Aula 1. Introdução

Estrutura de Sistemas Operacionais. Capítulo 1: Introdução

Subsistemas de E/S Device Driver Controlador de E/S Dispositivos de E/S Discos Magnéticos Desempenho, redundância, proteção de dados

UFRJ IM - DCC. Sistemas Operacionais I. Unidade IV Gerência de Recursos Entrada e Saída. 02/12/2014 Prof. Valeria M. Bastos

Informática Aplicada. Introdução

William Stallings Arquitetura e Organização de Computadores 8 a Edição

Conceitos de Sistemas Distribuídos

GERENCIAMENTO DE TAREFAS. Prof. Me. Hélio Esperidião

Informática Sistemas Operacionais Aula 5. Cleverton Hentz

Estrutura e Funcionamento dos Computadores (Conceitos Básicos)

Aula 2. Prof: Carlos Eduardo de Carvalho Dantas

Introdução à Computação MAC0110

Sistemas Operacionais - UCSAL Professor : Marco Antônio C. Câmara Primeira Lista de Exercícios

Conceitos básicos sobre computadores

Sistemas Operacionais. Prof. André Y. Kusumoto

Sistemas Operacionais

Sistemas Operacionais I

Sistema Distribuído. Sistema Distribuído. Aplicações Distribuídas. Conceitos Básicos

Introdução ao Sistema UNIX

Introdução à Computação

Estrutura dos Sistemas Operacionais. Adão de Melo Neto

Princípios de Sistemas de Informação. Infraestrutura de TI: Hardware e Software

Sistemas Operacionais. Entrada/Saída

Evolução de Sistemas Operacionais. Evolução ao longo da História da Computação!! UNIX: Um breve apanhado de sua evolução!!!

Sistemas Operacionais. Processos IC - UFF

Programação Paralela e Distribuída

Blog: om.br/ Facebook:

Roteiro. Introdução. Funções do S.O. Organização do computador. Arquitetura de sistemas computadorizados. Estrutura do S.O. Operações do sistema

Introdução ao Sistema UNIX

Sistemas Operacionais. Capítulo 5 Processos

Capítulo 2. Multiprogramação. Conteúdo. Objetivo. Recordando. Recordando. DCA-108 Sistemas Operacionais

Capacitação Vix Linux. Jacson RC Silva

Sistemas Operacionais

Estrutura do Sistema Operacional

Informática básica SOFTWARE.

Lista de Exercícios sobre Conceitos de Informática. Exercício 1: Correspondência

Arquitetura de Sistemas Operacionais. Francis Berenger Machado Luiz Paulo Maia. Capítulo 9 Gerência de Memória

Programação de Computadores I - PRG1 Engenharia Elétrica

SO: SISTEMAS OPERACIONAIS Curso: Sistemas de Informação

Aula 6 Introdução à gerência de processos, memória e arquivos

ARQUITETURA DE SISTEMAS DISTRIBUÍDOS

Introdução à Programação de Computadores Fabricação Mecânica

SOP - TADS Threads. Revisão Ultima aula. Programa em execução Cada processo têm sua própria CPU

Notas da Aula 1 - Fundamentos de Sistemas Operacionais

Matriz Discursiva do MÓDULO C FASE II 23/11 até 18/12

LICENCIATURA EM COMPUTAÇÃO. Resenha Livro Sistemas Operacionais 4ª edição Capítulo quatro: Gerencia do processador

Sistemas Operacionais Aula 3

Apresentação. Sistemas Operacionais. Universidade Federal de Uberlândia Faculdade de Computação Prof. Dr. rer. nat. Daniel D.

INFORMÁTICA: Informação automática

Técnico de Gestão e Programação de Sistemas Informáticos. Sistemas Operativos 10º ano

Arquitetura de Computadores. Infraestrutura de TI: Hardware

Universidade Estadual de Mato Grosso do Sul Bacharelado em Ciência da Computação Sistemas Operacionais Prof. Fabrício Sérgio de Paula

Conceitos básicos e serviços dos Sistemas Operacionais

Introdução. Pedro Cruz. EEL770 Sistemas Operacionais

Transcrição:

1 Aula 01 Introdução aos Sistemas Operacionais Por Sediane Carmem Lunardi Hernandes

2 1. Visão geral Um Sistema Operacional (SO) atua como um intermediário entre o usuário de um computador e o hardware do computador u su á r i o s Sist e m a O p e r a ci o n a l H a r d w a r e

3 1. Visão geral (cont.) programadores e analistas usuários Usuários programas, sistemas e aplicativos Finalidade: fornecer um ambiente no qual o usuário possa executar programas Sistema Operacional memória discos Hardware UCP fitas impressoras monitores

4 2. Definição Um Sistema Operacional, por mais complexo que possa parecer, é apenas um conjunto de rotinas executado pelo processador, de forma semelhante aos programas de usuário. (MACHADO, MAIA, 2007). Principal função: Controlar o funcionamento de um computador, gerenciando a utilização e o compartilhamento dos seus diversos recursos, como processadores, memória e dispositivos de entrada e saída

5 2. Definição (cont.) Um SO não é executado de forma linear como a maioria das aplicações, com início, meio e fim Suas rotinas são executadas concorrentemente em função de eventos assíncronos, ou seja, eventos que podem ocorrer a qualquer momento

IBM 704 6 3. Histórico Década de 50 transistor, memória magnética, fitas Primeiro SO chamado de MONITOR desenvolvido em 1953 pelos usuários do IBM 701 do Centro de Pesquisas da General Motors reescrito posteriormente para o computador IBM 704 IBM 701

7 3. Histórico (cont.) Década de 50 Linguagens de programação de alto nível permitiram que outros SO fossem implementados SOS (SHARE Operating System) FMS (FORTRAN Monitor System) IBSYS máquinas IBM criaram o conceito de independência de dispositivos programador não implementa rotina específica de leitura e gravação para cada dispositivo Atlas Desenvolvido pela Universidade de Manchester (Inglaterra) Memória hierarquizada Paginação por demanda para transferir informações da memória secundária para a principal

8 3. Histórico (cont.) Década de 60 circuitos integrados Multiprogramação SO MCP (Master Control Program) desenvolvido para o computador B-5000 SO OS/360 desenvolvido para computadores das linhas System/360 da IBM ainda não existia interação do usuário com sistema Tempo compartilhado

9 3. Histórico (cont.) Década de 60 SO CTSS (Compatible Time-Sharing System) Desenvolvido para computador IBM 7094 suportava 32 usuários interativos através de comandos interativos permitia compilar e executar programas base MULTICS SO MULTICS (Multiplexed Information and Computing Service) Desenvolvido para computador GE 645 SO Unix (1969) Desenvolvido para PDP-7 por Ken Thompson GE 645

10 3. Histórico (cont.) Década de 70 Microprocessadores (Intel 4004, Intel 8080, Apple II) SO CP/M (Control Program Monitor) da Digital Research SO predominante nos primeiros SOs Curiosidades: 1971: Niklaus Wirth desenvolve a linguagem Pascal 1975: Dennis Ritchie desenvolve a linguagem C e, junto com Ken Thompson, portam o SO Unix para o computador PDP-11 PDP 11

11 3. Histórico (cont.) Década de 80, 90, 2000 SO DOS (Disk Operating System) SO SunOS e Sun Solaris HP-UX, IBM-AIX Linux FreeBSD SOs para celulares, palmtops...

12 4. Papel do Sistema Operacional O Sistema Operacional controlar o hardware e coordenar seus uso pelos diversos programas aplicativos de vários usuários Usuário 1 Usuário 2 Usuário 3... Usuário n Compilador Editor de texto Browser Quake Sistema Operacional (infraestrutura) Sistema Computacional Hardware

13 4. Papel do Sistema Operacional (cont.) Sistema Computacional: Hardware (CPU, memória e dispositivos de I/O) fornece os RECURSOS BÁSICOS de computação do sistema Sistema Operacional Programas aplicativos definem as formas pelas quais esses recursos são utilizados para resolver os problemas computacionais dos usuários Usuários

14 3. Papel do Sistema Operacional (cont.) Papel do SO ponto de vista do computador Programa mais intimamente envolvido com o hardware Alocador de recursos: administra e aloca recursos (tempo de CPU, espaço de memória, espaço de armazenamento em disco, dispositivos de I/O input/output, entre outros) necessários a resolução de um problema Programa de controle: gerencia a execução dos programas de usuário para evitar erros e o uso impróprio do computador. Se preocupa principalmente com a operação e o controle de dispositivos de I/O Papel do SO ponto de vista do usuário PC projetado para um único usuário: SO projetado para facilidade de uso Terminal conectado a um mainframe, no qual, outros usuários acessam o mesmo computador por intermédio de outros terminais: SO projetado para maximizar o uso de recursos assegura que todo o tempo de CPU, memória e I/O disponíveis sejam utilizados eficientemente e que nenhum usuário individual ocupe mais do que sua cota Estações de trabalho conectadas a rede com outras estações de trabalho e servidores: SO projetado para estabelecer um compromisso entre usabilidade individual e utilização de recursos

15 Importante saber: Para que um computador comece a operar, precisa dispor de um programa inicial para executar (programa bootstrap) Programa armazenado na ROM (BIOS Basic Input Otput System) Inicializa todos os aspectos do sistema, dos registradores da CPU, dos controladores de dispositivos e conteúdos da memória Necessita saber como carregar o SO e como iniciar sua execução Programa deve alocar e carregar na memória o kernel (núcleo) do SO. SO começa a executar o primeiro processo e aguarda que ocorra algum evento interrrupção de hardware ou software (chamada de sistema)

16 5. Tipos de Sistemas Operacionais Tipos de Sistemas Operacionais Sistemas Monoprogramáveis/ Monotarefa Sistemas Multiprogramáveis/ Multitarefa Sistemas com Múltiplos Processadores

17 5.1 Sistemas Monoprogramáveis/monotarefa Memória Principal UCP Dispositivos de E/ S programa/ tarefa Sistema voltado a execução de um único programa/tarefa (primeiros SOs década de 60 e 70) Qualquer outra aplicação, para ser executada, deve aguardar o término da corrente Processador, memória e periféricos exclusivamente dedicados a execução de um único programa Tarefa do SO passa a ser unicamente transferir o controle de um job (programa e dados) para outro Desvantagem: memória subutilizada, processador ocioso

18 5.2 Sistemas Multiprogramáveis/Multitarefa Implementa o conceito de Multiprogramação: SO mantém vários jobs na memória simultaneamente, e a CPU é dividida entre eles Parte deles fica em uma fila de jobs no disco (todos os processos residentes em disco aguardando alocação na memória principal) SO seleciona e começa a executar um dos jobs na memória Se job pode ter de aguardar que alguma tarefa seja concluída SO passa para um novo job e o executa Se job tem que aguardar, CPU seleciona outro job e assim por diante CPU nunca ficará ociosa

19 5.2 Sistemas Multiprogramáveis/Multitarefa (cont.) Sistemas Multiprogramáveis/ Multitarefa fornecem um ambiente em que os diversos recursos do sistema (p. e., CPU, memória e dispositivos periféricos) são utilizados eficientemente programa/ tarefa programa/ tarefa Memória Principal UCP Dispositivos de E/ S programa/ tarefa programa/ tarefa programa/ tarefa

Sistemas Multiprogramáveis/Multitarefa X Sistemas Monoprogramáveis/Monotarefa Sistemas Monoprogramados Sistemas Multiprogramados 20

21 5.2 Sistemas Multiprogramáveis/Multitarefa (cont.) A partir do número de usuários que interagem com o sistema, os sistemas multiprogramáveis são classificados como: Monousuário Multiusuário Um usuário Dois ou mais usuário Sistema Monoprogramado Monousuário Não Sistema Multiprogramado Monousuário Multiusuário

22 5.2 Sistemas Multiprogramáveis/Multitarefa (cont.) Classificados pela forma com que suas aplicações são gerenciadas Sistemas Multiprogramáveis/ Multitarefa Sistemas Batch Sistemas de Tempo Compartilhado Sistemas de Tempo Real

23 5.2.1 Sistemas Batch Sistema Operacional em lote, era utilizado por terminais de máquinas de grande porte, que reuniam um lote de programas para enviar para execução Com o passar do tempo, a palavra batch passou a designar um processo onde o usuário não interage com o seu programa Todas a entradas e saídas de dados da aplicação são implementadas por algum tipo de memória secundária Exemplos de aplicações: Programas envolvendo cálculo numérico Compilações Backups Outras que não exigem interação com o usuário

24 5.2.1 Sistemas Batch (cont.) job n (a) job 2 job 1 cartões perfurados Processamento fita de entrada (b) fita de entrada Processamento fita de saída relatório n (c) fita de saída Processamento relatório 2 relatório 1 relatórios

25 5.2.2 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 fatia de tempo insuficiente para conclusão do programa Programa interrompido pelo SO e substituído por outro Enquanto isso... aguarda por nova fatia de tempo Sistema cria um ambiente de trabalho próprio, dando a impressão de que todo o sistema está dedicado, exclusivamente para cada usuário

26 5.2.2 Sistemas de tempo compartilhado (Time-Sharing) (cont.) Permitem a interação do usuário com o sistema através de terminais que incluem vídeo, teclado e mouse Usuário interage com sistema através de comandos Possível verificar arquivos armazenados em disco ou cancelar a execução de um programa Sistema responde em poucos segundo a execução dos comandos Aplicações comerciais utilizam esses sistemas

27 5.2.3 Sistemas de tempo real Implementados de forma semelhante aos Sistemas de tempo real, exceto que: Não existe a ideia de fatia de tempo Programa utiliza o processador o tempo que for necessário ou até que apareça outro mais prioritário (definida pela aplicação) Sistemas presentes em aplicações de controle de processos Monitoramento de refinarias de petróleo Controle de tráfego aéreo Controle de usinas termoelétricas e nucleares Qualquer aplicação onde tempo de resposta é fator fundamental

28 5.2.4 Sistemas com múltiplos processadores Caracterizam-se por possuir dois ou mais processadores interligados e trabalhando em conjunto Vantagem: Vários programas executando ao mesmo tempo, ou; Mesmo programa subdividido em partes para serem executadas simultaneamente em mais de um processador Possibilidade de implementação de aplicações voltadas para processamento científico Simulações Processamento de imagens Desenvolvimento aeroespacial

29 5.2.4 Sistemas com múltiplos processadores (cont.) Características: Multiprogramação Escalabilidade Capacidade de ampliar o poder computacional do sistema adicionando novos processadores Disponibilidade Capacidade de manter o sistema em operação mesmo diante de falhas Balanceamento de carga Possibilidade de distribuir o processamento entre os diversos processadores

30 5.2.4 Sistemas com múltiplos processadores (cont.) Classificação quanto a forma de comunicação entre os processadores e o grau de compartilhamento da memória e os dispositivos de entrada e saída Sistemas fortemente acoplados Sistemas fracamente acoplados

31 a) Sistemas fortemente acoplados UCP Memória Principal UCP Dispositivos de E/ S Dispositivos de E/ S Um único SO

32 b) Sistemas fracamente acoplados link de comunicação UCP UCP Memória Principal Dispositivos de E/ S Memória Principal Dispositivos de E/ S Cada sistema possui seu próprio SO

33 b) Sistemas fracamente acoplados (cont.) Sistemas Operacionais de Rede Permitem que um computador (host) compartilhe seus recursos (p.e., impressora, diretório) com os demais hosts da rede. Usados em redes locais (estação oferece serviços de impressão e arquivos para as demais estações da rede, entre outros) Exemplo: Windows 2000, Novell Netware, Linux Sistemas Operacionais Distribuídos Sistema operacional esconde os detalhes dos hosts individuais e passa a tratá-los como um conjunto único Exemplo: Amoeba Tanembaum, 1991

34 6. Partes de um Sistema Operacional Gerência de processos Gerência de memória Gerência de armazenamento em massa Gerência do sistema de arquivos Gerência de dispositivos

35 6.1 Gerência de processos Processo é um programa em execução Atividades relacionadas ao gerenciamento de processos: Escalonamento de processos e threads; Criação e exclusão de processos de usuário e de sistema; Suspensão e retomada de processos; Fornecimento de mecanismos de sincronização entre processos; Fornecimento de mecanismos de comunicação entre processos.

36 6.2 Gerência de memória Para executar programa necessita estar na memória Atividades relacionadas ao gerenciamento de memória: Controlar que partes da memória estão em uso corrente e quem as está usando; Decidir que processos (ou parte deles) e dados devem ser transferidos para dentro e fora da memória; Alocar e desalocar espaço na memória conforme necessário.

37 6.3 Gerência de armazenamento em massa Atividades relacionadas ao gerenciamento de disco: Gerenciamento do espaço livre; Alocação de espaço de armazenamento; Escalonamento de alocação de disco.

38 6.4 Gerência do sistema de arquivos Atividades relacionadas ao gerencimento de arquivos: Criar e apagar arquivos; Criar e apagar diretórios para organizar arquivos; Suportar a manipulação de arquivos e diretórios; Mapear arquivos para a memória secundária; Criar cópias de arquivos em mídias de armazenamento secundárias.

39 6.5 Gerência de dispositivos Ocultar dos usuários as peculiaridades dos dispositivos de hardware específicos

40 Bibliografia SILBERSCHATZ, Abraham, GALVIN, Peter, GAGNE, Greg. Fundamentos de Sistemas Operacionais. 8ª. Ed. Rio de Janeiro : LTC, 2010. MACHADO, Francis B.; MAIA, Luiz Paulo. Arquitetura de Sistemas Operacionais. 3ª ed. Rio de Janeiro : LTC, 2002.