Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Contenido
1. Definicin de SO 2. Arranque del equipo 3. Componentes y estructura del SO 4. Gestin de procesos 5. Gestin de memoria 6. Comunicacin y sincronizacin de procesos 7. Gestin de Entrada/Salida 8. Gestin de archivos y directorios 9. Seguridad y proteccin 10. Activacin del SO
Fundamentos de los Computadores II (Sistemas Operativos) 1
Contenido
11. Interfaz del programador 12. Interfaz del usuario del SO 13. Historia de los SSOO
1. Definicin de SO
Definicin de SO (I)
Mquina desnuda: computadora que carece de SO. El trmino pone de relieve que una mquina sin SO no resulta til. Un ordenador slo es capaz de repetir una sencilla secuencia de operaciones a alta velocidad: leer instruccin mquina, incremento del contador del programa y ejecucin. Para que la mquina realice una determinada funcin debe tener un programa cargado en MP y ha de conseguir que el contador del programa apunte a la direccin de comienzo. Misin del SO: revestir a la mquina, aadiendo funcionalidad que permita su cmodo manejo y utilizacin
Definicin de SO (II)
Funciones bsicas del SO gestin de recursos del equipo ejecucin de servicios para los programas ejecucin de mandatos de los usuarios Todas ellas se caracterizan por pretender facilitar el uso del hardware. Como se indica en la siguiente transparencia, el SO se articula en 3 capas principales. La ms cercana al ncleo se denomina kernel, y es la encargada de gestionar los recursos hardware del sistema, suministrando la funcionalidad bsica del SO.Esta capa ha de ejecutarse en nivel ncleo.
Definicin de SO (III)
API
Sistema operativo
Definicin de SO (IV)
La capa de servicios (o llamadas al sistema) ofrece a los programas servicios en forma de interfaz de programacin (API). Esta capa extiende la funcionalidad ofrecida por el kernel. Se suele decir que el SO ofrece a los programas una mquina virtual extendida (con funcionalidad aadida). La capa de intrprete de comandos o shell suministra una interfaz a travs de la que el usuario puede interactuar con la mquina. La shell recibe comandos u rdenes de los usuarios, los interpreta y si puede los ejecuta. La shell suele ejecutarse en nivel de usuario. A continuacin se analizan las diversas facetas de la funcionalidad de los SSOO.
Definicin de SO (V)
A) El SO como gestor de recursos En un ordenador suelen ejecutarse simultneamente diferentes programas, que compiten por el uso de los recursos del sistema. Es el SO quien ha de arbitrar su uso y asignacin. Adems, el SO ha de garantizar la proteccin de unos programas frente a otros, suministrando informacin sobre el uso que se hace de los recursos. Asignacin de recursos: el SO ha de mantener estructuras de datos que le permitan saber qu recursos estn libres y cules ocupados. La asignacin de recursos se hace segn su disponibilidad y la prioridad de los programas solicitantes. Es muy importante la recuperacin de los recursos, de forma que cuando no estn en uso se liberen para su posible uso por parte de otros programas.
8
Definicin de SO (VI)
Proteccin: el SO debe garantizar la proteccin entre los usuarios del sistema. Ha de asegurar la confidencialidad de la informacin, y que no haya interferencias entre los trabajos en ejecucin. Los recursos asignados a un programa no podrn ser asignados a ningn otro. Contabilidad: el SO debe medir el nivel de uso de los recursos a lo largo de la ejecucin de los programas. As puede conocer la carga de uso de los recursos. Cuando la contabilidad se usa nicamente para conocer la carga de los componentes del sistema se habla de monitorizacin.
Definicin de SO (VII)
B) El SO como mquina extendida El SO ofrece a los programas un conjunto se servicios denominados llamadas al sistema. Permiten ejecutar de forma cmoda y segura ciertas operaciones que manejan los recursos del sistema. Cuatro clases de llamadas: ejecucin de programas (lanzar ejecucin de programas, abortar, conocer las condiciones de ejecucin, comunicar y sincronizar), operaciones de E/S (lectura, escritura y modificacin de perifricos), operaciones de archivos y directorios (creacin, borrado, renombrado, apertura, escritura, lectura) y deteccin y tratamiento de errores (errores en las operaciones de E/S, en accesos a memoria, en operaciones aritmticas, etc)
10
Definicin de SO (VIII)
C) El SO como interfaz de usuario El SO ha de permitir al usuario un dilogo interactivo con el sistema. Esto se logra mediante el intrprete de comandos o shell. El shell se comporta como un bucle infinito, que repite incesantemente la siguiente secuencia: esperar nueva orden del usuario analizar la orden y ejecutarla (usando para ello los servicios pertinentes del SO) vuelta a modo de espera (hasta que llegue la nueva orden)
La mayora de los SO ofrecen intrpretes de comandos que permiten la ejecucin de archivos de mandatos o shell scripts. En ellos se incluyen varios mandatos, junto con instrucciones especiales que controlan en flujo de ejecucin.
Fundamentos de los Computadores II (Sistemas Operativos) 11
Definicin de SO (IX)
Deben quedar claros los siguientes conceptos: a) Usuario: persona autorizada a utilizar el sistema. Se identifica mediante un nombre de cuenta y una clave. El SO no asocia el concepto de usuario con el de persona fsica. Por ejemplo, podra pensarse en un usuario genrico para todos los alumnos de una asignatura. Internamente el SO asigna a cada usuario un identificador (uid: user identification) y un perfil. En l se describen los permisos concedidos al mismo: es decir, las operaciones que puede realizar. b) Usuario privilegiado (superusuario, administrador, root), al que se le concede autorizacin para realizar todas las operaciones posibles. Este usuario es imprescindible para administrar el sistema
12
Definicin de SO (X)
c) Los usuarios se organizan en grupos (por ejemplo, en una Univ. podra haber un grupo de alumnos, otro de profesores, otro de personal de servicios, etc). Todo usuario ha de adscribirse a un grupo. La figura del grupo tambin se emplea en la proteccin del sistema, ya que los derechos de un usuario son los suyos propios ms los recibidos por pertenecer a su grupo.
13
14
Unidad de Memoria
Direccin 0 Celdas
Zona ROM
15
Para mayor flexibilidad se hace que el iniciador ROM sea independiente del SO, de forma que en una misma mquina se puedan ejecutar diferentes SSOO. En el caso de un PC la memoria ROM contiene software de E/S, denominado BIOS (Basic input-output system). La BIOS es proporcionado por el fabricante del equipo y contiene procedimientos para leer y escribir de disco, leer caracteres del teclado y escribir en pantalla. El SO se encuentra almacenado en una unidad de disco, como se muestra en la transparencia siguiente. Por tanto, el cargador del SO (boot) se encuentra en cierta zona del disco (usualmente 4 primeros sectores del disco) y tiene un tamao prefijado.
Fundamentos de los Computadores II (Sistemas Operativos) 17
Disco
Sistema Operativo
Como se indic con anterioridad, el iniciador ROM trae a MP el cargador del SO. El programa iniciador y el SO tienen un convenio sobre la ubicacin, direccin de arranque y tamao del cargador del SO. De esta forma el iniciador ROM es independiente del SO en tanto en cuanto siga este convenio.
Para mayor seguridad el programa cargador del SO incluye en una posicin prefijada una contrasea. As el iniciador puede comprobar si la informacin en el sector es en realidad un cargador.
Fundamentos de los Computadores II (Sistemas Operativos) 18
comprobacin del sistema: ms pruebas del hardware, comprobacin del sistema de archivos, etc. Operacin costosa, ya que ha de revisar todos los directorios del sistema de archivos. establecimiento de las estructuras de informacin propias del SO, tales como la tabla de procesos, las tablas de memoria y las de E/S. carga en MP de la parte del SO que siempre ha de estar residente (sistema operativo residente). creacin de proceso de inicio (login) para cada terminal, as como algunos procesos auxiliares y demonios (de impresin, de comunicaciones, etc.).
19
DOS: autoexec.bat UNIX: .login, .cshrc, etc Despus quedan a la espera de recibir rdenes por parte del usuario.
20
21
Gestin de Gestin de Gestin de Gestin de archivos y Seguridad Comunic. y y procesos memoria la E/S directorios proteccin sincroniz.
Sistema operativo
Ncleo
Hardware
23
24
En el modelo cliente/servidor se implementan la mayora de los servicios mediante procesos de usuario, dejando slo una pequea parte del SO ejecutando en modo ncleo (microncleo).
Procesos cliente Procesos servidores
API
API
Servidor de Servidor Servidor de Servidor de Servidor de archivos y Servidor de de Seguridad procesos memoria la E/S directorios Comunicac.
Modo usuario
Microncleo Hardware
Modo ncleo
26
Desventajas: mayor sobrecarga en el tratamiento de los servicios, ya que los servidores ejecutan en espacios de direcciones distintos, por lo que su activacin es ms lenta.
Fundamentos de los Computadores II (Sistemas Operativos) 27
4. Gestin de procesos
28
Cdigo y datos
Mapa de E/S
Registros generales
PC SP Estado
30
Monotarea (monoproceso): un solo proceso en cada instante Multitarea (multiproceso): coexisten varios procesos a la vez. El SO reparte el tiempo de procesador entre los procesos activos. Monousuario: un nico usuario Multiusuario: varios usuarios trabajando de forma simultnea desde diferentes terminales. Cada usuario puede tener ms de un proceso activo. En este caso sera un sistema de tiempo compartido (el SO reparte el tiempo de CPU, de forma que las tareas de todos los usuarios avancen de forma razonable)
31
Crear un proceso A partir de un proceso padre (UNIX) A partir de un archivo ejecutable (Windows NT) Ejecutar un proceso: modo batch o interactivo Terminar la ejecucin de un proceso Cambiar el programa que ejecuta un proceso
32
5. Gestin de memoria
33
35
36
37
Proceso de Usuario
Proceso de Usuario
Proceso de Usuario
Proceso de Usuario
SO
SO
SO
UN COMPUTADOR
DOS COMPUTADORES
38
Avanza la ejecucin
El proceso A espera al B
El proceso B espera al A
40
a) crear: el proceso solicita la creacin del mecanismo b) bloquear: el proceso se bloquea hasta que ocurra un determinado evento c) despertar: permite despertar a un proceso bloqueado d) destruir: el proceso solicita la destruccin del mecanismo
41
7. Gestin de E/S
42
El gestor de E/S debe controlar el funcionamiento de los dispositivos de E/S, para lograr:
a) facilitar el manejo de los dispositivos perifricos: interfaz sencilla y nica, control de errores b) mecanismos de proteccin
Los servicios ofrecidos por el SO son independientes de los dispositivos: igual procedimiento para leer en disco, disquete, CD, etc.
43
44
45
Cabe distinguir entre visin lgica y visin fsica de archivos y directorios. La visin fsica tiene que ver con los detalles de la forma en que se almacena esa informacin en los perifricos en que residen. La visin lgica permite ignorar los detalles reales de almacenamiento de la informacin y tratar archivos y directorios como si fuesen unidades lgicas de informacin (de ah visin lgica).
46
Visin lgica
Visin fsica
Sectores, pistas, cabezas lectoras, tablas de ubicacin, etc MS-DOS: FAT UNIX: i-node
47
Archivo A
1 7 13 19 25
2 8 14 20 26
3 9 15 21 27
4 10 16 22 28
5 11 17 23 29
6 12 18 24 30
49
Un directorio es un objeto que relaciona de forma unvoca nombres y archivos. Por tanto, sirve para organizar e identificar archivos. Respecto a los directorios tambin puede distinguirse entre visin lgica y fsica. a) visin lgica: esquema jerrquico de nombres (transparencia siguiente) b) visin fsica: estructuras de informacin que permiten relacionar cada nombre lgico con la descripcin fsica del correspondiente archivo. En esencia, tabla con pares nombre-identificador para cada subdirectorio
Fundamentos de los Computadores II (Sistemas Operativos) 51
Sec1
Sec2
Sec1
Sec2
Sec3
Activ
Pasiv
Apl1
Apl2
Apl3
Des
PR1
PR2
PR3
52
SISTEMA DE ARCHIVOS: conjunto de archivos incluidos en las unidades de disco (datos de archivos + informacin auxiliar gestin o metainformacin)
Fundamentos de los Computadores II (Sistemas Operativos) 53
Cada SO organiza a su modo las particiones en disco, repartiendo el espacio entre: programa de carga del SO, metainformacin y datos. Normalmente las tablas de directorios se almacenan tambin como archivos especiales, compitiendo con los archivos de datos por los bloques disponibles del dispositivo de almacenamiento.
54
9. Seguridad y proteccin
55
Autenticacin: determinar que un usuario (persona, servicio, computador) sea quien dice ser. Usualmente los mecanismos de autenticacin se basan en palabras clave.
Privilegios: definir operaciones permitidas para cada usuario. Los ordenan en grupos. Se asignan permisos individuales y a los grupos. La informacin de privilegios puede asignarse a recursos o usuarios: a) por recurso. Se asigna a los recursos una lista de control de acceso (ACL). En ella se indican usuarios y grupos que pueden acceder, as como operaciones permitidas
Fundamentos de los Computadores II (Sistemas Operativos) 56
El servidor de proteccin debe: distinguir uso autorizado/no autorizado especificar los controles de acceso a realizar ofrecer mtodos de control de acceso
57
58
Av a n z a la eje c u c i n
Proceso A
Sistema operativo
Proceso B
59
En cualquier caso deja de ejecutarse un proceso y toma el control el SO (hay que recordar que el SO ejecuta en modo ncleo, por lo que la activacin del SO se produce, en ltima instancia, mediante el mecanismo de las interrupciones). Cuando un programa, en un lenguaje de alto nivel, como C, por ejemplo, realiza la llamada a un servicio del SO, mediante n=fork()
Fundamentos de los Computadores II (Sistemas Operativos) 60
IMPORTANTE: fork no es el servicio del sistema operativo, sino una funcin que permite acceder al mismo
61
MEMORIA
Rutina de biblioteca
PROCESO N
PROCESO 2 PROCESO 1 1 2 R8
FORK_SYSTEM_CALL LOAD R8, FORK_SYSTEM_CALL TRAP LOAD r, R9
MODO USUARIO
6
3 4
TABLA
SERVICIO fork LOAD R9, resultado Retorno del TRAP
R9 5
Resultado
MODO NCLEO
SISTEMA OPERATIVO
PROCESO DE USUARIO
RUTINA DE BIBLIOTECA
TRAP
TRATAMIENT0 DE INTERRUP.
RUTINA DE SERVICIO
PROCESO DE USUARIO
HW
SISTEMA OPERATIVO
62
63
- algunos tipos de datos usados por la funciones no se definen como parte del estndar, sino en la implementacin
Fundamentos de los Computadores II (Sistemas Operativos) 64
B) Win32: servicios ofrecidos por Windows 95/98/NT/2000. No es un estndar genrico, sino los servicios ofrecidos por Microsoft. Caractersticas: - todos los recursos gestionados por el SO se tratan como objetos, que se referencian mediante manejadores (similares a los descriptores) (se sigue la filosofa de orientacin a objetos, aunque Win32 no es orientado a objetos)
Fundamentos de los Computadores II (Sistemas Operativos) 65
66
67
La evolucin sufrida por las interfaces de usuario est muy relacionada con el aumento en el nmero de usuarios, de diversa ndole (no todos son expertos en informtica). Por esta razn se ha tendido a simplificar la interfaz, de forma que el trabajo con el SO sea lo ms sencillo posible para los usuarios.
Tambin se ha evolucionado de interfaces integradas en el ncleo a interfaces externas. Este segundo enfoque es ms seguro y permite disponer de varias interfaces para un mismo SO.
Fundamentos de los Computadores II (Sistemas Operativos) 68
70
71
A) PREHISTORIA Aos 40 No hay SSOO Los usuarios codifican A MANO los programas. Introducirlos es actuar directamente sobre los circuitos del ordenador Trabajo en serie: tarea1, tarea2, tarea2, etc
72
73
74
E) Quinta generacin Aos 80, actualidad Ms importancia a la productividad del usuario que al aprovechamiento de la mquina Sistemas distribuidos Mquina virtual Gestores de ventanas
75