Sistemas Operativos: Fundamentos y Tipos

Clasificado en Informática

Escrito el en español con un tamaño de 10,48 KB

Sistemas Operativos: Introducción

El SO es el software básico del ordenador, que gestiona los recursos hardware del sistema informático y proporciona la base para la creación y ejecución del software de aplicación. Hace que el hardware resulte transparente al usuario.

Clasificación de los Sistemas Operativos

Atendiendo a la gestión que realizan del hardware y software y a cómo pueden ser utilizados por un usuario, tenemos dos tipos de SO:

  • Sistemas operativos monousuario: Los recursos hardware y software están a disposición de un único usuario en un ordenador.
  • Sistemas operativos multiusuario: Varios usuarios pueden utilizar los recursos hardware y software de un mismo ordenador.

Ejecución de Programas

Sistemas Monousuario

La ejecución de un programa en un SO monousuario se realiza siguiendo estos pasos:

  • El programa se carga desde el disco duro u otro dispositivo de almacenamiento.
  • Se ubica en memoria principal a través de la CPU.
  • Las instrucciones se van ejecutando una a una utilizando la UC y la ALU.

Sistemas Multiusuario

En un SO multiusuario, la ejecución de un programa es más compleja y depende del hardware donde esté instalado. Así, el SO multiusuario puede estar instalado en:

  • Un único equipo (mainframe).
  • Varios ordenadores personales.

Un mainframe permite que varios teclados y monitores se conecten a él a modo de terminales y utilicen sus recursos. Todos los programas que ejecuten los distintos usuarios serán gestionados simultáneamente por el SO instalado en el mainframe.

Si tenemos varios PCs, cada uno tendrá su propio SO y estará en comunicación con el servidor, que tendrá instalado el SO multiusuario y almacenará los recursos. La ejecución de los programas la llevará a cabo, por lo general, el SO del usuario.

Evolución de los Sistemas Operativos

Los primeros SO eran un bloque de software básico imposible de modificar una vez instalado en el ordenador y se denominaron monolíticos. Actualmente, los SO son abiertos y segmentados, de modo que es posible ampliar o modificar solo una parte del mismo. Los SO están estructurados por niveles o capas, cada una de las cuales realiza una función. La última generación son los SO de máquina virtual, con un núcleo que permite emular el hardware.

Tipos de SO

Según el Número de Usuarios

  • Monousuario: Solo un usuario trabaja con un ordenador. Todos los dispositivos hardware están a disposición de ese usuario. Algunos ejemplos son: DOS, Windows 3.x, 9X, XP Home Edition y Professional.
  • Multiusuario: Varios usuarios pueden utilizar los recursos del sistema simultáneamente. Pueden compartir los dispositivos de almacenamiento externo y los periféricos de salida. Algunos ejemplos son UNIX, Novell, Windows NT Server, 2003 Server.

Según el Número de Procesos

  • Monoprogramación o monotarea: Este tipo de SO solo puede ejecutar un programa por vez. El hardware está a disposición de ese programa hasta que finalice su ejecución. Ej. DOS o Windows 9X.
  • Multiprogramación o multitarea: Se pueden ejecutar varios procesos de forma simultánea. La CPU comparte el tiempo de uso del procesador entre los diferentes programas. La multitarea real solo se consigue cuando el equipo dispone de más de un procesador.

Según el Número de Procesadores

  • Monoproceso: El ordenador solo tiene un procesador.
  • Multiproceso: Hay dos o más procesadores. Ej: Linux, Windows XP, 2003. La forma de utilizar los diferentes procesadores puede ser:
    • Multiproceso simétrico: Se alterna el uso de los procesadores.
    • Multiproceso asimétrico: Se reparten las tareas de modo que determinados procesos los ejecutará siempre un procesador.

Según el Tiempo de Respuesta

  • Tiempo real: La respuesta es inmediata (o casi) tras iniciar el proceso.
  • Tiempo compartido: Tratan de proporcionar un reparto equitativo de los recursos comunes para dar la impresión a los usuarios de que poseen una máquina independiente.

Estructura de los SO

Las funciones que realiza un SO son:

  • Control y ejecución de programas
  • Control, gestión y administración de periféricos
  • Control, gestión y administración de usuarios
  • Control de procesos
  • Control de errores de sistema y de aplicaciones
  • Control y gestión de seguridad frente a intrusos o virus

Todas estas funciones se organizan en una estructura de 5 niveles o capas, cada uno de los cuales se comunica con el nivel inmediatamente superior o inferior.

Máquinas Virtuales

Actualmente, la mayoría de SO son multiusuario y multitarea. Para ello, el núcleo gestiona máquinas virtuales, que simulan el hardware que gestiona el SO.

Así se dispone de los niveles de núcleo, ejecutivo, supervisor y usuario, como si fueran independientes para cada usuario.

Proporciona estabilidad al sistema, ya que ante errores de una aplicación el hardware no se bloquea.

La interacción real con el hardware se produce cuando el usuario termina de ejecutar su aplicación.

Procesos

Un proceso se puede definir como un programa en ejecución y presenta las siguientes características:

  • Para iniciar su ejecución debe estar completamente cargado en memoria.
  • Esta zona de memoria debe estar protegida del resto de procesos.
  • Puede pertenecer al usuario o al sistema operativo.
  • Tiene asociada una estructura de datos llamada bloque de control de proceso donde se almacena información acerca del mismo.
  • Cada proceso puede comunicarse con otros procesos.

Los procesos pertenecientes a los usuarios se ejecutan en el modo usuario del procesador, que implica restricciones de acceso a los recursos hardware.

Los procesos que pertenecen al sistema operativo se ejecutan en modo núcleo o privilegiado, sin restricciones de acceso al hardware.

Para poder ejecutar un proceso deberá estar cargado en memoria el propio código del proceso, así como los datos a los que afecta su ejecución.

Estados de un Proceso

  • En ejecución: El procesador está ejecutando instrucciones de ese proceso.
  • Preparado, en espera o activo: Está preparado para ejecutarse y espera su turno para poder utilizar la CPU.
  • Bloqueado: Retenido porque necesite un recurso no disponible en ese momento.

Gestión de Memoria

La parte del SO que se encarga de la gestión de memoria es el administrador de memoria:

  • Gestiona el intercambio de datos entre memoria y disco.
  • Libera el espacio de los procesos que han finalizado.
  • Reserva espacio para nuevos procesos.

Para ello puede utilizar alguna de las siguientes técnicas:

  • Memoria Virtual
  • Intercambio de memoria (swapping)
  • Paginación
  • Segmentación

Swapping

Existe una zona llamada de intercambio en el disco donde se encuentra instalado el SO. Cuando se precisa liberar espacio en memoria, los procesos van pasando, según su estado, a la zona de intercambio. Si el usuario solicita seguir ejecutando el proceso, éste vuelve desde la zona de intercambio a la memoria principal. Se utiliza en SO como Linux y se recomienda que la zona de swapping sea del 20% del espacio en disco o del doble de la capacidad de la RAM (la mayor).

Paginación

Técnica que consiste en dividir la RAM en zonas iguales llamadas marcos y los programas en partes del mismo tamaño llamadas páginas.

Para ubicar un programa en memoria, el SO buscará los marcos que tenga libres. Mediante la tabla de páginas, la CPU asigna las direcciones físicas de los marcos a las páginas en que se ha dividido el programa.

La asignación de marcos no ha de ser necesariamente consecutiva.

Segmentación

Técnica similar a la paginación, que permite definir los bloques de memoria de tamaño variable. Cada segmento puede variar desde 0 hasta un tamaño máximo permitido. Además, la longitud de un segmento puede variar según las necesidades del programa.

Gestión de Datos: Sistema de Archivos

El SO gestiona los archivos teniendo en cuenta:

Nombre

Depende del SO. En DOS los nombres de archivo pueden tener 8 caracteres como máximo, en Windows 256. Normalmente incluyen una extensión de 3 caracteres separados por un punto, para que el sistema identifique rápidamente el tipo de archivo. Algunos son:

  • .txt, archivo de texto sin formato
  • .doc, archivo de Word
  • .jpg, archivo gráfico
  • .dll, librerías del sistema
  • .exe, ficheros ejecutables
  • .bat, ficheros de proceso por lotes

Tipo

Nos encontramos con 2 grandes bloques:

  • Archivos estándar: Los que contienen información del usuario, programas, documentos, texto, gráficos, etc.
  • Directorios: Archivos que contienen referencias a otros archivos. Se utilizan para albergar estructuras de archivos.

En casi todos los SO existe un directorio raíz del que depende el resto de directorios o subdirectorios.

Atributos

Los más importantes son los que indican qué tipo de operaciones se pueden realizar sobre los archivos o qué tipo de usuarios pueden utilizarlos.

Los atributos de protección dependen del SO y definen las operaciones que se pueden realizar sobre un archivo:

  • Crear
  • Eliminar
  • Leer
  • Escribir
  • Etc.

Sistemas de Archivos

varían de un SO a otro. Principalmente se trabaja con 2 sistemas:

–FAT (Tabla de asignación de archivos): funciona como el índice de un libro. En la FAT se almacena información sobre dónde comienzan los archivos en disco y el espacio que ocupan. Es el sistema empleado en MS-DOS y las primeras versiones de Windows. Actualmente existen dos versiones: FAT 16 y FAT 32.
–NTFS (Sistema de archivos de tecnología nueva): utilizado por Windows NT, XP, 2003. Es más seguro, más rápido y sobre todo aprovecha mejor el espacio en disco.

Entradas relacionadas: