Sistemas Operativos: Funciones, Tipos y Gestión de Recursos

Sistemas Operativos

Funciones

  • Gestión de procesos
  • Gestión de dispositivos
  • Gestión de la memoria
  • Gestión de ficheros

Estructura Interna

Monolíticos

Todas las funciones se implementan en el núcleo del sistema operativo (Kernel).

Por capas

Existe una mayor estructuración por niveles, diseñando una jerarquía por niveles.

Empleo

Tiempo real

Los resultados son correctos no solo cuando el cálculo es correcto, sino también en el tiempo requerido.

Procesamiento por lotes

Ausencia de interacción con el usuario. Consiste en preparar un conjunto de trabajos y se lanzan en un momento determinado.

Tiempo compartido

Se utilizan distintas técnicas de planificación de procesos para compartir la CPU (Multiprogramación).

Sistema centralizado

Sistema que da soporte a múltiples usuarios a la vez y a múltiples procesos (Multiprogramación) desde un terminal.

Sistema operativo de red

Es aquel que es capaz de controlar y manejar varios ordenadores en la red.

Proceso

Es un programa en ejecución. Desde el punto de vista del sistema operativo, un proceso se compone de la parte de código, una zona para datos y además una estructura de datos con información del proceso, que sirve para identificar de forma única el proceso, prioridad.

Planificación de la CPU

Hay ordenadores que disponen de varios microprocesadores (Multiprocesador, multinúcleo) que disponen para ejecutar varios procesos a la vez. En microprocesadores de un solo núcleo solo pueden hacer un proceso a la vez. En el caso de que haya más procesos que CPU, el Sistema va rotando los sistemas activos para que nostros percibamos multitarea. Pasar de un proceso a un estado activo a inactivo y viceversa, se le llama Cambio de contexto. Esto conlleva un tiempo. Lo que se busca es:

  • Equidad: No haya discriminación en procesos.
  • Eficiencia de la CPU.
  • Bajo tiempo de respuesta.
  • Minimizar el tiempo de espera.

SJF (Shat Job First)

El trabajo más corto es el primero en ejecutarse. Un problema de este algoritmo es conocer estos valores. Se pueden predecir por los ciclos anteriores. Este puede se expropiativo y no expropiativo. Para solucionar este segundo problema, lo que hace es aumentar la prioridad de los procesos que más tiempo lleben inactivos.

Sistema de prioridades

Los procesos tienen asignados un nivel de prioridad. Pueden se con o sin prioridad.

Round Robin

Algoritmo basado en expropiación basado en el tiempo (reloj). Se asignan tiempo a los procesos.

FCFS (FIFO)

La CPU no se libera cuando entra un proceso hasta que lo termina. Es el más facil de implementar y no es expropiativo. Se mantiene ejecutandose hasta que termine o se espera el por sí. El tiempo medio de espera es alto.

Tipos de procesos

Procesos cooperantes

Son los procesos que comparten el estado. Si 2 procesos cooperantes se ejecutan a la vez y comparten la pantalla, por ejemplo, uno de ellos escribe abc y el otro cba el resultado puede ser muy variable. Para que esto no ocurra existen unos mecanismos de sincronización de procesos:

  • Exclusión mútua: Es el mecanismo que asegura que solo un proceso este haciendo algo en un instante determinado y los otros esten excluidos.
  • Sección Crítica: Es una parte de código que realiza operaciones que pueden interferir con otros procesos.

Procesos independientes

Cuando se ejecutan varios procesos puede que estos compartan varios recursos. Uno de los objetivos del sistema operativo es permitir que compartan esos recursos sin problemas. Los procesos independientes se pueden detener y luego retomarse sin consecuencias negativas.

Gestor de memoria

Es la parte del sistema operativo encargada de asignar y gestionar en memoria los procesos. Proporciona protección del espacio para cada proceso. El gestor de memoria tambien brinda la opción de memoria compartida.

Dividir la memoria en partes

Estas partes pueden ser de distinto tamaño o iguales. Las de igual tamaño se les denomina particiones fijas. El problema es que desaprovecha la memoria.

Fragmentación

Cantidad de memoria de desaprovechada. Pueden ser de 2 tipos:

  • Interna: La diferencia entre la parte fija y la externa. La solución a este tipo es la asignación dinámica de memoria.
  • Externa: La memoria desaprovechada entre bloques. La solución es la reubicación de la memoria.

Segmentación de memoria

Es un esquema de asignación evolucionado basado en particiones variables. Presenta las siguientes ventajas:

  • No fragmentación interna.
  • Los bloques de un proceso pueden estar situados en áreas contiguas.
  • Suministra la compactación de memoria.

Memoria virtual

Consiste en utilizar el uso del disco como si fuera RAM, consiguiendo una memoria no limitada.

Driver

Es un programa que gestiona el intercambio de información entre la CPU y el periférico. El driver se encarga de identificar al periférico, interpretar el tipo de operación, regular la velocidad de transmisión e informar el estado del periférico. Es la parte Hardware que gestiona el propio periférico.

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.