fundamentos de sistemas operativos de sistemas operativos

Download Fundamentos de sistemas operativos  de sistemas operativos

Post on 02-Nov-2018

257 views

Category:

Documents

17 download

Embed Size (px)

TRANSCRIPT

  • FUNDAMENTOS DE SISTEMAS OPERATIVOS

    Fuente: http://github.org/gwolf/sistopCompilacin: 2015/10/29-11:48:34 Versin 7CE245D

  • UNIVERSIDAD NACIONAL AUTNOMA DE MXICODr. Jos Narro Robles

    RectorDr. Eduardo Brzana Garca

    Secretario GeneralIng. Leopoldo Silva Gutirrez

    Secretario AdministrativoDra. Estela Morales CamposCoordinadora de Humanidades

    INSTITUTO DE INVESTIGACIONES ECONMICASDra. Vernica Villarespe Reyes

    DirectoraMtra. Berenice Ramrez Lpez

    Secretaria AcadmicaAristeo Tovas Garca

    Secretario TcnicoMara Soledad Simn Pinero

    Jefa del Departamento de Ediciones

    FACULTAD DE INGENIERADr. Carlos Agustn Escalante Sandoval

    DirectorIng. Gonzalo Lpez de Haro

    Secretario GeneralDr. Boris Escalante Ramrez

    Jefe de la Divisin de Ingeniera ElctricaMtra. Mara Cuairn Ruidaz

    Jefa de la Unidad de Apoyo Editorial

  • FUNDAMENTOS DESISTEMAS OPERATIVOS

    Gunnar Wolf

    Esteban Ruiz

    Federico Bergero

    Erwin Meza

    UNIVERSIDAD NACIONAL AUTNOMA DE MXICOINSTITUTO DE INVESTIGACIONES ECONMICAS

    FACULTAD DE INGENIERA

  • Esta investigacin, arbitrada por pares acadmicos, se privilegia con el aval de la institucin editora.

    Fundamentos de sistemas operativos / Gunnar Wolf [y tres ms]. Primera edicin. Mxico D.F. : UniversidadNacional Autnoma de Mxico, Instituto de Investigaciones Econmicas : Facultad de Ingeniera, 2015.367 p. : ilustraciones ; 28 cm.

    Bibliografa: pginas 359-367ISBN 978-607-02-6544-0

    1. Sistemas operativos (Computadoras). 2. Sistemas de software. 3. Organizacin de archivos (Informtica).I. Wolf, Gunnar, autor. II. Universidad Nacional Autnoma de Mxico. Instituto de Investigaciones Econmi-cas. III. Universidad Nacional Autnoma de Mxico. Facultad de Ingeniera.

    005.43-scdd21 Biblioteca Nacional de Mxico

    Primera edicin8 de abril de 2015

    D. R. UNIVERSIDAD NACIONAL AUTNOMA DE MXICOCiudad Universitaria, Coyoacn, 04510, Mxico D.F.INSTITUTO DE INVESTIGACIONES ECONMICASCircuito Mario de la Cueva s/nCiudad de la Investigacin en Humanidades 04510, Mxico D.F.FACULTAD DE INGENIERAAv. Universidad 3000Ciudad Universitaria 04510, Mxico D.F.

    ISBN 978-607-02-6544-0

    Diseo de portada: Victoria JimnezDiseo de interiores y formacin: Gunnar WolfCorreccin y cuidado de la edicin: Marisol Simn

    Impreso y hecho en Mxico

    Copia este libro!Los textos que componen este libro se publican bajo formas de licenciamiento quepermiten la copia, la redistribucin y la realizacin de obras derivadas siempre y

    cuando stas se distribuyan bajo las mismas licencias libres y se cite la fuente.

    El copyright de los textos individuales corresponde a los respectivos autores.

    El presente trabajo est licenciado bajo un esquema Creative CommonsAtribucin CompartirIgual (CC-BY-SA) 4.0 Internacional.

    http://creativecommons.org/licenses/by-sa/4.0/deed.es

    Compartir no es delito.La versin electrnica de este libro est disponible en:

    http://sistop.org/

    http://creativecommons.org/licenses/by-sa/4.0/deed.eshttp://sistop.org/
  • ndice general

    Presentacin 11

    1. Punto de partida 171.1. Qu es un sistema operativo? . . . . . . . . . . . . . . . . . . . . 17

    1.1.1. Por qu estudiar los sistemas operativos? . . . . . . . . 171.2. Funciones y objetivos del sistema operativo . . . . . . . . . . . . 181.3. Evolucin de los sistemas operativos . . . . . . . . . . . . . . . . 19

    1.3.1. Proceso por lotes (batch processing) . . . . . . . . . . . . . 191.3.2. Sistemas en lotes con dispositivos de carga (spool) . . . . 201.3.3. Sistemas multiprogramados . . . . . . . . . . . . . . . . . 201.3.4. Sistemas de tiempo compartido . . . . . . . . . . . . . . . 21

    1.4. Y del lado de las computadoras personales . . . . . . . . . . . . 221.4.1. Primeros sistemas para entusiastas . . . . . . . . . . . . . 221.4.2. La revolucin de los 8 bits . . . . . . . . . . . . . . . . . . 231.4.3. La computadora para fines serios: la familia PC . . . . 231.4.4. El impacto del entorno grfico (WIMP) . . . . . . . . . . . 241.4.5. Convergencia de los dos grandes mercados . . . . . . . . 25

    1.5. Dispositivos mviles . . . . . . . . . . . . . . . . . . . . . . . . . 271.5.1. Resea histrica . . . . . . . . . . . . . . . . . . . . . . . . 271.5.2. Caractersticas diferenciadoras . . . . . . . . . . . . . . . 31

    1.6. Seguridad informtica . . . . . . . . . . . . . . . . . . . . . . . . 351.6.1. Cdigo malicioso . . . . . . . . . . . . . . . . . . . . . . . 36

    1.7. Organizacin de los sistemas operativos . . . . . . . . . . . . . . 371.8. Ejercicios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39

    1.8.1. Preguntas de autoevaluacin . . . . . . . . . . . . . . . . 391.8.2. Lecturas relacionadas . . . . . . . . . . . . . . . . . . . . 41

    2. Relacin con el hardware 432.1. Introduccin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 432.2. Unidad de procesamiento . . . . . . . . . . . . . . . . . . . . . . 43

    2.2.1. Jerarqua de almacenamiento . . . . . . . . . . . . . . . . 442.2.2. Interrupciones y excepciones . . . . . . . . . . . . . . . . 46

    5

  • 6 NDICE GENERAL

    2.3. Las terminales . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 492.4. Dispositivos de almacenamiento . . . . . . . . . . . . . . . . . . 492.5. Relojes y temporizadores . . . . . . . . . . . . . . . . . . . . . . . 502.6. Canales y puentes . . . . . . . . . . . . . . . . . . . . . . . . . . . 51

    2.6.1. Contencin . . . . . . . . . . . . . . . . . . . . . . . . . . 522.6.2. Acceso directo a memoria (DMA) . . . . . . . . . . . . . . 53

    2.7. Interfaz del sistema operativo: llamadas al sistema . . . . . . . . 542.7.1. Llamadas al sistema, arquitecturas y API . . . . . . . . . 55

    2.8. Referencia a los componentes . . . . . . . . . . . . . . . . . . . . 572.9. Cuando dos cabezas piensan mejor que una . . . . . . . . . . . . 58

    2.9.1. Multiprocesamiento . . . . . . . . . . . . . . . . . . . . . 582.9.2. Cmputo distribuido . . . . . . . . . . . . . . . . . . . . . 622.9.3. Amdahl y Gustafson: qu esperar del paralelismo? . . . 63

    2.10. Ejercicios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 662.10.1. Preguntas de autoevaluacin . . . . . . . . . . . . . . . . 662.10.2. Temas de investigacin sugeridos . . . . . . . . . . . . . 672.10.3. Lecturas relacionadas . . . . . . . . . . . . . . . . . . . . 68

    3. Administracin de procesos 693.1. Concepto y estados de un proceso . . . . . . . . . . . . . . . . . 69

    3.1.1. Estados de un proceso . . . . . . . . . . . . . . . . . . . . 693.1.2. Informacin asociada a un proceso . . . . . . . . . . . . . 70

    3.2. Procesos e hilos . . . . . . . . . . . . . . . . . . . . . . . . . . . . 713.2.1. Los hilos y el sistema operativo . . . . . . . . . . . . . . . 723.2.2. Patrones de trabajo con hilos . . . . . . . . . . . . . . . . 72

    3.3. Concurrencia . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 753.3.1. Introduccin . . . . . . . . . . . . . . . . . . . . . . . . . . 753.3.2. Problema: el jardn ornamental . . . . . . . . . . . . . . . 763.3.3. Mecanismos de sincronizacin . . . . . . . . . . . . . . . 863.3.4. Problema productor-consumidor . . . . . . . . . . . . . . 953.3.5. Bloqueos mutuos e inanicin . . . . . . . . . . . . . . . . 973.3.6. Problema de los lectores y los escritores . . . . . . . . . . 983.3.7. La cena de los filsofos . . . . . . . . . . . . . . . . . . . . 1003.3.8. Los fumadores compulsivos . . . . . . . . . . . . . . . . . 1023.3.9. Otros mecanismos . . . . . . . . . . . . . . . . . . . . . . 105

    3.4. Bloqueos mutuos . . . . . . . . . . . . . . . . . . . . . . . . . . . 1103.4.1. Prevencin de bloqueos . . . . . . . . . . . . . . . . . . . 1133.4.2. Evasin de bloqueos . . . . . . . . . . . . . . . . . . . . . 1153.4.3. Deteccin y recuperacin de bloqueos . . . . . . . . . . . 1203.4.4. Algoritmo del avestruz . . . . . . . . . . . . . . . . . . . 124

    3.5. Ejercicios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1263.5.1. Preguntas de autoevaluacin . . . . . . . . . . . . . . . . 1263.5.2. Temas de investigacin sugeridos . . . . . . . . . . . . . 1283.5.3. Lecturas relacionadas . . . . . . . . . . . . . . . . . . . . 129

  • NDICE GENERAL 7

    4. Planificacin de procesos 1314.1. Tipos de planificacin . . . . . . . . . . . . . . . . . . . . . . . . . 131

    4.1.1. Tipos de proceso . . . . . . . . . . . . . . . . . . . . . . . 1334.1.2. Midiendo la respuesta . . . . . . . . . . . . . . . . . . . . 134

    4.2. Algoritmos de planificacin . . . . . . . . . . . . . . . . . . . . . 1374.2.1. Objetivos de la planificacin . . . . . . . . . . . . . . . . 1384.2.2. Primero llegado, primero servido (FCFS) . . . . . . . . . . 1394.2.3. Ronda (Round Robin) . . . . . . . . . . . . . . . . . . . . . 1404.2.4. El proceso ms corto a continuacin (SPN, shortest process

    next) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1424.2.5. Ronda egosta (SRR, selfish round robin) . . . . . . . . . . . 1444.2.6. Retroalimentacin multinivel (FB, multilevel feedback) . 1454.2.7. Lotera . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1484.2.8. Esquemas hbridos . . . . . . . . . . . . . . . . . . . . . . 1494.2.9. Resumiendo . . . . . . . . . . . . . . . . . . . . . . . . . . 151

    4.3. Planificacin de hilos . . . . . . . . . . . . . . . . . . . . . . . . . 1544.3.1. Los hilos POSIX (pthreads) . . . . . . . . . . . . . . . . 155

    4.4. Planificacin de multiprocesadores . . . . . . . . . . . . . . . . . 1564.4.1. Afinidad a procesador . . . . . . . . . . . . . . . . . . . . 1564.4.2. Balanceo de cargas . . . . . . . . . . . . . . . . . . . . . . 1574.4.3. Colas de procesos: una o varias? . . . . . . . . . . . . . . 1584.4.4. Procesadores c

Recommended

View more >