2. ¿Qué es un sistema operativo ?
• Un sistema operativo puede ser definido como un conjunto de programas
especialmente hechos para la ejecución de varias tareas, en las que sirve de
intermediario entre el usuario y la computadora. Este conjunto de programas
que manejan el hardware de una computadora u otro dispositivo
electrónico. Provee de rutinas básicas para controlar los distintos dispositivos del
equipo y permite administrar, escalar y realizar interacción de tareas.
• Un sistema operativo, tiene también como función, administrar todos los
periféricos de una computadora. Es el encargado de mantener la integridad del
sistema. Podemos decir que el sistema operativo es el programa más
importante de la computadora.
3. Historia y evolución
• Los Sistemas Operativos, al igual que el Hardware de los computadores, han
sufrido una serie de cambios revolucionarios llamados generaciones.
• En el caso del hardware, las generaciones han sido marcadas por grandes
avances en los componentes utilizados, pasando de válvulas (primera
generación) a transistores (segunda generación), a circuitos
integrados (tercera generación), a circuitos integrados de gran y muy gran
escala (cuarta generación).
4. Generaciones de Sistemas Operativos
• Cada generación Sucesiva de hardware ha ido acompañada de reducciones substanciales en los
costos, tamaño, emisión de calor y consumo de energía, y por incrementos notables en
velocidad y capacidad.
• Primera generación (Finales de la década de los 50's)
En esta década aparecen los sistemas de procesamiento por lotes, donde los trabajos se
reunían por grupos o lotes. Cuando se ejecutaba alguna tarea, ésta tenía control total de la
máquina. Al terminar cada tarea, el control era devuelto al sistema operativo, el cual
limpiaba, leía e iniciaba la siguiente tarea. Aparece el concepto de nombres de archivo del
sistema para lograr independencia de información. Los laboratorios de investigación
de General Motors poseen el crédito de haber sido los primeros en poner en operación un
sistema operativo para su IBM 701.
5. Generaciones de Sistemas Operativos
• Segunda generación (Mitad de la década de los 60's)
En esta generación se desarrollan los sistemas compartidos
con multiprogramación, en los cuales se utilizan varios procesadores en un solo
sistema, con la finalidad de incrementar el poder de procesamiento de la máquina.
El programa especificaba tan sólo que un archivo iba a ser escrito en una unidad
de cinta con cierto número de pistas y cierta densidad. El sistema operativo
localizaba entonces una unidad de cinta disponible con las características deseadas,
y le indicaba al operador que montara una cinta en esa unidad.
6. Generaciones de Sistemas Operativos
• Tercera generación
En esta época surge la familia de computadores IBM/360 diseñados como
sistemas para uso general, por lo que requerían manejar grandes volúmenes
de información de distinto tipo, lo cual provocó una nueva evolución de los
sistemas operativos: los sistemas de modos múltiples, que soportan
simultáneamente procesos por lotes, tiempo compartido, procesamiento en
tiempo real y multiprocesamiento.
7. Generaciones de Sistemas Operativos
• Cuarta generación (Mitad de la década de los 70's hasta nuestros días)
Los sistemas operativos conocidos en la época actual son los considerados sistemas de
cuarta generación. Con la ampliación del uso de redes de computadoras y del
procesamiento en línea es posible obtener acceso a computadoras alejadas
geográficamente a través de varios tipos de terminales. Con estos sistemas operativos
aparece el concepto de máquinas virtuales, en el cual el usuario no se involucra con el
hardware de la computadora con la que se quiere conectar y en su lugar el usuario observa
una interfaz gráfica creada por el sistema operativo.
8. Componentes del sistema operativo
• El sistema operativo está compuesto por un conjunto de paquetes de software
que pueden utilizarse para gestionar las interacciones con el hardware. Estos
elementos se incluyen por lo general en este conjunto de software:
• El núcleo, que representa las funciones básicas del sistema operativo, como por
ejemplo, la gestión de la memoria, de los procesos, de los archivos, de las
entradas/salidas principales y de las funciones de comunicación.
• El intérprete de comandos, que posibilita la comunicación con el sistema
operativo a través de un lenguaje de control, permitiendo al usuario controlar los
periféricos sin conocer las características del hardware utilizado, la gestión de las
direcciones físicas, etcétera.
9. Funciones de los Sistemas Operativos
• Administración del procesador: el sistema operativo administra la distribución del
procesador entre los distintos programas por medio de un algoritmo de
programación. El tipo de programador depende completamente del sistema
operativo, según el objetivo deseado.
• Gestión de la memoria de acceso aleatorio: el sistema operativo se encarga de
gestionar el espacio de memoria asignado para cada aplicación y para cada usuario, si
resulta pertinente. Cuando la memoria física es insuficiente, el sistema operativo
puede crear una zona de memoria en el disco duro, denominada "memoria virtual".
La memoria virtual permite ejecutar aplicaciones que requieren una memoria
superior a la Memoria RAM disponible en el sistema. Sin embargo, esta memoria es
mucho más lenta.
10. Funciones de los Sistemas Operativos
• Gestión de entradas/salidas: el sistema operativo permite unificar y controlar
el acceso de los programas a los recursos materiales a través de
los drivers (también conocidos como administradores periféricos o de
entrada/salida).
• Gestión de ejecución de aplicaciones: el sistema operativo se encarga de que
las aplicaciones se ejecuten sin problemas asignándoles los recursos que éstas
necesitan para funcionar. Esto significa que si una aplicación no responde
correctamente puede “colgarse ".
11. Funciones de los Sistemas Operativos
• Administración de autorizaciones: el sistema operativo se encarga de la seguridad en
relación con la ejecución de programas garantizando que los recursos sean utilizados
sólo por programas y usuarios que posean las autorizaciones correspondientes.
• Gestión de archivos: el sistema operativo gestiona la lectura y escritura en el sistema
de archivos, y las autorizaciones de acceso a archivos de aplicaciones y usuarios.
• Gestión de la información: el sistema operativo proporciona cierta cantidad de
indicadores que pueden utilizarse para diagnosticar el funcionamiento correcto del
equipo.
12. Sistema Operativo como administrador de
recursos
• La otra tarea de un sistema operativo consiste en administrar los recursos de un computador
cuando hay dos o más programas que ejecutan simultáneamente y requieren usar el mismo
recurso (como tiempo de CPU, memoria o impresora).
• Además, en un sistema multiusuario, suele ser necesario o conveniente compartir, además de
dispositivos físicos, información. Al mismo tiempo, debe tenerse en cuenta consideraciones
de seguridad: por ejemplo, la información confidencial sólo debe ser accesada por usuarios
autorizados, un usuario cualquiera no debiera ser capaz de sobrescribir áreas críticas
del Sistema, etc. (En este caso, un usuario puede ser una persona, un programa, u otro
computador). En resumen, el sistema operativo debe llevar la cuenta acerca de quién está
usando qué recursos; otorgar recursos a quienes los solicitan (siempre que el solicitante
tenga derechos adecuados sobre el recurso); y arbitrar en caso de solicitudes conflictivas.
13. Tareas que realiza un Sistema Operativo
• Realizar el interfaz sistema-usuario.
• Compartir los recursos de Hardware entre los usuarios.
• Permitir a los usuarios compartir sus datos entre ellos.
• Prevenir que las actividades de un usuario no interfieran en las de los demás
usuarios.
• Facilitar el acceso a los dispositivos de E/S.
• Recuperarse de fallas o errores.
• Llevar el control sobre el uso de los recursos (entre otras).
14. Clasificación de los Sistemas Operativos
Debido a la evolución de los sistemas operativos fue necesario realizar una
clasificación; considerando las diferencias existentes entre sus componentes los
podemos clasificar en:
• Sistemas operativos por lotes.
• Sistemas operativos multiprogramación.
• Sistemas operativos multiusuario.
• Sistemas operativos de tiempo compartido.
• Sistemas operativos de tiempo real.
15. Clasificación de los Sistemas Operativos
Sistemas operativos por lotes
Los sistemas operativos por lotes requieren que la información esté reunida en
bloque o "lote" (el programa, los datos, y las instrucciones). Los trabajos son
procesados en el orden de admisión, según el modelo de "primero en llegar
primero en ser atendido". En estos sistemas la memoria se divide en dos zonas.
Una de ellas es ocupada por el sistema operativo, y la otra se usa para cargar
programas transitorios para su ejecución. Cuando termina la ejecución de un
programa se carga un nuevo programa en la misma zona de memoria.
16. Clasificación de los Sistemas Operativos
Sistemas operativos multiprogramación
Los sistemas de multiprogramación son capaces de soportar dos o más procesos
concurrentes múltiples, permiten que residan al mismo tiempo en la memoria primaria
las instrucciones y los datos procedentes de dos o más procesos. Estos sistemas
implican la operación de multiproceso, para el manejo de la información. Se
caracterizan principalmente por un gran número de programas activos
simultáneamente que compiten por los recursos del sistema, como el procesador, la
memoria, y los "dispositivos de E/S". Estos sistemas monitorean el estado de todos
los programas activos y recursos del sistema.
17. Clasificación de los Sistemas Operativos
Sistemas operativos multiusuario
Los sistemas operativos multiusuario permiten acceder simultáneamente a un
sistema de computadoras a través de dos o más terminales. Este tipo de sistema
operativo es fundamental en el manejo de redes de computadoras actualmente.
18. Clasificación de los Sistemas Operativos
Sistemas operativos de tiempo compartido
Los sistemas operativos de tiempo compartido tratan de proporcionar un reparto
equitativo de los recursos comunes para dar la impresión a los usuarios de que poseen
una computadora independiente. En estos sistemas el administrador de memoria
proporciona aislamiento y protección de los programas, ya que generalmente no tienen
necesidad de comunicarse entre ellos. El control de E/S se encarga de proporcionar o
retirar la asignación a los dispositivos de forma que se preserve la integridad del
sistema y se proporcione servicio a todos los usuarios. El administrador de
archivos proporciona protección y control en el acceso de la información, dada la
posibilidad de concurrencia y conflictos al tratar de acceder a los archivos.
19. Clasificación de los Sistemas Operativos
Sistemas operativos de tiempo real
Estos sistemas tienen como objetivo proporcionar tiempos más rápidos de
respuesta, procesar la información sin tiempos muertos. En estos sistemas el
administrador de memoria es relativamente menos solicitado debido a que
muchos procesos residen permanentemente en memoria. El administrador de
archivos se encuentra normalmente en grandes sistemas de tiempo real y su
objetivo principal es manejar la velocidad de acceso, más que la utilización
eficaz del almacenamiento secundario.