top of page

Que es el sistema operativo?

 

Un sistema operativo puede ser definido como un conjunto de programas especialmente hechos para la ejecución de varias tareas, en las que sirve de intermediario entre el usuario y la computadora. Este conjunto de programas quemanejan el hardware de una computadora u otro dispositivo electrónico. Provee de rutinas básicas para controlar los distintos dispositivos del equipo y permite administrar, escalar y realizar interacción de tareas.

Un sistema operativo, tiene también como función, administrar todos los periféricos de una computadora. Es el encargado de mantener la integridad del sistema.

Podemos decir que el sistema operativo es el programa más importante de la computadora.

 

Existen muchos tipos de Sistemas Operativos, cuya complejidad varía dependiendo de qué tipo de funciones proveen, y en qué tipo de equipo puede ser usado. Algunos sistemas operativo permiten administrar gran cantidad de  usuarios, en cambio otros controlan dispositivos de hardware como bombas de petróleo.

Cuando el sistema operativo comienza a funcionar, inicia los procesos que luego va a necesitar para funcionar correctamente. Esos procesos pueden ser archivos que necesitan ser frecuentemente actualizados, o archivos que procesan datos útiles para el sistema. Es posible tener acceso a distintos procesos del sistema operativo, a través del administrador de tareas, donde se encuentran todos los procesos que están en funcionamiento desde la inicialización del sistema operativo hasta su uso actual. 

Una de las atribuciones del sistema operativo es cargar en la memoria y facilitar la ejecución de los programas que el usuario utiliza. Cuando un programa está en ejecución, el sistema operativo continúa trabajando. Por ejemplo, muchos programas necesitan realizar acceso al teclado, vídeo e impresora, así como accesos al disco para leer y grabar archivos. Todos esos accesos son realizados por el sistema operativo, que se encuentra todo el tiempo activo, prestando servicios a los programas que están siendo ejecutados.

El sistema operativo también hace una adminstración de los recursos de la computadora, para evitar que los programas entren en conflicto. Por ejemplo, el sistema operativo evita que dos programas accedan simultáneamente al mismo sector de la memoria, lo que podría causar grandes problemas. El sistema operativo funciona como un "maestro", procurando que todos los programas y todos los componentes de la computadora funcionen de forma armónica.



Funciones básicas del Sistema Operativo 

El sistema operativo es un conjunto de programas que:

Inicializa el hardware del ordenador

Suministra rutinas básicas para controlar dispositivos

Permite administrar, escalonar e interactuar tareas

Mantiene la integridad de sistema

Un Sistema Operativo muy simple, por ejemplo, para un sistema de control de seguridad, podría ser almacenado en una memoria ROM (Memoria de sólo Lectura: un chip que mantiene las instrucciones para el dispositivo), y tomar el control al ser conectado al equipo. Su primera tarea sería reajustar (y probablemente probar) los sensores de hardware y alarmas, y entonces activar una rutina que “escucha” ininterrumpidamente todos los sensores del sistema. Si el estado de cualquier sensor de entrada cambiara, se activaría una rutina de alarma.


En un gran servidor multiusuario, con muchas computadoras conectadas a él, el Sistema Operativo es mucho más complejo. Tiene que administrar y ejecutar todos los pedidos de los usuarios y asegurar que ellos no interfieran entre sí. Tiene que compartir todos los dispositivos que son del tipo serial por naturaleza (equipos que sólo pueden ser usados por un usuario de cada vez, como impresoras y discos) entre todos los usuarios que piden utilizar este tipo de servicios. El Sistema Operativo puede ser almacenado en un disco, y determinadas partes de él son cargadas en la memoria del ordenador (RAM) cuando es necesario. 
 

El sistema operativo provee utilidades para:

Administración de Archivos y Documentos creados por usuarios

Ejecución controlada de Programas

Comunicación entre usuarios y con otras computadoras

Administración de pedidos de usuarios para usar programas y espacio de almacenamiento.

Adicionalmente, el Sistema Operativo necesitaría presentar a cada usuario una interfaz que acepte, interprete, y ejecute comandos o programas del usuario. Esta interfaz es normalmente llamada SHELL o intérprete de línea de comando (CLI). En algunos sistemas podría ser una simple línea de texto que utilicen palabras claves; en otros sistemas podrían ser gráficas, usando ventanas y un dispositivo señalador como un mouse.

Las Distintas Partes de un Sistema Operativo

El sistema operativo de una computadora que es usado por muchas personas al mismo tiempo, es un sistema complejo. Contiene millones de líneas de instrucciones escritas por programadores. Para hacer los sistemas operativos más fáciles se ser escritos, son construidos como un conjunto de módulos, siendo cada módulo responsable de realizar una función. Los módulos típicos en un gran Sistema Operativo multiusuario generalmente son:

Núcleo (Kernel en inglés)

Administrador de procesos

Scheduler

Administrador de archivos

El Núcleo - Ejecución en Tiempo-Real

El núcleo de un sistema operativo es algunas veces llamado EJECUCION en tiempo real. Algunas de las funciones ejecutadas son:

Intercambio entre programas

Control y programación de los dispositivos de hardware

Administración de memoria

Administración de procesos

Escalonamiento de tareas

Comunicación entre procesos

Procesamiento de excepciones y de interrupciones

Nuestro sistema simple de monitorización de seguridad (que vimos arriba) no tendría todas las funciones mencionadas, ya que probablemente sería un sistema mono-tarea, ejecutando sólo un programa. Por lo tanto, no necesitaría gestionar cambios entre más de un programa o permitir comunicación entre programas (comunicación entre procesos). La administración de la memoria sería innecesaria, ya que el programa residiría permanentemente en la ROM o en una EPROM (una forma programable especial de ROM).

Un sistema operativo diseñado para administrar un gran número de usuarios necesitaría de un núcleo para ejecutar todas las funciones descriptas. Los programas de los usuarios generalmente son almacenados en disco y necesitan ser cargados en memoria antes de ser ejecutados. Esto plantea la necesidad de administrar la memoria, ya que la memoria de la computadora necesitaría ser explorada para localizar un área libre para cargar un programa de usuario en la misma. Cuando el usuario finaliza la ejecución del programa, la memoria consumida por éste necesita ser liberada y puesta a disposición de otro usuario cuando la solicite.



Programando una computadora

Un programa es una secuencia de instrucciones dadas a la computadora. Cuando el programador de software (una persona que escribe programas para que sean ejecutados en una computadora) desarrolla un programa, este es convertido en una larga lista de instrucciones que son ejecutadas por el sistema operativo de la computadora.

Tratándose de sistemas operativos, se habla de un proceso más que de un programa. En los sistemas operativos modernos, sólo una porción de un programa es cargada en cada instante. El resto del programa espera en una unidad de disco hasta que se necesite del mismo. Esto economiza espacio de memoria.

Los programas en la computadora son ejecutados por procesadores. Un procesador es un chip en la computadora que ejecuta instrucciones de programas. Los procesadores ejecutan millones de instrucciones por segundo.

Un Proceso

Un proceso o tarea es una porción de un programa en alguna fase de ejecución. Un programa puede consistir de varias tareas, cada una con funcionamiento propio o como una unidad (tal vez comunicándose entre sí periódicamente).

El Thread (hilo)

Un thread es una parte separada de un proceso. Un proceso puede consistir de varios threads cada uno de los cuáles es ejecutado separadamente. Por ejemplo, un thread podría realizar el refresco de los gráficos de la pantalla, otro thread trataría sobre la impresión, otro thread se encargaría del mouse y el teclado. Esto brinda buenos tiempos de respuesta en programas complejos. Windows Server es un ejemplo de un sistema operacional que soporta multi-thread.


Sistemas operativos Multiproceso

Algunos sistemas ejecutan sólo un único proceso, otros sistemas ejecutan múltiples procesos a lavez. La mayoría de las computadoras están basadas en un único procesador, y un procesador puede ejecutar sólo una instrucción cada vez. Por lo tanto, como es posible que un único procesador ejecute procesos múltiples? La respuesta inmediata es que no lo hace de ese modo. El procesador ejecuta un proceso por un periodo pequeño de tiempo, y entonces se mueve al próximo proceso y así continuamente. Como el procesador ejecuta millones de instrucciones por segundo, da la impresión de que muchos procesos están siendo ejecutados al mismo tiempo.



En un sistema operativo que soporta más de un proceso a la vez, algún mecanismo debe ser usado para intercalar tareas. Hay dos maneras para hacer este cambio:

Escalonamiento por Cooperación: indica que una tarea que está siendo ejecutada actualmente dejará voluntariamente en algún momento el procesador y permitirá que otros procesos sean ejecutados.

Escalonamiento por Prioridades: significa que una tarea corriente será interrumpida y el procesador se dedica a otro proceso en estado de espera.

El problema del cambio por cooperación es que un proceso podría tardar y así denegar la ejecución de otros procesos. Un ejemplo de un sistema de cooperación es el Sistema Operativo Windows de 16 bits (antiguos). El escalonamiento por prioridades es mejor. Da respuestas a todos los procesos y ayuda a prevenir el “cuelgue” de los equipos. Windows Server es un ejemplo de tal sistema operativo.

Escalonamiento (Scheduling)

La decisión de cuál es el próximo proceso que debe ser ejecutado es llamado escalonamiento (scheduling), y puede ser hecho de una gran variedad de maneras. Los escalonamientos por cooperación generalmente son muy simples, ya que los procesos son organizados en una fila circular (ROUND ROBIN). Cuando el proceso actual termina, va hacia el fin de la fila. El proceso que queda primero en la fila es ejecutado, y todos los procesos se mueven un lugar hacia arriba en la fila. Eso provee una medida justa, pero no impide que un proceso monopolice el sistema.

El escalonamiento por prioridad usa un reloj en tiempo real que genera una interrupción a intervalos regulares (digamos, cada 1/100 de un segundo). Cada vez que una interrupción ocurre, el procesador se mueve a otra tarea. Los sistemas operativos que generalmente usan ese tipo de escalonamiento le atribuyen prioridades cada proceso, de tal manera que algunos pueden ser ejecutados más frecuentemente que otros.


Carga del Sistema Operativo

El Sistema Operativo puede ser cargado en la memoria de una computadora de dos maneras.

Ya está presente en la ROM

Es cargado desde el disco cuando la computadora es encendida.

Si el Sistema Operativo ya está presente en la ROM (en sistemas de controladores industriales, bombas de petróleo, etc), tomará el control inmediato del procesador al ser encendido. En sistemas más complejos, el Sistema Operativo es almacenado normalmente en una unidad secundaria (como un disco), y es cargado en la RAM cuando la computadora es encendida. La ventaja de ese tipo de sistemas es que el escalonamiento es más fácil de hacer y programar.

El PROCESO BOOTSTRAP

Describe la acción de la carga inicial del sistema operativo desde disco hacia la RAM.Una pequeña rutina almacenada en la ROM, llamada CARGADOR BOOTSTRAP o IPL (Cargador de Programa Inicial), lee una rutina especial de carga en el disco. En sistemas basados en discos, esa rutina normalmente reside en la pista 00, sector 00 (o 01), y es llamado el sector de booting. El código contenido en ese sector es transferido hacia la RAM, y entonces es ejecutada. Tiene la responsabilidad exclusiva de cargar el resto del sistema operativo en la memoria.

Tipos diferentes de procesamientos en sistemas operativos

Los Sistemas operativos están divididos en categorías que definen sus características.Los Sistemas Operativos pueden usar combinaciones de esas categorías descritas a continuación.

-
BATCH (en LOTE)
El tipo más antiguo de SO permite que sólo un programa sea ejecutado cada vez. El programa que es cargado en la computadora es ejecutado completamente. Los datos usados por el programa no pueden ser modificados mientras el programa está siendo ejecutado. Cualquier error en el programa o en los datos significa comenzar todo nuevamente.

- INTERACTIVO
Estos permiten la modificación y entrada de datos durante la ejecución del programa. 

- EQUIPO-SHARING/MULTI-USUARIO
Estos Sistemas Operativos comparten la computadora entre más de un usuario, y adopta técnicas de escalonamiento por prioridades.

- MULTI-TAREAS
Más de un proceso puede ser ejecutado concurrentemente. El procesador escalona rápidamente entre los procesos. Un usuario puede tener más de un proceso ejecutado cada vez.

- TIEMPO REAL
El Sistema Operativo monitoriza varias entradas que afectan la ejecución de procesos, cambiando los modelos de computadoras del ambiente, afectando las salidas, dentro de un periodo de tiempo garantizado (normalmente < 1 segundo).

- MULTI-PROCESAMIENTO
Un ordenador que tiene más de un procesador, dedicados a la ejecución de procesos.

Los sistemas operativos más conocidos.

Sin dudas, el sistema operativo más conocido es Windows, desarrollado por la empresa Microsoft.

  • Los sistemas operativos más populares:

  •  Que es Microsoft?- Microsoft Windows (para computadoras). 

  • - Windows Server (para servidores) 

  • - Linux (para computadoras y servidores) 

  • - Mac OS (para computadoras)

  • - Chrome OS (para computadoras) 

  • - Android (para smartphones)

  • - Windows Phone(para smartphones)

  • - iOS (para smartphones)

  • - BlackBerry OS (para smartphones)

 

Que es un Sistema Operativo de Internet 


Cuando nos preguntamos cual es la aplicación más utilizada actualmente, todo indica al navegador de internet. Esto lleva a la deducción, que el actual DOS (sigla que determina el tipo de sistema operativo que utilizamos actualmente como un "sistema operativo de disco"), será sustituido por el IOS, el sistema operativo de Internet, dónde todo depende de la red de redes. La primera objeción a este cambio podría haber sido el hecho de que internet en general suele ser más lenta que el disco, sin embargo, eso cambió , ya que las conexiones de hoy permiten un acceso a datos estable y rápido. 


Cuáles son las ventajas del IOS? 

Todas las aplicaciones del IOS dependen de Internet, por lo tanto, no es necesario bajar e instalar ningún tipo de programa, o en el caso que sea necesario, será muy simple para realizar para el usuario. La actualización del software es automática, proporcionando una actualización permanente. Al hacer clic en "Guardar" los datos también son guardados en un servidor web. Muchos expertos especulan que esto traerá problemas de seguridad y privacidad. 

 

Por ejemplo Orkut, quitó a las personas del anonimato proporcionado por los "nicks" o apodos. Actualmente la gran mayoría exponen nombre y foto verdaderos en la red. También podemos citar a los Blogs, Fotologs y Web-mails, que mantienen los mensajes de los usuarios en un servidor de internet. 

 

Poco a poco la preocupación de mantener los datos en la red está siendo olvidada. La ventaja es que el IOS tendrá la misma "cara" en cualquier lugar desde donde fuera accedido. El usuario tendrá el mismo escritorio en casa y en el trabajo, con todas sus configuraciones, favoritos, programas y documentos accesibles en todo lugar que tenga acceso a Internet. Un claro ejemplo es la web www.protopage.com , que nos permite crear una "página inicial" con apuntes y favoritos accesibles desde cualquier lugar. Protopage proporciona un escritorio con ventanas e inclusive un "wallpaper" que puede ser cambiado de acuerdo al gusto del usuario.

En la actualidad, uno de los mejores ejemplos de sistemas operativos basados en Internet es sin lugar a dudas Google Chrome OS, una herrasedamienta realmente fascinante, ya que logra el equilibrio perfecto entre velocidad de procesos, versatilidad y productividad.

CONCLUCIÓN

Los sistemas operativos son basicamente un conjunto de programas de un sistema informatico que gestiona  los recursos del Hadware y poseee servicios a los programas de aplicación

bottom of page