Núcleo del Sistema Operativo o Kernel

Este es el corazón del sistema operativo y maneja las características más críticas. Aquí veremos sólo un pantallazo a los módulos, conceptos y técnicas presentes en los núcleos de los sistemas operativos modernos.

Sistema de Archivos

Para almacenar datos en unidades de almacenamiento permanente (no volátil) el sistema operativo usa el concepto de archivo (File). Un archivo es una sucesión de bytes guardados usando un nombre como por ejemplo “ejemplo.txt”. Además del nombre a un archivo se le pueden definir

Para ordenar estos archivos se utiliza un árbol de directorios o carpetas.

Procesos y Multitarea

Multitarea es la capacidad de una computadora de ejecutar más de un programa a la vez. Cada programa en ejecución es un proceso. Cabe destacar que podemos ejecutar un programa 2 veces al mismo tiempo creando así 2 procesos distintos que ejecutan un mismo programa.

El sistema operativo le da un espacio de memoria a cada proceso y controla que no sea accedido por otro proceso. Además el sistema operativo reparte el tiempo de ejecución de CPU entre los procesos.

Interrupciones

Este es un mecanismo que le la CPU al sistema operativo para poder controlar a los procesos (programas en ejecución). Las Interrupciones son un mecanismo por el cual ante un evento la CPU detiene la ejecución de un programa y comienza a ejecutar otro código.

Esto es importante ya que permite al sistema operativo quitarle la CPU a un programa en ejecución sin pedirle permiso. Esto permite al sistema operativo distribuir el tiempo de CPU según lo considere conveniente.

Modos de ejecución

Las CPUs pueden tener dos o más modos de ejecución con diferentes privilegios. La idea es que el sistema operativo se ejecuta sin restricciones y los programas se ejecutan en modos más restringidos. De esta forma se puede controlar que un proceso no interfiera con otro o con el sistema operativo.

Memoria Virtual

Antes de existir la memoria virtual los programadores teníamos que estar pendientes no superar el tamaño de la memoria física que tenía nuestra computadora con nuestros programas ya que esto provocaba un error que terminaba con nuestro programa.

Cuando el sistema operativo trabaja con memoria virtual presenta al programa como si su memoria física fuera mucha más de la que en realidad tiene y usa el disco para suplir el espacio faltante. El programador no es consciente de este proceso y no se preocupa de la memoria física.

Como funciona la Memoria Virtual