Que Son Los Sistemas Operativos
Que Son Los Sistemas Operativos
Que Son Los Sistemas Operativos
El Sistema operativo es un conjunto de programas que permiten manejar la computadora. Gracias a ellos se
puede dar la comunicación entre usuario y máquina, ya que permiten operar los dispositivos del equipo
y ejecutar programas y aplicaciones.
Los sistemas operativos no solo funcionan en las computadoras, también están presentes en
dispositivos electrónicos que utilizan microprocesadores, por ejemplo, un teléfono celular o
un reproductor DVD, ya que el software de sistema permite que el aparato pueda realizar sus
funciones.
1
MacOS (Macintosh): Es el segundo sistema operativo más instalado, fue desarrollado por el
estudiante Steve Jobs en 1984, fundador de la empresa Apple. Ha sido muy aceptado por los
usuarios más avanzados de informática. En celulares es utilizado como sistema operativo iOS,
Linux: Aparece en 1991 y fue creado por el estudiante de informática de Finlandia llamado
Linus Torvalds. Es software libre y gratuito, y se le pueden realizar modificaciones.
Solaris: Se trata de un sistema operativo poco conocido, fue desarrollado en 1992 por la
empresa Sun Microsystems, lo usan empresas profesionales, por su gran extensión de
servidores y grandes proyectos.
2
Actividad. Diseña un cuadro comparativo con las principales características de los Sistemas Operativos más
conocidos que incluya nombre del S.O., creador o creadores, en qué año, características, logotipo.
WINDOWS
MAC OS
IOS
LINUX
ANDROID
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 operativos 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.
3
El sistema operativo también hace una administració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.
4
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.
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.
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 de ser escritos, son construidos como un conjunto de módulos, siendo cada
módulo responsable de realizar una función.
5
Los módulos típicos en un gran Sistema Operativo multiusuario generalmente son:
El núcleo de un sistema operativo es algunas veces llamado EJECUCION en tiempo real. Algunas de las
funciones ejecutadas son:
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.
6
Programando una 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.
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.
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.
7
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.
El Sistema Operativo puede ser cargado en la memoria de una computadora de dos maneras.
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.
8
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.
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.
- 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.