Escolar Documentos
Profissional Documentos
Cultura Documentos
1. 2. 3. 4.
Concepto de Sistema Operativo. Clasificacin de un sistema operativo. Elementos y estructura de los sistemas operativos. Funciones del sistema operativo.
1.
5.
Gestin de procesos.
6.
7. 8.
Gestin de memoria.
Gestin de E/S. Gestin de archivos.
9.
Gestin de seguridad
2.
Administrar los recursos hardware. Proporcionar una interfaz al usuario y los programas de aplicacin.
Definicin: Conjunto de programas, servicios y funciones que gestionan y coordinan el funcionamiento del hardware y del software.
Es el software bsico del ordenador sin el que ste no funciona. Gestiona los recursos hardware del sistema y proporciona la base sobre la que se ejecutan los programas. Adems proporciona al usuario la forma de comunicarse con el ordenador mediante una interfaz de texto/grfica.
Ral Martnez Alonso - SOM
Se debe planificar qu sistema operativo se instalar en un sistema informtico segn la forma en que trabajarn los usuarios. Una vez se sepa qu hardware se instalar se podr elegir el sistema operativo apropiado para ese hardware.
Los sistemas operativos se pueden clasificar dependiendo de cmo administran los recursos hardware del ordenaor y cmo ofrecen servicios a los usuarios.
Se clasifican:
Segn Tiempo de respuesta (forma de explotacin) Segn Nmero de usuarios Segn Nmero de procesos Segn Nmero de procesadores Segn Trabajo en red
Interactivos: los procesos se ejecutan y pueden pedir informacin al usuario a travs de la pantalla y recibirla por teclado. Se usa la tcnica de tiempo compartido (se divide el tiempo de procesador entre todos los procesos) El tiempo de respuesta es menor que en los batch.
Tiempo real: el tiempo de respuesta es muy bajo, casi inmediato. Se utilizan en sistemas donde un tiempo de respuesta alto implicara un grave riesgo, por ejemplo, trfico areo, sistemas de monitorizacin de pacientes
Ral Martnez Alonso - SOM
10
11
Monolticos: No estn estructurados, sino que estn formados por un programa que consta de un conjunto de funciones o procedimientos interrelacionados entre s. Su modificacin o bsqueda de errores es muy costosa.
12
En niveles o capas: Cada nivel tiene una funcin definida y una interfaz con la que se comunican los niveles adyacentes entre s. El primero SO por niveles fue el THE (1968). Su estructura era la siguiente: El SO Minix, desarrollado por Tanembaum en 1987 est basado en Unix y escrito en C. Su estructura es:
Nivel
Funcin
5
4 3 2 1 0
Operador
Programas de usuario Gestin de Entrada/Salida Comunicacin operador-procesos Gestin de la memoria principal y secundaria Asignacin del procesador y multiprogramacin
Hardware
Nivel Funcin
4
3 2 1
Procesos de usuario
Procesos servidores Tareas de E/S Gestin de procesos Hardware
13
Mquina virtual: Presentan a cada proceso una mquina que parece idntica a la mquina real. Deben ser SO multitarea y su objetivo es poder instalar diferentes SO en la misma mquina.
Cliente/Servidor: Los procesos del SO pueden ser tanto clientes como servidores.
14
15
Una parte del SO est siempre en la memoria principal. En esta parte est el ncleo (kernel).
El kernel incluye las funciones utilizadas con ms frecuencia en el SO. En momentos concretos, puede incluir otras partes del SO que sean necesarias para gestionar los recursos hardware.
16
Para realizar las funciones de administracin del hardware, los SO han de proporcionar las siguientes funciones:
Gestin de procesos. Gestin de memoria. Gestin de Entrada/Salida. Gestin de archivos.
Gestin de la seguridad.
17
18
Cada proceso tiene un BCP nico. Segn el SO, el BCP puede contener:
PID: (Process Identificator Identificador de proceso). Es un nmero entero nico y diferente para cada proceso.
Estado actual del proceso: en ejecucin, detenido o bloqueado. Prioridad del proceso. Ubicacin en memoria. Recursos asignados. Valores de los registros del procesador. Propietario. Permisos
19
Segn el proceso haya sido lanzado por un usuario o por el sistema operativo distinguimos entre:
Procesos del sistema. Son procesos que generalmente se ejecutan al iniciar el sistema y suelen estar en ejecucin para proporcionar servicios a los usuarios del sistema. Procesos de usuarios. Son los procesos que manda ejecutar el usuario. Si es el sistema es multiusuario, puede haber varios procesos de distinto usuario ejecutndose a la vez.
20
En ocasiones los procesos se dividen en diversos subprocesos o threads (hebras). Por ejemplo, cuando ejecutamos un procesador de textos (ej. Word) con un solo documento, el proceso Word consta de una nica hebra. Pero si abrimos otro documento pasar a tener dos hebras aunque slo tenemos abierto un proceso Word. Los diferentes threads de un proceso comparten recursos como memoria, archivos, etc. Si un proceso lanza otros procesos, por ejemplo, desde un documento Word hacemos clic en un enlace que abre una pgina Web y se abre el navegador de Internet, decimos que el proceso que se ha lanzado (navegador) es el proceso hijo y el que lo lanz (Word) es el proceso padre.
21
Arranque: Mediante el arranque se prepara el sistema para que pueda ser explotado y utilizado por los usuarios.
Parada: El servicio de parada debe dejar el sistema de manera que se pueda volver a arrancar sin problemas. Existen muchos ms servicios que se ejecutan despus del arranque, como el servicio de impresin, el de red,
Ral Martnez Alonso - SOM
22
Si slo hay un procesador, ste se tiene que distribuir entre todos los procesos que se estn ejecutando. Planificacin: Es la forma en que la CPU distribuye su tiempo para ejecutar los procesos. El planificador a corto plazo (dispatcher) decide qu proceso de los que estn preparados para ejecutarse pasa a utilizar el procesador. El dispatcher debe intentar minimizar el tiempo de respuesta, maximizar la cantidad de procesos que se ejecuten y evitar que un proceso quede postergado indefinidamente. Debe tratar a todos los procesos por igual salvo que tengan mayor prioridad. En este caso, tambin debe evitar que procesos muy prioritarios pospongan indefinidamente procesos menos prioritarios. Esta tcnica se denomina envejecimiento (aging)
Ral Martnez Alonso - SOM
23
En ejecucin: el proceso est ocupando la CPU, es decir, est ejecutando sus instrucciones en la CPU.
Bloqueados: El proceso est esperando un recurso que est siendo utilizado por otro proceso en ese momento.
24
25
Cuando un proceso pasa de un estado a otro, se produce una transicin. Podemos tener cuatro transiciones
1. De ejecucin a bloqueado. Al iniciar una operacin de E/S y no estar disponible el recurso que necesita el proceso. 2. De ejecucin a listo. Por ejemplo, cuando el proceso lleva demasiado tiempo ejecutndose y el SO decide que otro proceso ocupe la CPU. 3. De listo a ejecucin. Cuando el planificador de la CPU le asigna de nuevo el uso de la CPU.
4. De bloqueado a listo. Se dispone del recurso por el que se haba bloqueado el proceso.
De las cuatro transiciones de estado posibles, la nica iniciada por el proceso de usuario es el bloqueo, las otras tres son inicadas por entidades externas al proceso.
Ral Martnez Alonso - SOM
26
Entre las distintas planificaciones existen dos tipos principales: Expulsiva (preemptive): un proceso puede ser desalojado de la CPU sin que haya finalizado y se queda en la cola de procesos en espera. No expulsiva (non-preemptive): un proceso no puede ser desalojado de la CPU hasta que termina o se bloquea porque necesita un recurso no disponible. Cambio de contexto: Es la operacin de desalojar un proceso de la CPU para que otro empiece a ejecutarse. Debe realizarse lo ms rpido posible y almacenar la informacin sobre el estado de la ejecucin del proceso, para que cuando vuelva a estar en ejecucin, se reinicie desde el mismo punto y con los mismos valores en que se desaloj.
Ral Martnez Alonso - SOM
27
El uso de los algoritmos de planificacin busca que los procesos se ejecuten lo ms rpido posible, que el procesador est ocioso el menos tiempo posible y que el nmero de procesos que se puedan ejecutar sea el mayor posible. En cada algoritmo sabremos, para cada proceso: Tiempo de entrada o de llegada al sistema (Ti), es el momento en que el proceso entra en el sistema.
Tiempo de ejecucin (TX), es el tiempo que el proceso necesita para su ejecucin total.
Nos interesa obtener para cada proceso los siguientes datos: Tiempo de respuesta o de retorno (TR), es el tiempo que pasa desde que el proceso llega al sistema hasta que se obtienen los resultados. Tiempo de espera (TE), es el tiempo que el proceso pasa dentro del sistema en espera.
TE = T R TX
28
29
Proceso P1 P2 P3 P4
Tiempo de llegada 0 2 3 5
Tiempo de ejecucin 7 4 3 2
30
0 P1 P2 P3 P4 I
1 X
2 X I
3 X E I
4 X E E
5 X E E I
6 X E E E
7 F E E E
10
11
12
13
14
15
16
X E E
X E E
X E E
F E E X E X E F E X F
31
Proceso
Tiempo de llegada
Tiempo de ejecucin
Ciclo Final
Tiempo de espera
Tiempo de respuesta
P1 P2
P3 P4 Tiempos medios
0 2
3 5
7 4
3 2
7 11
14 16
0 5
8 9
7 9
11 11
5,5
9,5
32
Proceso P1 P2 P3 P4
Tiempo de llegada 0 2 3 5
Tiempo de ejecucin 7 4 3 2
33
0 P1 P2 P3 P4 I
1 X
2 X I
3 X E I
4 X E E
5 X E E I
6 X E E E
7 F E E E
10
11
12
13
14
15
16
E E X
E E F
E X
E X
E F
34
Proceso
Tiempo de llegada
Tiempo de ejecucin
Ciclo Final
Tiempo de espera
Tiempo de respuesta
P1 P2
P3 P4 Tiempos medios
0 2
3 5
7 4
3 2
7 16
12 9
0 10
6 2
7 14
9 4
4,5
8,5
35
Proceso P1 P2 P3 P4
Tiempo de llegada 0 2 3 5
Tiempo de ejecucin 7 4 3 2
36
0 P1 P2 P3 P4 I
1 X
2 X I
3 E X I
4 E X E
5 E X E I
6 E F E E
7 E
8 E
9 E
10 E
11 E
12 X
13 X
14 X
15 X
16 F
E X
E F
37
Proceso
Tiempo de llegada
Tiempo de ejecucin
Ciclo Final
Tiempo de espera
Tiempo de respuesta
P1 P2
P3 P4 Tiempos medios
0 2
3 5
7 4
3 2
16 6
11 8
9 0
5 1
16 4
8 3
3,75
7,75
38
Proceso P1 P2 P3
Tiempo de llegada 0 2 3
Prioridad 4 2 1
Tiempo de ejecucin 7 4 3
P4
39
0 P1 P2 P3 P4 I
1 X
2 X I
3 X E I
4 X E E
5 X E E I
6 X E E E
7 F E E E
10
11
12
13
14
15
16
E X E
E X E
E F E
40
Proceso
Tiempo de llegada
Tiempo de ejecucin
Ciclo Final
Tiempo de espera
Tiempo de respuesta
P1 P2
P3 P4 Tiempos medios
0 2
3 5
7 4
3 2
7 14
10 16
0 8
4 9
7 12
7 11
5,25
9,25
41
0 P1 P2 P3 P4 I
1 X
2 X I
3 E X I
4 E E X
5 E E X I
6 E E F E
7 E X
8 E X
9 E F
10 E
11 E
12 X
13 X
14 X
15 X
16 F
42
Proceso
Tiempo de llegada
Tiempo de ejecucin
Ciclo Final
Tiempo de espera
Tiempo de respuesta
P1 P2
P3 P4 Tiempos medios
0 2
3 5
7 4
3 2
16 9
6 11
9 3
0 4
16 7
3 6
43
Proceso P1 P2 P3 P4
Tiempo de llegada 0 2 3 5
Tiempo de ejecucin 7 4 3 2
44
0 P1 P2 P3 P4 I
1 X
2 X I
3 E X I
4 E X E
5 X E E I
6 X E E E
7 E E X E
8 E E X E
9 E X E E
10 E F E E
11 E
12 E
13 X
14 X
15 E
16 F
E X
E F
45
Proceso
Tiempo de llegada
Tiempo de ejecucin
Ciclo Final
Tiempo de espera
Tiempo de respuesta
P1 P2
P3 P4 Tiempos medios
0 2
3 5
7 4
3 2
16 10
15 12
9 4
9 5
16 8
12 7
6,75
10,75
46
La memoria RAM o memoria principal almacenar el programa que va a entrar a ejecutarse as como los datos que necesita para ejecutarse.
En sistemas monotarea, se van ejecutando los procesos uno a uno. Cuando uno termina, entra otro. Tan slo hay que tener en cuenta que en la memoria debe haber una zona para la parte residente del SO y otra para el proceso que se est ejecutando en ese momento. Si el sistema es multitarea, ser necesario dividir la memoria entre los procesos, con lo que habr que crear diferentes particiones y asignarle una a cada proceso.
Ral Martnez Alonso - SOM
47
Proteccin: El SO debe proteger la zona de memoria asignada al proceso (monotarea) o a cada proceso (multitarea) y a la zona asignada a la parte del SO. Esto se ha de hacer para evitar que un proceso invada la zona de memoria de otro proceso o del SO y produzca un error fatal (BlueScreen o BSOD)
48
La memoria se divide en partes de tamao fija (no tienen por qu ser iguales las partes) y a cada proceso que necesita memoria se le asigna el trozo libre ms pequeo en el que quepa. Fue la primera solucin que se dio. Problema: No se pueden utilizar dos partes separadas para un mismo proceso (fragmentacin externa: Memoria que no se utiliza externa a la particin)
Ral Martnez Alonso - SOM
49
Se asigna a cada proceso la cantidad de memoria exacta que necesita Solucin a las particiones fijas Problema: Se resuelve la fragmentacin interna (memoria que queda libre en las partes fijas) pero no el de la fragmentacin externa.
50
Se divide la memoria en pequeas particiones fijas de igual tamao llamadas Marcos de Pginas o Frames y los programas en trozos del mismo tamao llamados Pginas. La memoria asignada a un proceso ya no debe ser contigua sino que cada pgina puede estar en una parte distinta de la memoria. Se elimina la fragmentacin externa y se minimiza la interna (ser muy pequea y en la ltima pgina de cada proceso. Se combina con otras tcnicas como la memoria virtual o swapping.
Ral Martnez Alonso - SOM
51
Se divide la memoria en pequeas particiones de tamaos variables llamadas Segmentos. Estos segmentos contendrn diferente informacin, por ejemplo, estar el segmento de cdigo con las instrucciones del programa, segmento de datos, etc. Cada segmento se ubica en la memoria en una posicin diferente (no hace falta que estn en posiciones contiguas)
52
Consisten en almacenar en disco duro (memoria auxiliar) partes de procesos que no caben en memoria. Cuando una parte de un proceso ya no est en uso, se guarda en el disco y as queda libre una parte de memoria que puede utilizar otro proceso que la necesite. Cuando el primer proceso vuelve a necesitar la informacin guardada en disco, el SO pasa de nuevo esa informacin a la memoria RAM que est libre. La diferencia entre memoria virtual y swapping es que en el caso de la memoria virtual se utiliza un fichero de disco duro (pagefile.sys en WinXP) y en el swapping se utiliza una particin de disco duro (Linux swap en Linux)
Ral Martnez Alonso - SOM
53
Tipo de memoria
Menor tiempo de acceso Menor tamao
54
El SO debe gestionar los dispositivos de E/S, como los perifricos y las memorias auxiliares. La gestin de E/S la realiza a travs de las direcciones de E/S.
Interrupcin y rutina de atencin
IRQ: (Interrupt Request) Una interrupcin se produce cuando algn elemento hardware produce una seal al sistema para llamar su atencin.
La funcin de la IRQ es interrumpir el trabajo del procesador y destinarlo a otra actividad (Ej. Teclado)
Ral Martnez Alonso - SOM
55
56
Caching, buffering y spooling Son tcnicas que mejoran el rendimiento del sistema con respecto a la gestin. Caching: Almacenar en una cach temporal, de rpido acceso, los datos ms frecuentemente solicitados o enviados a un dispositivo E/S. En la actualidad se utilizan tres niveles de cach (L1, L2 y L3). Se evitan retardos por congestin de la red, congestin del dispositivo por envo de informacin, Buffering: Se utiliza un rea de memoria como buffer, simulando un dispositivo o perifrico lgico, que har de dispositivo intermedio entre el dispositivo real y el procesador. La informacin se almacena en el buffer mientras el procesador lee o escribe en el buffer. Evita que dispositivos lentos afecten al rendimiento del equipo informtico. Spooling: Permite que varios perifricos de E/S se puedan utilizar a la vez. (SPOOL: Simultaneous Peripheal Operation On-line)
Ral Martnez Alonso - SOM
57
Archivo o fichero: Objeto que representa la unidad lgica de almacenamiento de informacin. Se representan mediante un nombre. Los directorios se consideran un tipo de fichero especial que contiene a otros ficheros o directorios. Se caracterizan mediante una serie de atributos (propiedades que los definen), como el nombre, tamao, fecha de creacin y modificacin, propietario, permisos (lectura, escritura, ejecucin), direccin o direcciones de memoria donde se encuentra almacenado Operaciones con archivos: crear, abrir, leer, escribir, cerrar, borrar y obtener informacin de l.
Operaciones con directorios: crear, entrar en l, salir de l, borrarlo, aadir o eliminar archivos y directorio de l, leer su contenido.
Ral Martnez Alonso - SOM
58
Sistema de archivos: Para gestionar los archivos, el SO cuenta con el sistema de archivos. La mayora de los SO tienen un sistema de archivos de estructura jerrquica, en el que los directorios parten de uno llamado directorio raz, y del que cuelgan todos los dems en forma de rbol, de ah el arbol de subdirectorios. Los sistemas de archivos se clasifican en cuatro categoras: De Disco: Para trabajar en discos locales (FAT, EXT2, EXT3, NTFS,..)
De Red: para que un equipo pueda trabajar con un sistema de archivos de otro equipo como si fuera local (NFS, Samba) o compartir archivos por la red (smbfs)
Especiales: (Swap para la particin de intercambio de memoria en Linux) Virtuales: Para que una determinada aplicacin pueda tener acceso a diferentes sistemas de archivos (Virtual FUSE, VFAT)
Ral Martnez Alonso - SOM
59
FAT: Tabla de asignacin de ficheros (File Allocation Table). A partir de MS-DOS. Dos tipos:
FAT16 (o FAT): Tamao de particin mximo 2 GB. Nombre de los archivos: 8.3 (8 para el nombre y 3 para la extensin) FAT32: Con Windows 95 y siguientes. Soporta particiones de mayor tamao. Nombre los archivos: 255.3 . Tamao de archivos mayores que FAT16.
NTFS: Sistema de archivos de nueva tecnologa (New Technology File System). Mejora el sistema de archivos al introducir mayor seguridad, mayor estabilidad y mayor tamao de los archivos (mayores de 1 GB). Utilizado a partir de Windows XP.
Ral Martnez Alonso - SOM
60
EXT2, EXT3, EXT4: Compatibles entre s. La versin EXT3 aade a EXT2, entre otras caractersticas, Journaling (registro diario de los cambios en el sistema de archivos para poder recuperar los datos en caso de fallo). EXT4 aade a EXT3 el uso de volmenes y ficheros ms grandes.
Usan una estructura llamada inodo (i-node). Cada fichero se identifica por un nmero entero nico (su i-nodo). Es una tabla con una estructura de datos para cada fichero, donde se recoge dnde est almacenado, su tamao, direccin de los bloques usados, propietario, fecha de creacin, fecha de modificacin
ReiserFS: Sistema de archivos anterior a EXT2. A partir de ReiserFS4, muchas distribuciones dejaron de soportarlo.
Ral Martnez Alonso - SOM
61
CDFS: Sistema de archivos de CD-ROM. Compatible con la norma ISO-9660. UDF: Formato de disco universal (Universal Disk Format). Definido por la norma ISO-13346 y usado por las grabadoras de CD, DVD, y BluRay. HFS: Sistema de archivos jerrquico (Hierarquial File System). Diseado por Apple para su SO Mac OS. HFS+: Evolucin del HFS. Aade Journaling, Unicode y archivos de mayor tamao.
Ral Martnez Alonso - SOM
62
El SO debe controlar el acceso de los procesos o usuarios a los recursos del sistema, para ello debe tomar medidas de seguridad.
63
Bootstrapping o Booting: Es el proceso de iniciar el sistema desde el estado de apagado. Conlleva una serie de pasos. Primero: Desde una memoria no voltil tipo EEPROM o Flash, se carga el programa BIOS (Basic Input/Output System) . La BIOS comprueba el estado del hardware y determina su configuracin. A este proceso se le denomina POST (Power On Self Test) Segundo:
Si hay errores, el sistema se para y no continua el arranque. Si no hay errores, carga en memoria un cdigo llamado bootstrap o boot loader, que puede estar almacenado en un CD-DVD, en un USB, en el disco duro (en el MBR, Master Boot Record), situado en el sector 0 de la particin de arranque, o bien acceder a l a travs de la red. (Antiguamente tambin se haca desde disquete) Si se hace desde el disco duro, el cdigo en el MBR examina la tabla de particiones, identifica la particin activa (slo puede haber una), lee el sector de arranque de la particin, y ejecuta el cdigo almacenado en ese sector de arranque. Tras esto, se carga el SO, primero haciendo un test del sistema de archivos, crea las estructuras de datos necesarias para el SO y arrancan los procesos del SO. Tras esto el SO est preparado para que el usuario lo utilice y empiece a ejecutar sus procesos.
64
Coinciden con las generaciones de los ordenadores. 1. Generacin (1940-finales 50). No existan SO. Se programaban mediante interruptores mecnicos. (Mark I, Eniac). Con el Univac I (Universal Automatic Computer) aparece el concepto de SO (Exec I) 2. Generacin (1960-1965). Los SO son de tipo Procesamiento por lotes o Batch. Se usaban tarjetas perforadas o unidades de cinta magntica. Nueva versin del Univac 1107 7 (SO.Exec II)
En 1961 el MIT desarrolla el SO CTSS (Compatible Time-Sharing System) que usa el tiempo compartido. El Exec 8 tambin usa tiempo compartido.
3. Generacin (1966-1971). SO monousuarios. Aparecen los primeros macroordenadores o mainframes Serie 360 de IBM. (OS/360). A principio de los 70 aparece el IBM 370 (CP/CMS y el VM/CMS) que usan el concepto de mquina virtual.
Aparecen tambin los PDP de la empresa DEC (PDP-1 hasta PDP-11 SO. TOPS10). A mediados de los sesenta se desarrolla el SO MULTICS, que dio ideas para el desarrollo del UNIX. (Unix y C se disearon en 1970 para el PDP-11)
65
5. Generacin (1981-). Aparece el IBM PC y con l DOS en todas sus variantes (MS-DOS (Microsoft), DR-DOS (Digital Research) y PC-DOS (IBM))
Aparecen Windows y Xenix (Unix para PC de Microsoft). Para redes aparece Novell Netware y Windows NT. Para los AS400 de IBM se desarrolla OS/400. A principios de los 90 aparecen Linux y Solaris. En el mundo Mac, desde 1981, se desarrolla Mac OS.