Sistemas Operativos

Sistemas Operativos

Autor / Author: Martín Silva
Editorial / Publisher: Alfaomega
Entrega / Delivery : Nacional / International
Envio desde / Ships from: Colombia
Condición / Condition: Nuevo / New

Nuestro PrecioCOP$106,341
Precio de lista: COP$118,168
Código9789587780802
Stock: 1
Peso: 620.0
addthis
Guarde la lista de peticiones

Tipo: Libro impreso / Print book

Encuadernación / Binding: Tapa blanda / Paperback

Tamaño / Size: 17 x 23 cm

Páginas / Pages: 338

Resumen / Summary:

Autor / Author: Martín Silva
Editorial / Publisher: Alfaomega
Entrega / Delivery : Nacional / International
Envio desde / Ships from: Colombia
Condición / Condition: Nuevo / New



Tabla de contenido / Table of contents:


Mensaje del editor 
Agradecimientos 
Sobre el autor Prólogo 

Introducción 

Funciones y objetivos de los sistemas operativos 
Funciones 
Estructuras de los sistemas operativos
Gestión de procesos
Gestión de la memoria principal 
Gestión de archivos 
Gestión de dispositivos de entrada y salida
Servicios
Tipos de sistemas operativos 
El núcleo del sistema operativo 
Estructura y funcionamiento de la computadora
Componentes de una computadora
Dinámica de una operación de entrada y salida 
El vector de interrupciones 
Hardware de las interrupciones
Tratamiento de la interrupción 
 
Tratamiento diferido
Clock tick
Llamadas al sistema 
El proceso de arranque
Evolución de los sistemas operativos
La API de Windows
Trabajos prácticos 
Práctica con Linux
procfs
Llamadas a sistema 
Apagando Linux 
Práctica con Windows
ProcFeatures 
Ejemplo 1
Ejemplo 2
Corelnfo 
Ejemplo 1
Ejemplo 2 
Llamadas a sistema 
Administrador de tareas 
Una analogía 

Procesos 
Estados de un proceso
Bloque de control de procesos
Creación y terminación de procesos 
Jerarquía de procesos 
Planificador y activador 
Cambio de contexto 
Procesos ligeros, hilos o threads 
Motivaciones para el uso de hilos 
Modelos de organización
Aspectos del diseño de hilos 
Creación de los hilos 
Terminación de los hilos 
Sincronización de los hilos 
Planificación de los hilos 
Manejo de señales 
Implementación 
Ventajas y desventajas de los dos enfoques 
Fibras
Comunicación 
Procesos independientes 
Procesos cooperantes 
Procesos concurrentes  
 
Paradigmas de comunicación entre procesos 
Memoria compartida 
Pase de mensajes 
Puerto 
Señales
Temporizadores 
Socket 
Tubería
Cola de mensajes 
Archivos 
Archivos proyectados en memoria 
Excepciones
Trabajos prácticos 
Práctica con Linux
Estados de los procesos
Obtener el PID
Crear procesos con fork()
Práctica con Windows
tlist
Ejemplo 1 
Ejemplo 2 
Información de los procesos con el Administrador de Tareas 

Memoria 
Funciones y operaciones del administrador de memoria 
Modelo de memoria de un proceso 
Fases en la generación de un ejecutable 
Formato del ejecutable 
El formato COFF 
El formato ELF 
El formato PE
Mapa de memoria de un proceso 
Diferentes esquemas de administración
Mono programación 
Partición absoluta única 
Partición reubicable única 
Superposiciones
Multiprogramación 
Múltiples particiones fijas 
Múltiples particiones variables
Algoritmos de selección de la partición: 
Cola de procesos por partición: 
Cola única: 
Sistema de compañeras 
Slab Allocator 
 
Reubicación
Paginación simple
Segmentación simple 
Segmentación con paginación 
Tablas de páginas y de segmentos 
Memoria asociativa
Tabla de páginas invertida
Ventaja adicional del paginado: las páginas compartidas 
Intercambio
Memoria virtual
Paginación por demanda 
Ejemplo 
Localidad de referencia 
Traba de páginas 
Tamaño de la página
Algoritmos de reemplazo de páginas 
El rendimiento de los algoritmos 
Políticas de asignación
Ejemplo 
Hiperpaginación 
Conjunto de trabajo 
Prepaginado
Segmentación 
Trabajos prácticos
Práctica con Linux 
Estadísticas de la memoria virtual en Linux
El programa mapa.c
La estructura de ELF
El archivo /proc/pid/maps
Práctica con Windows 
Memoria virtual en Windows 
La estructura de PE 
PhysMem 
CacheSet 

Planificación 
Conceptos
Supuestos subyacentes
Características 
Contexto 
Desalojo 
Colas 
Criterios 
Notación de Landau
Tipos de planificación
 
Algoritmos de planificación
FCFS (First-Come, First-Serve) 
El efecto convoy
SJF (Shortest-Job-First)
SRPT (Shortest-Remaining-Processing-Time) 
Por prioridad 
RR (Round-Robin) 
Colas multiniveles 
MLQ
MLFQ 
Planificación en POSIX 
Planificación en Linux 
Primeras versiones
Version 0.96
Versión 1.2 
Version 2.0.33 
Versión 2.2
Versión 2.4
Versión 2.6.8.1
Versiones recientes 
Versión 2.6.21 
Versión 2.6.23 
Planificación en Windows
Niveles de prioridad
Base de datos del activador
Práctica con Linux 
Cambio de contexto
Una analogía

Sincronización 
Antecedentes 
Alternativas de sincronización 
Sección crítica
Exclusión mutua
Soluciones hardware 
Inhabilitación de las interrupciones 
Instrucciones especiales de máquina 
TSL
CAS 
Fetch-and-add 
Read-modify-write 
Load-link/store-conditional 
Soluciones libres de espera
Soluciones software 
El problema de la sección crítica 

Algoritmo de Dekker 
Algoritmo de Peterson
Requisitos de una solución 
Variables mutex
Variables de condición 
Spinlock
Problemas clásicos 
Los filósofos comensales 
El peluquero dormilón 
Problema del productor-consumidor 
Problema de los lectores-escritores 
Comunicación cliente-servidor
Semáforos
Monitores
Sintaxis de un monitor
Sincronización en pase de mensajes
Características de la sincronización 
Memoria intermedia o buffer
Buffer nulo
Buffer de mensaje único
Buffer de capacidad ilimitada 
Buffer de capacidad limitada 
Sincronización en tuberías 
Sincronización mediante señales
Bloqueo mutuo 
Condiciones para que se cumpla el interbloqueo 
Grafos de asignación de recursos 
Métodos para el tratamiento del bloqueo mutuo 
Prevención 
Cómo evitar el bloqueo mutuo 
El algoritmo del banquero 
Detección del interbloqueo
Recuperación del interbloqueo 
Algoritmo del avestruz
Sincronización en POSIX
Señales
Mutex
Mutex no bloqueante 
Semáforos para hilos
Semáforos para procesos 
Variables de condición 
Memoria compartida 
Proyectar un archivo compartido 
Acceso compartido a un archivo
Sincronización en Linux  
 
Operaciones atómicas 
Spinlock
Full spinlock
Lectores y escritores 
Mutex
Sincronización en Windows 
Sincronización con IRQL alto 
Spinlocks
Sincronización con IRQL bajo 
Llamada a Procedimiento Local 
Mailslots 
Trabajos prácticos
Tuberías
Otro ejemplo: 
Autoevaluación 

Almacenamiento 
Conceptos 
Archivos 
Tipos
Atributos 
Operaciones 
Particiones 
Nombres 
Sistema de archivos
Directorio 
Directorio de un nivel
Directorio de dos niveles 
Estructura de árbol 
Estructura de grafo 
Entradas de directorio 
Designación de un archivo 
Directorio raíz por proceso 
Otros tipos de objetos 
Journaling 
Arquitectura del software 
Estructuras asociadas 
Organización de los archivos 
Gestión del espacio libre en disco 
Técnicas de asignación 
Implementaciones 
Sistemas de archivos en Windows 
FAT - File Allocation Table 
NTFS 
Sistema de archivos de UNIX 
 
Sistemas de archivos en Linux 
Second Extended File System 
Virtual File System 
Third Extended File System 
ReiserFS 
Fourth Extended File System 
Sistemas de archivos sin almacenamiento 
procfs
debugfs 
sysfs 
ramfs
Trabajos prácticos 
Particiones y sistemas de archivos 
Directorios, archivos y enlaces 
Permisos

Sistemas de entrada y salida 
Dispositivos de entrada y salida
Organización de las funciones de entrada y salida
Aspectos del diseño 
Objetivos 
Mecanismo y política 
Estructura lógica de las funciones 
Subsistema de entrada y salida del núcleo 
Planificación de la entrada y salida 
Almacenamiento intermedio 
Memoria intermedia nula 
Memoria intermedia sencilla 
Memoria intermedia doble 
Memoria intermedia circular 
Caché 
Spool 
Manejo de errores 
Estructuras de datos 
Planificación del acceso a discos 
Estructura de un disco
Planificación del acceso al disco 
Distintos tipos de algoritmos de planificación 
FCFS
SSTF
SCAN 
C-SCAN 
LOOK 
El ascensor Linus 
El planificador con fecha límite 
 
El planificador de entrada y salida anticipatorio 
CFQ 
Manejadores de dispositivos 
Ventanas al núcleo 
Desventajas 
devfs 
Conexión en caliente
El nuevo modelo de dispositivos de Linux 
Colectores, dispositivos y clases
sysfs 
udev
HAL en Linux
DeviceKit 
D-Bus
Netlink sockets 
Cómo funciona todo junto 
Trabajos prácticos 
¿Cómo creamos archivos especiales?
Autoevaluación

Multiprocesamiento
Múltiples procesadores 
Aplicaciones paralelas 
Ley de Amdahl 
Taxonomía de Flynn 
Arquitecturas de múltiples procesadores 
Procesamiento simétrico y asimétrico 
Multiprocesadores simétricos 
Ventajas 
Organizaciones 
Afinidad 
Granularidad 
Paralelismo 
Independiente 
De grano grueso y muy grueso 
De grano medio
De grano fino 
Serialización de datos 
Diseño
Procesos o hilos simultáneos y concurrentes 
Planificación
Asignación de hilos a procesadores 
Uso de la multiprogramación en procesadores individuales
Expedición de un proceso 
Planificación de procesos  

Planificación de multiprocesadores 
Sincronización 
Estructuras de datos locales a la CPU
Spinlocks 
Semáforos - mutexes 
Traba de lectura rápida 
Leer-Copiar-Actualizar 
Barrera
Gestión de la memoria 
Arquitectura de Acceso Uniforme a Memoria (UMA) 
Arquitectura de Acceso No Uniforme a Memoria (NUMA) 
Arquitectura de Memoria de Sólo Caché (COMA) 
Coherencia y consistencia 
Ordenamiento y consistencia de la memoria 
Modelos de consistencia 
Modelo de consistencia estricta 
Modelo de consistencia secuencial Modelo de consistencia causal 
Modelo de consistencia PRAM 
Modelo de consistencia de procesador 
Modelo de orden de almacenamiento total
Modelo de consistencia débil
Modelo de consistencia de liberación 
Modelo relajado de consistencia de liberación 
Ordenamiento explícito en memoria 
Las barreras de memoria del hardware 
Multiprocesamiento en Windows 
La base de datos del activador 
Sincronización en el núcleo 
Gestión de la memoria 
Multiprocesamiento en Linux 
Gestión de la memoria 

Bibliografía 

No existen productos recomendados en este momento.
No existen productos recomendados en este momento.