INTRODUCCIÓN A LOS SISTEMAS OPERATIVOS
QUE ES ES UN SISTEMA OPERATIVO
Windows es el sistema operativo más conocido y usado del mundo.
¿Qué hace el SO?
Proporcionan un entorno para que el usuario pueda hacer con facilidad lo que quiera hacer. Cosas como abrir un programa o imprimir un documento.
La interfaz de usuario permite dar órdenes (comandos) al sistema operativo. Hay dos tipos básicos:
1) Interfaz gráfica de usuario (GUI)
Los comandos se representan por iconos, botones u otros elementos gráficos. El ratón es la herramienta principal para interactuar con ellos. Es la interfaz estándar hoy en día.
2)Interfaz de línea de comandos (CLI)
El usuario debe escribir los comandos tecleándolos línea a línea con un formato concreto. Esta es la interfaz de los SO más antiguos, como MS-DOS.
Gestionar el software
El SO sirve de intermediario entre el hardware y cualquier programa que se instale. Y da soporte para que el usuario pueda utilizarlo. Los programas deben seguir las reglas que impone cada sistema operativo. Él establece qué recursos y servicios pueden utilizar (la cantidad de RAM, por ejemplo), de qué forma y con qué.
CAPAS DE UN SISTEMA OPERATIVO
La ocultación de los detalles es una estrategia que ha funcionado construyendo una jerarquía de niveles de abstracción, de modo que cada nivel proporciona un conjunto especifico de funciones primitivas que podrán usar las funciones de la capa superior.
En la imagen con que iniciamos este post, podemos ver un modelo general de un sistema operativo por capas, analizaremos cada una, comenzando por la mas interna:
Capa 1. Núcleo.
El nucleo o kernel gestiona todos los procesos, es el encargado de llevar la cuenta de todos los procesos activos y de la planificación de los mismos, al seleccionar cual de ellos ocupara tiempo del procesador, esta capa es muy importante, dado que define el rendimiento del sistema, prueba de ello es el rendimiento que obtuvo Windows XP, al ser creado sobre la base de un núcleo UNIX que fue adquirido a la compañía Santa Cruz Operations.
Capa 2. Entrada y salida básica.
Proporciona funciones primitivas para la gestión de la memoria secundaria, es decir, se encarga de proveer las primitivas necesarias para la localización, escritura y lectura de bloques de datos en el disco duro, sin llegar a proporcionar muchos detalles, cabe señalar que en esta capa la información almacenada no se representa como archivos, la cual es una implementación de una capa superior.
Capa 3. Gestión de memoria.
Este nivel administra la memoria principal o memoria RAM, se encarga de asignar los bloques de memoria a los procesos y de liberarlos cuando los procesos han terminado, así también se encarga de retirar algunos procesos de la memoria y almacenar una imagen de ellos en el disco duro, con la finalidad de simular que existe mas memoria de la que realmente existe de forma física, el cual es un proceso que denominamos memoria virtual.
Capa 4. Sistema de archivos.
Esta capa proporciona las funciones necesarias para almacenar la información en archivos, se apoya en las primitivas de la capa2 y la decisión de que procesos hacen uso de memoria se ubican en esta capa.
Capa 5. Interprete de comando.
En esta ultima capa se ubica la interfaz visible para el usuario, ya sea como una linea de comando o como una GUI (Interfaz Gráfica de Usuario), con la cual el usuario comunica y que esta capa traduce al conjunto de primitivas de las capas anteriores.
FUNCIONES DE LOS SISTEMAS OPERATIVOS
Función
Se tendrá como punto de partida la máquina tal cual, es decir, el hardware básico del computador, con una CPU, memoria central y periféricos. Sin ayuda del software las operaciones de cargar y ejecutar un programa se debe realizar de forma manual, es decir totalmente bajo control humano. El operador debe llevar a cabo una secuencia de tareas:
- Colocar el programa fuente almacenado en el dispositivo de entrada adecuado (cintas, tarjetas, discos...).
- Desencadenar la ejecución de un programa de lectura para el dispositivo elegido.
- Desencadenar la ejecución de un compilador que traduzca el programa fuente.
- Colocar los datos de entrada en el dispositivo adecuado.
- Ejecutar el programa objeto.
- Sacar los resultados por impresora
Tipos de servicio
Un sistema operativo crea un entorno para la ejecución de programas. Ofrece ciertos servicios a los programas y a los usuarios de estos programas. Dependen del tipo de Sistema Operativo, pero las funciones básicas son:
De cara al usuario:
- Ejecución de programas. El sistema debe ser capaz de cargar un programa en memoria y ejecutarlo.
- Operación de I/O. Un programa de usuario no puede ejecutar directamente operaciones de I/O. El sistema operativo debe facilitar medios para realizar la.
- Manipulación de ficheros: Lectura, escritura y borrado a partir del identificador de los mismos.
- Detección de errores: Para cada tipo de error el sistema operativo debe adoptar la iniciativa apropiada que garantice una computación correcta y consistente. No confundir esta detección de errores con la producida durante la compilación de un programa. Esta detección se hace de cara a un funcionamiento eficiente.
De funcionamiento eficiente:
- Asignación de recursos
- Contabilidad: control del uso del ordenador por cada usuario
- Protección: de datos, recursos, programación, etc
CARACTERÍSTICA DE UN SISTEMA OPERATIVO
1)Concurrencia
Consiste en la existencia de varias actividades simultáneas o paralelas. Ejemplo de ello lo son la superposición de las operaciones de I/O con el proceso de computación, así como la coexistencia en memoria de varios programas. La concurrencia lleva asociado el problema de conmutar de una tarea a otra, así como proteger una determinada actividad de los efectos de las otras, así como la entronización de tareas que sean mutuamente dependientes.
2)Utilización conjunta de recursos.
Las razones para la compartición son las siguientes:
a) El coste: es absurdo disponer de suficientes recursos para cada usuario por separado.
b) Aprovechamiento de los trabajos de otros. La utilidad es poder utilizar rutinas y programas desarrollados por otras personas.
c) Posibilidad de compartir datos: Utilización de una misma base de datos para varios programas distintos, asociados posiblemente a distintos usuarios.
d) Eliminación de redundancias: poder disponer de una sola copia de un programa (por ejemplo un compilador) y compartirlo con otros.
3) Permite que el usuario guarde sus datos o programas en el propio ordenador, y no tener que usar medios externos (portables). Los problemas que se plantean son de protección de la información frente a terceros y protegerlos frente a fallos del sistema.
4) Un Sistema Operativo debe ser determinista en el sentido de que el mismo programa ejecutado con los mismos datos, en momentos diferentes, debe producir los mismos resultados. En cambio será determinista porque en caso de variabilidad de las situaciones puede responder de un modo impredecible. Deben tomarse las medidas oportunas. Estas situaciones pueden ser debidas a petición de recursos, errores de ejecución en programas o bien interrupción de periféricos.
Fiabilidad
Estar libre de errores y ser capaz de resolver satisfactoriamente todas las contingencias que se pudieran presentar.
Compactibilidad
Ser posible corregir un Sistema Operativo (mejorándolo, o bien subsanando errores) sin tener graves problemas. Estar bien documentado.
Tamaño reducido
El espacio ocupado por el Sistema Operativo no está disponible para su utilización productiva, por lo que debe ocupar lo menos posible. Para ello es preciso que el sistema operativo sea modular en su construcción. Disponer de interfaces claramente definidas en módulos y estar bien documentado.

No hay comentarios:
Publicar un comentario