Necesidad y funciones de los sistemas operativos – Part 1

El objetivo de un Sistema Operativo:  El objetivo fundamental de un Sistema Operativo es ejecutar programas de usuario y facilitar las tareas. Se utilizan varios programas de aplicación junto con sistemas de hardware para realizar este trabajo. El sistema operativo es un software que administra y controla el conjunto completo de recursos y utiliza de manera efectiva cada parte de una computadora. 
La figura muestra cómo el sistema operativo actúa como un medio entre las unidades de hardware y los programas de aplicación. 

Necesidad de sistema operativo: 

  • El sistema operativo como plataforma para los programas de aplicación: 
    el sistema operativo proporciona una plataforma sobre la cual pueden ejecutarse otros programas, denominados programas de aplicación. Estos programas de aplicación ayudan a los usuarios a realizar una tarea específica con facilidad. Actúa como una interfaz entre la computadora y el usuario. Está diseñado de tal manera que opera, controla y ejecuta varias aplicaciones en la computadora.
     
  • Administración de la unidad de entrada y salida: 
    el sistema operativo también permite que la computadora administre sus propios recursos, como la memoria, el monitor, el teclado, la impresora, etc. Se requiere la administración de estos recursos para una utilización eficaz. El sistema operativo controla los diversos recursos de entrada y salida del sistema y los asigna a los usuarios o programas según sus requisitos.
    • Interfaz de usuario coherente: 
      el sistema operativo proporciona al usuario una interfaz de usuario fácil de usar, por lo que el usuario no tiene que aprender una interfaz de usuario diferente cada vez y puede concentrarse en el contenido y ser productivo lo más rápido posible. El sistema operativo proporciona plantillas y componentes de interfaz de usuario para hacer que el funcionamiento de una computadora sea realmente fácil para el usuario.
       
  • Multitarea: 
    el sistema operativo administra la memoria y permite que varios programas se ejecuten en su propio espacio e incluso se comuniquen entre sí a través de la memoria compartida. La multitarea brinda a los usuarios una buena experiencia, ya que pueden realizar varias tareas en una computadora a la vez.

     

Funciones de un sistema operativo:
un sistema operativo tiene una variedad de funciones para realizar. Algunas de las funciones destacadas de un sistema operativo pueden describirse en términos generales como: 
 

  • Gestión del procesador : se ocupa de la gestión de la Unidad central de procesamiento (CPU). El sistema operativo se encarga de la asignación de tiempo de CPU a diferentes procesos. Cuando un proceso finaliza su procesamiento de CPU después de ejecutarse durante el período de tiempo asignado, esto se denomina programación. Hay varios tipos de técnicas de programación que utilizan los sistemas operativos: 
    1. El trabajo más corto primero (SJF ) : el proceso que necesita el tiempo de CPU más corto se programa primero.
    2. Programación Round Robin : A cada proceso se le asigna un tiempo fijo de ejecución de la CPU de forma cíclica.
    3. Programación basada en prioridades ( no preventiva ) : en esta programación, los procesos se programan de acuerdo con sus prioridades, es decir, el proceso de mayor prioridad se programa primero. Si las prioridades de los dos procesos coinciden, programe de acuerdo con la hora de llegada.
  • Cambio de contexto: en la mayoría de los sistemas operativos multitarea, varios procesos en ejecución en el sistema pueden necesitar un cambio de estado en la ejecución. Incluso si se ejecutan varios procesos en un momento dado, solo se ejecuta una tarea en primer plano, mientras que las demás se colocan en segundo plano. Entonces, el proceso que está en primer plano está determinado por la programación basada en prioridades, y el sistema operativo guarda el estado de ejecución del proceso anterior antes de cambiar al actual. Esto se conoce como cambio de contexto.
     
  • Gestión de dispositivos: 
    el sistema operativo se comunica con el hardware y los dispositivos conectados y mantiene un equilibrio entre ellos y la CPU. Esto es aún más importante porque la velocidad de procesamiento de la CPU es mucho mayor que la de los dispositivos de E/S. Para optimizar el tiempo de la CPU, el sistema operativo emplea dos técnicas: almacenamiento en búfer y cola de impresión.
     
  • Almacenamiento en búfer: 
    en esta técnica, los datos de entrada y salida se almacenan temporalmente en el búfer de entrada y el búfer de salida. Una vez que la señal de entrada o salida se envía hacia o desde la CPU respectivamente, el sistema operativo, a través del controlador de dispositivo, mueve los datos del dispositivo de entrada al búfer de entrada y del búfer de salida al dispositivo de salida. En el caso de entrada, si el búfer está lleno, el sistema operativo envía una señal al programa que procesa los datos almacenados en el búfer. Cuando el búfer se vacía, el programa informa al sistema operativo que vuelve a cargar el búfer y la operación de entrada continúa.
     
  • Spooling (Operación Simultánea de Periféricos en Línea) : 
    Esta es una técnica de administración de dispositivos utilizada para procesar diferentes tareas en el mismo dispositivo de entrada/salida. Cuando hay varios usuarios en una red que comparten el mismo recurso, puede existir la posibilidad de que más de un usuario le dé un comando en el mismo momento. Entonces, el sistema operativo almacena temporalmente los datos de cada usuario en el disco duro de la computadora a la que está conectado el recurso. El usuario individual no necesita esperar a que se complete el proceso de ejecución. En su lugar, el sistema operativo envía los datos del disco duro al recurso uno por uno. 
    Ejemplo: impresora
     
  • Gestión de la memoria : 
    en una computadora, tanto la CPU como los dispositivos de E/S interactúan con la memoria. Cuando se necesita ejecutar un programa, se carga en la memoria principal hasta que se completa la ejecución. A partir de entonces, ese espacio de memoria se libera y está disponible para otros programas. Las técnicas comunes de administración de memoria utilizadas por el sistema operativo son el particionamiento y la memoria virtual.
     
  • Particionamiento: 
    La memoria total se divide en varias particiones del mismo tamaño o de diferentes tamaños. Esto ayuda a acomodar una serie de programas en la memoria. La partición puede ser fija, es decir, permanece igual para todos los programas en la memoria o variable, es decir, la memoria se asigna cuando se carga un programa en la memoria. El último enfoque provoca menos pérdida de memoria pero, con el tiempo, puede fragmentarse.
     
  • Memoria virtual : 
    esta es una técnica utilizada por los sistemas operativos que permite que el usuario pueda cargar programas que son más grandes que la memoria principal de la computadora. En esta técnica, el programa se ejecuta incluso si el programa completo no se puede cargar dentro de la memoria principal, lo que lleva a una utilización eficiente de la memoria.
     
  • Administración de archivos: 
    el sistema operativo administra los archivos, carpetas y sistemas de directorios en una computadora. Cualquier dato en una computadora se almacena en forma de archivos y el sistema operativo mantiene la información sobre todos ellos utilizando la Tabla de asignación de archivos (FAT), o una estructura de datos llamada iNode en Linux. La FAT almacena información general sobre archivos como nombre de archivo, tipo (texto o binario), tamaño, dirección de inicio y modo de acceso (secuencial/secuencial indexado/directo/relativo). El administrador de archivos del sistema operativo ayuda a crear, editar, copiar, asignar memoria a los archivos y también actualiza la FAT. El sistema operativo también se ocupa de que los archivos se abran con los derechos de acceso adecuados para leerlos o editarlos.

Servicios del sistema operativo 

El objetivo principal del sistema operativo es proporcionar un entorno para la ejecución de programas. Por lo tanto, un sistema operativo brinda ciertos servicios a los programas y a los usuarios de esos programas.

1. Ejecución del Programa

  • El sistema operativo proporciona un entorno conveniente donde los usuarios pueden ejecutar sus programas.
  • El sistema operativo realiza la asignación de memoria a los programas, los carga en la ubicación adecuada para que puedan ejecutarse. Los usuarios no deben preocuparse por todas estas tareas.

2. Operaciones de E/S

  • Para ejecutar un programa, generalmente requiere operaciones de E/S. Por ejemplo, puede necesitar leer un archivo e imprimir la salida.
  • Cuando se realizan todas estas operaciones de E/S, los usuarios no pueden controlar los dispositivos de E/S.
  • Todas las E/S se realizan bajo el control del sistema operativo.

3. Comunicación

  • Los diversos procesos que se ejecutan en un sistema pueden necesitar comunicarse para intercambiar datos o información.
  • El sistema operativo proporciona esta comunicación mediante el uso de una función de paso de mensajes. En el paso de mensajes, los paquetes de información se mueven entre procesos por sistema operativo.

Publicación traducida automáticamente

Artículo escrito por aishwaryaagarwal2 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

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