Unidade 1: Introdução • • • • • • • • O que é um sistema operacional? Systemas simples em lote (batch) Sistemas de multiprocessamento em lotes Sistemas com divisão de tempo (Time-Sharing Systems) PC Sistemas paralelas Sistemas distribuídas Sistemas em tempo real Operating System Concepts 1.1 Silberschatz and Galvin 1999 O que é um sistema operacional? • Um programa de computador que age como intermediário entre o usuário (os aplicativos) e o hardware. • • Os programas que rodam com privilégio de sistema (CPL=0) • Objetivos de um sistema operacional: – Executar programas do usuário e simplificar a solução de problemas da aplicação. – Fazer o computador fácil de usar. Usar o computador de maneira eficiente. Operating System Concepts 1.2 Silberschatz and Galvin 1999 Componentes de um Computador 1. Hardware – recursos materiais básicos e avançados (entrada/saída, CPU, memória; cache, segmentação, paginação). 2. Sistema Operacional - controla e coordena o uso dos recursos de hardware básicos por parte de diferentes aplicativos de diferentes usuários. 3. Aplicativos - define como os recursos do sistema são usados para realizar as tarefas dos usuários (compiladores, bases de dados, video game, etc.). 4. Usuários (gente, máquinas, outros computadores). Operating System Concepts 1.3 Silberschatz and Galvin 1999 Vista em camadas de um sistema computacional Operating System Concepts 1.4 Silberschatz and Galvin 1999 Definições • • Resource allocator – aloca e administra recursos. • Kernel – o único programa que é sempre ativo e sempre roda em privilégio sistema (os outros programas sendo aplicativos). Control program – controla a execuçao de aplicativos e as operações de entrada/saída. Operating System Concepts 1.5 Silberschatz and Galvin 1999 Sistema de multiprocessamento em lotes Vários jobs estão na memória no mesmo tempo e a CPU é multiplxado entre eles. Operating System Concepts 1.6 Silberschatz and Galvin 1999 Características do SO necessários para multiprocessamento • • Rotinas de entrada/saída no SO. • Escalonamento da UCP (CPU scheduling) – o SO precisa escolher entre várias tarefas prontoas para rodar. • Gerenciamento de memória - o SO precisa alocar a memória para várias tarefas. Alocar dispositivos. Operating System Concepts 1.7 Silberschatz and Galvin 1999 Sistemas com tempo compartilhado (Time-Sharing Systems) • A CPU é multiplexada entre várias tarefas residentes na memória ou em disco (a CPU é alocado para uma tarefa somente se ela está em memória). • • Uma tarefa é transferida (swapped) entre a memória e o disco. • Usuários acessam dados e código. Existe comunicação on-line com cada usuário (monitor e teclado). Operating System Concepts 1.8 Silberschatz and Galvin 1999 PCs (Personal-Computer Systems) • • • • Dedicado a um só usuário. Etrada/saída via teclado, mouse, monitor, pequena impressora. Facilidade de uso e rapidez na reação (responsiveness). Pode adotar tecnologias de SO de sistemas maiores mas as vezes somente uma pessoa tem acesso ao computador e ela não precisa de mecanismos de proteção avancados. Operating System Concepts 1.9 Silberschatz and Galvin 1999 Migração de SOs e suas caracterísitcas Operating System Concepts 1.10 Silberschatz and Galvin 1999 Sistemas paralelas • • • Sistema de múltiplos processadores em comunicação aproximada (comunicação rápida e eficiente). Sistemas com acoplamento estreito (Tightly coupled system) processaodres compartilham a mesma memória; comunicação pela memória compartilhada. Vantagens de sistemas paralelas: – Poder computacional maior – muitas vezes mais econômico que supercomputador – maior confiabilidade graceful degradation fail-soft systems Operating System Concepts 1.11 Silberschatz and Galvin 1999 Sistemas em tempo real • Muito usado como controlador de aplicações dedicadas como experiências cientificas, sistemas de imagens médicas, automação industrial, etc. • • Condições temporais bem definidas. • Hard real-time system. – Armazenamento de acesso aleatório somente (sem usar disco rígido) Soft real-time system – uso limitado em automação industrial – uso em aplicações multimídia, realidade virtual. Operating System Concepts 1.12 Silberschatz and Galvin 1999 Sistemas distribuídas • • • Distribute the computation among several physical processors. Loosely coupled system – each processor has its own local memory; processors communicate with one another through various communications lines, such as high-speed buses or telephone lines. Advantages of distributed systems. – Resources Sharing – Computation speed up – load sharing – Reliability – Communications Operating System Concepts 1.13 Silberschatz and Galvin 1999 Distributed Systems (Cont.) • • Network Operating System – provides file sharing – provides communication scheme – runs independently from other computers on the network Distributed Operating System – less autonomy between computers – gives the impression there is a single operating system controlling the network. Operating System Concepts 1.14 Silberschatz and Galvin 1999