Os Sistemas Operativos são uma das áreas constituintes dos computadores mais nucleares e com várias dezenas de anos de evolução, fundamentais na compreensão aprofundada dos atuais sistemas informáticos. O seu papel no desempenho global das aplicações, na segurança, no funcionamento em rede ou móvel é crucial e, em muitas vezes, o principal condicionante para o sucesso ou insucesso de um projeto informático.
Este livro detalha todos os subsistemas relevantes nos sistemas operativos e apresenta duas visões complementares e igualmente relevantes: as interfaces, que permitem aos programadores invocarem as funções do sistema operativo, e a estrutura interna de cada um dos subsistemas que compõem o sistema operativo.
Esta dupla visão, "como se usa e como é realizado", estende-se aos dois sistemas operativos de referência do mercado: o Unix (e variantes, em particular, o Linux e o MacOS) e o Windows, procurando ilustrar semelhanças e diferenças entre estes sistemas.
Nesta 2.ª edição foram revistos diversos aspetos, sendo de realçar: as vertentes relacionadas com a programação concorrente e os mecanismos mais sofisticados que os sistemas operativos comerciais disponibilizam para tirar partido das arquiteturas multi-core, a abordagem genérica da segurança e a extensão das entradas/saídas cada vez mais flexíveis e abrangentes.
Esta obra abrange, com um grau de detalhe elevado, todos os tópicos de um curso universitário de Sistemas Operativos.
Agradecimentos
Prefácio
Índice Geral
Índice de Figuras
1 - Introdução
2 - Organização do Sistema Operativo
3 - Processos: Modelo Computacional
4 - Gestor de Processos
5 - Sincronização: Secções Críticas
6 - Programação Concorrente
7 - Mecanismos de Gestão de Memória
8 - Algoritmos de Gestão de Memória
9 - Sistema de Ficheiros
10 - Comunicação entre Processos
11 - Entradas/Saídas
12 - Segurança
Lista de Acrónimos
Bibliografia
Índice Remissivo
José Alves Marques
Professor Catedrático do Departamento de Engenharia de Informática do IST, de que é docente desde 1981. Foi um dos criadores da Licenciatura de Engenharia Informática e Computadores e fundador do Departamento de Engenharia Informática, de que foi o primeiro presidente. Leciona as cadeiras de Sistemas Operativos, Sistemas Distribuídos e Sistemas Empresariais Integrados.
Paulo Ferreira
Professor Associado com Agregação do Departamento de Engenharia de Informática do IST. É coordenador científico do Grupo de Sistemas Distribuídos no INESC ID e coordenador do mestrado em Engenharia de Redes de Comunicações no IST. Leciona, entre outras, as disciplinas de Sistemas Operativos, Plataformas para Aplicações Distribuídas na Internet e Computação Móvel. Foi Pró-Reitor da UTL entre 2007 e 2011.
Carlos Ribeiro
Professor Auxiliar do Departamento de Engenharia Informática do IST, onde leciona desde 1993 nas áreas de Arquitetura de Computadores e de Sistemas Operativos. É atualmente Pró-Reitor da UTL e responsável de cadeiras de mestrado e doutoramento na área de segurança informática.
Luís Veiga
Professor Auxiliar do Departamento de Engenharia Informática do IST, onde é docente desde 2001. Lecionou as cadeiras de Sistemas Operativos e Arquitetura de Computadores. É regente das cadeiras de Plataformas para Aplicações Distribuídas na Internet, Ambientes Virtuais de Execução e Técnicas Avançadas de Virtualização. É membro da Comissão Científica de Engenharia de Redes de Comunicações e do Erasmus Mundus European Master in Distributed Computing.
Rodrigo Rodrigues
Professor Associado da Universidade Nova de Lisboa. Entre 2008 e 2011 foi Investigador no Max Planck Institute for Software Systems, Alemanha, onde liderou o grupo de sistemas fiáveis. Entre 2005 e 2007 foi Professor Auxiliar no IST. Obteve o grau de Doctor of Philosophy em Informática no Massachusetts Institute of Technology em 2005.