Sie sind auf Seite 1von 679
Segunda edicién | H. M. Deitel UNIX « OS/2 MS-DOS Macintosh’ « VM Ae S ¢ Sistemas aupes th e Introduccién a los Sistemas operativos Me ee Segunda edicién HARVEY M. DEITEL Boston College Versién en espatiol de . Roberto Escalona Garcia México Con la colaboracién de Inaki Alegefa Loinaz, Alberto Lafuente Rojo y Clemente Rodrigue Lafuente Universidad del Pais Vasco, Espaia a ‘VY ADDISON-WESLEY IBEROAMERICANA Argentina + Brasil - Chile - Colombia - Ecuador « Espaiia Estados Unidos - México » Perti - Puerto Rico - Venezuela Prefacio EI presente texto se ha escrito para utilizarse en los cursos de uno 0 dos scmestres sobre. sistemas opcrativos (en el programa de estudios mas reciente de la ACM) que las universidades ofrecen en tercero 0 cuarto afto de la carrera de informatica, 0 cn estudios de posgrudo. Los disefiadores de sistemas operativos y los programadores de sistemas también lo encoatraran titi como fibro de consulta, Sicte detallados estudios de casos hacen que el libro sea Gnico entre los textos sobre sistemas operativos. Seis de ellos cubrcn sistemas operativos que tendran gran importancia en los afios noventa: Los sistemas UNIX, MS-DOS, MVS, VM, Macintosh y OS/2. Cada uno de los sistemas posee cierto “sabor" que me he esforzado en comunicar. Asi mismo, ‘cada uno tiene su propia prominencia especial cn el mercado de los sistemas operativos. Un séptimo estudio de caso (véase el capitulo 16) analiza cl modelo de referencia de la interconexién de sistemas abiertos (OSI) para redes de computadores; conocer OSI resulta indispensable para los invcstigadores, disefladores y programadores que trabajan en el ‘campo de los sistemas operativos durante la presente década. La riqueza de los estudios de casos ofrece, material para comparar las diferentes filosofias de disefio y realizacin empleadas en los sistemas operativos contempordincos. Los estudios de casos abarcan la gama completa desde sistemas operativos de computadores personales como MS-DOS, OS/2 y el sistema operative del Apple Macintosh, hasta sistemas operativos de macrocomputadores como MVS y VM. Incluyen sistemas de almacenamicnto real y almacenamiento virtual, sistemas de maquina real y m4quina virtual, sistemas de un ‘solo usuario y multinsuario, sistemas independientes, sistemas de multiprocesamiento y sistemas en red, Ademés, incluyen un andlisis muy detallado de los sistemas UNIX y las razones por las que han fogrado una extraordinaria posicién de prominencia en las tres filosofias de sistemas abiertos de importantes corporaciones. Se incluyen ocho partes principales; cada parte conticne varios capitulos rela- cionados entre sf. Cada capitulo comienza con un perfil para que el lector se vaya familiarizando con el material en forma progresiva. Sc utilizan varias citas para introducir cada capitulo; algunas son humoristicas, otras son material de reflexién, pero. todas tienen Ia intencién de humanizar el wcxto y afiadirle un toque filosdfico, 1.08 términos importantes, los conceptos principales y algunos enunciados significativos se presentan en cursivas. Casi todos los capitulos incluyen un resumen de conceptos e ideas importantes a manera de repaso. Se incluyen scccioncs de terminologia con los términos clave presentados en orden alfabético. Todos los capflulos incluycn diversos ejercicios cuya viii Prefacio dificultad varia desde un simple repaso del material, pasando por un razonamiento complejo a partir de principios bisicos, hasta proyectos sustanciales de simulacién y uabajos de investigaci6n. I.as secciones de bibliograffa estn localizadas; cada capitulo termina con una lista de libros y articulos relacionados con cl tina. Un amplio indice ofrece acceso rapido por palabra clave a priicticamente cualquier tema del libro. El texto contiene 220 gréficas, diagramas ¢ ilustracioncs; 747 ejercicios, y siete detallados estudios de casos. Cada capitulo incluye una bibliograffa muy completa: se hace referencia a 1600 libros y articulos. Se destacan mas de 1800 términos en las secciones de terminologfa que van al final de los capftulos, (Como dato curioso para los interesados, cl texto contiene 2.5 millones de caractercs.) En la parte 1 se introduce fa nocién de sistemas operativos, se presenta una historia de los sistemas operativos y se analizan el hardware, el software y el firmware. EI capftulo I establcce ef tono del libro presentando los temas principales como la computacion distribuida, la computacién en paralelo, Jas normas de sistemas abiertos, cuestiones éticas en el disefio de sistemas, el surgimiento de UNIX como sistema operative decisivo en las estrategias de sistemas abiertos de organizaciones de primera Ifnea, y la importancia de apoyar las bases establecidas de aplicaciones en los nuevos sistemas. El capitulo 2 cs una revisién de conceptos clave en hardware, software y firmware esenciales para el resto del texto, Destaca la importancia de las arquitecturas de computacién con un conjunto reducido de instrucciones (RISC) y menciona el debate de RISC frente a CISC (computacién con un conjunto complejo de instrucciones) analizado en detalle en el capitulo 14, Incluye un estudio de caso detallado sobre microprogramacién, Io cual tiene importancia especial porque en los disciios recientes ‘gran parte del sistema operativo ha migrado al microcédigo. La parte 2 presenta las nociones de proceso, transiciones de estado de los procesos, interrupciones, cambio de contexto, estructura de sistemas operativos, asincronfa, exclusi6n mutua, supervisores y bloqueo mutuo, En el capitulo 3 se introducen diversos conceptus relativos a los procesos y se analiza 1a estructura de interrupciones de los Pprocesadores a gran escala de IBM; este material es vital para los andlisis de los sistemas operativos MVS y VM de los estudios de casos. Las nociones de procesos ¢ hilos se refuerzan con. los andlisis de realizaciones practicas cn los estudios de casos de los capitulos 18 a 23, y especialmente en los que tralan sobre sistemas UNIX (capitulo 18) y OS/2 (capitulo 23). El capttulo 4 presenta el concepto de asincronta. Se analizan los problemas que surgen por el acccso simulténeo a recursos compartidos y sc presentan diversas técnicas de exclusién mutua, orientadas tanto al hardware como al software, para abordar dichos problemas, El capitulo presenta el desarrollo cldsico de Dijkstra det algoritmo de Dekker, muestra el algoritmo de Peterson, més eficicate, ¢ incluye andlisis detallados de las cuentas de eventos y mecanismos para ejecucién secuencial. En el capitulo 5 se analizan los supervisores y su empleo para resolver cicrtos problemas clasicos de concurrencia; se presentan las realizaciones de supervisores de buffer circular y de lectores y escritores. Se examina la programacién concurrente en ambicntes de Procesamiento distribuido, analizando la transfcrencia de mensajes, los buzones, puertos, conductos y llamadas a procedimicntos remotos. £1 capitulo contintia con una introduccién a Ia programacién concurrent en Ada, lenguaje patrocinado por el gobierno de los Estados x! eae Pretacio ix Unidos para el desarrollo de sistemas criticos para misiones, Se analizan las expresiones de trayectoria, asf como la simulaci6n de estas expresiones en Ada. El capitulo concluye con un — andlisis de las preocupaciones fundamentales de los disefladores de sistemas que wabajan con el Ienguaje Ada, Muchos de los segmentos de programa en Ada presentados se basan en ejemplos de Preliminary Ada Reference Manual, Sigplan Notices, vol. 14, wim. 6, junio de 1979, pane A, y Rationale for the Design of the Ada Programming Language, por J. D. Ichbiah, J. C. Heliard, O. Roubine, J. G. P. Bames, B. Krieg-Bmeckner y B, A. Wichmann, Sigplan Notices, vol. 14, mim. 6, junio de 1979, parte B (“El gobiemo de Estados Unidos de América concede libre permiso para reproducir este documento con el propésito de evaluar y utilizar ef tenguaje Ada”). (Ada® es una marca registrada del gobierno de Fstados Unidos, ‘Ada Joint Program Office.) El capitulo 6 explica el concepto de bloqueo mutuo que ocurre cuando varios procesos no pueden continuar porque estén esperando eventos que nunca sucederén. En este capitulo se analizan las principales dreas de investigaciGn sobre el tema del bloquco mutuo y se presentan diversas formas de manejar el bloqueo mutuo y el problema afin del aplazamiento indefinido. El capitulo incluye un andlisis detallado de la evitacién del bloqueo mutuo por medio del algoriuno del banquero de Dijkstra. En el capitulo 4 se introdujeron las nociones de bloqueo mutwo y aplazamiento indefinido al analizarse el algoritmo de Dekker: en el capitulo 6 se formalizan dichos conceptos y las formas de i manejarlos. La preocupacién primordial es que tos sistemas que manejan entidades on espera deben diseftarse con sumo cuidado para evitar semejantes problemas, En la parte 3 se analizan la administracién y la organizacin del almacenamiento en sistemas de almacenamiento real y virtual. En el capitulo 7 se seguir el desarrollo de Ios sistemas de almacenamiento real desde los sistemas dedicados de un solo usuario a hasta las diversas formas de sistemas de multiprogramacién con particiones, Se analizan : Ja asignaci6n de almacenamiento contigua y no contigua, la condensacisn, la compresién y el intercambio. Los capitulos 8 y 9 tratan de la organizacién y la administracién del almacenamiento real, respectivamente. En el capftulo 8 se presenta la motivacién para el concepto de almacenamiento virtual y se analiza la reduccién de la informacién de correspondencia de direcciones por medio de dos técnicas de correspondencia de blo- ques: la paginacién y la segmentacion. Sc presenta un andlisis detaliado de la organizacion del almacenamiento virtual y la traduecién de direcciones en sistemas paginados/segmentados. ‘También se presentan los diversos métodos de compartimiento, en sistemas de almacenamiento virtual y se sugicren algunas cuestiones sutiles. Fn el capitulo 9 se analizan las diversas estrategias para administrar los sistemas de almacenamicnto virtual. Se examinan las estrategias de obtencién, colocacién y reemplazo; ast mismo, se analizan las estrategias de obtencién tanto por demanda como anticipada. :1 capftulo se concentra cn las estrategias de reemplazo de paginas; examina cl principio de optimatidad y varias estrategias de reemplazo de paginas: al azar, PEPS, LRU, LFU, NUR, reemplazo de pagina del reloj, reemplazo de segunda oportunidad y por frecuencia de falla de pagina. En seguida, se presenta la teorfa de conjunto de trabajo de Denning sobre el comportamiento de los programas y se analiza el reemplazo de pagi- nas por conjunto de trabajo. El capttulo termina con un andlisis del tamafio de las paginas y el comportumiento de los programas en sistemas de paginacién. sis i

Das könnte Ihnen auch gefallen