Desarrollo de aplicaciones informáticas


Sistemas operativos


Temas 0.- SISTEMAS OPERATIVOS

- INTRODUCCIÓN:

El sistema operativo oculta la complejidad del hardware y proporciona un interfaz mas adecuado. Actúa como un mediador de forma que los programadores y los programas de aplicación puedan acceder y utilizar los recursos y servicios del sistema de una forma más fácil sin preocuparse de la gestión de los mismos.

-Interfaz: Lo q se ve y se le muestra al usuario.

Microcontroladores.- (Ejemplo: Disco Duro) Suelen estar dentro de los propios circuitos, en los chips.

ROM.- Memoria de solo lectura.

Drivers.- Parte del software para comunicarse con los microcontroladores.

En términos generales no hay una definición de sistemas operativos aceptada universalmente por ello mas q dar una definición pasamos a exponer las funciones u objetivos de un sistema operativo.

-Objetivos Básicos:

1.-Comodidad para los usuarios.

El sistema operativo hace que el usuario vea una maquina virtual que es mas sencilla de programar y utilizar.

2.-Eficiencia.

El sistema operativo gestiona los recursos del sistema de forma eficaz, su función es en este caso la de un gestor de recursos.

1.1.-Los sistemas operativos como maquinas virtuales.

El programador y el usuario en general no desea enfrentarse a la problemática del hardware sino que desea una abstracción sencilla y fácil de entender, Por Ejemplo: ver el disco como un conjunto de archivos deforma que se puede leer y escribir en el disco.

Por tanto el S. O. tiene que proporcionar servicios para las funciones siguientes:

1.1.1-Creación de programas.

Existen otros programas del sistema como son los depuradores, editores, y enlazadores q no son parte del sistema operativo pero q son accesibles a través de ellos.

Depuradores

Aplicaciones Editores

Enlazadores => Código Ejecutable

1.1.2.-Ejecución de programas.

Para poder ejecutar un programa se tiene que realizar una serie de funciones, tales como cargar el código y los datos en la memoria principal, inicializar los dispositivos de entrada y salida, y preparar los recursos necesarios para la ejecución.

1.1.3.-Operaciones de entrada / salida.

Un programa puede requerir una función de entrada y salida sobre un periférico. El sistema operativo es el encargado de hacer las funciones q permite la lectura, la escritura y la comunicación con los periféricos.

Periféricos.- Dispositivos externos y control del sistema de archivos.

1.1.4.-Manipulación y control del sistema de archivos.

Además de comunicarse por el controlador del periférico en donde esta el sistema de archivos del sistema operativo debe conocer la propia estructura de almacenamiento y proporcionar los mecanismos adecuados para su control y protección.

1.1.5-Detección de errores.

Hay una gran cantidad de errores tanto de hardware como de software que pueden ocurrir(Por ejemplo: Fallo de memoria errores de calculo de un programa divisiones por cero),el sistema operativo debe ser capaz de detectarlos y solucionarlos o por lo menos hacer q tenga el menor impacto posible sobre el resto de las aplicaciones.

1.1.6.-Control de acceso al sistema

El sistema operativo debe tener mecanismos de protección de los recursos, además de una adecuada política de seguridad.

1.1.7.-Elaboración de informes estadísticos.

Resulta muy conveniente conocer el grado de utilización de los recursos y de los distintos parámetros del sistema así como el tiempo de respuesta.

De esta forma se dispone de información que permite saber con antelación las necesidades futuras y configurar al sistema para dar el mejor rendimiento.

1.2.--Conceptos Fundamentales:

1.2.1.-Procesos.

Se puede decir q es un programa de ejecución, formalmente se define como la entidad que puede ser asignada a un procesador y ejecutada por él. Una forma facil e intuitiva de entender el concepto del proceso es considerar un sistema cada cierto tiempo compartido. En estos sistemas cada cierto tiempo el sistema operativo tiene que parar el proceso y arrancar otro deforma que cada proceso tenga asignado el procesador durante un intervalo de tiempo prefijado. El proceso que sé a detenido anteriormente se dice que se ha suspendido y será arrancado posteriormente en el mismo estado en el cual se suspendido. La información sobre cada proceso se almacena en una talla de procesos construida y mantenida por el propio sistema operativo. Cada entrada a la tabla incluye un puntero en la ubicación del bloque de memoria que contiene el proceso,

también puede contener parte o todo el contexto de ejecución del proceso.

1.2.2-Gestión de la memoria y sistema de archivos.

-Los usuarios y los programadores necesitan disponer de un soporte para la programación modular y para el uso flexible de los datos. Además el administrador del sistema necesita un control ordenado y eficiente del almacenamiento asignado.

Para satisfacer estos requerimientos el sistema operativo se responsabiliza de:

a) Aislar los procesos, de manera que un proceso no interfiera en los datos o en la memoria de otro.

b) Ubicar y gestionar automáticamente a los procesos de una manera transparente hacia los programadores, el sistema asigna memoria a los procesos según las limitaciones que tenga y teniendo en cuenta las necesidades de los distintos trabajos.

c) Soportes de un programación modular, de forma q se puedan definir módulos de programas en los que se puedan alterar dinámicamente sus tamaños.

d) Controlar el acceso y proteger la memoria, aunque se comparta la memoria, un programa no acceda al espacio de direcciones de otro, o q a ciertas partes de la memoria puedan acceder distintos usuarios pero controlando el acceso.

e) Imponer de un modo de almacenamiento de larga duración.

-Para cumplir con estas responsabilidades el sistema operativo cuenta con la memoria virtual para cumplir con estas funciones del sistema de archivos, con la memoria virtual los programas pueden direccional la memoria desde un punto de vista lógico, sin considerar la cantidad de memoria principal realmente instalada en el sistema. Cuando un programa se ejecuta, solo se carga en la memoria principal la parte del código y datos q se va a utilizar.

1.3.-Llamadas al sistema.

Una llamada al sistema se corresponde con la interfaz entre el sistema operativo, los programas y los usuarios. Las llamadas al sistema se pueden realizar de varias formas dependiendo del computador:

-Para hacer la llamada se requiere cierta información, aparte de la identidad de la llamada, esta información depende del sistema operativo y de la llamada en concreto:

Las llamadas al sistema se pueden agrupar en cinco categorías:

1-Control de proceso(Crear, cargar, ejecutar un proceso, obtener y establecer atributos, esperar un suceso, liberar memoria, abortar y terminar proceso)

2-Manipulación de archivos(Crear, abrir, leer, obtener y establecer atributos, cerrar y eliminar archivos)

3- Manipulación de periféricos(Solicitar, escribir, leer, obtener y establecer atributos, liberar periférico)

4-Manipulación de la información(Obtener fecha y hora, establecer fecha y hora, obtener y establecer datos del sistema, obtener y establecer atributos)

5-Comunicaciones(Crear conexión, enviar mensajes, recibir mensajes, transferir información del estado y eliminar conexión)

1.4.-Gestión y planificación de los recursos.

Entre las tareas claves de un sistema operativo esta la de gestionar los diferentes recursos que disponga el sistema(Procesadores, memoria, periféricos, etc) y planificar la utilización de los mismos de la forma mas eficiente por los procesos de ejecución.

La política de planificación y de asignación de recursos tiene que ser justa y eficiente, esto supone que todos los procesos que compiten por la utilización de un determinado recurso deben disponer de él de una forma equitativa, esto se debe cumplir sobretodo en trabajos de la misma clase que poseen la misma prioridad.

Por otro lado hay situaciones en la que es necesario distinguir entre diferentes clases de trabajos, con diferentes exigencias de servicios.

El sistema operativo debe intentar hacer la planificación y la asignación considerando el total de los requerimientos. Estas decisiones se hacen dinámicamente, por ejemplo: si un proceso esta esperando para utilizar un periférico, el sistema operativo debe planificar su ejecución deforma que lo libere lo antes posible, para poder satisfacer peticiones posteriores de otros procesos.




Descargar
Enviado por:Nano
Idioma: castellano
País: España

Te va a interesar