Fundamentos de los Computadores II 0 - PowerPoint PPT Presentation

1 / 76
About This Presentation
Title:

Fundamentos de los Computadores II 0

Description:

Fundamentos de los Computadores II 0 (Sistemas Operativos) Cap tulo ... Es decir, la comunicaci n es algo puntual. Comunicaci n y sincronizaci n de procesos (I) ... – PowerPoint PPT presentation

Number of Views:55
Avg rating:3.0/5.0
Slides: 77
Provided by: Fli60
Category:

less

Transcript and Presenter's Notes

Title: Fundamentos de los Computadores II 0


1
Capítulo 2 Introducción a los SSOO
2
Contenido
  • Definición de SO
  • Arranque del equipo
  • Componentes y estructura del SO
  • Gestión de procesos
  • Gestión de memoria
  • Comunicación y sincronización de procesos
  • Gestión de Entrada/Salida
  • Gestión de archivos y directorios
  • Seguridad y protección
  • Activación del SO

3
Contenido
  • Interfaz del programador
  • Interfaz del usuario del SO
  • Historia de los SSOO

4
1. Definición de SO
5
Definición de SO (I)
  • Máquina desnuda
  • computadora que carece de SO. El término pone de
    relieve que una máquina sin SO no resulta útil.
    Un ordenador sólo es capaz de repetir una
    sencilla secuencia de operaciones a alta
    velocidad leer instrucción máquina, incremento
    del contador del programa y ejecución.
  • Para que la máquina realice una determinada
    función debe tener un programa cargado en MP y ha
    de conseguir que el contador del programa apunte
    a la dirección de comienzo.
  • Misión del SO
  • revestir a la máquina, añadiendo funcionalidad
    que permita su cómodo manejo y utilización

6
Definición de SO (II)
  • Funciones básicas del SO
  • gestión de recursos del equipo
  • ejecución de servicios para los programas
  • ejecución 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 más
    cercana al núcleo se denomina kernel, y es la
    encargada de gestionar los recursos hardware del
    sistema, suministrando la funcionalidad básica
    del SO.Esta capa ha de ejecutarse en nivel núcleo.

7
Definición de SO (III)
Usuarios
API
Programas
Shell
Servicios
Sistema
operativo
Núcleo
Hardware
8
Definición de SO (IV)
La capa de servicios (o llamadas al sistema)
ofrece a los programas servicios en forma de
interfaz de programación (API). Esta capa
extiende la funcionalidad ofrecida por el kernel.
Se suele decir que el SO ofrece a los programas
una máquina virtual extendida (con funcionalidad
añadida). La capa de intérprete de comandos o
shell suministra una interfaz a través de la que
el usuario puede interactuar con la máquina. 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
continuación se analizan las diversas facetas de
la funcionalidad de los SSOO.
9
Definición de SO (V)
  • El SO como gestor de recursos
  • En un ordenador suelen ejecutarse simultáneamente
    diferentes programas, que compiten por el uso de
    los recursos del sistema. Es el SO quien ha de
    arbitrar su uso y asignación. Además, el SO ha de
    garantizar la protección de unos programas frente
    a otros, suministrando información sobre el uso
    que se hace de los recursos.
  • Asignación de recursos el SO ha de mantener
    estructuras de datos que le permitan saber qué
    recursos están libres y cuáles ocupados. La
    asignación de recursos se hace según su
    disponibilidad y la prioridad de los programas
    solicitantes. Es muy importante la recuperación
    de los recursos, de forma que cuando no estén en
    uso se liberen para su posible uso por parte de
    otros programas.

10
Definición de SO (VI)
  • Protección el SO debe garantizar la protección
    entre los usuarios del sistema. Ha de asegurar la
    confidencialidad de la información, y que no haya
    interferencias entre los trabajos en ejecución.
    Los recursos asignados a un programa no podrán
    ser asignados a ningún otro.
  • Contabilidad el SO debe medir el nivel de uso de
    los recursos a lo largo de la ejecución 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
    monitorización.

11
Definición de SO (VII)
  • El SO como máquina extendida
  • El SO ofrece a los programas un conjunto se
    servicios denominados llamadas al sistema.
    Permiten ejecutar de forma cómoda y segura
    ciertas operaciones que manejan los recursos del
    sistema. Cuatro clases de llamadas ejecución de
    programas (lanzar ejecución de programas,
    abortar, conocer las condiciones de ejecución,
    comunicar y sincronizar), operaciones de E/S
    (lectura, escritura y modificación de
    periféricos), operaciones de archivos y
    directorios (creación, borrado, renombrado,
    apertura, escritura, lectura) y detección y
    tratamiento de errores (errores en las
    operaciones de E/S, en accesos a memoria, en
    operaciones aritméticas, etc)

12
Definición de SO (VIII)
  • El SO como interfaz de usuario
  • El SO ha de permitir al usuario un diálogo
    interactivo con el sistema. Esto se logra
    mediante el intérprete 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 mayoría de los SO ofrecen intérpretes de
    comandos que permiten la ejecución de archivos de
    mandatos o shell scripts. En ellos se incluyen
    varios mandatos, junto con instrucciones
    especiales que controlan en flujo de ejecución.

13
Definición de SO (IX)
  • Deben quedar claros los siguientes conceptos
  • 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 física. Por ejemplo,
    podría pensarse en un usuario genérico 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.
  • Usuario privilegiado (superusuario,
    administrador, root), al que se le concede
    autorización para realizar todas las operaciones
    posibles. Este usuario es imprescindible para
    administrar el sistema

14
Definición de SO (X)
  • Los usuarios se organizan en grupos (por ejemplo,
    en una Univ. podría 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 también se emplea
    en la protección del sistema, ya que los derechos
    de un usuario son los suyos propios más los
    recibidos por pertenecer a su grupo.

15
2. Arranque del equipo
16
Arranque del equipo (I)
En el arranque de un equipo se pueden distinguir
dos fasesarranque hardware y arranque del
SO. a) Arranque hardware. Al ser la MP volátil,
al encender el equipo la MP está vacía. 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 volátil).
17
Arranque del equipo (II)
  • Como se observa en la figura anterior, parte del
    mapa de memoria está constituido por una memoria
    ROM no volátil. El programa especial cargado en
    este tipo de memoria se denomina iniciador ROM.
  • Al arrancar el equipo (o pulsar el botón de
    RESET), se genera una señal eléctrica que produce
    la carga de los registros del procesador, de
    forma que el contador del programa contendrá la
    dirección de comienzo del programa iniciador.
    Este programa realizará las siguientes tares
  • comprobación del sistema, para determinar sus
    características (cantidad de MP, periféricos
    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
    periférico almacenado en disco)

18
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 máquina 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 tamaño
    prefijado.

19
Arranque del equipo (IV)
Programa cargador
Disco
(identificador)
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
ubicación, dirección de arranque y tamaño 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 posición prefijada
una contraseña. Así el iniciador puede comprobar
si la información en el sector es en realidad un
cargador.
20
Arranque del equipo (V)
  • b) Arranque del SO. El cargador del SO aloja en
    memoria algunos componentes del SO. Cuando estén
    cargados se pasa a la fase de iniciación, que
    consta de las siguientes etapas
  • comprobación del sistema más pruebas del
    hardware, comprobación del sistema de archivos,
    etc. Operación costosa, ya que ha de revisar
    todos los directorios del sistema de archivos.
  • establecimiento de las estructuras de información
    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).
  • creación de proceso de inicio (login) para cada
    terminal, así como algunos procesos auxiliares y
    demonios (de impresión, de comunicaciones, etc.).

21
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 sesión. 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 Después quedan a la espera de
recibir órdenes por parte del usuario.
22
3. Componentes y estructura del SO
23
Componentes y estructura del SO (I)
  • Se suele considerar que el SO está compuesto de
    tres capas núcleo, servicios e intérprete de
    mandatos (o shell).
  • El núcleo es la parte del SO centrado en la
    gestión de los recursos procesador, tratamiento
    de interrupciones y funciones básicas de
    manipulación de memoria. Los servicios se suelen
    agrupar por su funcionalidad
  • gestión de procesos creación, planificación y
    destrucción de procesos
  • gestión de memoria detectar y controlar zonas de
    memoria libres y ocupadas, asignación y
    liberación de memoria según se requiera, etc
  • gestión de E/S facilitar el manejo de los
    periféricos
  • comunicación y sincronización de procesos
  • seguridad y protección

24
Componentes y estructura del SO (II)
Usuarios
Varias API
Programas de usuario
Shell 1
Shell 2
POSIX
Win 32
Sistema
operativo
Gestión de
Comunic.
Seguridad
Gestión de
Gestión de
Gestión de
y
y
archivos y
procesos
memoria
la E/S
protección
sincroniz.
directorios
Núcleo
Hardware
25
Componentes y estructura del SO (III)
  • Todos estos componentes ofrecen su funcionalidad
    a través de un conjunto de llamadas al sistema.
    Como se aprecia en la figura de la transparencia
    anterior los SSOO operativos pueden ofrecer más
    de una interfaz de servicios POSIX y WIN32, por
    ejemplo. En este caso los programas podrán elegir
    qué interfaz quieren ejecutar, pero no podrán
    usar servicios de ambas de forma simultánea.
    Debido a esta ocultación de las características
    hardware de la máquina a través de interfaces de
    programación se dice que el SO presenta al
    usuario varias máquinas virtuales.
  • También puede ofrecer varios intérpretes de
    mandatos, unos textuales y otros en modo gráfico.
  • Respecto a la forma en que se estructuran estos
    elementos, se puede distinguir entre SSOO
    monolíticos y estructurados.

26
Componentes y estructura del SO (IV)
Los SSOO monolíticos 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 núcleo. Suelen surgir de SSOO de
pequeño tamaño, que evolucionan al añadir más y
más funcionalidad. Ejemplos MS-DOS y UNIX.
Problemas dificultad para modificarlos para
añadir nuevos servicios, ya que ello supone
bucear entre miles de líneas de código. 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 sólo
usa los servicios de la capa inferior.
27
Componentes y estructura del SO (V)
La principal ventaja radica en la modularidad y
ocultación de la información que ofrecen una
capa no necesita saber cómo es la implementación
de las capas inferiores, sólo su interfaz. En el
modelo cliente/servidor se implementan la mayoría
de los servicios mediante procesos de usuario,
dejando sólo una pequeña parte del SO ejecutando
en modo núcleo (micronúcleo).
Procesos
Procesos
cliente
servidores
Servidor
Servidor de
Servidor de
Modo usuario
Servidor de
Servidor de
Servidor de
de
archivos y
Seguridad
procesos
memoria
la E/S
Comunicac.
directorios
API
API
Micronúcleo
Modo núcleo
Hardware
28
Componentes y estructura del SO (VI)
No hay definición clara de las funciones propias
del micronúcleo y depende de un SO a otro. Suelen
ser gestión de interrupciones, gestión básica de
procesos y de memoria, servicios básicos de
comunicación 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 petición el servidor requiera, a su vez, los
servicios ofrecidos por otros servidores. Ventaja
básica flexibilidad. Cada servidor sólo 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 activación es más lenta.
29
4. Gestión de procesos
30
Gestión de procesos (I)
El gestor de procesos es un elemento esencial en
cualquier SO. Proceso programa en ejecución. No
hay que confundir programa con proceso. Programa
conjunto de instrucciones máquina Proceso
programa en ejecución Por ejemplo, varios
procesos podrían ejecutar el mismo programa.Para
que un programa pueda ejecutar ha de residir en
MP.
31
Gestión de procesos (II)
Al contenido de los segmentos de memoria en que
residen el código y los datos se denomina imagen
de memoria del proceso. Durante la ejecución, 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 características, 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 gestión de los
procesos y de los posibles interbloqueos que
pueden surgir cuando los procesos comparten
recursos comunes.
32
Gestión de procesos (III)
  • Dependiendo del número de procesos y usuarios que
    puedan ejecutar simultáneamente, 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
    simultánea desde diferentes terminales. Cada
    usuario puede tener más de un proceso activo. En
    este caso sería 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)

33
Gestión de procesos (IV)
  • Los servicios ofrecidos por los SSOO respecto a
    la gestión 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 ejecución de un proceso
  • Cambiar el programa que ejecuta un proceso

34
5. Gestión de memoria
35
Gestión de memoria (I)
  • Memoria vector enorme de palabras o bytes, cada
    uno con su propia dirección.
  • Compartido por UCP y dispositivos E/S.
  • Volátil 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 quién las está usando.
  • Decidir qué procesos se deben cargar, y dónde,
    cuando hay memoria disponible.
  • Asignar y liberar espacio de memoria cuando sea
    necesario.
  • Ofrecer servicios para que los procesos puedan
    compartir memoria.

36
Gestión de memoria (II)
  • Los servicios ofrecidos por los SSOO respecto a
    la gestión de memoria son
  • solicitar memoria de forma que los programas
    puedan aumentar el espacio destinado a ejecución
  • liberar memoria el espacio que un proceso ya no
    va a usar más se pondrá en estado de disponible
    para que otros puedan usarlo
  • compartición de memoria como forma de
    comunicación de procesos que colaboran en la
    realización de alguna tarea

37
6. Comunicación y sincronización de procesos
38
Comunicación y sincronización de procesos (I)
Comunicación entre procesos necesaria si se
desea que varios procesos puedan colaborar para
realizar una misma tarea. Sincronización
funcionamiento coordinado en la resolución de una
tarea encomendada. El SO ofrece mecanismos
básicos de comunicación, 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 comunicación y
sincronización son dinámicos. Es decir, cuando se
necesita un mecanismo de este estilo, se crea,
usa y destruye, de forma que no se establezca de
forma definitiva ningún mecanismo de
comunicación, ya que ellos podría producir
efectos indeseados. Es decir, la comunicación es
algo puntual.
39
Comunicación y sincronización de procesos (II)
40
Comunicación y sincronización de procesos (III)
  • Los servicios básicos de comunicación son
  • crear el proceso solicita la creación del
    mecanismo
  • enviar o escribir el proceso emisor envía
    información al proceso receptor
  • recibir o leer el proceso receptor recibe
    información
  • destruir el proceso solicita la destrucción del
    mecanismo de comunicación
  • La comunicación puede ser síncrona y asíncrona
  • síncrona los dos procesos han de ejecutar
    servicios de forma simultánea. El emisor ha de
    ejecutar el servicio enviar mientras el receptor
    ejecuta recibir
  • asíncrona el emisor hace el envío y prosigue su
    ejecución. El SO ofrece un almacenamiento
    intermedio para guardar la información enviada,
    hasta que el receptor la solicite.

41
Comunicación y sincronización de procesos (IV)
Esquema de sincronización síncrona
42
Comunicación y sincronización de procesos (V)
  • En cuanto a los servicios de sincronización, se
    suelen incluir los siguientes
  • crear el proceso solicita la creación del
    mecanismo
  • bloquear el proceso se bloquea hasta que ocurra
    un determinado evento
  • despertar permite despertar a un proceso
    bloqueado
  • destruir el proceso solicita la destrucción del
    mecanismo

43
7. Gestión de E/S
44
Gestión de E/S (I)
  • El gestor de E/S debe controlar el funcionamiento
    de los dispositivos de E/S, para lograr
  • facilitar el manejo de los dispositivos
    periféricos interfaz sencilla y única, control
    de errores
  • mecanismos de protección
  • 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 carácter u orientados a
    bloque.

45
8. Gestión de archivos y directorios
46
Gestión de archivos y directorios (I)
  • Archivo conjunto de información lógicamente
    relacionada y definida por su creador.
  • Directorio conjunto de identificadores lógicos
    de archivos, relacionados con sus identificadores
    internos del SO.
  • El servidor de archivos tendrá por objetivo
  • facilitar el manejo de los dispositivos
    periféricos de almacenamiento
  • proteger a los usuarios, poniendo limitaciones a
    los archivos que pueden manipular (para evitar
    uso de recursos e información ajenos)

47
Gestión de archivos y directorios (II)
El servidor de archivos ofrece al usuario una
visión lógica, compuesta por elementos (archivos
y directorios) identificables por un nombre y
sobre los que se pueden realizar ciertas
operaciones. Cabe distinguir entre visión lógica
y visión física de archivos y directorios. La
visión física tiene que ver con los detalles de
la forma en que se almacena esa información en
los periféricos en que residen. La visión lógica
permite ignorar los detalles reales de
almacenamiento de la información y tratar
archivos y directorios como si fuesen unidades
lógicas de información (de ahí visión lógica).
48
Gestión de archivos y directorios (III)
Contenidos, datos, relaciones entre
datos, operaciones sobre conjuntos de datos
Sectores, pistas, cabezas lectoras, tablas de
ubicación, etc MS-DOS FAT UNIX i-node
49
Gestión de archivos y directorios (IV)
Visión Lógica
Posición
Visión Física
Archivo A
1
4
2
5
3
6
Bloques
13
20
7
10
8
11
9
12
1
13
16
14
17
15
18
8
3
19
22
20
23
21
24
16
19
25
28
26
29
27
30
Bloques de la Unidad de Disco
50
Gestión de archivos y directorios (V)
  • Cada archivo dispone de información asociada,
    entre la que podemos distinguir
  • tipo de archivo (datos, ejecutable, etc)
  • propietario (usuario que lo creó y grupo al que
    pertenece)
  • tamaño
  • eventos importantes instante de creación, última
    modificación, último acceso
  • Derechos de acceso
  • Las operaciones sobre archivos ofrecidas por el
    SO se refieren a la visión lógica. La solución
    más normal suele consistir en ofrecer al usuario
    el archivo como un vector de bytes o caracteres

51
Gestión de archivos y directorios (VI)
  • Los datos relativos a la visión física del
    archivo han de residir en el propio dispositivo
    de almacenamiento, de forma que el dispositivo
    pueda llevarse de una máquina a otra. El servidor
    de archivos debe ser capaz de interpretar las
    estructuras asociadas a la visión física,
    liberando a los programas del usuario de esta
    labor.
  • Los servicios ofrecidos por el servidor de
    archivos son
  • crear archivo se crea un archivo vacío. Exige
    interpretar el nombre para ver si es correcto y
    si el usuario puede hacer sobre él las
    operaciones indicadas en la marca de creación. 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 operación pertinente. Se necesita
    el descriptor o identificador del archivo

52
Gestión de archivos y directorios (VII)
  • cerrar archivo se elimina el identificador
    obtenido en la apertura o creación de un archivo
  • borrar archivo elimina la información almacena y
    se liberan los recursos correspondientes
  • Un directorio es un objeto que relaciona de forma
    unívoca nombres y archivos. Por tanto, sirve para
    organizar e identificar archivos. Respecto a los
    directorios también puede distinguirse entre
    visión lógica y física.
  • visión lógica esquema jerárquico de nombres
    (transparencia siguiente)
  • visión física estructuras de información que
    permiten relacionar cada nombre lógico con la
    descripción física del correspondiente archivo.
    En esencia, tabla con pares nombre-identificador
    para cada subdirectorio

53
Gestión de archivos y directorios (VIII)
  • nombre nombre del archivo
  • identificador información para localizar la
    descripción física del archivo

54
Gestión de archivos y directorios (IX)
  • Ventaja del esquema jerárquico permite gestión
    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 información sobre
    sus entradas
  • cerrar directorio cierra y libera el
    identificador obtenido en la operación de
    apertura, así como los recursos correspondientes
  • SISTEMA DE ARCHIVOS conjunto de archivos
    incluidos en las unidades de disco (datos de
    archivos información auxiliar gestión o
    metainformación)

55
Gestión de archivos y directorios (X)
  • Metainformación
  • estructura física de los archivos i-nodos, FAT,
    etc
  • directorios
  • estructura física del sistema de archivos
    (superbloque en UNIX, por ejemplo)
  • estructura de la información 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, metainformación y datos.
    Normalmente las tablas de directorios se
    almacenan también como archivos especiales,
    compitiendo con los archivos de datos por los
    bloques disponibles del dispositivo de
    almacenamiento.

56
9. Seguridad y protección
57
Seguridad y protección (I)
Seguridad garantizar la identidad de los
usuarios (autenticación) y definir las
operaciones permitidas para cada uno de ellos
(privilegios). Autenticación determinar que un
usuario (persona, servicio, computador) sea quien
dice ser. Usualmente los mecanismos de
autenticación 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 información 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
58
Seguridad y protección (II)
  • b) información 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 protección debe
  • distinguir uso autorizado/no autorizado
  • especificar los controles de acceso a realizar
  • ofrecer métodos de control de acceso

59
10. Activación del SO
60
Activación del SO (I)
El SO ha de verse como un servidor a la espera de
recibir órdenes de trabajo.
n
ó
Proceso A
i
Se solicita el SO
c
u
c
Salva el estado del proceso A
e
j
e
Sistema
Realiza la función pedida

a
operativo
l

a
Planificador
z
n
Activador
a
v
A
Proceso B
61
Activación 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 periféricos
  • condiciones de excepción 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 núcleo, por lo que la activación
    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
  • nfork()

62
Activación del SO (III)
  • lo que ocurre es
  • la función fork solicitará el servicio
    correspondiente al SO (el servicio de creación de
    un nuevo proceso), para lo que prepara los
    parámetros necesarios para el servicio
  • se genera una instrucción TRAP, para dar paso al
    SO
  • una vez el SO finaliza, se recuperan los
    parámetros devueltos el SO, para pasarlos al
    programa en que se usa fork
  • IMPORTANTE fork no es el servicio del sistema
    operativo, sino una función que permite acceder
    al mismo

63
Activación del SO (IV)
64
11. Interfaz del programador
65
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 visión que como máquina extendida
    tiene el usuario del SO. Las dos interfaces más
    usadas son POSIX y Win32
  • POSIX estándar de interfaz de sistemas
    operativos portables, de IEEE, basado en el SO
    UNIX. Se trata de una especificación estándar, no
    de una implementación. Así los SSOO pueden
    adherirse al estándar implementando los servicios
    de diferente manera.
  • Alguna de sus características son
  • - algunos tipos de datos usados por la funciones
    no se definen como parte del estándar, sino en la
    implementación

66
Interfaz del programador (II)
  • los nombres de las funciones son cortos y con
    todas las letras en minúscula read, fork, close,
    etc
  • las funciones devuelven normalmente 0 en caso de
    éxito y 1 en caso de fracaso
  • la mayoría de los recursos gestionados por el SO
    se referencian mediante descriptores
  • B) Win32 servicios ofrecidos por Windows
    95/98/NT/2000. No es un estándar genérico, sino
    los servicios ofrecidos por Microsoft.
  • Características
  • - todos los recursos gestionados por el SO se
    tratan como objetos, que se referencian mediante
    manejadores (similares a los descriptores) (se
    sigue la filosofía de orientación a objetos,
    aunque Win32 no es orientado a objetos)

67
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

68
12. Interfaz de usuario del SO
69
Interfaz de usuario del SO (I)
El usuario necesita interactuar con el SO para
ejecutar programas, borrar archivos, etcPara que
esta relación pueda llevarse a cabo los SSOO
ofrecen interfaces de usuario. Hay que tener en
cuanta que la mayoría de los usuarios jamás 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 evolución
sufrida por las interfaces de usuario está muy
relacionada con el aumento en el número de
usuarios, de diversa índole (no todos son
expertos en informática). Por esta razón se ha
tendido a simplificar la interfaz, de forma que
el trabajo con el SO sea lo más sencillo posible
para los usuarios. También se ha evolucionado de
interfaces integradas en el núcleo a interfaces
externas. Este segundo enfoque es más seguro y
permite disponer de varias interfaces para un
mismo SO.
70
Interfaz de usuario del SO (II)
  • Entre las funciones básicas de la interfaz de
    usuario podemos citar
  • permitir acceso de los usuarios (o denegar)
  • manipulación de archivos y directorios
  • ejecución de programas
  • herramientas de desarrollo de aplicaciones
  • comunicación con otros sistemas
  • información de estado del sistema (fecha, hora,
    usuarios conectados, memoria disponible, uso de
    CPU, etc)
  • configuración de la interfaz y del entorno
    (entorno geográfico, idioma, fuentes, etc)
  • intercambio de datos entre aplicaciones (local)
  • control de acceso a los recursos
  • sistemas de ayuda interactivos
  • Algunas interfaces serán específicas para
    administradores del sistema

71
Interfaz de usuario del SO (III)
Cabe distinguir entre interfaces alfanuméricas
(consola DOS, UNIX) e interfaces gráficas
(Windows, Desktop, etc)
72
13. Historia de los SSOO
73
Historia de los SSOO (I)
  • Funcionalidad del SO estrechamente ligada al
    hardware subyacente. Relación entre SSOO y
    Arquitectura. Por ello, la historia de los SSOO
    está asociada a la historia del hardware
  • PREHISTORIA
  • Años 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

74
Historia de los SSOO (I)
  • Primera generación
  • Años 50
  • Aparición de los SSOO
  • Trabajo en serie
  • Problema básico 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
    ejecutarán uno tras otro. Este modo de
    funcionamiento minimiza el tiempo de montaje

75
Historia de los SSOO (II)
  • Segunda generación
  • Años 60
  • Objetivo mejora de explotación de máquinas muy
    caras
  • imposición de la multiprogramación como forma de
    aprovechar el tiempo usado por las operaciones de
    E/S (varios trabajos simultáneamente en MP)
  • Aparición de multiprocesadores
  • Aparición concepto de independencia de
    dispositivo. El usuario no ha de especificar
    dispositivos concretos, sino que se limita a
    indicar la operación que precisa y el SO asigna
    de forma dinámica el dispositivo que realizará
    dicha tarea
  • Tiempo compartido reparto de CPU entre procesos
    activos
  • Primeros sistemas de tiempo real

76
Historia de los SSOO (III)
  • Cuarta generación
  • Años 70
  • SSOO de propósito general. Varios modos de
    operación lotes, multiprogramación, 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 generación
  • Años 80, actualidad
  • Más importancia a la productividad del usuario
    que al aprovechamiento de la máquina
  • Sistemas distribuidos
  • Máquina virtual
  • Gestores de ventanas
Write a Comment
User Comments (0)
About PowerShow.com