sistemas operativos
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 que manejan 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.
Funciones básicas del Sistema Operativo
El sistema operativo es un conjunto de programas
que: Inicia en el hardware del ordenador
§ Suministra rutinas básicas para controlar
dispositivos
§ Permite administrar, escalonar e interactuar tareas
§ Mantiene la integridad de sistema
Las 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
Sistemas operativos Multiproceso
Algunos sistemas ejecutan sólo un único proceso, otros sistemas ejecutan múltiples procesos a
la vez. 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.
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.
Tipos 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.
Tipos de Sistemas operativos
Existen 4 tipos básicos de sistemas operativos.
Están divididos en grupos relacionados con el tipo de computadora que controlan y el tipo de
aplicaciones que soportan. Estas son las categorías más amplias:
– Sistema operativo en tiempo real
(RTOS – Real-equipo operating system).
Es utilizado
para controlar máquinas, instrumentos científicos y sistemas industriales. Generalmente un RTOS no
tiene una interfaz para el usuario muy simple y no está destinado para el
usuario final, ya que el sistema es entregado como una “caja sellada”. La función del RTOS es controlar los recursos del
equipo para que una operación específica sea ejecutada siempre, durante el
mismo periodo de tiempo. En una máquina compleja, si una parte
se mueve más rápidamente, porque existen recursos del sistema disponibles para
hacerlo, puede llegar a ser catastrófico.
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 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 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.
fuente: https://tecnologia-informatica.com/el-sistema-operativo/

No hay comentarios.:
Publicar un comentario