Está en la página 1de 76

Captulo 2 Introduccin a los SSOO

Fundamentos de los Computadores II (Sistemas Operativos)

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

Fundamentos de los Computadores II (Sistemas Operativos)

1. Definicin de SO

Fundamentos de los Computadores II (Sistemas Operativos)

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

Fundamentos de los Computadores II (Sistemas Operativos)

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.

Fundamentos de los Computadores II (Sistemas Operativos)

Definicin de SO (III)

Usuarios Programas Shell Servicios Ncleo Hardware

API

Sistema operativo

Fundamentos de los Computadores II (Sistemas Operativos)

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.

Fundamentos de los Computadores II (Sistemas Operativos)

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

Fundamentos de los Computadores II (Sistemas Operativos)

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.

Fundamentos de los Computadores II (Sistemas Operativos)

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)

Fundamentos de los Computadores II (Sistemas Operativos)

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

Fundamentos de los Computadores II (Sistemas Operativos)

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.

Fundamentos de los Computadores II (Sistemas Operativos)

13

2. Arranque del equipo

Fundamentos de los Computadores II (Sistemas Operativos)

14

Arranque del equipo (I)


En el arranque de un equipo se pueden distinguir dos fases:arranque hardware y arranque del SO. a) Arranque hardware. Al ser la MP voltil, al encender el equipo la MP est vaca. Al no disponer de programa que ejecutar, el ordenador no es capaz de realizar ninguna tarea. Actualmente, los equipos suelen disponer de un programa especial permanentemente grabado en una memoria ROM (no voltil).
Unidad de Memoria
Direccin 0 2.047 Celdas Zona ROM

Unidad de Memoria
Direccin 0 Celdas

1.046.528 1.048.575 1.048.575

Zona ROM

Fundamentos de los Computadores II (Sistemas Operativos)

15

Arranque del equipo (II)


Como se observa en la figura anterior, parte del mapa de memoria est constituido por una memoria ROM no voltil. El programa especial cargado en este tipo de memoria se denomina iniciador ROM. Al arrancar el equipo (o pulsar el botn de RESET), se genera una seal elctrica que produce la carga de los registros del procesador, de forma que el contador del programa contendr la direccin de comienzo del programa iniciador. Este programa realizar las siguientes tares: comprobacin del sistema, para determinar sus caractersticas (cantidad de MP, perifricos instalados, etc) y comprobar si el conjunto funciona de forma correcta. fase de lectura y almacenamiento en memoria del programa cargador del SO (carga == lectura de perifrico + almacenado en disco)
16

Fundamentos de los Computadores II (Sistemas Operativos)

Arranque del equipo (III)


dar control al programa cargador del SO.

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

Arranque del equipo (IV)


Programa cargador (identificador)

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

Arranque del equipo (V)


b) Arranque del SO. El cargador del SO aloja en memoria algunos componentes del SO. Cuando estn cargados se pasa a la fase de iniciacin, que consta de las siguientes etapas:

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.).

Fundamentos de los Computadores II (Sistemas Operativos)

19

Arranque del equipo (VI)


Los procesos de inicio presentan en cada terminal el mensaje de bienvenida y quedan a la espera de que un usuario arranque una sesin. Para ello ha de teclear su nombre de usuario y su clase (password). El proceso de inicio autentica al usuario, comprobando la validez de los datos introducidos y lanza un proceso shell, para ejecutar uno o varios archivos de mandatos.

DOS: autoexec.bat UNIX: .login, .cshrc, etc Despus quedan a la espera de recibir rdenes por parte del usuario.

Fundamentos de los Computadores II (Sistemas Operativos)

20

3. Componentes y estructura del SO

Fundamentos de los Computadores II (Sistemas Operativos)

21

Componentes y estructura del SO (I)


Se suele considerar que el SO est compuesto de tres capas: ncleo, servicios e intrprete de mandatos (o shell). El ncleo es la parte del SO centrado en la gestin de los recursos: procesador, tratamiento de interrupciones y funciones bsicas de manipulacin de memoria. Los servicios se suelen agrupar por su funcionalidad: a) gestin de procesos: creacin, planificacin y destruccin de procesos b) gestin de memoria: detectar y controlar zonas de memoria libres y ocupadas, asignacin y liberacin de memoria segn se requiera, etc c) gestin de E/S: facilitar el manejo de los perifricos d) comunicacin y sincronizacin de procesos e) seguridad y proteccin
Fundamentos de los Computadores II (Sistemas Operativos) 22

Componentes y estructura del SO (II)

Usuarios Programas de usuario Win 32 Shell 1 Shell 2 POSIX Varias API

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

Fundamentos de los Computadores II (Sistemas Operativos)

23

Componentes y estructura del SO (III)


Todos estos componentes ofrecen su funcionalidad a travs de un conjunto de llamadas al sistema. Como se aprecia en la figura de la transparencia anterior los SSOO operativos pueden ofrecer ms de una interfaz de servicios: POSIX y WIN32, por ejemplo. En este caso los programas podrn elegir qu interfaz quieren ejecutar, pero no podrn usar servicios de ambas de forma simultnea. Debido a esta ocultacin de las caractersticas hardware de la mquina a travs de interfaces de programacin se dice que el SO presenta al usuario varias mquinas virtuales. Tambin puede ofrecer varios intrpretes de mandatos, unos textuales y otros en modo grfico. Respecto a la forma en que se estructuran estos elementos, se puede distinguir entre SSOO monolticos y estructurados.

Fundamentos de los Computadores II (Sistemas Operativos)

24

Componentes y estructura del SO (IV)


Los SSOO monolticos son aquellos que carecen de estructura clara y definida. Todos sus componentes se encuentran integrados en un nico programa, que se ejecuta en un nico espacio de direcciones. En este caso todas las funciones se ejecutan en modo ncleo. Suelen surgir de SSOO de pequeo tamao, que evolucionan al aadir ms y ms funcionalidad. Ejemplos: MS-DOS y UNIX. Problemas: dificultad para modificarlos para aadir nuevos servicios, ya que ello supone bucear entre miles de lneas de cdigo. Dentro de los sistemas estructurados cabe distinguir entre los sistemas por capas y sistemas cliente/servidor. En los sistemas por capas el SO est formado por un conjunto de capas interrelacionadas. Cada capa ofrece una interfaz clara y bien definida a la capa superior y slo usa los servicios de la capa inferior.
Fundamentos de los Computadores II (Sistemas Operativos) 25

Componentes y estructura del SO (V)


La principal ventaja radica en la modularidad y ocultacin de la informacin que ofrecen: una capa no necesita saber cmo es la implementacin de las capas inferiores, slo su interfaz.

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

Fundamentos de los Computadores II (Sistemas Operativos)

26

Componentes y estructura del SO (VI)


No hay definicin clara de las funciones propias del microncleo y depende de un SO a otro. Suelen ser: gestin de interrupciones, gestin bsica de procesos y de memoria, servicios bsicos de comunicacin entre procesos. Para solicitar un servicio a este tipo de sistemas, el proceso de usuario (cliente) solicita el servicio al servidor correspondiente. Puede que para cumplir la peticin el servidor requiera, a su vez, los servicios ofrecidos por otros servidores. Ventaja bsica: flexibilidad. Cada servidor slo se ocupa de una funcionalidad concreta, lo que facilita la modularidad (por ejemplo, el desarrollo de pruebas, el mantenimiento, etc).

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

Fundamentos de los Computadores II (Sistemas Operativos)

28

Gestin de procesos (I)


El gestor de procesos es un elemento esencial en cualquier SO. Proceso: programa en ejecucin. No hay que confundir programa con proceso. Programa == conjunto de instrucciones mquina Proceso == programa en ejecucin Por ejemplo, varios procesos podran ejecutar el mismo programa.Para que un programa pueda ejecutar ha de residir en MP.

Cdigo y datos

Mapa de E/S

Registros generales

BCP Mapa de Memoria


Fundamentos de los Computadores II (Sistemas Operativos) 29

PC SP Estado

Gestin de procesos (II)


Al contenido de los segmentos de memoria en que residen el cdigo y los datos se denomina imagen de memoria del proceso. Durante la ejecucin, el proceso va modificando los registros usados por el ordenador. El contenido de todos ellos define el estado del procesador. Para cada proceso el SO mantiene una serie de estructuras de datos que permiten identificar sus caractersticas, as como los recursos de que dispone. Una parte esencial de estas estructuras es el bloque de control del proceso (BCP). El BCP almacena el estado de los registros del proceso, cuando ste no est ejecutando. El SO ha de ofrecer un conjunto de servicios para gestin de los procesos y de los posibles interbloqueos que pueden surgir cuando los procesos comparten recursos comunes.

Fundamentos de los Computadores II (Sistemas Operativos)

30

Gestin de procesos (III)


Dependiendo del nmero de procesos y usuarios que puedan ejecutar simultneamente, un SO puede ser:

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)

Fundamentos de los Computadores II (Sistemas Operativos)

31

Gestin de procesos (IV)


Los servicios ofrecidos por los SSOO respecto a la gestin de procesos son:

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

Fundamentos de los Computadores II (Sistemas Operativos)

32

5. Gestin de memoria

Fundamentos de los Computadores II (Sistemas Operativos)

33

Gestin de memoria (I)


Memoria: vector enorme de palabras o bytes, cada uno con su propia direccin. Compartido por UCP y dispositivos E/S. Voltil: pierde su contenido si el sistema falla. El SO tiene la responsabilidad de gestionar los siguientes aspectos de la memoria. Para ello dispone de un gestor de memoria, encargado de: Mantener un mapa de las partes de memoria en uso y saber quin las est usando. Decidir qu procesos se deben cargar, y dnde, cuando hay memoria disponible. Asignar y liberar espacio de memoria cuando sea necesario. Ofrecer servicios para que los procesos puedan compartir memoria.
Fundamentos de los Computadores II (Sistemas Operativos) 34

Gestin de memoria (II)


Los servicios ofrecidos por los SSOO respecto a la gestin de memoria son: a) solicitar memoria: de forma que los programas puedan aumentar el espacio destinado a ejecucin b) liberar memoria: el espacio que un proceso ya no va a usar ms se pondr en estado de disponible para que otros puedan usarlo c) comparticin de memoria: como forma de comunicacin de procesos que colaboran en la realizacin de alguna tarea

Fundamentos de los Computadores II (Sistemas Operativos)

35

6. Comunicacin y sincronizacin de procesos

Fundamentos de los Computadores II (Sistemas Operativos)

36

Comunicacin y sincronizacin de procesos (I)


Comunicacin entre procesos: necesaria si se desea que varios procesos puedan colaborar para realizar una misma tarea. Sincronizacin === funcionamiento coordinado en la resolucin de una tarea encomendada. El SO ofrece mecanismos bsicos de comunicacin, que permiten transferir cadenas de bytes. Deben ser los procesos que se comunican quienes interpreten el significado de las cadenas transferidas para su labor coordinada. Los mecanismos de comunicacin y sincronizacin son dinmicos. Es decir, cuando se necesita un mecanismo de este estilo, se crea, usa y destruye, de forma que no se establezca de forma definitiva ningn mecanismo de comunicacin, ya que ellos podra producir efectos indeseados. Es decir, la comunicacin es algo puntual.

Fundamentos de los Computadores II (Sistemas Operativos)

37

Comunicacin y sincronizacin de procesos (II)

Proceso de Usuario

Proceso de Usuario

Proceso de Usuario

Proceso de Usuario

SO

SO

SO

UN COMPUTADOR

DOS COMPUTADORES

Fundamentos de los Computadores II (Sistemas Operativos)

38

Comunicacin y sincronizacin de procesos (III)


Los servicios bsicos de comunicacin son: a) crear: el proceso solicita la creacin del mecanismo b) enviar o escribir: el proceso emisor enva informacin al proceso receptor c) recibir o leer: el proceso receptor recibe informacin d) destruir: el proceso solicita la destruccin del mecanismo de comunicacin La comunicacin puede ser sncrona y asncrona: a) sncrona: los dos procesos han de ejecutar servicios de forma simultnea. El emisor ha de ejecutar el servicio enviar mientras el receptor ejecuta recibir b) asncrona: el emisor hace el envo y prosigue su ejecucin. El SO ofrece un almacenamiento intermedio para guardar la informacin enviada, hasta que el receptor la solicite.
Fundamentos de los Computadores II (Sistemas Operativos) 39

Comunicacin y sincronizacin de procesos (IV)


Proceso A Proceso B Proceso B enviar Espera recibir Proceso A recibir enviar Espera

Avanza la ejecucin

El proceso A espera al B

El proceso B espera al A

Esquema de sincronizacin sncrona

Fundamentos de los Computadores II (Sistemas Operativos)

40

Comunicacin y sincronizacin de procesos (V)

En cuanto a los servicios de sincronizacin, se suelen incluir los siguientes:

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

Fundamentos de los Computadores II (Sistemas Operativos)

41

7. Gestin de E/S

Fundamentos de los Computadores II (Sistemas Operativos)

42

Gestin de E/S (I)

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.

Servicios orientados a escritura y lectura de datos. Orientados a carcter u orientados a bloque.

Fundamentos de los Computadores II (Sistemas Operativos)

43

8. Gestin de archivos y directorios

Fundamentos de los Computadores II (Sistemas Operativos)

44

Gestin de archivos y directorios (I)


Archivo: conjunto de informacin lgicamente relacionada y definida por su creador. Directorio: conjunto de identificadores lgicos de relacionados con sus identificadores internos del SO. El servidor de archivos tendr por objetivo: facilitar el manejo de los dispositivos perifricos de almacenamiento proteger a los usuarios, poniendo limitaciones a los archivos que pueden manipular (para evitar uso de recursos e informacin ajenos) archivos,

Fundamentos de los Computadores II (Sistemas Operativos)

45

Gestin de archivos y directorios (II)


El servidor de archivos ofrece al usuario una visin lgica, compuesta por elementos (archivos y directorios) identificables por un nombre y sobre los que se pueden realizar ciertas operaciones.

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).

Fundamentos de los Computadores II (Sistemas Operativos)

46

Gestin de archivos y directorios (III)

Visin lgica

Visin fsica

Contenidos, datos, relaciones entre datos, operaciones sobre conjuntos de datos

Sectores, pistas, cabezas lectoras, tablas de ubicacin, etc MS-DOS: FAT UNIX: i-node

Fundamentos de los Computadores II (Sistemas Operativos)

47

Gestin de archivos y directorios (IV)


Visin Lgica

Posicin Visin Fsica


Bloques: 13 20 1 8 3 16 19

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

Bloques de la Unidad de Disco


Fundamentos de los Computadores II (Sistemas Operativos) 48

Gestin de archivos y directorios (V)


Cada archivo dispone de informacin asociada, entre la que podemos distinguir: a) b) c) d) tipo de archivo (datos, ejecutable, etc) propietario (usuario que lo cre y grupo al que pertenece) tamao eventos importantes: instante de creacin, ltima modificacin, ltimo acceso e) Derechos de acceso Las operaciones sobre archivos ofrecidas por el SO se refieren a la visin lgica. La solucin ms normal suele consistir en ofrecer al usuario el archivo como un vector de bytes o caracteres

Fundamentos de los Computadores II (Sistemas Operativos)

49

Gestin de archivos y directorios (VI)


Los datos relativos a la visin fsica del archivo han de residir en el propio dispositivo de almacenamiento, de forma que el dispositivo pueda llevarse de una mquina a otra. El servidor de archivos debe ser capaz de interpretar las estructuras asociadas a la visin fsica, liberando a los programas del usuario de esta labor. Los servicios ofrecidos por el servidor de archivos son: crear archivo: se crea un archivo vaco. Exige interpretar el nombre para ver si es correcto y si el usuario puede hacer sobre l las operaciones indicadas en la marca de creacin. Se devuelve un identificador, descriptor o manejador del archivo. abrir archivo: comprueba si existe el archivo y si el usuario que realiza la solicitud tiene permisos para actuar sobre el mismo. escribir y leer: se comprueba que hay permisos para hacer la operacin pertinente. Se necesita el descriptor o identificador del archivo
50

Fundamentos de los Computadores II (Sistemas Operativos)

Gestin de archivos y directorios (VII)


cerrar archivo: se elimina el identificador obtenido en la apertura o creacin de un archivo borrar archivo: elimina la informacin almacena y se liberan los recursos correspondientes

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

Gestin de archivos y directorios (VIII)


nombre: nombre del archivo identificador: informacin para localizar la descripcin fsica del archivo
Directorio raz Textos Div11 .Div2 Edit Tipo Distrib Person Client Product Almac Simin Mant Identificador de directorio Identificador de fichero

Sec1

Sec2

Sec1

Sec2

Sec3

Activ

Pasiv

Apl1

Apl2

Apl3

Des

PR1

PR2

PR3

Fundamentos de los Computadores II (Sistemas Operativos)

52

Gestin de archivos y directorios (IX)


Ventaja del esquema jerrquico: permite gestin distribuida de los nombres, al garantizar de forma sencilla que no existan nombres repetidos. Entre los servicios de directorios tenemos: crear directorio borrar directorio abrir directorio: permite obtener un descriptor, para acceder a su contenido leer directorio: acceso a la informacin sobre sus entradas cerrar directorio: cierra y libera el identificador obtenido en la operacin de apertura, as como los recursos correspondientes

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

Gestin de archivos y directorios (X)


Metainformacin: a) estructura fsica de los archivos: i-nodos, FAT, etc b) directorios c) estructura fsica del sistema de archivos (superbloque en UNIX, por ejemplo) d) estructura de la informacin en bloques e i-nodos libres

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.

Fundamentos de los Computadores II (Sistemas Operativos)

54

9. Seguridad y proteccin

Fundamentos de los Computadores II (Sistemas Operativos)

55

Seguridad y proteccin (I)


Seguridad: garantizar la identidad de los usuarios (autenticacin) y definir las operaciones permitidas para cada uno de ellos (privilegios).

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

Seguridad y proteccin (II)


b) informacin por usuario. A cada grupo y usuario se asocia una lista de recursos a los que puede acceder. Esta lista se denomina capacidades.

El servidor de seguridad debe:


autenticar usuarios evitar amenazar al sistema (gusanos, virus, piratas, etc) evitar captura de comunicaciones (cifrado, canales seguros, etc)

El servidor de proteccin debe: distinguir uso autorizado/no autorizado especificar los controles de acceso a realizar ofrecer mtodos de control de acceso
57

Fundamentos de los Computadores II (Sistemas Operativos)

10. Activacin del SO

Fundamentos de los Computadores II (Sistemas Operativos)

58

Activacin del SO (I)


El SO ha de verse como un servidor a la espera de recibir rdenes de trabajo.

Av a n z a la eje c u c i n

Proceso A
Sistema operativo

Se solicita el SO Salva el estado del proceso A Realiza la funcin pedida


Planificador Activador

Proceso B

Fundamentos de los Computadores II (Sistemas Operativos)

59

Activacin del SO (II)


Las peticiones de trabajo al SO pueden originarse de diversas formas: llamadas al sistema emitidas por los programas interrupciones producidas por los perifricos condiciones de excepcin o error del hardware

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

Activacin del SO (III)


lo que ocurre es: la funcin fork solicitar el servicio correspondiente al SO (el servicio de creacin de un nuevo proceso), para lo que prepara los parmetros necesarios para el servicio se genera una instruccin TRAP, para dar paso al SO una vez el SO finaliza, se recuperan los parmetros devueltos el SO, para pasarlos al programa en que se usa fork

IMPORTANTE: fork no es el servicio del sistema operativo, sino una funcin que permite acceder al mismo

Fundamentos de los Computadores II (Sistemas Operativos)

61

Activacin del SO (IV)

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

Fundamentos de los Computadores II (Sistemas Operativos)

62

11. Interfaz del programador

Fundamentos de los Computadores II (Sistemas Operativos)

63

Interfaz del programador (I)


Interfaz del SO con el programador: ofrece los servicios y llamadas al sistema, de forma que los usuarios puedan usar la funcionalidad del SO desde sus programas. parte vital del SO, ya que recupera la visin que como mquina extendida tiene el usuario del SO. Las dos interfaces ms usadas son POSIX y Win32 A) POSIX: estndar de interfaz de sistemas operativos portables, de IEEE, basado en el SO UNIX. Se trata de una especificacin estndar, no de una implementacin. As los SSOO pueden adherirse al estndar implementando los servicios de diferente manera. Alguna de sus caractersticas son:

- 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

Interfaz del programador (II)


los nombres de las funciones son cortos y con todas las letras en minscula: read, fork, close, etc las funciones devuelven normalmente 0 en caso de xito y 1 en caso de fracaso la mayora de los recursos gestionados por el SO se referencian mediante descriptores

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

Interfaz del programador (III)


nombres largos y descriptivos: GetFileAttributes, CreateNamedPipe tipos de datos predefinidos: BOOL, DWORD, TCHAR, LPSTR las funciones devuelven true en caso de xito y false en caso contrario

Fundamentos de los Computadores II (Sistemas Operativos)

66

12. Interfaz de usuario del SO

Fundamentos de los Computadores II (Sistemas Operativos)

67

Interfaz de usuario del SO (I)


El usuario necesita interactuar con el SO para ejecutar programas, borrar archivos, etcPara que esta relacin pueda llevarse a cabo los SSOO ofrecen interfaces de usuario. Hay que tener en cuanta que la mayora de los usuarios jams van a escribir programas, por lo que no tiene sentido que la nica forma de comunicarse con el SO sea mediante las llamadas al sistema.

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

Interfaz de usuario del SO (II)


Entre las funciones bsicas de la interfaz de usuario podemos citar: permitir acceso de los usuarios (o denegar) manipulacin de archivos y directorios ejecucin de programas herramientas de desarrollo de aplicaciones comunicacin con otros sistemas informacin de estado del sistema (fecha, hora, usuarios conectados, memoria disponible, uso de CPU, etc) configuracin de la interfaz y del entorno (entorno geogrfico, idioma, fuentes, etc) intercambio de datos entre aplicaciones (local) control de acceso a los recursos sistemas de ayuda interactivos

Algunas interfaces sern especficas para administradores del sistema


Fundamentos de los Computadores II (Sistemas Operativos) 69

Interfaz de usuario del SO (III)


Cabe distinguir entre interfaces alfanumricas (consola DOS, UNIX) e interfaces grficas (Windows, Desktop, etc)

Fundamentos de los Computadores II (Sistemas Operativos)

70

13. Historia de los SSOO

Fundamentos de los Computadores II (Sistemas Operativos)

71

Historia de los SSOO (I)


Funcionalidad del SO estrechamente ligada al hardware subyacente. Relacin entre SSOO y Arquitectura. Por ello, la historia de los SSOO est asociada a la historia del hardware

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

Fundamentos de los Computadores II (Sistemas Operativos)

72

Historia de los SSOO (I)


B) Primera generacin Aos 50 Aparicin de los SSOO Trabajo en serie Problema bsico abordado: minimizar el tiempo empleado en retirar un trabajo y montar el siguiente Facilitar operaciones E/S Concepto de lote: conjunto de programas, que se ejecutarn uno tras otro. Este modo de funcionamiento minimiza el tiempo de montaje

Fundamentos de los Computadores II (Sistemas Operativos)

73

Historia de los SSOO (II)


C) Segunda generacin Aos 60 Objetivo: mejora de explotacin de mquinas muy caras imposicin de la multiprogramacin como forma de aprovechar el tiempo usado por las operaciones de E/S (varios trabajos simultneamente en MP) Aparicin de multiprocesadores Aparicin concepto de independencia de dispositivo. El usuario no ha de especificar dispositivos concretos, sino que se limita a indicar la operacin que precisa y el SO asigna de forma dinmica el dispositivo que realizar dicha tarea Tiempo compartido: reparto de CPU entre procesos activos Primeros sistemas de tiempo real

Fundamentos de los Computadores II (Sistemas Operativos)

74

Historia de los SSOO (III)


D) Cuarta generacin Aos 70 SSOO de propsito general. Varios modos de operacin: lotes, multiprogramacin, tiempo real, tiempo compartido, etc. entre el usuario y el hardware se interpone una gruesa capa de software inconvenientes: complejos lenguajes de control

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

Fundamentos de los Computadores II (Sistemas Operativos)

También podría gustarte