CHIMBORAZO
TEXTO BASICO:
REALIZADO POR:
JUNIO 2010
Riobamba- Ecuador
INDICE GENERAL
TEMA PAGINA
UNIDAD I
1. INTRODUCCIÓN Y TIPOS DE SISTEMAS OPERATIVOS 1
1.1 Definiciones de un sistema operativo 2
1.2 Funciones de un sistema operativo 2
1.3 Los sistemas operativos y los sistemas de computadoras 2
1.4 Componentes de un sistema operativo 3
1.4.1 Núcleo del sistema operativo 4
1.4.2 Shell (Interprete de comandos) 6
a. Interprete de comandos del sistema operativo 6
Windows
b. GUI del sistema operativo Windows XP 7
1.5 Arranque de la computadora 8
1.5.1 Arranque hardware 8
1.5.2 Arranque software 8
1.6 ¿Cómo funciona el arranque de un computador? 8
1.7 Proceso de arranque del PC 9
1.8 BIOS: conceptos y configuración 11
1.9 Acceso y manipulación del BIOS 11
1.9.1 Secuencia de arranque 12
1.9.2 ¿Cómo se inicia en este caso un sistema operativo básico 13
como el MS-DOS?
1.9.3 Posibles problemas en este inicio básico 14
1.10 Secuencia de arranque de Windows XP 14
1.11 MBR (Master Boot Record) 15
1.12 Historia de los sistemas operativos 15
1.13 Tipos de sistemas operativos 19
1.13.1 Sistemas en lote 19
1.13.2 Sistemas interactivos 19
1.13.3 Sistemas de tiempo real 19
1.13.4 Algunos sistemas operativos comerciales 20
1.14 Sistemas operativos por servicios 20
1.15 Perspectivas de un sistema operativo 21
1.16 El sistema operativo como manejador de recursos 21
1.17 El sistema operativo como máquina ampliada 21
1.17.1 Ventajas y desventajas de las máquinas virtuales 22
1.18 El sistema operativo usado con el lenguaje de órdenes 23
1.19 Diseño e implementación del sistema operativo 23
1.20 Estructura del sistema operativo 24
UNIDAD II
2. PROCESOS Y MULTITAREA 25
2.1 Introducción a los procesos 25
2.2 Procesos 25
2.3 Relaciones entre procesos 26
2.4 Los procesos desde la perspectiva del programador de 26
sistemas
2.5 Ejemplo de multitarea 26
2.6 Sincronización entre procesos 27
2.7 Estados de un proceso 30
2.8 Los procesos desde la perspectiva del sistema operativo 31
2.8.1 PBC (Process Control Block) 31
2.9 Procesamiento de interrupciones 32
2.10 Estados del sistema y listas de procesos 32
2.11 Conmutación de procesos 33
2.12 Procesos y hebras 34
2.13 Planificación de procesos 35
2.14 Tipos de planificación 36
2.14.1 Planificación a largo plazo 36
2.14.2 Planificación a medio plazo 36
2.14.3 Planificación a corto plazo 36
2.15 Niveles de planificación del procesador 38
2.15.1 Planificación de alto nivel 38
2.15.2 Planificación de nivel intermedio 38
2.15.3 Planificación de bajo nivel 38
2.16 Objetivos de la planificación 38
2.17 Planificación apropiativa versus no apropiativa 39
2.18 Algoritmos de planificación 40
2.18.1 First-come, first served (FCFS) 41
2.18.2 Shortest-Job-First (SJF) "Primero el trabajo más corto" 43
2.18.3 SRT (Shortest Remaining Time) "Primero el menor 44
tiempo restante"
2.18.4 Prioridad 45
2.18.5 Algoritmo SRTF 46
2.18.6 Round Robin "Turno rotatorio" 47
2.19 Planificación de colas múltiples 48
2.20 Planificación con múltiples colas 49
2.20.1 Planificación de colas múltiples con realimentación 49
2.20.2 Planificación de colas múltiples con prioridades 50
UNIDAD III
3. GESTIÓN DE MEMORIA: ASIGNACIÓN CONTINUA Y 52
ASIGNACIÓN NO CONTINUA: PAGINACIÓN Y
MEMORIA VIRTUAL
3.1 Panorama general 53
3.2 Memoria real 53
3.3 Manejo de memoria en sistemas monousuario sin 53
intercambio
3.4 Multiprogramación en memoria real 54
3.5 Multiprogramación con particiones fijas 55
3.6 Multiprogramación con particiones variables 55
3.6.1 Ejemplo de asignación de procesos en la memoria 57
principal
3.7 Compactación de memoria 57
3.7.1 Ejemplo de compactación de huecos no adyacentes 58
3.8 Asignación dinámica 58
3.8.1 Administración de la memoria con mapas de bits 59
3.8.2 Administración de la memoria con listas ligadas 59
3.8.3 Asignación del hueco de intercambio 60
3.9 Fragmentación 60
3.10 Los overlays 60
3.11 Multiprogramación en memoria virtual 61
3.12 Paginación 61
3.12.1Tablas de páginas 62
3.12.2 Diseños de tablas de Páginas 62
3.12.3 Transformación de direcciones mediante una memoria 64
asociativa
3.12.4 Estructura de una tabla de páginas 64
3.12.5 Uso del TLB en las tablas de páginas 66
3.12.6 Traducción de direcciones 66
3.12.7 Estructura de una entrada de tabla de páginas 67
3.12.8 Funcionamiento de memoria paginada 67
3.12.9 Páginas compartidas 69
3.12.10 Algoritmos de reemplazo de páginas 70
3.12.11 Algoritmo aleatorio 71
3.12.12 Algoritmo de reemplazo de páginas óptimo 71
3.12.13 Algoritmo de reemplazo de páginas según el uso 72
no tan reciente
3.12.14 Algoritmo de reemplazo “Primero en entrar, 72
primero en salir” (FIFO)
3.12.15 Reemplazo de páginas mediante el algoritmo FIFO 73
3.12.16 Algoritmo de reemplazo de páginas de la segunda 73
oportunidad
3.12.17 Algoritmo de la segunda oportunidad 73
3.12.18 Algoritmo de reemplazo de páginas del reloj 73
3.12.19 Algoritmo de reloj 74
3.12.20 Algoritmo de reemplazo de páginas “la de menor 74
uso reciente” (LRU)
3.13 Segmentación 75
3.14 Comparación de paginación y segmentación 76
3.15 Sistemas combinados 76
3.16 Gestión de memoria virtual en Windows y Linux 78
3.16.1 Sistema operativo Linux: como gestiona la memoria 78
virtual
3.16.2 Gestión de memoria en sistemas basados en Linux 79
3.16.3 Direccionamiento de memoria 79
3.16.4 Segmentación en Linux 79
3.17 Sistema operativo Windows: como gestiona la memoria 80
3.17.1 Espacios de direcciones virtuales 81
3.17.2 Estructura de la memoria 81
3.17.3 Página: Nº de la página 82
3.17.4 Estado de las páginas 82
UNIDAD IV
GESTIÓN DE ARCHIVOS Y DIRECTORIOS 83
4. SISTEMA DE ARCHIVOS
4.1 Sistemas de gestión de archivos 83
4.2 Solución al almacenamiento de la información 83
4.3 Operaciones que pueden realizar los usuarios en los 84
archivos
4.4 Manejo de archivos 84
4.4.1 Características para el usuario 85
4.5 Atributos del archivo 86
4.6 Visión funcional del sistema de archivos 86
4.6.1 Visión funcional: servicios 86
4.6.2 Visión funcional: organización lógica 86
4.6.3 Visión funcional: directorios 87
4.7 Operaciones genéricas sobre archivos 87
4.8 Sistemas de archivos 88
4.8.1 FAT 88
4.8.2 HPFS 89
4.8.3 SISTEMAS DE ARCHIVOS UNIX 89
4.8.4 NTFS 89
INDICE DE FIGURAS
TITULO PAGINA
Figura 1 Funciones de un sistema operativo 2
Figura 2 Relación entre los sistemas operativos y el resto 3
del sistema de computadoras
Figura 3 Componentes de un sistema operativo 4
Figura 4 Orden de arranque en un computador 6
Figura 5 Interprete de comandos 7
Figura 6 GUI del sistema operativo Windows XP 7
Figura 7 Conformación de la memoria principal 9
Figura 8 Proceso de arranque 9
Figura 9 La BIOS 10
Figura 10 Imagen de la interfaz más común de BIOS (Award 12
y Phoenix)
Figura 11 Secuencia de arranque 13
Figura 12 Sistemas operativos por servicios 21
Figura 13 Modelo de máquina virtual 22
Figura 14 Capas de un sistema operativo 24
Figura 15 Transiciones entre los distintos estados de un 30
proceso
Figura 16 Esquema de conmutación de recursos 33
Figura 17 THREADS y procesos 35
Figura 18 Planificación y transiciones de estado de los 37
procesos
Figura 19 Niveles de planificación 38
Figura 20 Planificación de colas múltiples 49
Figura 21 Planificación con realimentación 50
Figura 22 Planificación por prioridades 51
Figura 23 Panorama del manejo de memoria 52
Figura 24 Organización simple de memoria 54
Figura 25 (a) Particiones fijas en memoria con una cola única 55
de entrada
(b) Particiones fijas en memoria con colas 55
exclusivas para cada tamaño diferente de la
partición
Figura 26 Multiprogramación con particiones variables 57
Figura 27 Ejemplo de compactación 58
Figura 28 Administración de la memoria con mapas de bits 59
Figura 29 Administración de la memoria con listas ligadas 59
Figura 30 Traducción de direcciones de memoria 63
Figura 31 Paginación jerárquica 64
Figura 32 Tabla hash de página 65
Figura 33 Página invertida 65
Figura 34 Uso del TLB en las tablas de páginas 66
Figura 35 Traducción de direcciones 66
Figura 36 Estructura de una entrada de tabla de páginas 67
Figura 37 Ejemplo de aplicación 68
Figura 38 Intercambio de páginas 71
Figura 39 Reemplazo de páginas FIFO 72
Figura 40 Reemplazo de páginas de la segunda oportunidad 73
Figura 41 Reemplazo de páginas del reloj 74
Figura 42 Uso de pilas en el algoritmo LRU 75
Figura 43 Desarrollo de fragmentación externa y su 76
corrección mediante compactación
Figura 44 Traducción en la segmentación-paginación 77
Figura 45 Modelo de paginación de Linux 80
Figura 46 Estructura de la memoria 81
Figura 47 Un árbol arbitrario por usuario 85
Figura 48 Representación de un directorio 87
Figura 49 Arquitectura NTFS 90
INDICE DE TABLAS
TITULO PAGINA
Tabla 1 Resumen del arranque del computador 15
Tabla 2 Evolución de los sistemas operativos 18
Tabla 3 Ventajas y desventajas de las máquinas virtuales 22
Tabla 4 Estructura de capas del sistema operativo 24
Tabla 5 Tipos de interrupciones 32
Tabla 6 Planificación Apropiativa Versus No Apropiativa 40
Tabla 7 Criterios de un buen algoritmo de planificación 41
Tabla 8 Algoritmo FCFS ejemplo 1 42
Tabla 9 Algoritmo FCFS con procesos ordenados por 43
tiempo de servicio
Tabla 10 Algoritmo SJF 44
Tabla 11 Algoritmo FCFS ejemplo 2 44
Tabla 12 Algoritmo por Prioridades 46
Tabla 13 Algoritmo SRTF 47
Tabla 14 Algoritmo Round Robin 48
Tabla 15 Ventajas y desventajas de las máquinas virtuales 69
Tabla 16 Rangos de páginas 82
Tabla 17 Tamaños de Cluster en FAT16 y FAT32 88
ABREVIATURAS
E/S Entrada/salida
TP Tabla de Procesos
Hoy en día todas las actividades en el que los seres humanos nos desarrollamos
involucran en menor y mayor grado el uso de dispositivos
electrónicos(computadores personales, computadores de mano o de bolsillo,
celulares etc.) que facilitan nuestros trabajos; desde el leer las noticias en el
internet, la tele-educación, la telemedicina, reserva de pasajes aéreos, entre
otros y en tales situaciones debemos interactuar con estos dispositivos a través
de un software tan importante como lo es un sistema operativo que hace posible
la comunicación del usuario a través de órdenes y comandos a dichos
dispositivos.
El lector podrá encontrar en las siguientes páginas una visión clara de las
funciones de un sistema operativo como son las tareas de administración de
procesos, memoria, y dispositivos, que le permitirá crear sus propios criterios
como base para su correcta utilización.
En la segunda unidad se tratan temas como los procesos y sobre todo el tema de
multitarea, planificación y los algoritmos de planificación enfocados al mejor
aprovechamiento del procesador.
1. http://80.24.102.10/departamentos/informatica/temas/Teoria03.pdf
2. http://www.itescam.edu.mx/principal/sylabus/fpdb/recursos/r25446.PDF
3. http://www.itescam.edu.mx/principal/sylabus/fpdb/recursos/r25446.PDF
4. http://www.terras.edu.ar/aula/tecnicatura/5/biblio/5Introduccion-a-SO.pdf
5. http://publiespe.espe.edu.ec/librosvirtuales/informatica-
basica/informatica-basica/informatica-basica02.pdf
6. http://wwwdi.ujaen.es/~angel/docencia/fundamentos/transparencia%20d
e%20sistemas%20operativos.pdf
7. http://www.sindominio.net/metabolik/alephandria/txt/SSOO-0_5_0.pdf
8. https://belenus.unirioja.es/~alortiz/bios.html
9. http://members.tripod.com/alfredo_uabc/DMA.htm
10.http://wwwdi.ujaen.es/~lina/TemasSO/PLANIFICACIONDEPROCESOS/1Niv
elesdePlanificacion.htm
11.http://www.dirinfo.unsl.edu.ar/~sonet/teorias/SO-clase3-pagina.pdf
12.http://trevinca.ei.uvigo.es/~nrufino/so/Problemas/Rel2.pdf
13.http://iteso.mx/~jluis/sopdf/diapositivas2005/03-
Estructuras%20del%20Sistema%20Operativo.pdf
14.http://atc1.aut.uah.es/~i2/transparencias/capitulo_6.pdf
15.http://www3.uji.es/~redondo/so/capitulo2_IS11.pdf
16.http://www.monografias.com/trabajos10/gesmem/gesmem.shtml
17.http://www.elprisma.com/apuntes/ingenieria_de_sistemas/sistemasoperat
ivosfundamentos/default2.asp
18.http://so.fciencias.unam.mx/presentaciones/ch8.pdf
19.http://igrgavilan.iespana.es/doc/MA_20070428_MT_SistemasOperativos.p
df
20.http://www.fing.edu.uy/inco/cursos/sistoper/recursosTeoricos/SO-Teo-
Introduccion.pdf
21.http://dspace.ucbscz.edu.bo/dspace/bitstream/123456789/1729/1/410.pd
f
22.http://www.dspace.espol.edu.ec/bitstream/123456789/1416/6/2757.pdf
23.http://www.apuntesdeinformatica.netai.net/foro/contenidos/simm/Unidad
es.Didacticas/Unidad.Didactica.5/Ud5.%20Sistema%20Operativo%20Mono
usuario%20MS-DOS.pdf
24.http://elqui.dcsc.utfsm.cl/util/shell/Ejemplos%20Shell%20Script.pdf
25.http://mimosa.pntic.mec.es/~jsaez9/Clases/simr/Bloque1/T6-
Sistemas%20Operativos.pdf
26.http://blogs.utpl.edu.ec/sistemasoperativos/files/2009/03/capitulo-
ii_so1.pdf
27.http://www.infor.uva.es/~fjgonzalez/apuntes/Tema_3.pdf
28.http://www.periodismo.uchile.cl/talleres/internet/guia2.pdf
29.http://sopa.dis.ulpgc.es/so/teoria/pdf/so-03-Estructura%20del%20so-
6x1.pdf
30.http://www.arcanus.com.ar/Downloads/Tutoriales/Programacion/Csharp/H
ilos.pdf
31.http://www.lcc.uma.es/~aguayo/docs/so2/pdf/soii_a1.pdf
32.http://www.syncrom.com/temarios/java/demos/Demo%20Concurrencia.p
df
33.http://www.frm.utn.edu.ar/soperativos/Archivos/sincro.pdf
34.http://www.ing.unlpam.edu.ar/~material/sistemasoperativos/TP4-
sincronizacion.PDF
35.http://www.fing.edu.uy/inco/cursos/sistoper/recursosTeoricos/SO-Teo-
Procesos.pdf
36.http://www.fing.edu.uy/inco/cursos/sistoper/recursosTeoricos/SO-Teo-
ProcesosYRecursos.pdf
37.http://atc1.aut.uah.es/~ssootm/Trps/T3_Concepto_de_proceso.pdf
38.http://sop.upv.es/so2/pdf/UT6.pdf
39.http://www.uhu.es/17222-18221/WEB_ANTIGUA/creahilos.pdf
40.http://elvex.ugr.es/decsai/java/pdf/E2-hebras.pdf
41.http://www.dicosoftware.com/pdf/JB013-Hilos.pdf
42.http://docentes.umss.edu.bo/fcyt/ymontoya/materias/taller/Threads.pdf
43.http://www.mundointernet.es/IMG/pdf/ponencia50.pdf
44.http://www.neo-tech.es/wp/doc/presentacion-erc.pdf
45.http://www.ac.uma.es/~sromero/so/Capitulo4.pdf
46.http://profesores.elo.utfsm.cl/~agv/elo320/01and02/definiciones/setGrap
hTree.pdf
47.http://www.itchetumal.edu.mx/paginasvar/Maestros/mduran/Archivos/Uni
dad%205%20Grafos%20y%20arboles.pdf
48.http://enol.epsig.uniovi.es/matdisc/materiales/trgrafosalu.pdf
49.http://lear.inforg.uniovi.es/amd/Archivos/grafos.pdf
50.http://www.lsi.upc.edu/~duch/home/duch/grafos.pdf
51.http://docencia.udea.edu.co/regionalizacion/teoriaderedes/informaci%F3n
/C1_Tipos.pdf
52.http://atc1.aut.uah.es/~i2/transparencias/capitulo_5.pdf
53.http://www.di.uniovi.es/~paule/material/GrafosIV.pdf
54.http://www.webtaller.com/maletin/articulos/sistemas-archivos-seguridad-
datos.php