Este documento describe los conceptos básicos de los sistemas operativos, incluyendo su funcionamiento, definición, objetivos, tipos, estructura y funciones principales. Explica conceptos como la ejecución de programas, la multiprogramación, el tiempo compartido, la entrada remota de trabajos, el tratamiento de transacciones y el multiacceso. También define los componentes clave de un sistema operativo como el núcleo, la gestión de memoria, el control de entrada/salida, la asignación de recursos y la planificación, la protección y
2. Funcionamiento de los
ordenadores y S. O.
• Ejecución de un solo programa a la vez.
• Batch: conjunto de programas que se ejecutan en grupo.
• Multiprogramación: varios programas se ejecutan a la
vez y el S. O. Asigna los recursos.
• Entrada remota de trabajos
• Tratamiento de transacciones: permite la ejecución
múltiple de un mismo programas (multithreading)
• Multiacceso: varios usuarios actuando de forma
concurrente.
• Tiempo real: los ordenadores pueden interactuar con
otros equipos.
3. Definición de S. O.
• Es un programa o conjunto de programas.
• Estos programas trabajan juntos para
lograr ciertos objetivos.
• Se encarga de gestionar ciertos recursos:
– Entrada/salida
– Tratamiento de la información
– Almacenamiento masivo
• Actúa de intermediario entre el hardware y
los programas de aplicación.
4. Objetivos de los S. O.
• Hacer posible el uso eficiente de los recursos
del sistema:
– Actúa coordinando las diferentes velocidades de
funcionamiento de los dispositivos. P. E. Mas
velocidad de procesadores, mas lentitud de
periféricos.
• Simplificar la operación de trabajo con el
hardware:
– Generan una máquina virtual: ordenador simplificado
en el que el S. O. Carga con el trabajo de
acercamiento al hardware.
5. Funciones de los S. O.
• Asignación de tiempo de CPU:
– Planificar las diversas actividades.
• Control de recursos:
– Asignar recursos de forma racional. P. E. División de la memoria
del ordenador entre los programas, controlar colas de e/s.
• Control de entrada/salida:
– Gestionar los datos desde y hacia los periféricos.
• Control de los errores y protección:
– Informar de las situaciones anómalas
• Interfaz con el usuario:
– Facilita el uso.
• Facilidades contables:
– Cálculo de costes de uso de CPU.
7. Tipos de S. O.
• Sistema operativos
por servicios
8. Estructura de un S. O.
• Núcleo
• Gestión de la memoria
• Control de entrada/salida
• Gestión de dispositivos de almacenamiento
masivo
• Asignación de recursos y planificación
• Protección
• Interfaz de usuario
9. Núcleo
• Descansa directamente sobre el hardware
y proporciona una serie de servicios a las
capas superiores del sistema.
• Las tareas principales son:
– Manejo de interrupciones
– Asignación de trabajo al procesador
– Proporcionar una vía de comunicación entre
los diferentes programas
10. Núcleo
• Manejo de interrupciones:
– Cuando el hardware detecta una interrupción,
el control se transfiere a este módulo,
– el cual analiza el carácter de la interrupción y
toma las acciones apropiadas:
• Transferir el control a otro módulo del S. O.
• Iniciar otro programa
• Continuar la ejecución del programa interrumpido
12. Núcleo
• Asignación de trabajo al procesador y
comunicación entre programas
– El núcleo transfiere el control al programa que el
planificador ha determinado para que sea el próximo
en ejecutarse.
– La comunicación entre programas se logra
manteniendo una cola de mensajes en espera para
cada uno de los programas activos.
– El núcleo recibe los mensajes y los va almacenando
en la cola apropiada al destino en cuestión, para
distribuirlos cuando el programa destino se active.
14. Gestión de la memoria
• La memoria principal de la mayoría de los ordenadores
es mucho mas pequeña de lo que sería necesario para
manejar todos los programas y datos.
• El módulo de gestión de memoria es el encargado de
asignar ciertas porciones de la memoria principal a los
diferentes programas, mientras el resto de programas y
datos se mantienen en los dispositivos de
almacenamiento masivo.
• La forma mas común de gestión de memoria es crear
una memoria virtual utilizando los dispositivos de
almacenamiento masivo.
17. División de la memoria entre las
tareas
• Por páginas: bloques de bytes de igual
tamaño para todos los procesos y tareas.
• Por segmentos: bloques de bytes con
distinto tamaño según el proceso.
• Por segmentos paginados: Los
segmentos de tamaño distinto se dividen
a su vez en páginas de distinto tamaño.
18. Control de la entrada/salida
• Los problemas derivados de las diferentes
velocidades de funcionamiento de los
dispositivos son tratados por este módulo
presentándolo como una cuestión independiente
del dispositivo.
• P.e. En las salidas es frecuente la utilización de
spoolers, los datos se almacenan
temporalmente en una cola situada en un
dispositivo de almacenamiento masivo hasta
que el periférico requerido quede libre.
20. Gestión de los dispositivos de
almacenamiento masivo
• Los datos y programas de un dispositivo de
almacenamiento masivo se mantienen en
ficheros.
• Supervisa la creación, actualización y
eliminación de estos ficheros.
• Mantiene un directorio con todos los ficheros
que existen en el sistema en cada momento.
• Cada fichero está dotado de un conjunto de
privilegios de acceso, que indican la extensión
con la que pueden compartir la información
contenida en el fichero. El S. O. Vigila que estos
privilegios no sean violados.
21. Sistema de archivos
• Todas las aplicaciones computarizadas necesitan almacenar y recuperar la
información Superando las limitaciones del almacenamiento real.
• Trascendiendo a la duración de los procesos que las utilizan o generan.
• Independizando a la información de los procesos permitiendo el acceso a la
misma a través de varios procesos.
• Las condiciones esenciales para el almacenamiento de la información a
largo plazo son:
– Debe ser posible almacenar una cantidad muy grande de información.
– La información debe sobrevivir a la conclusión del proceso que la utiliza.
– Debe ser posible que varios procesos tengan acceso concurrente a la
información.
• La solución es el almacenamiento de la información en discos y otros
medios externos en unidades llamadas archivos:
– Los archivos deben ser persistentes, es decir que no deben verse afectados
por la creación o terminación de un proceso.
– Los archivos son una colección de datos con nombre.
– Pueden ser manipulados como una unidad por operaciones como: open, close,
create, destroy, copy, rename, list.
– Los elementos de datos individuales dentro del archivo pueden ser manipulados
por operaciones como: read, write, update, insert, delete.
• El “Sistema de Archivos” es la parte del sistema de administración del
almacenamiento responsable, principalmente, de la administración de los
archivos del almacenamiento secundario.
• Es la parte del S. O. responsable de permitir “compartir controladamente” la
información de los archivos.
22. Sistema de archivos
• Los usuarios deben poder crear, modificar y borrar archivos.
• Se deben poder compartir los archivos de una manera cuidadosamente controlada
• El mecanismo encargado de compartir los archivos debe proporcionar varios tipos de
acceso controlado:
– Ej.: “Acceso de Lectura”, “Acceso de Escritura”, “Acceso de Ejecución”, varias
combinaciones de estos, etc.
• Se debe poder estructurar los archivos de la manera más apropiada a cada
aplicación. Los usuarios deben poder ordenar la transferencia de información entre
archivos.
• Se deben proporcionar posibilidades de “respaldo” y “recuperación” para prevenirse
contra:
– La pérdida accidental de información.
– La destrucción maliciosa de información.
• Se debe poder referenciar a los archivos mediante “Nombres Simbólicos”, brindando
“Independencia de Dispositivos”. En ambientes sensibles, el sistema de archivos
debe proporcionar posibilidades de “Cifrado” y “Descifrado”.
• El sistema de archivos debe brindar una interfase favorable al usuario:
• Debe suministrar una “visión lógica” de los datos y de las funciones que serán
ejecutadas, en vez de una “visión física”.
• El usuario no debe tener que preocuparse por:
– Los dispositivos particulares.
– Dónde serán almacenados los datos.
– El formato de los datos en los dispositivos.
– Los medios físicos de la transferencia de datos hacia y desde los dispositivos.
23. Sistema de archivos• Un “Archivo” es un conjunto de registros relacionados
• El “Sistema de Archivos” es un componente importante de un S. O. y suele
contener:
– “Métodos de acceso” relacionados con la manera de acceder a los datos
almacenados en archivos.
– “Administración de archivos” referida a la provisión de mecanismos para que los
archivos sean almacenados, referenciados, compartidos y asegurados.
– “Administración del almacenamiento auxiliar” para la asignación de espacio a los
archivos en los dispositivos de almacenamiento secundario.
– “Integridad del archivo” para garantizar la integridad de la información del
archivo.
• El sistema de archivos está relacionado especialmente con la
administración del espacio de almacenamiento secundario,
fundamentalmente con el almacenamiento de disco. Una forma de
organización de un sistema de archivos puede ser la siguiente:
– Se utiliza una “raíz ” para indicar en qué parte del disco comienza el “directorio
raíz ”.
– El “directorio raíz ” apunta a los “directorios de usuarios”.
– Un “directorio de usuario” contiene una entrada para cada uno de los archivos
del usuario.
– Cada entrada de archivo apunta al lugar del disco donde está almacenado el
archivo referenciado.
• Los nombres de archivos solo necesitan ser únicos dentro de un directorio
de usuario dado. El nombre del sistema para un archivo dado debe ser
único para el sistema de archivos.
• En sistemas de archivo “jerárquicos” el nombre del sistema para un archivo
suele estar formado como el “nombre de la trayectoria” del directorio raíz al
archivo.
25. Asignación de recursos y
planificación
• La mayor parte del tiempo en que un ordenador está
funcionando, la demanda de recursos es mayor que los
realmente existentes. Este problema se resuelve
aplicando una política de asignación de recursos.
• El mecanismo sería sencillo si se pudiese utilizar una
política del tipo: “atender primero al que antes lo
solicite”, sin embargo esto puede llevar a situaciones de
deadlock (sistema colgado o caido) cuando dos
programas solicitan insistentemente recursos asignados
a otro.
• El planificador cuenta con una política que varia de un S.
O. a otro. Una política muy común consiste en el time
slicing (asignación de intervalos cortos de tiempo a los
programas)
26. Asignación de recursos y
planificación
Cola del
procesador Procesador
Colas de
Entrada/salida
Nuevos
programas
Fin de un intervalo de tiempo
Programas
terminados
Programas
ejecutables
Ejecución de
Un programa
Programas listos
para ejecutarse
Programas no ejecutables
Programas bloqueados
por peticiones e/s
Programas cuyas
peticiones e/s
satisfechas
31. MS DOS
Procesador
de comandos
Usuario
Sistema de
Transferencia de
caracteres
Sistema de
ficheros
Programas
de aplicación
Utilidades
Controladores de
dispositivos
Bios
Firmware
Hardware
32. MS DOS
• Procesador de comandos
– Interfaz de usuario
– Gestionar el sistema de interrupciones
– Tratar los errores
– Ejecutar los comandos internos del MS DOS
33. MS DOS
• Gestión de almacenamiento masivo
– Gestión de ficheros del ordenador
– Sistemas de directorios
Directorio
raíz
Fichero Directorio Fichero Directorio
FicheroDirectorio Fichero Fichero
34. Windows
• Interfaz gráfico
• Metáfora escritorio
• Menús y botones
• Teclado y ratón
• S: O. Usuario
• S. O. Servidores
• Historia
– Windows 1.0, 2.0, 3.0
– Windows 3.1
– Windows 3.11
– Windows 95 y 98
– Windows NT, 2000 y XP
– Windows CE
– Windows Pocket PC
35. UNIX
• Laboratorios Bell de ATT
• S. O. de propósito general
• Multiusuario e Interactivo
• Soporta multiprogramación y multiacceso
36. LINUX
• Desarrollado por Linus Torvald
• Funciona sobre plataformas Intel o Motorola
• Se estructura en:
– Núcleo o Kernel: Interactúa directamente con el
hardware y reside permanentemente en memoria.
– Shell: Intérprete de comandos. Interfaz entre núcleo y
usuario.
– Utilidades o programas de usuario.