Escolar Documentos
Profissional Documentos
Cultura Documentos
Overview
Sistemas Operativos
2023/2024
João L. M. Pereira
CLAV-256
joao.pedro.pereira@uevora.pt
Baseado nos slides do Pedro Salgueiro, Universidade de Évora e do Capítulo 2 (Operating System Overview)
do livro Operating Systems: Internals and Design Principles, 7th Edition, Dave Bremer, Otago Polytechnic, N.Z.,
2008, Prentice Hall.
Sistema operativo (SO)
● Principais objetivos
○ Conveniência no uso do computador
○ Eficiência no uso dos recursos
○ Permitir a evolução
■ Sem interferir com os serviços, permite o desenvolvimento, teste e introdução de
novas funcionalidades no sistema
2
SO como interface entre utilizador e computador
● SO fornece abstrações
○ sobre o hardware
● Conseguido através
○ interfaces
○ serviços
3
Infraestrutura de Hardware/Software
4
Serviços de um Sistema Operativo
● Desenvolvimento de programas
● Execução de programas
● Acesso I/O a dispositivos (devices)
● Acesso controlado a ficheiros
● Acesso ao sistema
● Deteção de erros e resposta a erros
● Accounting (recolha de estatísticas de utilização)
5
Sistema Operativo como Gestor de Recursos
6
Sistema Operativo como Gestor de Recursos
7
Sistema Operativo como Gestor de Recursos
8
Processamento em série
9
Evolução dos Sistemas Operativos
Etapas incluem:
10
Sistemas de batch
● Monitor
○ Utilizador deixa de ter acesso direto ao processador
○ Software que faz a gestão dos jobs/programas
○ Programas/jobs são submetidos através de um operador, que junta todos os jobs num
“lote”/”batch” sequencialmente, e coloca-os num device de input, usado pelo monitor
○ Programa volta ao monitor quando termina
○ O programa seguinte inicia de forma automática
11
Monitor point of view
12
Processor point of view
13
Job Control Language (JCL)
14
Hardware: características desejáveis
● Temporizador
○ previne que um programa/job monopolize o sistema
● Instruções privilegiadas
○ apenas podem ser executadas pelo monitor
● Interrupções
○ dá mais flexibilidade ao SO no controlo de programas do utilizador
15
Modos de operação
16
Simple batch systems overhead
● Sacrifícios
○ alguma da memória principal é alocada para o monitor
○ algum do tempo do processador é consumido pelo monitor
17
Multiprogrammed batch systems
18
Uniprogramming
19
Multiprogramming
● Multiprogramming
○ memória é expandida para guardar 3, 4 ou mais programas e alternar entre todos eles
21
Multiprogramming: exemplo
22
Efeitos da utilização de recursos
23
Utilização de histogramas
24
Sistemas time-sharing
● Podem ser usados para lidar com múltiplos jobs interativos (utilizadores)
○ Usado em computadores partilhados, antes dos Personal Computers (PCs) e workstations
25
Batch Multiprocessing vs Time Sharing
26
Compatible Time-Sharing System (CTSS)
Time slicing
● Relógio do sistema gera interrupts
○ aproximadamente a cada 0.2 segundos
● A cada interrupt
○ o OS ganha controlo e pode atribuir processador a outro utilizador
28
Principais avanços
○ Processos
○ Gestão de memória
29
Processo
○ uma unidade de atividade caracterizada por: uma única linha (thread) sequencial de
execução, um estado atual, e associado a um conjunto de recursos do sistema
30
Componentes de um processo
31
Gestão de processos
32
Diferentes propostas de arquiteturas
○ Multithreading
○ Symmetric multiprocessing
○ Object-oriented design
33
Kernel monolítico
34
Microkernel
● Escalonamento
○ Scheduling
Vantagens
● Simplifica implementação
● Dá mais flexibilidade
● Indicado para sistemas distribuídos
35
Arquitetura Unix
36
Linux overview
37
Kernel monolitico modular
● Maioria dos sistemas UNIX são Loadable Modules
monolíticos
● Blocos relativamente independentes
○ Incluem todas as funcionalidades do SO
num grande bloco de código, ● Objectos
■ corre num único processo, ○ código pode ser linked e unlinked do kernel em runtime
● Linux melhorou um pouco este aspecto (un)link em qualquer momento, enquanto o kernel corre
39
Bibliografia
1. Operating Systems: Internals and Design Principles, 7th Edition, Dave Bremer, Otago Polytechnic, N.Z., 2008,
Prentice Hall. Chapter 2 - OS Overview.
40