Recursos del sistema y su relación con el sistema operativo Yeison Betancur

 

NOTAS SISTEMAS OPERATIVOS

Unidad de procesamiento, jerarquía de almacenamiento, Interrupciones y excepciones, las terminales, dispositivos de almacenamiento, relojes y temporizadores, canales, puentes, contención y acceso directo a memoria (DMA), interfaz del sistema operativo, llamadas al sistema, arquitecturas y API, referencia a los componentes, multiprocesador, multiprocesamiento, cómputo distribuido.

Relación con el Hardware

 

Introducción

 

Todos los sistemas de cómputo están compuestos por al menos 1 unidad de procesos, junto con dispositivos que permiten el ingreso de datos ¡, mas los que permiten la salida.

 

UNIDAD DE PROCESAMIENTO

 

Parte fundamental de todo sistema de cómputo. Ejecuta los programas de usuario y los del SO, los cuales son:

 

1.       Inicialización: luego de cargarse, se requiere realizar varias tareas de inicio. Ej. Habilitar interrupciones de hardware y software, configurar sistema de memoria virtual (paginación, segmentación)

2.       Atender interrupciones y excepciones: cuando no se puede resolver una situación, se pasa el control al SO para hacerlo por este medio.

3.       Multiplexación: en un sistema multiproceso, el SO administra la CPU dando la ilusión a los procesos de que se ejecutan de forma exclusiva.

 

Información adicional CPU:

El procesador es un chip responsable del cálculo, aceleración, direccionamiento y decisiones lógicas. Procesa todas las instrucciones del PC, del SO y las dadas por el usuario.

El medio de comunicación entre CPU y el resto del computador, normalmente es llamado placa madre, esta es la encargada de    conectar el procesador con los diferentes componentes.

La medida en GHz es la cantidad de instrucciones que se pueden procesar en un tiempo determinado. (1 hertzio, -> 1 acción por segundo)

Memoria Cache: memoria auxiliar del navegador. Es una memoria entre las CPU y la RAM, conseguir que se pueda acceder de la manera más rápida posible a los datos del procesador. Mas cache, mayor procesamiento y mayor velocidad

 

¿qué son interrupciones?

De software

3 subniveles

Subnivel 2: funciones del SO

Subnivel 1: funciones del BIOS -> BASIC INPUT OUTPUT SYSTEM, ofrece una serie de funciones básicas de IO. Representa el primer nivel de abstracciones de algunas operaciones de IO. Se invocan por medio de interrupciones de software. SE REQUIERE LA INFORMACIÓN DE REFERENCIA DEL BIOS para poder utilizar estas funciones o interrupciones.

Subnivel 0: hardware -> información técnica del H. como se utiliza la memoria. Como gestionan la información los dispositivos de entrada y salida.

Una interrupción es un suceso que nos obliga suspender temporalmente una tarea en ejecución para ejecutar otra. En el caso del hardware se por un evento IO (oprimir una tecla, recepción de caracteres en un puerto, …)

 

Jerarquía de almacenamiento

 

Son de arquitectura Von Newman, que significa básicamente que la computadora programa almacenado en la memoria primaria.

La jerarquía de almacenamiento surge como respuesta parcial al cuello de botella Von Newman, generado por las diferencias entre el crecimiento de las velocidades del procesamiento y el del tamaño de memoria.

 

El SO es el encargado de mantener la información almacenada en todos los tipos de memoria de forma consistente y de realizar transferencia entre unas y otras.

Registros

La memoria más rápida de la computadora son los registros, ubicados en cada uno de los núcleos de la CPU. Las arquitecturas tipo RISC (reduced instruction set computer) solo permiten la ejecución de instrucciones entre registros. Excepto la carga y almacenamiento de memoria primaria.

Registros de propósito especifico y de propósito general.

El compilador busca realizar muchas operaciones que deben ocurrir reiteradamente, donde la rapidez es fundamental, con sus operadores cargados en sus registros. El estado actual del CPU, lo que esta haciendo, las indicaciones respecto a las operaciones recién realizadas que se deben entregar el programa en ejecución están todas representadas en los registros.

 

Información adicional jerarquía de memorias:

 

Cache: memoria de acceso rápido, guarda los elementos usados recientemente, de manera temporal. Funciona igual que la memoria principal, pero es de menor tamaño y con acceso directo

 

Registros: memoria de acceso rápido, ubicada dentro del procesador. De tamaño pequeño

RAM: tiene mayor espacio, pero menor velocidad

ROM: el de mayor espacio, pero de menor velocidad

 

Principios de localidad

Temporal: si un dato es accesado, este podrá ser accesado próximamente muy probablemente.

Espacial: si un dato es accesado, los datos que están cerca, también lo harán.

Las memorias más rápidas son de menor capacidad de almacenamiento, la jerarquía de memorias traba bajos los principios de localidad temporal y espacial, y la cache guarda los datos que son accesado de manera frecuente.

 

Interrupciones y excepciones

 

La ejecución de un proceso podría seguir de siempre de manera lineal, atendiendo las instrucciones que se dan a los programas como se escribieron. Pero se requiere mas que eso, para que los procesos en ejecución respondan a los eventos manejados alrededor del sistema, deberán ser manejados con interrupciones o trampas.

Cuando ocurre algún evento que requiera la atención del sistema operativo, el hardware encargado de procesarlo escribe directamente a una ubicación predeterminada de memoria la naturaleza de la solicitud, para levantar la de interrupción y detener el proceso que se estaba ejecutando. el SO ejecuta la rutina de manejo de interrupciones y posteriormente la atiende.

Las interrupciones pueden organizarse por prioridades, para que una menor no interrumpa a una mayor., el manejo ineficiente de las solicitudes de interrupción por parte de la máquina podría llevar a la perdida de datos.

El controlador de canal es el encargado de producir las interrupciones. El SO puede elegir ignorar (enmascarar) la solicitud, pero hay procesos con los que no puede.

Una interrupción es generada por causas ajenas al sistema, mientras que una excepción es un evento generado por un proceso.

Funciones del SO frente a las interrupciones:

1.       Administrar el hardware manejador de interrupciones (enmascarar, desenmascarar, …)

2.       Abstraer las interrupciones

3.       Punto de entrada al SO

4.       Atender excepciones y fallas (las fallas se atienden como una interrupción)

 

Las terminales

A las primeras terminales se les llamo teletipos

Son dispositivos electrónicos utilizados para ingresar datos y emitir resultados dentro de un sistema de cómputo.  las primeras de su tipo utilizaban tarjetas perforadas y hojas de papel, las dificultades asociadas a estos equipos llevaron a la evolución de los mismo, convirtiéndose en terminales de texto con pantalla de vídeo y teclado.

Una termina de texto es un dispositivo que recibe y envía un flujo de caracteres desde y hacia el usuario. Posteriormente se incluyeron terminales graficas que podían representar imágenes junto con el texto, que más el mouse dieron lugar a lo que a lo que hoy se conoce como interfaz grafica de usuario y a los sistemas de ventana.

 

NOTAS TERMINALES

 

Una terminal es una interfaz para entregar o recibir datos a una computadora

¿Qué es un emulador de terminal?

Una computadora que tiene la capacidad de emular a más de una terminal, un emulador de terminal permite desistir de una terminal física para realizar a través de un software poder ejecutar e interactuar dentro de un PC, lo que haría una termina específica.

 

Dispositivos de almacenamiento

 

El almacenamiento en la memoria primaria es volátil, es decir, esta desaparece una vez se corta el suministro eléctrico. De las muchas tecnologías de almacenamiento, la mas dominante ha sido la de discos magnéticos, el acceso a este no es realizado por el procesador, requiere la comunicación de controladores externos, con su lógica propia.

El procesador no puede dirigirse a más información que a la almacenada en la memoria primaria, esto es a la memoria de acceso aleatorio. El SO como tarea fundamental se encarga del manejo de bloques de información creados para almacenar la información a largo plazo, haciendo por ejemplo abstracciones de archivos y directorios.

 

Relojes y temporizadores

 

Mantener la hora del sistema actualizada, implementar alarmas tanto de programas de usuario como del sistema operativo, ejecutar tareas de mantenimiento periódicas, cumplimiento de requisitos, etc.

Estas funciones son cruciales pues permitirán establecer un orden cronológico entre los eventos dentro del sistema.

 

Canales y puentes

 

Un sistema de computo se comunica a través de canales (BUSES). Los canales son la línea de comunicación entre el procesador y los demás elementos del chipset, a los cuales se conectan los demás elementos del sistema.

Un chipset provee distintos buses, con un agrupamiento lógico según la velocidad y otras características requeridas.

 

Acceso directo a memoria DMA

 

Con el fin de evitar cuellos de botella entre la transferencia de la información desde el procesador hacia las diferentes áreas del sistema, se crearon los controladores DMA, que están en uno o más de los subsistemas de las computadoras.

El DMA se aplica generalmente al tratar con dispositivos con un gran ancho de banda, como unidades de disco, subsistemas multimedia, tarjetas de red e incluso para transferencia de información entre niveles chaché

En vez del procesador ejecutar una interrupción cada vez que sea necesario, el procesador le indica al controlador la dirección de memoria hacia la que debe dirigirse, la cantidad de datos, el sentido en que se efectuara la operación y el puerto en cuestión. El procesador queda libre para realizar otras tareas, sin mas limitantes que la posible contención que tendrá que enfrentar en l BUS de acceso de memoria y solo hasta que el controlador termine con el proceso se lanzará la interrupción.

Coherencia de caché

Estos sistemas implementan mecanismos en hardware que notifican a los controladores de chacé que las páginas que alojan están sucias y que deben ser vueltas a cargar para ser empleadas, los sistemas no coherentes requieren que los subsistemas de memoria del SO hagan esta operación.

Actualmente se utilizan sistemas híbridos en esta categoría ya que los procesadores cuentan con varios niveles de memoria caché.

 

Interfaz del SO: llamadas al sistema

 

El SO protege a un proceso de otro y previene que un proceso ejecutándose en espacios no privilegiado tenga acceso directo a los dispositivos.

Cuando un proceso requiere acceso a alguna acción privilegiada, accede a ellas realizando una llamada al sistema, las hay de diferentes tipos:

 

1.       Control de procesos: crear o finalizar un proceso, obtener atributos del proceso, esperar la finalización de un proceso, asignar o liberar memoria.

2.       Manipulación de archivos: crear, borrar renombrar un archivo; abrir o cerrar un archivo existente, modificar sus metadatos, leer o escribir de un descriptor de archivo abierto

3.       Manipulación de dispositivos: solicitar o liberar un dispositivo. Leer, escribir o reposicionarlo. Estas llamadas pueden ser análogas a la manipulación de archivos.

4.       Mantenimiento de la información: obtener o modificar la hora del sistema, pedir detalles acerca de procesos archivos, etc.

5.       Comunicaciones: establecer una comunicación con determinado proceso, local o remoto, aceptar comunicación entre procesos, intercambiar información sobre un canal definido

6.       Protección: consultar o modificar información relativa al acceso de archivos, procesos o a la misma sesión de usuario.

Cada SO ofrece un conjunto de llamadas al sistema distinto, de acuerdo con el lenguaje de programación se puede ofrecer un API distinto, las API son la forma en la que se exponen las llamadas al programador (interfaces de aplicación al programador)

 

Llamadas al sistema, arquitectura y API

 

Este es el concepto que principalmente distingue a los sistemas.

 

Depuración de trazas (trace)

Con la finalidad de la depuración, la mayor parte de los sistemas operativos ofrecen programas al API del sistema y permiten ver la traza de las llamadas al sistema que va realizando un proceso. La salida de una traza brinda un amplio detalle acerca la actividad realizada por un proceso, comprendiendo así a grandes rasgos la interacción con el sistema

 

Referencia a los componentes

 

Se debe contar con una interfaz que permita emplear y administrar los detalles de los dispositivos, más allá de que no sea la misión como tal del sistema.

 

Cuando dos cabezas piensan mejor que una

 

Multiprocesamiento

 

Todo entorno donde hay más de un procesador, cuando sucede que hay más de un procesador, esto se vuelve un recurso más a gestionar por el SO.

1.       Sistema Multiprocesador: tiene la capacidad de estar atendiendo varios procesos de manera simultánea.

2.       Sistemas multiprogramados: da la ilusión de que esta ejecutando varios procesos simultáneamente.

Multiprocesamiento simétrico, aquella situación en la que todos los procesadores del sistema son iguales y pueden realizar al mismo tiempo las mismas operaciones.

 

Información adicional

 

¿Qué es una API? Conjunto de definiciones y protocolos que se utiliza para desarrollar e integrar el software de las aplicaciones. Las API permiten que sus productos y servicios se comuniquen, sin saber necesariamente cómo están implementados.

 


 

 

 

 

 

 


Comentarios

Entradas populares de este blog

La historia de nuestra institución

Diseño de una Base de Datos Orientada a Objetos (BDOO)