sistemas operativos - laboratório de sistemas e...

55
1.1 Lições de Sistemas Operativos Sistemas Operativos Introdução Prof. José Rogado [email protected] Universidade Lusófona

Upload: vanquynh

Post on 10-Nov-2018

213 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Sistemas Operativos - Laboratório de Sistemas e Redesnetlab.ulusofona.pt/so/teoricas/SO-1-Intro-2017.pdf · Programa da Cadeira ... Slides das teóricas, Programa, Referências,

1.1 Lições de Sistemas Operativos

Sistemas Operativos Introdução

Prof. José Rogado

[email protected]

Universidade Lusófona

Page 2: Sistemas Operativos - Laboratório de Sistemas e Redesnetlab.ulusofona.pt/so/teoricas/SO-1-Intro-2017.pdf · Programa da Cadeira ... Slides das teóricas, Programa, Referências,

1.2 Lições de Sistemas Operativos

Programa da Cadeira

Introdução

Conceito de Sistema Operativo

Funcionalidades e Mecanismos

Serviços e Arquitectura do SO

Serviços e Interfaces

Excepções, APIs e Chamadas Sistema

Arquitectura e Implementação

Gestão de Processos

Processos e Fluxos de Execução

Conceito de Processo Ligeiro (thread)

Escalonamento do CPU

Sincronização de Processos

Bloqueios (Deadlocks)

Gestão de Memória Primária

Memória Física

Memória Virtual

Page 3: Sistemas Operativos - Laboratório de Sistemas e Redesnetlab.ulusofona.pt/so/teoricas/SO-1-Intro-2017.pdf · Programa da Cadeira ... Slides das teóricas, Programa, Referências,

1.3 Lições de Sistemas Operativos

Programa da Cadeira (cont.)

Gestão de Memória de Armazenamento

Sistemas Gestão de Ficheiros (SGF)

Implementação de SGFs

Estrutura da Memória de Armazenamento

Subsistemas de Entradas e Saídas (E/S)

Exemplos de Sistemas Operativos

Os pontos acima referidos serão ilustrados através de

exemplos retirados dos sistemas Linux e Windows

Page 4: Sistemas Operativos - Laboratório de Sistemas e Redesnetlab.ulusofona.pt/so/teoricas/SO-1-Intro-2017.pdf · Programa da Cadeira ... Slides das teóricas, Programa, Referências,

1.4 Lições de Sistemas Operativos

Algumas Dicas …

A Cadeira de Sistemas Operativos é importante num curso de Eng.ª Informática

Uma boa base em SO é uma grande vantagem para uma sólida formação em Sistemas Informáticos em geral

Todos os dispositivos precisam de um Sistema Operativo

Cadeira em que é necessário estudar e utilizar frequentemente capacidades de abstracção

É muito importante acompanhar as Aulas Teóricas onde serão apresentados os conceitos fundamentais dos SOs.

Indispensáveis para tirar partido das práticas!

As aulas práticas vão concretizar os conceitos teóricos através de exemplos ou simulações.

A associação entre teóricas e práticas é importante perceber a matéria!

A assiduidade é fundamental para o sucesso na cadeira!!

Page 5: Sistemas Operativos - Laboratório de Sistemas e Redesnetlab.ulusofona.pt/so/teoricas/SO-1-Intro-2017.pdf · Programa da Cadeira ... Slides das teóricas, Programa, Referências,

1.5 Lições de Sistemas Operativos

Método de Avaliação Aulas Teóricas

A assiduidade beneficia a apreciação final

Aulas Práticas Laboratório

A assiduidade às aulas práticas é essencial para a realização dos trabalhos do Laboratório

Não é possível fazer os trabalhos sem ir às aulas práticas

Aprovação na Cadeira: nota final de 10 valores

Prática 50%

Trabalhos no laboratório e projecto com avaliação individual

Teórica 50%

Mini Testes, Apresentações e Frequência Final

As notas parcelares não são arredondadas

Notas dos trabalhos, nota prática, nota teórica

Arredondamento só é feito depois de calculada a média

Notas inferiores a 8 são eliminatórias e implicam a realização de exame na respectiva componente

Page 6: Sistemas Operativos - Laboratório de Sistemas e Redesnetlab.ulusofona.pt/so/teoricas/SO-1-Intro-2017.pdf · Programa da Cadeira ... Slides das teóricas, Programa, Referências,

1.6 Lições de Sistemas Operativos

Referências Bibliográficas As aulas seguem vários livros

"Operating Systems: Internals and Design Principles", 9th ed 2017,

de W. Stallings, Ed. Prentice Hall, ISBN-13: 978-1118063330

“Modern Operating Systems”, 4th Edition, 2014. de A: Tanenbaum,

Ed Ed. Prentice Hall, ISBN-13: 978-0133591620

“Operating Systems Concepts” (9th Edition), de Abraham

Silberchatz, et. al., Ed. Wiley & Sons, 2012; ISBN: 9781118063330.

Outras Referências Bibliográficas

Sistemas Operativos, de J. Marques, P. Ferreira, etc., Ed. FCA,

2009, ISBN:978-972-722-575-0

"Linux Kernel Development" (3rd Edition) de Robert Love, Ed.

Addison Wesley, 2010; ISBN: 0672329468

Existem sebentas para os dois primeiros capítulos “Lições de Sistemas

Operativos”, à venda na livraria da ULHT (Ed. L)

Os materiais das aulas teóricas serão colocados à medida no Netlab

Consultar o site do Netlab: http://netlab.ulusofona.pt/so

Slides das teóricas, Programa, Referências, Links, Dicas, …

Page 7: Sistemas Operativos - Laboratório de Sistemas e Redesnetlab.ulusofona.pt/so/teoricas/SO-1-Intro-2017.pdf · Programa da Cadeira ... Slides das teóricas, Programa, Referências,

1.7 Lições de Sistemas Operativos

Introdução

Conceito de Sistema Operativo

Funcionalidades

Gestão de Processos

Gestão de Memória

Gestão de Armazenamento

Protecção e Segurança

Integração SO / Hardware

Arquitectura de um Computador

Funcionamento do Sistema Operativo

Tipos de Sistemas Operativos

Sistemas Distribuídos

Sistemas Específicos

Ambientes de Computação

Objectivos

Definir conceitos

Rever conceitos básicos da

arquitectura de

computadores

Apresentar as principais

funcionalidades do SO

Page 8: Sistemas Operativos - Laboratório de Sistemas e Redesnetlab.ulusofona.pt/so/teoricas/SO-1-Intro-2017.pdf · Programa da Cadeira ... Slides das teóricas, Programa, Referências,

1.8 Lições de Sistemas Operativos

O que é um Sistema Operativo?

Um “programa” que actua como intermediário entre o utilizador

e o hardware do computador

Na realidade, uma longa série de programas…

Papel do SO:

Tornar o computador utilizável

Permitir a execução de programas de utilizadores

Resolver problemas postos pelos utilizadores

Utilizar o Hardware da forma mais eficiente possível.

Optimizar processamento

Optimizar acesso a recursos

Page 9: Sistemas Operativos - Laboratório de Sistemas e Redesnetlab.ulusofona.pt/so/teoricas/SO-1-Intro-2017.pdf · Programa da Cadeira ... Slides das teóricas, Programa, Referências,

1.9 Lições de Sistemas Operativos

Definição de Sistema Operativo (i)

Não há uma definição única aceite universalmente

“Tudo o que o fabricante envia no pacote quando é

encomendado um Sistema Operativo”

Pode variar substancialmente

O conjunto de programas que está sempre a correr no

computador :

Núcleo (kernel) do Sistema Operativo

Programas Sistema (que complementam o SO)

Aplicações (utilizador)

Page 10: Sistemas Operativos - Laboratório de Sistemas e Redesnetlab.ulusofona.pt/so/teoricas/SO-1-Intro-2017.pdf · Programa da Cadeira ... Slides das teóricas, Programa, Referências,

1.10 Lições de Sistemas Operativos

Definição de Sistema Operativo (ii)

Do ponto de vista das funcionalidades:

O SO é um alocador de recursos

Gere todos os recursos do sistema

Decide entre pedidos de acesso concorrentes a recursos para

garantir utilização eficiente e justa

O SO é um programa de controle

Controla a execução de programas prevenindo a ocorrências

de erros e uso impróprio do computador

Page 11: Sistemas Operativos - Laboratório de Sistemas e Redesnetlab.ulusofona.pt/so/teoricas/SO-1-Intro-2017.pdf · Programa da Cadeira ... Slides das teóricas, Programa, Referências,

1.11 Lições de Sistemas Operativos

Componentes de um SO

Page 12: Sistemas Operativos - Laboratório de Sistemas e Redesnetlab.ulusofona.pt/so/teoricas/SO-1-Intro-2017.pdf · Programa da Cadeira ... Slides das teóricas, Programa, Referências,

1.12 Lições de Sistemas Operativos

Ligação SO – Hardware

Uma vez que o SO gere o Hardware do Computador

O SO deve estar adaptado às características de cada

computador

Por outro lado, o mesmo SO deve poder gerir diversos

computadores

Deve haver uma separação clara das funcionalidades

dependentes do Hardware

A esta característica dá-se o nome de Portabilidade

Para compreender o funcionamento de um SO, é necessário

Compreender a arquitectura de computadores

Conhecer o funcionamento dos principais componentes

Processador, memória, E/S, discos, periféricos, etc.…

Page 13: Sistemas Operativos - Laboratório de Sistemas e Redesnetlab.ulusofona.pt/so/teoricas/SO-1-Intro-2017.pdf · Programa da Cadeira ... Slides das teóricas, Programa, Referências,

1.13 Lições de Sistemas Operativos

Principais Conceitos

O Sistema Operativo realiza a interface entre as aplicações dos

utilizadores e os recursos da máquina física (hardware)

Cria um conjunto de conceitos (ou abstracções ) que permitem um

acesso facilitado aos recursos físicos

Processo

Permite a execução de programas, abstraindo o(s) CPU(s)

Memória Lógica

Cria um espaço de armazenamento contínuo e volátil onde

são armazenados os processos, abstraindo a memória física

Sistema de Ficheiros

Cria um espaço de armazenamento persistente organizado

hierarquicamente, abstraindo os vários tipos de discos

Gestores de Periféricos

Realizam a interacção com o exterior, realizando a gestão dos

dispositivos de I/O (Input/Output) ligados ao computador

Page 14: Sistemas Operativos - Laboratório de Sistemas e Redesnetlab.ulusofona.pt/so/teoricas/SO-1-Intro-2017.pdf · Programa da Cadeira ... Slides das teóricas, Programa, Referências,

1.14 Lições de Sistemas Operativos

Processos

Um processo é um programa em execução. É uma unidade de trabalho no seio do sistema.

Um programa é uma entidade passiva, um processo uma entidade activa

Todos os processos activos têm pelo menos um Fluxo de Execução

Corresponde ao encadeamento sequencial das instruções do programa pelo(s) CPU(s)

Um Processo necessita de recursos para realizar a sua tarefa

CPU, memória, E/S, ficheiros

Dados iniciais

A terminação de um Processo implica a reciclagem dos recursos reutilizáveis

Tipicamente, um sistema actual tem múltiplos processos, um ou mais utilizadores, e um sistema operativo a correr simultaneamente num ou vários CPUs

Os CPUs são multiplexados pelos vários processos

Page 15: Sistemas Operativos - Laboratório de Sistemas e Redesnetlab.ulusofona.pt/so/teoricas/SO-1-Intro-2017.pdf · Programa da Cadeira ... Slides das teóricas, Programa, Referências,

1.15 Lições de Sistemas Operativos

Memória Lógica

Permite a partilha da memória física disponível pelos vários processos activos

Responsável pela atribuição e salvaguarda das imagens dos processos

Todos os dados residentes em memória antes e depois do processamento

Todas as instruções residentes em memórias para execução

Principais Actividades

Atribuir ou libertar espaço memória à medida das necessidades dos processos

Manter a lista das zonas da memória correntemente utilizadas e dos processos que as utilizam

Decidir que processos (ou que partes de processo) devem ser retirados ou carregados em memória

Manter um limite de memória livre para realizar as tarefas ligadas à própria gestão e ao sistema operativo

Page 16: Sistemas Operativos - Laboratório de Sistemas e Redesnetlab.ulusofona.pt/so/teoricas/SO-1-Intro-2017.pdf · Programa da Cadeira ... Slides das teóricas, Programa, Referências,

1.16 Lições de Sistemas Operativos

Armazenamento Permanente

Permite armazenar dados que não cabem em memória ou que devem ser mantidos durante períodos longos

Memória secundária está geralmente em Disco Magnético

Cada vez mais em suporte electrónico (SSD - Solid State Drive)

A sua gestão é primordial para o desempenho do sistema

A velocidade de execução de um computador está grandemente dependente da performance dos seus discos e da eficiência dos algoritmos de alocação

Funcionalidades essenciais:

Gestão do espaço livre

Gestão da alocação

Escalonamento dos acessos disco

Outros tipos de memória de armazenamento não são tão críticos

Memória terciária: inclui discos ópticos, drives externas, pens, etc…

Mas a gestão também é importante e é geralmente realizada pelos controladores do Sistema Operativo

Page 17: Sistemas Operativos - Laboratório de Sistemas e Redesnetlab.ulusofona.pt/so/teoricas/SO-1-Intro-2017.pdf · Programa da Cadeira ... Slides das teóricas, Programa, Referências,

1.17 Lições de Sistemas Operativos

Sistema de Gestão de Ficheiros

O Sistema de Gestão de Ficheiros (SGF)

Abstrai as propriedades físicas dos dispositivos de

armazenamento através da noção de ficheiro

Os ficheiros são agrupados em directórios

Implementa controle de acessos para determinar quem

pode aceder a quê e para fazer que operações

Actividades do SGF incluem

Gestão do espaço disponível para armazenamento

Criar e apagar ficheiros e directórios

Manipulação dos conteúdos (ler, escrever, modificar, …)

Garantir a coerência da informação armazenada

Optimização do desempenho (cache, ordenação, …)

Page 18: Sistemas Operativos - Laboratório de Sistemas e Redesnetlab.ulusofona.pt/so/teoricas/SO-1-Intro-2017.pdf · Programa da Cadeira ... Slides das teóricas, Programa, Referências,

1.18 Lições de Sistemas Operativos

Gestores de Periféricos

Um dos objectivos do SO é abstrair as particularidades dos dispositivos hardware que lhe estão ligados

A gestão dos periféricos é realizada pelo subsistema de E/S é responsável por:

Fornecer a interface entre os processos e os controladores de dispositivos

Gerir o sincronismo entre as operações do periférico e as do CPU

Implementar os controladores de dispositivos (device drivers)

Discos, Interface de rede

Écrans, Teclados, Ratos

etc.

Gestão Memória associada às transferências de dados

Buffering (armazenamento temporário de dados em trânsito)

Caching (armazenar dados mais utilizados)

Spooling (multiplexar fluxos de E/S de vários processso)

Page 19: Sistemas Operativos - Laboratório de Sistemas e Redesnetlab.ulusofona.pt/so/teoricas/SO-1-Intro-2017.pdf · Programa da Cadeira ... Slides das teóricas, Programa, Referências,

1.19 Lições de Sistemas Operativos

Protecção e Segurança

Protecção – mecanismos para controlar o acesso de processos e/ou utilizadores a recursos geridos pelo SO

Segurança – defesa do sistema contra ataques internos e externos

Grande diversidade, incluindo: denial-of-service, worms, virus, roubo de identidade, intromissão.

Os sistemas distinguem os utilizadores para determinar quem pode fazer o quê:

Identidade de utilizador (user IDs, security IDs) inclui o nome e um número associado, um por cada utilizador

O User ID é depois associado com todos os ficheiros e processos desse utilizador para permitir o controle de acessos

O identificador de Grupo (group ID) que permite definir conjuntos de utilizadores com direitos idênticos, é também associado a cada processo e ficheiro

O aumento temporário de privilégios permite aos utilizadores mudarem de ID para realizar operações críticas

Page 20: Sistemas Operativos - Laboratório de Sistemas e Redesnetlab.ulusofona.pt/so/teoricas/SO-1-Intro-2017.pdf · Programa da Cadeira ... Slides das teóricas, Programa, Referências,

1.20 Lições de Sistemas Operativos

Algumas Noções de Hardware…

Page 21: Sistemas Operativos - Laboratório de Sistemas e Redesnetlab.ulusofona.pt/so/teoricas/SO-1-Intro-2017.pdf · Programa da Cadeira ... Slides das teóricas, Programa, Referências,

1.21 Lições de Sistemas Operativos

Uma enorme diversidade…

Mainframe

Server Personal Computer

Playstation

Mobile Phone

Smart Phone / PDA

Tablet PC

Page 22: Sistemas Operativos - Laboratório de Sistemas e Redesnetlab.ulusofona.pt/so/teoricas/SO-1-Intro-2017.pdf · Programa da Cadeira ... Slides das teóricas, Programa, Referências,

1.22 Lições de Sistemas Operativos

Uma Arquitectura Genérica… Arquitectura Genérica composta por:

Um ou mais CPUs e controladores de periféricos ligados através de

um BUS dando acesso à memória partilhada

Acessos concorrentes dos CPUs e dos periféricos para obter ciclos de

acesso memória

Page 23: Sistemas Operativos - Laboratório de Sistemas e Redesnetlab.ulusofona.pt/so/teoricas/SO-1-Intro-2017.pdf · Programa da Cadeira ... Slides das teóricas, Programa, Referências,

1.24 Lições de Sistemas Operativos

Componentes Lógicos de um Computador

Page 24: Sistemas Operativos - Laboratório de Sistemas e Redesnetlab.ulusofona.pt/so/teoricas/SO-1-Intro-2017.pdf · Programa da Cadeira ... Slides das teóricas, Programa, Referências,

1.25 Lições de Sistemas Operativos

Níveis de Abstracção

Um computador também pode ser visto como uma sucessão níveis

de abstracção (máquinas virtuais) cada uma com os seus conceitos,

objectos, linguagem de programação e mecanismos próprios

Cada nível utiliza os serviços e interfaces do nível inferior, que são

cada vez mais próximos da estrutura interna do computador

O sistema operativo controla alguns destes níveis

Operating System Control

Page 25: Sistemas Operativos - Laboratório de Sistemas e Redesnetlab.ulusofona.pt/so/teoricas/SO-1-Intro-2017.pdf · Programa da Cadeira ... Slides das teóricas, Programa, Referências,

1.26 Lições de Sistemas Operativos

Modelo de von Neumann

O Modelo de Von Neumann define os módulos mínimos para que

possa existir processamento de informação

Composto por 5 módulos:

Page 26: Sistemas Operativos - Laboratório de Sistemas e Redesnetlab.ulusofona.pt/so/teoricas/SO-1-Intro-2017.pdf · Programa da Cadeira ... Slides das teóricas, Programa, Referências,

1.27 Lições de Sistemas Operativos

O Modelo de ligação em BUS

É o modelo mais comum nos sistemas correntes

Uma evolução do modelo de von Neumann, o modelo em BUS

(Barramento) liga o CPU (ALU e controle) à memoria, e às

unidades de input/output.

A comunicação entre os vários componentes é feita por um

canal de comunicação partilhado denominado BUS sistema,

composto por Bus de Dados, Bus de Endereços e de Controle.

Page 27: Sistemas Operativos - Laboratório de Sistemas e Redesnetlab.ulusofona.pt/so/teoricas/SO-1-Intro-2017.pdf · Programa da Cadeira ... Slides das teóricas, Programa, Referências,

1.28 Lições de Sistemas Operativos

Intel Pentium Read and Write Bus Cycles

Page 28: Sistemas Operativos - Laboratório de Sistemas e Redesnetlab.ulusofona.pt/so/teoricas/SO-1-Intro-2017.pdf · Programa da Cadeira ... Slides das teóricas, Programa, Referências,

1.29 Lições de Sistemas Operativos

Acesso Directo à Memoria Utilizado por dispositivos de I/O assíncrono de alto desempenho,

capazes de transmitir informação à velocidade de acesso da

memória

Os controladores transferem blocos de dados dos periféricos para

a memória central sem intervenção do CPU

Só é necessária uma interrupção por bloco em vez de uma

interrupção por byte

Page 29: Sistemas Operativos - Laboratório de Sistemas e Redesnetlab.ulusofona.pt/so/teoricas/SO-1-Intro-2017.pdf · Programa da Cadeira ... Slides das teóricas, Programa, Referências,

1.30 Lições de Sistemas Operativos

Arquitectura de uma Motherboard

Page 30: Sistemas Operativos - Laboratório de Sistemas e Redesnetlab.ulusofona.pt/so/teoricas/SO-1-Intro-2017.pdf · Programa da Cadeira ... Slides das teóricas, Programa, Referências,

1.31 Lições de Sistemas Operativos

Intel Pentium Internal Registers

EAX - Accumulator for operands

and results data

EBX - Pointer to data in the DS

segment

ECX - Counter for string and loop

operations

EDX - I/O pointer

ESI - Source pointer for string

operations

EDI - Destination pointer for string

operations

EBP - Pointer to data on the stack

(in the SS segment)

ESP - Stack pointer (in the SS

segment)

Page 31: Sistemas Operativos - Laboratório de Sistemas e Redesnetlab.ulusofona.pt/so/teoricas/SO-1-Intro-2017.pdf · Programa da Cadeira ... Slides das teóricas, Programa, Referências,

1.32 Lições de Sistemas Operativos

Intel Pentium Status Flags

EFLAGS Register

Page 32: Sistemas Operativos - Laboratório de Sistemas e Redesnetlab.ulusofona.pt/so/teoricas/SO-1-Intro-2017.pdf · Programa da Cadeira ... Slides das teóricas, Programa, Referências,

1.33 Lições de Sistemas Operativos

Intel Pentium Segmentation Registers

Page 33: Sistemas Operativos - Laboratório de Sistemas e Redesnetlab.ulusofona.pt/so/teoricas/SO-1-Intro-2017.pdf · Programa da Cadeira ... Slides das teóricas, Programa, Referências,

1.34 Lições de Sistemas Operativos

Estruturas de Armazenamento

Memória principal – é a única área de armazenamento de massa a

que o CPU consegue aceder directamente

Desempenho é crítico para a performance do sistema

Geralmente volátil

Memória secundária – extensão da memória principal que

providencia grandes capacidades de memória não volátil

Constituída por discos magnéticos metal rígido ou superfícies de

vidro cobertas de material magnetizável.

A superfície do disco está dividida em pistas, subdivididas em

sectores

O controlador de disco realiza a interacção lógica entre o

periférico o CPU e a memória

Page 34: Sistemas Operativos - Laboratório de Sistemas e Redesnetlab.ulusofona.pt/so/teoricas/SO-1-Intro-2017.pdf · Programa da Cadeira ... Slides das teóricas, Programa, Referências,

1.35 Lições de Sistemas Operativos

Hierarquias de Armazenamento

Os sistemas de armazenamento estão organizados

hierarquicamente, por critérios de:

Velocidade

Custo

Volatilidade

Page 35: Sistemas Operativos - Laboratório de Sistemas e Redesnetlab.ulusofona.pt/so/teoricas/SO-1-Intro-2017.pdf · Programa da Cadeira ... Slides das teóricas, Programa, Referências,

1.36 Lições de Sistemas Operativos

Características Comparativas

As transferências de dados entre os vários níveis podem ser

automáticas ou explícitas

Page 36: Sistemas Operativos - Laboratório de Sistemas e Redesnetlab.ulusofona.pt/so/teoricas/SO-1-Intro-2017.pdf · Programa da Cadeira ... Slides das teóricas, Programa, Referências,

1.37 Lições de Sistemas Operativos

Migração de Disco para Registo

Os sistemas Multitarefa devem ter mecanismos para utilizarem sempre os valores actualizados, estejam onde estiverem na hierarquia de memória

Os sistemas Multiprocessador devem utilizar mecanismos hardware para garantir a coerência de caches para que todos os CPUs tenham cópias actualizadas

Nos Sistemas distribuídos as situações ainda são mais complexas

Várias versões dos mesmos dados podem existir

Caso dos Sistemas de Ficheiros Distribuídos (NFS, AFS, etc..)

Page 37: Sistemas Operativos - Laboratório de Sistemas e Redesnetlab.ulusofona.pt/so/teoricas/SO-1-Intro-2017.pdf · Programa da Cadeira ... Slides das teóricas, Programa, Referências,

1.38 Lições de Sistemas Operativos

Caching

Caching – cópia temporária de informação para um sistema de armazenamento mais rápido.

A memória principal serve de cache para a memória secundária.

O processador dispõe de um cache de instruções que contém réplicas do conteúdo memória.

Os sistemas informáticos utilizam técnicas de caching intensivamente para optimização de performance.

Hardware, OS, Aplicações

O primeiro acesso é realizado ao cache para verificar se a informação pretendida se encontra armazenada

Se lá está (cache hit), a cópia é usada

Se não está (cache miss), é copiada para lá e actualizada

O Cache é sempre menor do que a memória que representa, sendo críticos para o desempenho:

A gestão optimizada do cache

O tamanho do cache e a política de actualização

Page 38: Sistemas Operativos - Laboratório de Sistemas e Redesnetlab.ulusofona.pt/so/teoricas/SO-1-Intro-2017.pdf · Programa da Cadeira ... Slides das teóricas, Programa, Referências,

1.39 Lições de Sistemas Operativos

Características dos Sistemas Operativos - 1

As características podem variar radicalmente entre diferentes sistemas

Algumas são comuns a uma grande maioria

Funcionamento em Modo Batch

Inicialmente os SO só permitiam correr um processo (ou job) de cada vez

Os jobs eram colocados numa fila de espera

Esperavam pela fim da execução dos precedentes até serem executados

Várias versões de Batch Processing

Filas de espera armazenadas em disco magnético

Criação de duas partições de execução

Foreground para jobs curtos

Background para jobs mais longos

Page 39: Sistemas Operativos - Laboratório de Sistemas e Redesnetlab.ulusofona.pt/so/teoricas/SO-1-Intro-2017.pdf · Programa da Cadeira ... Slides das teóricas, Programa, Referências,

1.40 Lições de Sistemas Operativos

Funcionamento em Modo Batch

Page 40: Sistemas Operativos - Laboratório de Sistemas e Redesnetlab.ulusofona.pt/so/teoricas/SO-1-Intro-2017.pdf · Programa da Cadeira ... Slides das teóricas, Programa, Referências,

1.41 Lições de Sistemas Operativos

Características dos Sistemas Operativos - 2

Multitarefa: o CPU comuta de tarefa periodicamente

Quando uma tarefa espera por E/S

Quando expira um intervalo de tempo preestabelecido

Evolução necessária para assegurar eficiência

O CPU não pode é atribuído sequencialmente a uma única tarefa durante toda a sua duração

Operações de E/S podem obrigar a “longas” esperas

Multiprogramação organiza as tarefas (código e dados) para que o CPU tenha sempre algo para executar

Um subconjunto da totalidade das tarefas é mantido em memória

Uma tarefa é seleccionada e activada através de um escalonador de processos (process scheduler)

Quando a tarefa é obrigada a esperar por um recurso (I/O por exemplo), o SO comuta para uma outra tarefa que esteja pronta

Page 41: Sistemas Operativos - Laboratório de Sistemas e Redesnetlab.ulusofona.pt/so/teoricas/SO-1-Intro-2017.pdf · Programa da Cadeira ... Slides das teóricas, Programa, Referências,

1.42 Lições de Sistemas Operativos

Funcionamento em Multitarefa

O CPU é alocado sucessivamente aos várias tarefas residentes

em memória, e pode interagir com vários utilizadores

Page 42: Sistemas Operativos - Laboratório de Sistemas e Redesnetlab.ulusofona.pt/so/teoricas/SO-1-Intro-2017.pdf · Programa da Cadeira ... Slides das teóricas, Programa, Referências,

1.43 Lições de Sistemas Operativos

Características dos Sistemas Operativos - 3

Multiutilizador: utilização de um sistema multitarefa em que o computador

gere vários utilizadores

É assim criada a noção de que cada utilizador pode interagir com a tarefa

que está a correr, permitindo computação interactiva

Tempo de Resposta deve ser < 1 segundo

Cada utilizador pode ter pelo menos um programa a correr em memória

Processo

Se várias tarefas estão prontas para correr ao mesmo tempo

Escalonamento CPU

Outras evoluções funcionais

Se todos os processos não couberem em memória, são movidos para

memória secundária

Swapping

É também possível executar processos que não caibam completamente

na memória

Memória Virtual

Page 43: Sistemas Operativos - Laboratório de Sistemas e Redesnetlab.ulusofona.pt/so/teoricas/SO-1-Intro-2017.pdf · Programa da Cadeira ... Slides das teóricas, Programa, Referências,

1.44 Lições de Sistemas Operativos

Evolução dos Sistemas Operativos

Windows 10 (2015)

Page 44: Sistemas Operativos - Laboratório de Sistemas e Redesnetlab.ulusofona.pt/so/teoricas/SO-1-Intro-2017.pdf · Programa da Cadeira ... Slides das teóricas, Programa, Referências,

1.45 Lições de Sistemas Operativos

Evolução dos Sistemas Unix http://www.levenez.com/unix

Page 45: Sistemas Operativos - Laboratório de Sistemas e Redesnetlab.ulusofona.pt/so/teoricas/SO-1-Intro-2017.pdf · Programa da Cadeira ... Slides das teóricas, Programa, Referências,

1.46 Lições de Sistemas Operativos

Quem é quem…

Brian Kernighan

Dennis Ritchie

Ken Thomson

Bill Joy

Steve Jobs

Richard Stallman

Linus Torvalds

Bill Gates

Page 46: Sistemas Operativos - Laboratório de Sistemas e Redesnetlab.ulusofona.pt/so/teoricas/SO-1-Intro-2017.pdf · Programa da Cadeira ... Slides das teóricas, Programa, Referências,

1.47 Lições de Sistemas Operativos

Ambientes de Computação

Computador tradicional:

Conceito cada vez mais difuso

Novos dispositivos de computação aparecem constantemente

Ambiente Empresarial

PCs ligados em rede, servidores apicacionais, e ainda mainframes

em batch e/ou timesharing

Portais empresariais internos dando acesso às aplicações e dados

através de computadores pessoais ligados em rede e dispositivos

móveis através de interfaces de tipo Web

Ambiente doméstico

Começaram por ser sistemas isolados, tendo ganho conectividade

através da generalização do generalização da “banda larga”

Agora ligados por routers wireless, agregando PCs, PDA e

consolas de jogos

Ambientes Móveis

Enorme expansão, mudando o modelo global de computação

Page 47: Sistemas Operativos - Laboratório de Sistemas e Redesnetlab.ulusofona.pt/so/teoricas/SO-1-Intro-2017.pdf · Programa da Cadeira ... Slides das teóricas, Programa, Referências,

1.48 Lições de Sistemas Operativos

Sistemas Móveis

Smart Phones, Tablets

Cada vez mais alternativas aos PCs

Registam enorme evolução no que respeita as características do

hardware

Processadores multicore / Memória / Sensores

Ecrãs interactivos de alta resolução

Os sistemas operativos para estes dispositivos sofrem grande

evolução

Gestão da interactividade

Integração dos sensores

Os sistemas operativos podem também ser adaptados para

funcionar em ambientes de funcionalidades reduzidas

Sistemas Embebidos

Arduino, Raspberry PI, etc…

Page 48: Sistemas Operativos - Laboratório de Sistemas e Redesnetlab.ulusofona.pt/so/teoricas/SO-1-Intro-2017.pdf · Programa da Cadeira ... Slides das teóricas, Programa, Referências,

1.49 Lições de Sistemas Operativos

Arquitectura Multiprocessador

É constituído por vários processadores independentes

montados numa mesma motherboard

A lógica de controle é externa aos processadores

Page 49: Sistemas Operativos - Laboratório de Sistemas e Redesnetlab.ulusofona.pt/so/teoricas/SO-1-Intro-2017.pdf · Programa da Cadeira ... Slides das teóricas, Programa, Referências,

1.50 Lições de Sistemas Operativos

Arquitectura Multi-Core

Cada processador contém vários “cores” (núcleos de execução)

que têm caches próprios (o I9 X-Series já tem 12 cores…)

A lógica de controle é interna aos processadores

Podem ser montados vários processadores Multi-core numa

mesma motherboard

Page 50: Sistemas Operativos - Laboratório de Sistemas e Redesnetlab.ulusofona.pt/so/teoricas/SO-1-Intro-2017.pdf · Programa da Cadeira ... Slides das teóricas, Programa, Referências,

1.51 Lições de Sistemas Operativos

Cluster Computing

Colaboração de processadores (nós) em rede

Possivelmente partilhando uma área de storage em rede

SAN: Storage Area Network

Fornecem serviços de elevado desempenho e disponibilidade

Existem vários modelos de clusters consoante a uniformidade ou não dos nós de processamento

Cluster Simétrico: todos os nós são idênticos

Cluster Assimétrico: os nós podem apresentar diferenças quer a nível de hardware, quer no papel que desempenham

Alguns dos nós podem ter um papel preponderante relativamente aos outros: nós de controlo e de execução

Actualmente a arquitectura em cluster é uma das bases mais utilizada na computação de alto desempenho

As aplicações têm de ser escritas para tirar partido do paralelismo

Page 51: Sistemas Operativos - Laboratório de Sistemas e Redesnetlab.ulusofona.pt/so/teoricas/SO-1-Intro-2017.pdf · Programa da Cadeira ... Slides das teóricas, Programa, Referências,

1.52 Lições de Sistemas Operativos

Modelo Cliente Servidor

Base da Computação em Rede

Os servidores executam os pedidos gerados pelos clientes

Modelo de serviço em três camadas permite separar as funcionalidades de processamento das de armazenamento

Terminais simples substituídos por PCs com Browsers

Servidores de Processamento executam a lógica aplicacional para a realização de serviços (servidores aplicacionais)

Servidores de Dados fornecem serviços de armazenamento e leitura de dados (bases de dados, etc)

Page 52: Sistemas Operativos - Laboratório de Sistemas e Redesnetlab.ulusofona.pt/so/teoricas/SO-1-Intro-2017.pdf · Programa da Cadeira ... Slides das teóricas, Programa, Referências,

1.53 Lições de Sistemas Operativos

Peer-to-Peer

Modelo de Sistema Distribuído descentralizado

Evolução do Modelo Cliente Servidor

P2P não distingue entre Clientes e Servidores

Todos os participantes são considerados “Peers” (pares)

Cada par pode ser cliente, servidor ou ambos

Cada nó deve aderir à rede P2P

Regista o serviço que oferece junto de um servidor central

de procura na rede

Envia um pedido de serviço em broadcast e responde a

pedidos de serviço através de um protocolo de descoberta

Exemplos: Gnutella, Torrent, Bitcoin

Page 53: Sistemas Operativos - Laboratório de Sistemas e Redesnetlab.ulusofona.pt/so/teoricas/SO-1-Intro-2017.pdf · Programa da Cadeira ... Slides das teóricas, Programa, Referências,

1.54 Lições de Sistemas Operativos

Web Computing

A Web tornou-se ubíqua

Está praticamente em toda a parte

Há cada vez há mais dispositivos com acesso Web

Os PCs já não são os dispositivos mais utilizados

Utilização crescente de Smartphones, Tablets, etc…

A componente Servidor está em vias de desmaterialização

A utilização de Sistemas Operativos é cada vez mais feita

recorrendo a tecnologia de virtualização

Sistemas podem ser clientes ou servidores

Aparecimento do conceito de Cloud Computing

Page 54: Sistemas Operativos - Laboratório de Sistemas e Redesnetlab.ulusofona.pt/so/teoricas/SO-1-Intro-2017.pdf · Programa da Cadeira ... Slides das teóricas, Programa, Referências,

1.56 Lições de Sistemas Operativos

Referências

Referências do Site do Laboratório

netlab.ulusofona.pt

Comparação de vários Sistemas Operativos

www.osdata.com

Historial do Sistema Unix

www.levenez.com/unix

Breve bibliografia de Ken Thomson

www.linfo.org/thompson.html

Informação sobre processadores Intel

https://www.intel.com/buy/us/en/catalog/components/all

Page 55: Sistemas Operativos - Laboratório de Sistemas e Redesnetlab.ulusofona.pt/so/teoricas/SO-1-Intro-2017.pdf · Programa da Cadeira ... Slides das teóricas, Programa, Referências,

1.57 Lições de Sistemas Operativos

Fim da Introdução