Download Introducción.

Document related concepts

Sistema operativo wikipedia , lookup

Memoria virtual wikipedia , lookup

Núcleo (informática) wikipedia , lookup

Anillo (seguridad informática) wikipedia , lookup

Proceso de arranque en Linux wikipedia , lookup

Transcript
Introducción.
Sistemas Operativos.
Tema 1.
Sistemas Operativos (IS11) – Tema 1
1
Concepto y definición de Sistema Operativo.
• Sistema informático (S.I.) se divide en cuatro partes:
•
•
•
•
Hardware.
Sistema Operativo.
Programas de Aplicación.
Usuarios.
Sistemas Operativos (IS11) – Tema 1
2
1
Concepto y definición de Sistema Operativo.
• Hardware (Hw):
– Proporciona recursos básicos del S.I.:
– El procesador, Memoria, Dispositivos E/S).
• Sistema Operativo (SO):
– Es un programa.
– Sirve de intermediario o interfaz entre usuarios y programas
de aplicación-hardware.
– Puede verse como un entorno para ejecutar programas.
• Programas de Aplicación:
– Aplicaciones concretas (para resolver los problemas de
computación de los usuarios.
– Demandan servicios del S.O. mediante llamadas al sistema).
• Usuarios:
– Entes que hacen uso del computador (personas, otras
computadoras y máquinas que pueden hacer un servicio del
mismo).
Sistemas Operativos (IS11) – Tema 1
3
Concepto y definición de Sistema Operativo.
• Objetivos del S.O.:
– Incrementar la productividad de usuarios (facilitando el uso).
• Proporciona entorno cómodo y abstracción del Hw al
usuario.
– Optimizar la utilización de los componentes o recursos hardware.
Objetivos a menudo contradictorios.
• S.O. puede considerarse gestor de recursos (HW y SW)
del S.I.. Realiza tareas como:
– Decidir quién, cuándo, durante cuánto tiempo se usa un recurso.
– Resolver conflictos entre demandas concurrentes de recursos,
preservando la integridad del sistema.
– Maximizar el rendimiento del S.I..
• Es difícil de definir el concepto de S.O..
Sistemas Operativos (IS11) – Tema 1
4
2
Conceptos básicos.
• El S.O. puede considerarse como un interfaz entre Hw y
Sw:
• La evolución de los S.O. va muy ligada a la del hardware.
• Para entender mejor el concepto de S.O.:
– Veremos una evolución histórica del desarrollo de los S.O. en
los siguientes apartados:
• Monitores.
• Sistemas Batch (por lotes).
• Multiprogramación.
• Tiempo Compartido.
• Tiempo Real.
Sistemas Operativos (IS11) – Tema 1
5
Los Primeros Sistemas.
• La máquina desnuda:
– Inicialmente sólo existía el hardware del computador (no S.O.).
– El desarrollo de programas consistía en:
• Traducción manual de instrucciones en binario, octal o
hexadecimal.
• Arranque del programa cargando el contador de programa
con la dirección de la primera instrucción.
• El programador (usuario) realizaba el control de
dispositivos de manera directa a través de puertos de E/S.
• Para extraer los resultados se examinan los contenidos de
registros y memoria.
• Control interactivo de la ejecución:
– El usuario estaba delante.
– Vigilaba la existencia de errores en la ejecución.
– Si existían podía detener el programa, examinar memoria y
registros, depurando el programa en la consola.
Sistemas Operativos (IS11) – Tema 1
6
3
Los Primeros Sistemas.
– El usuario actuaba de operador del sistema:
• Había una lista con los tiempos ocupados y libres.
• Se apuntaba en la lista.
– Estos sistemas se caracterizaban por una productividad
muy baja del usuario y hardware.
Sistemas Operativos (IS11) – Tema 1
7
Los Primeros Sistemas.
• El procesamiento serie:
– Se desarrolla hardware y software adicionales:
• Se popularizan lectores de tarjetas, impresoras de líneas y
cintas magnéticas.
• Se diseñan ensambladores, cargadores y linkers. Se crean
bibliotecas de funciones comunes.
• Cada dispositivo de E/S tiene características especiales. Se
programan subrrutinas especiales, manejadores de
dispositivos, (device driver), facilitan tareas tales como
escribir o leer un carácter.
Sistemas Operativos (IS11) – Tema 1
8
4
Los Primeros Sistemas.
• Aparecen compiladores (FORTRAN, COBOL, etc.):
– Se facilita la tarea del programador.
– Se hace más complejo el funcionamiento del computador.
Ejecutar un programa supone:
• Montar el compilador, que esta en una cinta.
• Cargar el compilador en memoria.
• Pasar el programa fuente de la lectora de tarjetas a cinta
magnética.
• Montar la cinta con el programa.
• El compilador pasa el programa fuente a lenguaje
ensamblador.
• Montar la cinta con el ensamblador.
• Montar la cinta con las rutinas de la biblioteca.
• Se obtiene el código binario listo para ejecución que se carga
en memoria.
Sistemas Operativos (IS11) – Tema 1
9
Los Primeros Sistemas.
– Existía un forma rudimentaria de S.O.:
– Los manejadores de dispositivo.
– El cargador: programa que transfiere la información de cinta
a memoria e inicia la ejecución del programa.
– Sigue existiendo baja productividad del usuario y
hardware.
Sistemas Operativos (IS11) – Tema 1
10
5
Sistemas por lotes (“batch”): uso de Monitores.
• Para reducir el tiempo de preparación de los trabajos:
– Se incorpora un operador que trabaja en la consola:
• Cuando acaba un proceso comenzaba el siguiente.
• Se reducía el tiempo de preparación (operador profesional).
• La depuración se hacía con un volcado de memoria y
registros fuera de la consola.
– Los trabajos con requisitos semejantes se agrupaban en lotes:
• Sólo hace falta cargar el compilador una vez.
• Las operaciones las sigue haciendo el operador.
• Mejora el rendimiento del sistema
• Posteriormente, se introduce el secuenciador
automático de trabajos, un programa llamado monitor
residente (en memoria).
Sistemas Operativos (IS11) – Tema 1
11
Monitores.
– El monitor residente:
• Transfiere automáticamente el control de un programa al
proceso, este lo devuelve al monitor y así sucesivamente.
• Formado por: interprete de tarjetas de control, cargador de
memoria, manejadores de dispositivos de E/S.
• Para indicar al monitor qué programa ha de ejecutar se
crean unas tarjetas de control:
– $JOB 10, 429754, CARLOS HERNANDEZ
– $FORTRAN
$ASM
$RUN
$END
• El monitor es un S.O. rudimentario.
Sistemas Operativos (IS11) – Tema 1
12
6
Operaciones fuera de línea (off-line).
• La secuenciación automática de trabajos realizada por
un monitor funciona ON-LINE:
– La CPU lee de:
• La lectora de tarjetas.
• La unidad de cinta del sistema.
• Problema: La CPU es mucho más rápida que la lectora
de tarjetas.
– Ejemplo:
• Un ensamblador o compilador puede procesar 300 tarj./s.
• Un lector de tarjetas rápido puede leer 20 tarj./s.
• Para un trabajo de 1200 tarjetas tendríamos:
– 60 seg. de lectura de tarjetas. 4 segundos de uso de CPU.
– 56 de 60 seg. CPU inactiva. 93,3% del tiempo.
Sistemas Operativos (IS11) – Tema 1
13
Operaciones fuera de línea (off-line).
• Solución: Operación fuera de línea.
– La CPU lee de cintas magnéticas (dispositivos de E/S más
rápidos).
– Los lectores de tarjetas e impresoras operan fuera de línea.
Intercambian sus datos con cintas. Su funcionamiento es
independiente de la CPU.
Sistemas Operativos (IS11) – Tema 1
14
7
Operaciones fuera de línea (off-line).
– Ventajas del funcionamiento off-line:
1.- La CPU depende de la velocidad de cintas (más
rápidas).
2.- Los programas usan dispositivos E/S lógicos, para
conseguir independencia del hardware (tarjetas, cinta)
conectado a la CPU. El sistema utiliza el manejador de
dispositivo correspondiente ante una E/S.
3.- Se puede utilizar más de un sistema lector-cinta y cintaimpresora para una misma CPU. Equilibrando velocidades.
Sistemas Operativos (IS11) – Tema 1
15
Almacenamiento temporal (buffers y spoolers).
• Buffer:
– Método para hacer simultánea la E/S de un trabajo con su
propio computo.
Unidad
de entrada
Buffer
lectura
CPU
Buffer
escritura
Unidad
de salida
• Funcionamiento:
– Se lee un elemento a la entrada y se coloca en el buffer.
– La CPU está lista y opera con él.
– Simultáneamente comienza la próxima lectura y se acumula en
el buffer.
Sistemas Operativos (IS11) – Tema 1
16
8
Almacenamiento temporal (buffers y spoolers).
• Situaciones provocadas por las diferencias relativas
entre los tiempos de procesamiento y E/S:
1.- Si la velocidad de procesamiento medio CPU = velocidad
de dispositivos, ambos funcionan a medio rendimiento.
2.- Si la CPU es mucho más rápida que los dispositivos o las
aplicaciones poseen una gran proporción de operaciones de
E/S. La CPU vaciará rápidamente el buffer de entrada y
deberá esperar.
3.- Si la CPU es más lenta, o los programas efectúan mucho
computo, los buffers de entrada estarán usualmente llenos y
los de salida vacíos.
Sistemas Operativos (IS11) – Tema 1
17
Almacenamiento temporal (buffers y spoolers).
• El manejo de buffers es generalmente una función del
sistema operativo:
– El monitor residente o los manejadores de dispositivos incluyen
buffers del sistema para cada dispositivo de E/S.
– Una llamada a la subrrutina del manejador de dispositivo
provoca una lectura (transferencia) de o hacia un buffer del
sistema.
• Spoolers (Simultaneous Peripheral Operation On-Line):
– Surge con la aparición de discos que permiten un rápido acceso
aleatorio (el disco como buffer de gran tamaño).
– La lectora de cintas tenía el problema de que no podrá escribir
por un extremo mientras la CPU leía por otro.
Sistemas Operativos (IS11) – Tema 1
18
9
Almacenamiento temporal (buffers y spoolers).
– El funcionamiento de la técnica de spooling (SpoolSimultaneous Peripherical Operations On-Line).
• Se pasa el contenido de las tarjetas a discos.
• El S.O. mantiene una tabla que indica la posición de las
imágenes de las tarjetas en disco.
• Al ejecutar un trabajo, las entradas y salidas se efectúan
desde disco.
Sistemas Operativos (IS11) – Tema 1
19
Almacenamiento temporal (buffers y spoolers).
– Surge una estructura de datos muy importante:
• Un depósito de trabajos (job spool). Esto permite al S.O.
seleccionar cuál será el siguiente trabajo por ejecutar para
así incrementar la utilización de la CPU. Es un primer
ejemplo de planificación de trabajos.
– Diferencias entre buffers y spoolers:
• Buffers: permite el solapamiento de la ejecución de un
trabajo con su propia E/S.
• Spoolers: permite superponer la E/S y los cálculos de
varios trabajos diferentes.
Sistemas Operativos (IS11) – Tema 1
20
10
Multiprogramación.
• Surge una nueva técnica para obtener un mayor
aprovechamiento (rendimiento) de la CPU.
– Ejemplo:
• En cualquier trabajo que se ejecuta en un determinado
momento habrá que esperar a que se introduzca un mandato
por el teclado o se realice una operación de E/S.
– En un sistema monoprogramado: Durante este tiempo la
CPU espera y queda ociosa.
– En un sistema multiprogramado: El sistema operativo
cambia a otro proceso y lo ejecuta, y así sucesivamente.
Sistemas Operativos (IS11) – Tema 1
21
Multiprogramación.
• En un sistema operativo multiprogramado
necesitaremos:
– El sistema conserva varios trabajos en memoria al mismo
tiempo para permitir la conmutación.
– Para ello se necesita alguna forma de administración de
memoria. (gestor de memoria)
– Se necesita una planificación de la CPU. Para elegir que trabajo
ha de ejecutarse. (gestor de procesos:planificación, cambio de
contexto)
– Necesita limitar la posibilidad de que un trabajo interfiera a
otro. (protección entre procesos)
Sistemas Operativos (IS11) – Tema 1
22
11
Tiempo compartido.
Posteriormente aparecen:
• Sistemas interactivos:
– Proporciona comunicación directa entre el usuario y el sistema .
– El usuario da instrucciones al S.O. o al programa directamente.
– La entrada usualmente se efectúa por un teclado y la salida por
una pantalla.
• Sistemas de tiempo compartido:
– Son una combinación de sistemas interactivos y
multiprogramados (se vuelve a la concepción de las primeras
máquinas programador-operador pero con mayor productividad
del S.I.).
– La CPU ejecuta diversas tareas alternando entre ellas con
cambios muy frecuentes.
– El usuario tiene la sensación de “poseer su propio computador”
y puede trabajar interactivamente.
Sistemas Operativos (IS11) – Tema 1
23
Sistemas Distribuidos.
• Sistemas distribuidos:
– Tienen varias CPUs y distribuyen los cálculos entre ellos.
– Existen dos esquemas básicos para su construcción.
• Sistemas fuertemente acoplados: los procesadores
comparten la memoria y un reloj, y la comunicación se
lleva a cabo a través de la memoria compartida.
• Sistemas débilmente acoplados: los procesadores no
comparten ni memoria ni reloj, se comunican a través de
líneas de comunicación (canales de alta velocidad o redes
de computadoras).
Sistemas Operativos (IS11) – Tema 1
24
12
Sistemas Distribuidos.
• Varias razones para construir sistemas distribuidos:
– Compartición de recursos:
• Impresoras, dispositivos de almacenamiento, etc.
– Incremento de la velocidad de los cálculos:
• Si un trabajo determinado puede dividirse en varios
subtrabajos que se ejecutan concurrentemente. Un sistema
distribuido permite distribuir instalaciones y ejecutarlos
concurrentemente.
– Incremento de la fiabilidad: Confiabilidad:
• Si falla una instalación en un sistema distribuido, las
restantes pueden, en principio, continuar operando.
Sistemas Operativos (IS11) – Tema 1
25
Sistemas Distribuidos.
• El S.O. de un sistema distribuido debe resolver
problemas como los siguientes:
– Sincronización y comunicación entre procesadores.
– Tolerancia a fallos.
– Distribución de trabajo y aprovechamiento del S.I.
(distribución de cargas entre diferentes procesadores).
Sistemas Operativos (IS11) – Tema 1
26
13
Tiempo real.
• Sistemas operativos en tiempo real:
– Suelen usarse en el control de actividades. Ejemplos:
• Sistemas que controlan experimentos científicos.
• Sistemas médicos de visualización.
• Sistemas de control industrial.
• Algunos sistemas gráficos.
– Un sistema operativo en tiempo real tiene restricciones
temporales definidas, el procesamiento debe llevarse a cabo
dentro de los límites definidos o el sistema fallará.
– Las restricciones temporales influyen en los recursos
hardware de que normalmente se dispone (no suele haber
almacenamiento secundario etc.).
– Las características más avanzadas de los sistemas operativos
suelen estar ausentes si suponen incertidumbre sobre el
tiempo que requerirá una operación.
Sistemas Operativos (IS11) – Tema 1
27
Estructura de los sistemas operativos.
• Un sistema operativo es un programa complejo:
– Para diseñarlo se divide en pequeños módulos (componentes):
Cada uno de ellos es una porción bien definida del sistema y
tiene una función determinada.
– Se crea una interfaz bien definida entre estos módulos.
• No todos los sistemas operativos tienen los mismos
componentes. Suelen ser comunes los siguientes:
–
–
–
–
–
–
–
–
Administrador de procesos.
Administrador de la memoria principal.
Administración de almacenamiento secundario.
Administrador del sistema de E/S.
Administrador de archivos o ficheros.
Sistema de protección.
Redes (gestor de red).
Sistema interprete de comandos.
Sistemas Operativos (IS11) – Tema 1
28
14
Estructura de los sistemas operativos.
• Administración de procesos:
– La idea básica de un proceso es la de un programa en
ejecución:
• Un programa de usuario de tiempo compartido.
• Una tarea del sistema operativo.
– En general, se suele pretender que puedan haber varios
procesos ejecutandose en el sistema .
– Un proceso necesitará determinados recursos para poder
ejecutarse:
• Tiempo de CPU.
• Memoria.
• Archivos.
• Dispositivos de E/S.
Sistemas Operativos (IS11) – Tema 1
29
Estructura de los sistemas operativos.
– El sistema operativo realiza las siguientes tareas de
administración de procesos:
•
•
•
•
•
•
Crear y eliminar los procesos de usuario y sistema.
Asignar recursos a los procesos.
Suspender y reanudar la ejecución de los procesos.
Proporcionar mecanismos de sincronización de procesos.
Proporcionar mecanismos de comunicación entre procesos.
Proporcionar mecanismos para la prevención de bloqueos
(manejo de bloqueos mutuos).
Sistemas Operativos (IS11) – Tema 1
30
15
Estructura de los sistemas operativos.
• Administración de la memoria principal:
– La memoria: “deposito” de datos de acceso rápido, compartido
por la CPU y dispositivos de E/S.
• La CPU: lee instrucciones de la memoria y escribe y lee
datos de la memoria.
• Los dispositivos de E/S: leen y escriben datos en memoria
mediante DMA
• Memoria como sucesión de celdas (bytes, palabras) cada
una con su dirección.
– Para ejecutar un programa:
• Convertir direcciones relativas en absolutas y
• Cargarlo en memoria.
– Cuando la ejecución del programa termina:
• Se debe liberar el espacio en memoria que ocupaba.
Sistemas Operativos (IS11) – Tema 1
31
Estructura de los sistemas operativos.
– El sistema operativo es responsable de las siguientes tareas de
administración de memoria:
• Controlar que zonas de memoria (celdas libres y ocupadas)
se están usando y quién las usa (habrá varios programas
ejecutandose en memoria).
• Decidir que procesos se cargaran en memoria cuando haya
espacio.
• Asignar y recuperar el espacio de memoria.
– Existen varias formas de administración de memoria y su
eficacia del diseño del hardware del sistema.
Sistemas Operativos (IS11) – Tema 1
32
16
Estructura de los sistemas operativos.
• Administración del almacenamiento secundario
(respaldo a la memoria principal):
– Las unidades de almacenamiento secundario (discos):
• Almacenan programas que se ejecutarán cargandolos en
memoria principal (memoria limitada).
• Almacenan datos (puede ser fuente y destino de un
proceso).
– El sistema operativo realizará tareas de administración de
procesos como:
• Administración del espacio libre.
• Asignación del almacenamiento (asignación y liberación).
• Planificación de operaciones sobre discos.
Sistemas Operativos (IS11) – Tema 1
33
Estructura de los sistemas operativos.
• Administración del sistema de E/S:
– Para optimizar la productividad del usuario:
• Se ocultan las particularidades del dispositivo hardware de
E/S.
– Por ejemplo, en UNIX se utiliza un sistema de E/S:
• Un sistema de memoria cache (buffer).
• Una interfaz general con manejadores de dispositivos.
• Manejadores para dispositivos de hardware específicos
(utiliza particularidades del dispositivo al cual está
asignado).
Sistemas Operativos (IS11) – Tema 1
34
17
Estructura de los sistemas operativos.
• Administración de archivos:
– Pueden haber distintos tipos de dispositivos de
almacenamiento: sus características y organización física
varían.
– El S.O. proporciona una forma lógica y uniforme de
almacenamiento de la información. La unidad de
almacenamiento es el fichero.
– Los archivos o ficheros se organizan en directorios para
facilitar su uso.
– El S.O. hace las siguientes tareas de administr. de archivos:
• La creación y eliminación de archivos.
• La creación y eliminación de directorios.
• El manejo de operaciones primitivas para manipular
archivos y directorios.
• La correspondencia entre archivos y almacenamiento
secundario (mapeado de archivos entre memoria y al.sec).
Sistemas Operativos (IS11) – Tema 1
35
Estructura de los sistemas operativos.
• Sistema de protección:
– Protección consiste en:
• Mecanismos para controlar el acceso de programas,
procesos o usuarios a los recursos de un S.I.
• Un recurso desprotegido no puede “defenderse “ del uso (o
abuso) de un usuario (autorizado o no).
• Ejemplo: Permisos de archivos y directorios en UNIX.
– Función del SO
• Determinar si el acceso está o no permitido
• Determinar los controles a realizar
Sistemas Operativos (IS11) – Tema 1
36
18
Estructura de los sistemas operativos.
• Gestión de Redes:
– Concepto de Sistema distribuido:
• Puede ser un conjunto de procesadores que no comparten ni
reloj. ni memoria. Se comunican a través de una red de
comunicaciones.
• Permiten el acceso a los recursos entre nodos
interconectados que tiene el sistema de forma compartida.
– El S.O.:
• Suele generalizar el acceso a red como una forma del
acceso a archivos.
• Los detalles de la red se incluyen en el manejador del
interfaz de red.
Sistemas Operativos (IS11) – Tema 1
37
Estructura de los sistemas operativos.
• Interprete de comandos:
– Se suele proporcionar mandatos u ordenes al S.O. por medio de
enunciados de control.
• Ejemplo: Las tarjetas de control de un monitor residente.
– El interprete de mandatos tiene como misión:
• Leer u obtener el siguiente mandato.
• Ejecutarlo.
– Es uno de los programas más importantes del S.O.:
• Un interprete fácil de usar hace más agradable al S.I.. al
usuario.
– Los hay:
• Gráficos: Mac, Windows.
• Los mandatos se introducen mediante teclado: Los Shells
de UNIX.
Sistemas Operativos (IS11) – Tema 1
38
19
Estructura de los sistemas operativos.
– Los mandatos pueden realizar tareas de:
• Administración de procesos.
• Manejo de E/S.
• Administración de almacenamiento secundario.
• Administración de memoria principal.
• Acceso al sistema de archivos.
• Protección y Redes.
Hasta aquí hemos analizado los componentes de un SO. Pasemos
a ver la clasificación de los SO en función de su estructura
(Taxonomía de los SO)
Sistemas Operativos (IS11) – Tema 1
39
Estructura de los sistemas operativos.
• Estructura del S.O.:
– Los componentes descritos se interconectan entre sí para
formar el S.O.
– A los componentes que existen y su forma de interconexión se
le denomina estructura del S.O.
– Tipos de estructuras (monolítica y por capas o jerárquica):
• Estructura simple o monolítica:
– No hay estructura.
– El S.O. se escribe como un conjunto de procedimientos que
pueden llamarse todos entre sí cuando lo necesitan.
– Cada procedimiento tiene una interfaz bien definida en
cuanto a parámetros y resultados.
– Dentro del S.O. no hay ocultación de información, todos los
procedimientos son visibles para los demás.
– Ejemplo: MS-DOS.
Sistemas Operativos (IS11) – Tema 1
40
20
Estructura de los sistemas operativos.
– Estructura multinivel por capas o jerárquica:
• Es una organización modular o por niveles jerárquicos del
S.O.:
– El nivel inferior o capa 0 sería el hardware.
– Una capa o nivel M:
• Será un conjunto de programas con sus estructuras de datos o
rutinas.
• Estos programas pueden usar las rutinas de capas inferiores
(M-1, M-2, etc.).
• Las rutinas o programas que posee la capa M pueden ser
usadas por los programas de las capas superiores (M+1, M+2,
etc.)
• Los niveles superiores no necesitan conocer cómo se
implementan las operaciones de niveles inferiores, sólo lo que
hacen).
Sistemas Operativos (IS11) – Tema 1
41
Estructura de los sistemas operativos.
• Ventajas:
– Se facilita la construcción, verificación del S.O.
• Fácil mantenimiento y detección de errores, si falla un módulo
no se bloquea todo el SO, extensión del SO sencilla
• Desventajas:
– Se necesita una cuidadosa definición de niveles a priori.
¿Qué se coloca en cada nivel o capa?.
Sistemas Operativos (IS11) – Tema 1
42
21
Estructura de los sistemas operativos.
– Ejemplos de estructuras por capas:
Sistemas Operativos (IS11) – Tema 1
43
Servicios de los sistemas operativos.
• Un sistema operativo proporciona un entorno cómodo
para la ejecución de programas:
– Ofrece ciertos servicios para los programas y sus usuarios.
– Varían de un sistema operativo a otro.
• Agrupando los servicios en clases comunes:
Recursos de ayuda al usuario
– Ejecución de programas:
• Cargar un programa en memoria y ejecutarlo.
• Un programa debe poder terminar su ejecución (normal o
anormalmente).
– Operaciones de E/S:
• El S.O. debe ofrecer la posibilidad de ejecutar operaciones
de E/S, ya que, en general, un programa no puede llevarlas
a cabo directamente.
Sistemas Operativos (IS11) – Tema 1
44
22
Servicios de los sistemas operativos.
– Manipulaciones del sistema de archivos:
• Los programas necesitan leer y escribir archivos, crearlos y
eliminarlos.
– Comunicaciones (entre procesos):
• Un proceso puede necesitar compartir información con otro:
– Entre procesos que se ejecutan en el mismo computador.
– Entre procesos que se ejecutan entre distintos computadores
unidos por una red.
• Puede hacerse a través de memoria compartida o paso de
mensajes. (el S.O. mueve paquetes de información entre
procesos).
Sistemas Operativos (IS11) – Tema 1
45
Servicios de los sistemas operativos.
– Detección de errores:
• El sistema operativo debe estar pendiente de posibles
errores: En el hardware, en la memoria y la CPU o en un
programa de usuario.
• Emprender una acción adecuada en función del tipo de
error.
Servicios para asegurar la eficiencia del sistema
– Asignación de recursos:
• Debe asignar recursos (memoria, CPU, almacenamiento
etc.) a cada uno de los usuarios o trabajos que se ejecutan
al mismo tiempo (procesos concurrentes).
– Contabilidad:
• Llevar un control de qué usuarios utilizan el computador,
cuantos recursos y de qué tipo.
• Las anotaciones tienen fines contables o para recopilar
estadísticas de uso.
Sistemas Operativos (IS11) – Tema 1
46
23
Servicios de los sistemas operativos.
– Protección:
• En un sistema multiusuario los dueños de la información
puede que deseen controlar su uso.
• No debe ser posible que un trabajo interfiera con los demás
en su ejecución, ni con el sistema operativo.
Sistemas Operativos (IS11) – Tema 1
47
Petición de servicio. Llamadas al sistema.
• Las llamadas al sistema proporcionan la interfaz entre
sistema operativo y un programa en ejecución.
• Son puertas de acceso a los servicios ofrecidos por el SO,
invocadas por procesos en modo usuario y ejecutadas en
modo supervisor.
• Hay lenguajes como (C), que permiten usar estas
funciones en un programa.
Sistemas Operativos (IS11) – Tema 1
48
24
Petición de servicio. Llamadas al sistema.
• Veamos un ejemplo: llamadas al sistema que utilizaría
un programa que copia datos de un fichero a otro.
– El programa necesita conocer el nombre de los ficheros y le
pregunta al usuario. Necesitamos:
• Llamada al sistema para escribir en la pantalla un mensaje.
• Llamada al sistema para leer del teclado los caracteres de
los nombres de los ficheros.
– Necesita abrir el fichero de entrada y crear el de salida.
• Abrir un fichero es una llamada al sistema.
• Crear un fichero es una llamada al sistema.
• Pueden haber errores:
Sistemas Operativos (IS11) – Tema 1
49
Petición de servicio. Llamadas al sistema.
• El fichero de entrada existe y está permitido el acceso?.
– No:
– Mensaje de error (llamada al sistema).
– El programa se aborta (termina anormalmente (llamada al
sistema)).
• El fichero de salida ya existe?.
– Sí, podemos:
• Terminar el programa anormalmente: Mensaje de error
(llamada al sistema) y abortando el sistema (llamada al
sistema).
• Borrar y crear uno nuevo: Borrar el archivo (llamada al
sistema) y crear uno nuevo (llamada al sistema).
• Preguntar al usuario: Mensaje en pantalla (llamada al sistema),
leeríamos la respuesta teclado (llamada al sistema), etc.
Sistemas Operativos (IS11) – Tema 1
50
25
Petición de servicio. Llamadas al sistema.
– Realizaríamos un bucle de lectura y escritura.
• Escribir en un fichero (llamada al sistema).
• Leer de un fichero (llamada al sistema).
• Condiciones de error:
– Lectura: EOF inesperado etc.
– Escritura: No hay espacio, impresora sin papel etc..
– Terminación:
• Se cierran los archivos (llamada al sistema).
• Mensaje en pantalla (llamada al sistema).
• Termina normalmente el programa (llamada al sistema).
Sistemas Operativos (IS11) – Tema 1
51
Petición de servicio. Llamadas al sistema.
• Los programas pueden hacer uso intensivo del S.O.
– Las interacciones del programa y su entorno suponen
solicitudes del programa al S.O.
• El compilador y el soporte en ejecución ocultan detalles
del interfaz con el S.O.
• En un llamada, en general, se necesita su nombre (la
operación) y parámetros (datos).
• Las llamadas al sistema se pueden agrupar en cinco
grandes grupos:
–
–
–
–
–
Control de procesos y trabajos.
Manipulación de ficheros.
Gestión de dispositivos.
Mantenimiento de información.
Comunicaciones.
Sistemas Operativos (IS11) – Tema 1
52
26
Petición de servicio. Llamadas al sistema.
• Control de procesos y trabajos:
– Un programa debe ser capaz de terminar su ejecución:
• Normalmente (ll. al sist.: end). El S.O. transfiere el control al
interprete de ordenes o a otro programa.
• Anormalmente (LL. Al sist.: abort). El S.O. puede enviar un
mensaje de error, hacer un volcado de memoria y después
continuaría.
– Un programa o proceso puede:
• Cargar o ejecutar otro programa.
• Crear un nuevo proceso y ejecutarlo (concurrentemente).
– Para un nuevo proceso que hemos creado podemos querer:
• Obtener atributos de proceso, establecer atributos de
proceso: prioridades, tiempo máximo de ejecución, etc.
• Terminarlo.
Sistemas Operativos (IS11) – Tema 1
53
Petición de servicio. Llamadas al sistema.
– Podemos querer que un proceso espere a otro:
• Durante un cierto tiempo.
• A que se produzca un suceso. (Los trabajos o procesos
deberán poder indicar que un suceso ha ocurrido).
• Administración de archivos:
–
–
–
–
Crear o eliminar archivos.
Abrir el archivo para poder utilizarlo.
Leer, escribir o reposicionarlo (puntero a la posición leída).
Obtener atributos de archivo o establecer atributos (nombre, tipo
de archivo, códigos de protección, información contable, etc.)
– Con los directorios también se realizan algunos de estas
operaciones.
Sistemas Operativos (IS11) – Tema 1
54
27
Petición de servicio. Llamadas al sistema.
• Administración de dispositivos:
– Su utilización en algunos sistemas operativos suele ser similar a
la de archivos.
– Deberemos de solicitar el dispositivo (si hay varios usuarios),
liberarlo al terminar de usarlo.
– Leer, escribir y posicionar (depende del tipo de dispositivo) el
dispositivo.
• Mantenimiento de información:
– Tienen como finalidad transferir información entre un
programa y S.O.
• Ejemplos: Consultar fecha y hora, número de usuarios,
espacio libre en disco, información sobre procesos, etc.
Sistemas Operativos (IS11) – Tema 1
55
Petición de servicio. Llamadas al sistema.
• Comunicaciones:
– Paso de mensajes:
• El sistema operativo proporciona un medio de
comunicación entre procesos.
• Antes de intercambiar información se deberá abrir un
conexión, existirán llamadas como leer mensaje y escribir
mensaje y una vez terminada cerrar comunicación.
– Memoria compartida:
• Los procesos utilizan llamadas al sistema con el propósito
de obtener acceso a regiones de memoria que pertenecen a
otros procesos.
• Si esos procesos “están de acuerdo”, esas zonas de
memoria pueden usarse para leer y escribir datos
intercambiando información.
• La forma de la información y su situación la determinan los
procesos, no el sistema operativo.
Sistemas Operativos (IS11) – Tema 1
56
28