1. UNIVERSIDAD DE JAÉN. FUNDAMENTOS DE INFORMÁTICA
Departamento de Informática.
Curso 2003/2004 Pág. 1 1er
Cuatrimestre
Sistemas Operativos
1.- Definición de sistema operativo.
2.- La interfaz del sistema operativo.
2.1.- Visión del usuario final de los servicios del sistema
operativo.
3.- Sistemas operativos monoprogramados versus
multiprogramados.
4.- Funciones principales de un sistema operativo.
4.1.- Gestión de la CPU.
4.2.- Gestión de la memoria principal.
4.3.- El sistema de ficheros.
4.4.- Gestión de la entrada/salida.
2. UNIVERSIDAD DE JAÉN. FUNDAMENTOS DE INFORMÁTICA
Departamento de Informática.
Curso 2003/2004 Pág. 2 1er
Cuatrimestre
1.- Definición de sistema operativo.
Sistema operativo: Conjunto de programas que controlan
directamente los recursos hardware o físicos de un ordenador
proporcionando una maquina virtual más facil de utilizar que el
hardware subyacente.
Programas de aplicación
Traductores Editores Intérpretes de órdenes
Sistema Operativo
Hardware
Funciones que realizan los Sistemas Operativos:
• Construcción de una maquina virtual o extendida.
• Gestión de los recursos físicos del ordenador.
2.- La interfaz del sistema operativo.
Es el conjunto de todos los servicios ofrecidos por el sistema
operativo constituyen la interfaz del sistema operativo. A estos
servicios se les llama también Llamadas al Sistema.
Una solicitud requiere de uno o más parámetros. El primer
parámetro es el tipo de servicio requerido; los restantes
dependen del tipo de servicio.
Los servicios del sistema operativo se solicitan desde el código
de los programas
Software de Sistemas
3. UNIVERSIDAD DE JAÉN. FUNDAMENTOS DE INFORMÁTICA
Departamento de Informática.
Curso 2003/2004 Pág. 3 1er
Cuatrimestre
2.1.- Visión del usuario final de los servicios del sistema
operativo.
Usuario final: Aquel que utiliza el ordenador solamente para
ejecutar programas de aplicación que le proporcionen ciertos
cálculos. No sabe, y probablemente no le interesa programar.
Cuando un usuario se conecta a un ordenador, el sistema
operativo inicia la ejecución de un programa, llamado interprete
de ordenes o un entorno de ventanas, que se va a encargar de
controlar las peticiones del usuario conectado a dicho ordenador.
Una ventana es un fragmento rectangular de la pantalla que
contiene iconos y texto. Un programa que utiliza ventanas solicita
sus entradas mediante el teclado o el ratón.
3.- Sistemas operativos monoprogramados versus
multiprogramados.
Clasificación de los sistemas operativos dependiendo del uso de
CPU:
• Monoprogramados: Todos los recursos del ordenador están
a disposición del único programa en ejecución. La memoria
principal sólo alberga al sistema operativo y a dicho
programa. La CPU ejecuta el programa desde su inicio hasta
su fin ininterrumpidamente.
• Multiprogramados: la memoria principal alberga el código
de más de un programa. La ejecución de uno de los
programas almacenados en la memoria principal puede ser
interrumpida por el sistema operativo para ejecutar otro de
los programas situados en la memoria. La ejecución del
programa interrumpido será reanudado posteriormente por
el sistema operativo por el lugar en el que se interrumpió. El
programa no es consciente de que se ejecuta
discontinuamente en el tiempo.
4. UNIVERSIDAD DE JAÉN. FUNDAMENTOS DE INFORMÁTICA
Departamento de Informática.
Curso 2003/2004 Pág. 4 1er
Cuatrimestre
S.O.
S.O.
P1
P1
P2
P3
Monoprogramado Multiprogramado
Figura 1. Ocupación de la memoria principal.
P1 P2 P3 P1 P2 P3 P1 P4
1 2 3 4 5 6 7 8 9 10 11 1 2 3 4 5 6 7 8 9 10 11 12 13
Monoprogramado Multiprogramado
Figura 2. Ocupación de la CPU.
Los criterios más importantes que tiene un sistema operativo
para provocar los cambios de programas en la ocupación de la
CPU son:
• Intentar utilizar más eficientemente los recursos del
ordenador.
• Repartir equitativamente la ocupación de CPU entre todos
los programas que existen en el sistema.
5. UNIVERSIDAD DE JAÉN. FUNDAMENTOS DE INFORMÁTICA
Departamento de Informática.
Curso 2003/2004 Pág. 5 1er
Cuatrimestre
Sistema simplemente multiprogramado: solo utiliza el primer
criterio.
Sistema de tiempo compartido: utiliza ambos criterios.
Programa: secuencia de instrucciones escritas en un lenguaje
dado.
Proceso: programa en ejecución.
Ejecución concurrente: cuando en un sistema de
multiprogramación o de tiempo compartido, se tiene más de un
proceso en un estado de ejecución entre su inicio y su fin, se
dicen que estos se ejecutan concurrentemente.
4.- Funciones principales de un sistema operativo.
4.1.- Gestión de la CPU.
La gestión de un sistema operativo monoprogramado es simple.
Los sistemas operativos multiprogramados o de tiempo
compartido, realizan:
• Mantienen una estructura de datos para guardar
información sobre cada uno de los procesos que se
ejecutan concurrentemente en el sistema.
• Decide cuando se interrumpe un proceso y determina a qué
proceso se le asigna la CPU en su lugar, para ello se ejecuta
un programa llamado planificador.
Servicios relacionados con la gestión de la CPU que
proporcionan todos los sistemas operativos:
• Creación de un proceso.
• Terminación de un proceso.
6. UNIVERSIDAD DE JAÉN. FUNDAMENTOS DE INFORMÁTICA
Departamento de Informática.
Curso 2003/2004 Pág. 6 1er
Cuatrimestre
4.2.- Gestión de la memoria principal.
El Sistema operativo debe mantener una estructura de datos
donde almacena la información sobre qué zona de la memoria
ocupa cada proceso, así como de las zonas de la memoria libres.
La CPU capta de la memoria principal las instrucciones máquina
de los programas para ejecutarlas. Esto implica que para que un
programa se pueda ejecutar debe esta cargado en la memoria
principal. Por esto el tamaño máximo del código máquina de un
programa no debería exceder del tamaño de la memoria principal.
Memoria Virtual: permite que el usuario pueda crear programas
cuyo código máquina excede del tamaño de la memoria principal.
Para proporcionar memoria virtual, el sistema mantiene en la
memoria principal sólo parte del código de un programa por
donde se va ejecutando actualmente, y el resto permanece en
memoria principal.
4.3.- El sistema de ficheros.
Motivos para la utilización de memoria secundaria:
• Existen datos que deben de sobrevivir a la ejecución de un
programa. La solución es almacenar estos en memoria
secundaria.
El sistema operativo facilita notablemente el trabajo con la
memoria secundaria, al presentar una interfaz de uso simple.
El sistema operativo aporta un conjunto de servicios para
manipular los ficheros, como podrían ser:
• Abrir un fichero.
• Escribir en un fichero.
• Leer de un fichero.
• Borrar un fichero.
• Cerrar un fichero.
7. UNIVERSIDAD DE JAÉN. FUNDAMENTOS DE INFORMÁTICA
Departamento de Informática.
Curso 2003/2004 Pág. 7 1er
Cuatrimestre
4.4.- Gestión de la entrada/salida.
Es misión del sistema operativo gestionar directamente los
periféricos, ofreciendo al programador unos servicios para su
utilización mucho más sencillos que los que ofrecen éstos a nivel
hardware.
A nivel físico los periféricos son muy distintos, por esto los
servicios que ofrece el sistema operativo para trabajar con
dispositivos distintos son muy parecidos, la E/S independiente
del dispositivo.
El sistema operativo ofrece como mínimo los siguientes servicios
para realizar las operaciones de E/S:
• Apertura de un periférico.
• Operaciones de lectura y escritura.
• Cierre de un periférico.