¿Que es un Sistema Operativo?

Cuando hablamos de sistema operativo, nos referimos a ese grupo de distintos programas que regulan el funcionamiento de una computadora. Las funciones radican principalmente en controlar cada transferencia de información interno. Asimismo, se busca que la comunicación de la computadora con los operadores regule la ejecución de cada programa. De esa forma se evitará que aparezcan fallas y se optimicen los recursos como la memoria, la unidad aritmética, etc.

Te sugerimos que leas también sobre el sistema operativo de Mac OS

El sistema operativo es el software que tiene como misión regular los recursos de un terminal. No importa que hablemos de una computadora convencional o un teléfono inteligente. El sistema operativo trabaja como el anfitrión de los distintos programas de aplicación que usualmente marchan sobre la máquina.

El hardware y el sistema

Una de las principales ocupaciones e la de regular cada detalle de operación en el hardware. De manera que varios programas no se deban ocupar. Esto iría aliviando y logrando que sea más sencillo el procedimiento de la programación en las aplicaciones. La mayoría de los dispositivos electrónicos usan un tipo de sistema operativo.

El impacto y uso de los sistemas operativos en un balance

Estos sistemas brindan varios servicios a cada programa de aplicación y usuarios. Las aplicaciones logran entrar a cada servicio por medio de API (application programming interfaces) o por medio de llamadas del sistema.

En los sistemas operativos de teléfonos, la GUI (interfaz gráfica de usuario) muchas veces suele ser parte del sistema operativo. Por otro lado, en sistemas más grandes y multiusuario, la GUI se utiliza como un programa aparte del sistema operativo. Eso se utiliza para funciones del hardware como la entrada input y salida output.

Un análisis más exacto de los sistemas operativos más usados.

Historia de los sistemas operativos

Década de 1950

Fue a mediados de 1950 que nació el primer transistor. Éste permitió la elaboración de computadoras más seguras, pequeñas y ágiles. Cada cálculo se llevó a cabo con órdenes de microsegundos, es decir que los procesadores apenas lograban velocidades de 1 MHz.

Eso dio la posibilidad de poder crear computadoras comerciales. Gracias al alto costo de los primeros ordenadores, los primeros usuarios en utilizar la tecnología fueron las grandes empresas. Lo mismo paso con las instituciones como el ejército, universidades y el mismo gobierno.

Debido a la gran demanda y popularidad, se buscó desarrollar los primeros programas que dejaban la rentabilización del uso de las tecnologías. Surgieron los primeros lenguajes de programación (Fortran, Pascal, Cobol). También aparecieron diversos programas de aplicaciones (cargadores, montadores, librerías de funciones matemáticas). Esos primeros sistemas ya empleaban los pasos usuales para el desarrollo de aplicaciones con lenguajes difíciles de comprender.

Década de 1960 y 1970

Fue en la transición de 1960 y 1970 que los cambios más notorios aparecieron en el área de la informática. Se creó la multiprogramación, las tecnologías del tiempo compartido y la del tiempo real y multiprocesador.

  • Multiprogramación

Cuando hablamos de la multiprogramación nos referimos a ese sistema multiprogramado ejercida en la memoria principal y tiene un programa de usuario. El mismo CPU pone en marcha la instrucción del programa, cuando lo que nota es la ejecución que hace la operación de E / S, en vez de esperar a que culmine la operación de E / S, pone en marcha otro programa. De esa manera es factible, tomando en cuenta el almacenado de un grupo ideal de actividades en cada instante. Manejar de forma eficiente cada recurso asequible.

  • Tiempo compartido

Dentro de este sistema, los programas de los diferentes usuarios están en la memoria. Al hacer una operación de E / S los programas ceden el CPU a otro programa del mismo modo que sucede en la multiprogramación. Pero la discrepancia radica en que cuando un programa hace rato que está ejecutando el sistema operativo se detendrá para ejecutar otra aplicación.

  • Tiempo real

Este tipo de sistemas se manejan en contextos en el que hay que aceptar y procesar en tiempo real muy costos el número de sucesos. Generalmente, la mayoría están externos a la computadora. En caso de que el sistema no respete las limitaciones de tiempo en la operación debería dar el resultado que sugiere la falla.

El procesamiento

El tiempo de respuesta tiene que estar allí para solucionar algún inconveniente en general. El procesamiento de archivos se hace de manera asidua. Esto es porque procesa el archivo antes de acceder al siguiente. Sus primeros usos fueron y continúan siendo en telecomunicaciones.

Multiprocesador

En el monoprocesador existen dos programas que pueden ser ejecutados de forma simultánea. Éstos pueden interferir entre sí, concretamente en la tarea para la lectura y escrituras de la memoria. Existen dos arquitecturas el cual buscan la solución:

  • La arquitectura NUMA. Cada procesador posee vía al control de una parte de la memoria
  • La arquitectura SMP. Todos los procesadores comparten la memoria.
Sistema Operativo

El procesador es el eje más importante para el desempeño de un sistema operativo.

Década de 1980

Gracias a la creación de los circuitos LSI (integración a gran escala), chips que tenían miles de transistores en un centímetro cuadrado de silicio, comenzó el auge de las computadoras personales. Allí se abandonó un poco el rendimiento y se intentó ir más allá con un sistema operativo amigable. De allí nacieron menús e interfaces gráficas.

Existían dos sistemas operativos que eran los mayoritarios: MS-DOS (Micro Soft Disk Operating System), creado por Microsoft para IBM PC y otras computadoras que usaban la CPU Intel 8088 y sus sucesores. Y UNIX, quien dominaba las computadoras personales que hacían uso del Motorola 68000.

El lanzamiento oficial del ordenador Macintosh en enero de 1984, al costo de 1.995 dólares estadounidenses y que luego cambió a 2.495 dólares. Tenía un sistema operativo Mac OS donde sus características nuevas eran las de haber añadido GUI (Graphic User Interface), Multitarea y Mouse. Generó varias reacciones entre las personas que estaban acostumbradas a los comandos convencionales.

El MS-DOS

En 1981 Microsoft compró un sistema operativo llamado QDOS que, luego de hacer unos ajustes, se transformó en la primera versión de MS-DOS (Microsoft Disk Operating System). Partiendo de allí pasó una serie de ajustes hasta alcanzar la versión 7.1, versión 8 en Windows Milenium. Fue en ese entonces que MS-DOS dejó de ser un elemento más del sistema operativo.

Fue a partir de los años 80 que se creó el sistema operativo y no fue hasta que salió Windows 95 que se le consideraba como tal. Solo se trataba de una interfaz gráfica del MS-DOS. En la actualidad es el sistema operativo más difundido en el área doméstica, aunque existan versiones para servidores como Windows NT. Microsoft creó asimismo varias versiones para superordenadores, pero sin tener tanto éxito. Luego de algunos años, se creó Windows 98 que era el más eficiente de esa época.

Windows ME

Luego vendría el sistema operativo de Windows ME (Windows Millenium Edition) entre los años de 1999 y 2000. Al poco tiempo nació Windows 2000. Luego seguiría el sistema operativo más usado hasta el momento, Windows XP. Y seguirían con otros sistemas operativos de la misma familia centrados en las compañías.

Uno de los más recientes es Windows 7 (Windows Seven) el cual salió al mercado el 33 de octubre de 2009 dejando atrás a Windows Vista. Éste último tuvo muchas críticas durante el tiempo que duró en el mercado. Nació después de un tiempo Windows 8 y Windows 10, siendo éste último el que actualmente está en el mercado brindando una serie de optimizaciones únicas.

Funciones básicas

Los sistemas operativos posibilitaban y simplifican el manejo de los ordenadores. Tienen varias funciones básicas que son fundamentales para el control del equipo. Entre ellas, está la que es ejercida por el componente interno (módulo en núcleos monolíticos y servidos en micronúcleos). Se puede hacer reseña de lo siguiente:

  • Brinda más comodidad en el manejo de la computadora.
  • Se puede controlar de forma eficaz cada recurso del equipo, ejecutando servicios para cada proceso.
  • Provee una interfaz al usuario, ejecutando instrucciones.
  • Da la autorización de realizar modificaciones debidos al desarrollo del mismo SO. Se pueden hacer sin afectar los servicios que ya se prestaban.

Un sistema operativo ocupa 5 funciones básicas en la operación de un sistema informático:

  1. Suministro de interfaz al usuario
  2. Administración de recursos
  3. Administración de archivos
  4. La Administración de tareas
  5. Servicio de soporte y utilidades.

Interrupciones

Las interrupciones son centrales a los sistemas operativos. Éstos dejan al sistema operativo tratar las distintas tareas que tanto varios programas tienen en ejecución. La programación se basa en interrupciones siendo la forma más básica de distribución de tiempo, estando de forma directa soportada por el CPU.

Las interrupciones le brindan a la computadora una forma automática de poner en marcha un código concreto en repuesta de eventos. Inclusive, las computadoras más básicas soportan las interrupciones. Le deja de esa manera al programador designar algún código que se ejecute cuando el evento tenga cabida.

Los sistemas operativos de hoy en día hacen uso de las interrupciones que buscan el control del núcleo del sistema operativo.

Modo protegido y modo supervisor

Los CPU de hoy en día puede soportar dos modos de operación: Modo Protegido y Modo Supervisor. Éstos permiten que ciertas funciones del CPU sean controladas por el sistema operativo. Varias de esas características especiales son el direccionamiento en la memoria virtual o restringir la entrada al hardware. Ese tipo de modo es esencial para soportar los sistemas operativos multiusuario (como UNIX).

En el instante que la computadora se pone a trabajar automáticamente se pone en marcha el modo supervisor. Los primeros programas que se ejecutan son: Los BIOS, el bootloader y el sistema operativo. Éstos tienen el camino libre al hardware. Pero en el instante que el sistema operativo pasa el control a los demás programas, se puede poner el CPU en un modo protegido.

Gestión de la memoria

El sistema operativo es el encargado de controlar el rendimiento de la memoria del sistema que los programas utilizan. Eso le da seguridad a que un programa no interfiera con la memoria ya empleada por otro programa. Es gracias a que varios programas se ponen en marcha el mismo tiempo y cada uno tiene que tener una entrada independiente a la memoria.

El control de la memoria cooperativa es empleado por varios sistemas operativos al comienzo. Cada uno asume que los programas utilizan de manera voluntaria el gestor de memoria del núcleo. De esa manera no se excede la memoria que está asignada. Ese tipo de gestión de memoria hoy en día no se ve porque los programas muchas veces tienen bugs. Éstos pueden hacer que excedan la memoria que les corresponde.

La protección

La protección de la memoria le deja al núcleo restringir la entrada a un procedimiento de memoria en el sistema. Hay diversas formas de protección de memoria, inclusive la segmentación y la paginación. Cada uno de esos métodos necesitan de un tipo de apoyo en el hardware (como la 80286 MMU), que no está en todas las computadoras.

Ya sea en modo de segmentación como paginación, varios registros en modo protegido señalan al CPU cuáles direcciones de memoria puede darle acceso al proceso de ejecución. Ese intento de entrar a otras direcciones generará una interrupción que logrará un calentamiento en el CPU, dejando el núcleo a cargo. A eso se le da el nombre de violación de segmento (segmento violation o Seg-V)

Memoria virtual

Se trata de un sistema de control de la memoria en las computadoras que les brinda a los programas la impresión de la memoria que usan. La memoria puede estar fragmentada o inclusive pasar la memoria física y guardar en almacenamiento secundario (disco duro).  Este tipo de sistema aplica la técnica para que sea más sencilla la programación de grandes aplicaciones. También le permite un manejo más eficaz de la memoria real (Memora RAM).

En los sistemas operativos actuales, esa memoria de aplicación que es dada menos frecuente se puede guardar temporalmente en un disco u otro medio. Todo con la finalidad de liberar el espacio para el empleo de otros programas. Eso es denominado como swapping (intercambio), ya que una misma zona de la memoria puede ser utilizada por varios programas.

Multitarea

Se refiere a varios procedimientos autónomos que corren en la misma computadora. Le da el semblante de que cada tarea se está ejecutando al mismo tiempo. Como muchas computadoras que pueden hacer más de una tarea al mismo tiempo. La finalidad es conseguís que se comparta el tiempo del procesador, de manera que cada programa utilice un porcentaje de tiempo en el ordenador para ejecutarse.

Controladores

El controlador o “Driver” es un tipo de software creado especialmente para permitir la interacción entre otros dispositivos de hardware. Usualmente se trata de una interfaz para la comunicación con el dispositivo. Esto se puede hacer a través de un bus concreto o el subsistema de comunicaciones donde la computadora esté conectada.

Se envían comandos al dispositivo o se logran recibir datos. Es un software especializado en el hardware y, asimismo, en un sistema operativo. Usualmente tiene el control de interrupciones para eventos asíncronos.

Sistema de archivos

Las computadoras consiguen archivas información o datos en los discos duros utilizando ficheros. Éstos están creados de forma concreta para brindar la entrada rápida y la confiabilidad al usuario. La manera en que los archivos son guardados en el disco se le llama sistema de ficheros, permiten a los ficheros poseer un nombre y atributo. Asimismo, les dejará guardarlos de forma jerárquica en directorios o carpetas bien distribuidas.

Seguridad

Que una computadora sea segura depende de diversas tecnologías que trabajen de la manera correcta. Un sistema operativo actual brinda la entrada a varios recursos. Esos están asequibles tanto desde el software que corre en el sistema, como en los terminales externos por medio del Kernel.

El sistema operativo tiene que ser capaz de distinguir entre cada solicitud de proceso que debe aceptar y las que debe denegar. Mientras otros sistemas solo distinguen entre el nivel “privilegiado” y el nivel “no privilegiado”. La mayoría de esos sistemas poseen formas de solicitar la identidad, como por ejemplo el nombre de usuario. Si se quiere designar esa identidad, se le da un proceso a la autentificación. Muchas veces hay que incluir el nombre de usuario, acompañado de la contraseña que corresponde.

Asimismo, se pueden utilizar otras formas para la autenticación como las tarjetas magnéticas o los datos biométricos. En varios casos, se pueden usar las conexiones desde la red, los recursos son accesibles sin otro tipo de autenticación. Relacionado al a autenticación existe el proceso de autorización. Éste se encarda de darle entrada a los servidores y recursos solicitados por parte del usuario que se haya autenticado.

Proporciona interfaz

Suministran una interfaz de usuario (de texto o gráfica), ésta le deja a la persona poder comunicarse con la computadora. Existe la interfaz de aplicaciones (API) que le deja al software poder comunicarse con el sistema operativo o hardware.

Clasificaciones de los sistemas operativos

Ahora mismo se darán a conocer varios de los criterios. Éstos muchas veces se utilizan para clasificar los distintos sistemas operativos.

Por número de usuarios

Monousuario. Sistemas operativos que sólo permiten trabajar con un usuario. En esta categoría podemos diferenciar 2 tipos:

  • +Sistema monousuario estricto.Cuando el sistema operativo no trabaja con el concepto de usuario. Podríamos decir que sólo existe un usuario por defecto.  Un ejemplo de sistema operativo monousuario es MS-DOS.
  • +Sistema monousuario en modo laxo.Por ejemplo, todas las versiones de Windows (Windows 9x, ME, NT, XP, Vista, Windows 7 …) permiten diferentes usuarios, pero no de forma concurrente.

Multiusuario. Sistemas operativos que permiten trabajar con múltiples usuarios a la vez. Por ejemplo, Unix / GNU / Linux o las versiones de servidor de Windows.

Por número de procesos concurrentes

  • +Monoprogramación.Sólo se puede ejecutar un proceso y el resto tienen que esperar que esto ocurra.
  • +Multiprogramación o multitarea.Se pueden ejecutar diferentes procesos al mismo tiempo. Cabe destacar que en un instante concreto de tiempo sólo pueden haber más de un proceso ejecutándose al mismo tiempo si tenemos más de un procesador (multiproceso). Aquí habría que destacar los Sistemas Operativos que disponen de planificación expulsiva y los que no (el ejemplo es DOS que permitía a un proceso monopolizar el uso de la CPU sin que el sistema lo puede expulsar de la CPU).

El número de procesadores

  • +Monoprocéso.Sólo permiten trabajar con un microprocesador simultáneamente. Un ejemplo de sistema operativo monoprocesador es Windows 9x.
  • +Multiproceso.Pueden trabajar con múltiples microprocesadores al mismo tiempo. Ejemplos de sistemas operativos multiproceso son Unix / GNU / Linux, Sun / OS y Windows NT / 2000.

Según la planificación de los procesos

Existen dos posibles clasificaciones:

Con restricción de tiempo

  • +Sistemas operativos de tiempo real.Dedicados a aplicaciones de tiempo real son sistemas operativos muy específicos para ámbitos industriales o militar.
  • +Sistemas interactivos.Son los “habituales” donde la máquina interacciona con las entradas y salida del sistema sin necesidad de procesamiento en tiempo real.

Sin restricciones de tiempo

  • +Procesamientos por lotes (batch).Sistema muy utilizado en los primeros sistemas. Este sistema lo utilizaba por razones tecnológicas. Las CPU eran mucho más rápidas que los sistemas de E / S. Y el mejor sistema era procesar por lotes para aprovechar al máximo el uso de la CPU.

Te recomiendo que leas nuestros artículos sobre Sistemas Operativos:

MAC OS X

Microsoft Windows

+ Sistema Operativo Mac OS

Android

Linux

¿Te gustó el artículo? Te invito a dejar un comentario en referencia. También puedes compartir la información.

 

Leave a Reply

*