Sistemas operativos y lenguajes de programación
Introducción
Un sistema operativo es el software que controla el conjunto de operaciones de una computadora. Proporciona el mecanismo por el cual un usuario puede almacenar y extraer archivos, proporciona la interfaz mediante la que el usuario puede solicitar la ejecución de programas y proporciona también el entorno necesario para ejecutar los programas solicitados.
Ejemplos de un Sistema operativo
- Windows
- UNIX
- Mac OS
- Linux
El concepto de proceso
La actividad de ejecutar un programa bajo el control del sistema operativo se conoce como proceso. Con el proceso está asociado el estado actual de la actividad, lo que se denomina estado del proceso. Este estado incluye la posición actual dentro del programa que se está ejecutando (el valor del contador de programa), así como los valores en los restantes registros del procesador y en las celdas de memoria asociadas. Simplificando, podríamos decir que el estado del proceso es una instantánea de la máquina en un momento determinado. En los diferentes momentos durante la ejecución de un programa (en los distintos instantes de un proceso), podremos observar distintas instantáneas (diferentes estados del proceso).
Administración de procesos
Las tareas asociadas con la coordinación de la ejecución de los procesos son gestionadas por el planificador y el despachador dentro del núcleo del sistema operativo. El planificador mantiene un registro de los procesos presentes en la computadora y se encarga de introducir nuevos procesos en dicho registro y de eliminar de él los procesos completados. Así, cuando un usuario solicita la ejecución de una aplicación, es el planificador el que añade la ejecución de dicha aplicación al conjunto de procesos actuales.
Para poder controlar todos los procesos existentes, el planificador mantiene en la memoria principal un bloque de información denominado tabla de procesos. Cada vez que se solicita la ejecución de un programa, el planificador crea una nueva entrada para dicho proceso en la tabla de procesos. Esta entrada contiene informaciones tales como el área de memoria asignada al proceso (obtenida del gestor de memoria), la prioridad del proceso y si el proceso está listo o a la espera. Un proceso está listo si se encuentra en un estado en el que puede continuar progresando; estará a la espera si su progreso está actualmente detenido hasta que tenga lugar algún suceso externo, como la terminación de una operación de escritura en almacenamiento masivo, la pulsación de una tecla del teclado o la llegada de un mensaje enviado por otro proceso.
El despachador es el componente del núcleo que supervisa la ejecución de los procesos planificados. En un sistema de tiempo compartido/multitarea, esta tarea se lleva a cabo mediante multiprogramación; es decir, dividiendo el tiempo en cortos segmentos, cada uno de los cuales se denomina franja temporal (que típicamente dura unos milisegundos o unos microsegundos), y luego conmutando la atención del procesador entre los distintos procesos, a medida que se permite que cada uno de ellos se ejecute durante una franja temporal. El procedimiento de cambiar de un proceso a otro se denomina conmutación de procesos (o cambio de contexto).
Administrador de ventanas
- Ventana: Bloques de espacio en la pantalla
- Manejo de contenidos por ventana y de la interacción a través del ratón o del teclado.
- Los administradores de ventanas determinan el “estilo” de una interfaz gráfica de usuario
- Coordinar el uso de los dispositivos de almacenamiento masivo de la máquina
- Directorios (o carpeta): una colección de documentos creados por el usuario
- Cualquier acceso a un archivo por parte de otras unidades de software debe ser autorizado: e.j. apertura de archivos
Proceso de arranque
Open Source
El software open source es un código diseñado de manera que sea accesible al público: todos pueden ver, modificar y distribuir el código de la forma que consideren conveniente.
El software open source se desarrolla de manera descentralizada y colaborativa, así que depende de la revisión entre compañeros y la producción de la comunidad.
Comentarios
Publicar un comentario