Un Sistema Operativo es el software encargado de ejercer el control y coordinar el uso del hardware entre diferentes programas de aplicación y los diferentes usuarios. Es un administrador de los recursos de hardware del sistema.
En una definición informal es un sistema que consiste en ofrecer una distribución ordenada y controlada de los procesadores, memorias y dispositivos de E/S entre los diversos programas que compiten por ellos.
A pesar de que todos nosotros usamos sistemas operativos casi a diario, es difícil definir qué es un sistema operativo. En parte, esto se debe a que los sistemas operativos realizan dos funciones diferentes.
A pesar de que todos nosotros usamos sistemas operativos casi a diario, es difícil definir qué es un sistema operativo. En parte, esto se debe a que los sistemas operativos realizan dos funciones diferentes.
El sistema operativo como máquina virtual
Un computador se compone de uno o más procesadores o CPUs, memoria principal o RAM, memoria secundaria (discos), tarjetas de expansión (tarjetas de red, modems y otros), monitor, teclado, mouse y otros dispositivos. O sea, es un sistema complejo. Escribir programas que hagan uso correcto de todas estas componentes no es una tarea trivial. Peor aún si hablamos de uso óptimo. Si cada programador tuviera que preocuparse de, por ejemplo, como funciona el disco duro del computador, teniendo además siempre presentes todas las posibles cosas que podrían fallar, entonces a la fecha se habría escrito una cantidad bastante reducida de programas.
Es mucho más fácil decir `escriba "Chao" al final del archivo "datos"', que
1-Poner en determinados registros del controlador de disco la dirección que se quiere escribir, el número de bytes que se desea escribir, la posición de memoria donde está la información a escribir, el sentido de la operación (lectura o escritura), amén de otros parámetros;
2-Decir al controlador que efectué la operación.
1-Poner en determinados registros del controlador de disco la dirección que se quiere escribir, el número de bytes que se desea escribir, la posición de memoria donde está la información a escribir, el sentido de la operación (lectura o escritura), amén de otros parámetros;
2-Decir al controlador que efectué la operación.
3-Esperar. Decidir qué hacer si el controlador se demora más de lo esperado (¿cuánto es "lo esperado"?).
4-Interpretar el resultado de la operación (una serie de bits).
5-Reintentar si algo anduvo mal.
4-Interpretar el resultado de la operación (una serie de bits).
5-Reintentar si algo anduvo mal.
Las tareas que generalmente realiza un Sistema Operativo son las siguientes:
-Realizar el interfaz sistema-usuario.
-Compartir los recursos de Hardware entre los usuarios.
-Permitir a los usuarios compartir sus datos entre ellos.
-Prevenir que las actividades de un usuario no interfieran en las de los demás usuarios.
-Calendarizar los recursos de los usuarios.
-Facilitar el acceso a los dispositivos de E/S.
-Recuperarse de fallas o errores.
-Llevar el control sobre el uso de los recursos.
-Entre otras.
-Compartir los recursos de Hardware entre los usuarios.
-Permitir a los usuarios compartir sus datos entre ellos.
-Prevenir que las actividades de un usuario no interfieran en las de los demás usuarios.
-Calendarizar los recursos de los usuarios.
-Facilitar el acceso a los dispositivos de E/S.
-Recuperarse de fallas o errores.
-Llevar el control sobre el uso de los recursos.
-Entre otras.
Clasificación de los Sistemas Operativos
Los sistemas operativos pueden ser clasificados de la siguiente forma:
- Multiusuario: Permite que dos o más usuarios utilicen sus programas al mismo tiempo. Algunos sistemas operativos permiten a centenares o millares de usuarios al mismo tiempo.
- Multiprocesador: soporta el abrir un mismo programa en más de una CPU.
- Multitarea: Permite que varios programas se ejecuten al mismo tiempo.
- Multitramo: Permite que diversas partes de un solo programa funcionen al mismo tiempo.
- Tiempo Real: Responde a las entradas inmediatamente. Los sistemas operativos como DOS y UNIX, no funcionan en tiempo real.
Ejemplos de Sistema Operativo
A continuación detallamos algunos ejemplos de sistemas operativos:
Familia Windows
- Windows 95
- Windows 98
- Windows ME
- Windows NT
- Windows 2000
- Windows 2000 server
- Windows XP
- Windows Server 2003
- Windows CE
- Windows Mobile
- Windows XP 64 bits
- Windows Vista (Longhorn)
Familia Macintosh
- Mac OS 7
- Mac OS 8
- Mac OS 9
- Mac OS X
Familia UNIX
- AIX
- AMIX
- GNU/Linux
- GNU / Hurd
- HP-UX
- Irix
- Minix
- System V
- Solaris
- UnixWare
ESTRUCTURA BÁSICA DE UN SISTEMA OPERATIVO
A) CARGADOR
B) CARGADOR PARA EL SISTEMA OPERATIVO
C) CARGADOR INCLUIDO EN EL SISTEMA OPERATIVO
SUPERVISOR (EJECUTIVO O MONITOR)
LENGUAJE DE COMUNICACION
UTILERIA DE SISTEMA
ADMINISTRACION DE TRABAJOSCuando existen varios programas en espera de ser procesados, el sistema operativo debe decidir el orden de procesamiento de ellos, así como asignar los recursos necesarios para su proceso.
ADMINISTRACION DE RECURSOSMediante está función el sistema operativo esta en capacidad de distribuir en forma adecuada y en el momento oportuno los diferentes recursos (memoria, dispositivos, etc.,...) entre los diversos programas que se encuentran en proceso, para esto, lleva un registro que le permite conocer que recursos están disponibles y cuales están siendo utilizados, por cuanto tiempo y por quien, etc.
CONTROL DE OPERACIONES DE ENTRADA Y SALIDAMediante esta actividad el sistema operativo decide que proceso hará uso del recurso, durante cuánto tiempo y en que momento.
ADMINISTRACION DE LA MEMORIASupervisa que áreas de memoria están en uso y cual están libre, determina cuanta memoria asignará a un proceso y en que momento, además libera la memoria cuando ya no es requerida para el proceso.
RECUPERACION DE ERRORESEl sistema operativo contiene rutinas que intentan evitar perder el control de una tarea cuando se suscitan errores en la trasferencia de información hacia y desde los dispositivos de entrada / salida.
PROGRAMAS DE PROCESOEl sistema operativo contiene programas de servicios que sirven de apoyo al procesamiento de los trabajos, se conocen también como utilerías y se pueden clasificar en tres tipos:
A) UTILERIAS DEL SISTEMASe ejecutan bajo el control del sistema operativo y se utilizan para preparar algunos recursos usados por el sistema. Son de uso interno.
B) UTILERIAS PARA ARCHIVOSManejan información de los archivos tales como imprimir, clasificar, copiar, etc.
C) UTILERIAS INDEPENDIENTESRealizar funciones que se relacionan con la iniciación de dispositivos de Entrada/Salida, carga del sistema operativo, etc.
Cualquier programa que requiere ser ejecutado en la computadora, deberá ser transferido desde su lugar de residencia a la memoria principal.
B) CARGADOR PARA EL SISTEMA OPERATIVO
Este programa se encarga de transferir desde algún medio de almacenamiento externo (disco, cinta o tambor) a la memoria principal, los programas del sistema operativo que tienen como finalidad establecer el ambiente de trabajo del equipo de cómputo. Existe un programa especial almacenado en memoria ROM que se encarga de accesar a este programa cargador. Cuando el sistema operativo esta cargado en memoria toma el control absoluto de las operaciones del sistema.
C) CARGADOR INCLUIDO EN EL SISTEMA OPERATIVO
Su función es cargar a memoria todos los archivos necesarios para la ejecución de un proceso.
SUPERVISOR (EJECUTIVO O MONITOR)
Es el administrador del sistema que controla todo el proceso de la información por medio de un gran número de rutinas que entran en acción cuando son requeridos. Funge como enlace entre los programas del usuario y todas las rutinas que controlan los recursos requeridos por el programa para posteriormente continuar con su ejecución.
El supervisor también realiza otras funciones como son:
- Administra la memoria.
- Administración de las rutinas que controlan el funcionamiento de los recursos de la computadora.
- Manejo de Archivos
- Administración y control de la ejecución de los programas.
LENGUAJE DE COMUNICACION
Es el medio a través del cual el usuario interactúa directamente con el sistema operativo y esta formado por comandos que son introducidos a través de algún dispositivo. Generalmente un comando consta de dos partes, la primera formada por una palabra que identifica el comando y la acción a realizar y la segunda parte por un conjunto de valores o parámetros que permiten seleccionar diversas operaciones de entre los que dispone el comando.
UTILERIA DE SISTEMA
Son programas o rutinas del sistema operativo que realizan diversas funciones de uso común o aplicación frecuente como son: clasificar, copiar e imprimir información.
FUNCIONES BASICAS DE UN SISTEMA OPERATIVO
PROGRAMAS DE CONTROL
ADMINISTRACION DE RECURSOSMediante está función el sistema operativo esta en capacidad de distribuir en forma adecuada y en el momento oportuno los diferentes recursos (memoria, dispositivos, etc.,...) entre los diversos programas que se encuentran en proceso, para esto, lleva un registro que le permite conocer que recursos están disponibles y cuales están siendo utilizados, por cuanto tiempo y por quien, etc.
CONTROL DE OPERACIONES DE ENTRADA Y SALIDAMediante esta actividad el sistema operativo decide que proceso hará uso del recurso, durante cuánto tiempo y en que momento.
ADMINISTRACION DE LA MEMORIASupervisa que áreas de memoria están en uso y cual están libre, determina cuanta memoria asignará a un proceso y en que momento, además libera la memoria cuando ya no es requerida para el proceso.
RECUPERACION DE ERRORESEl sistema operativo contiene rutinas que intentan evitar perder el control de una tarea cuando se suscitan errores en la trasferencia de información hacia y desde los dispositivos de entrada / salida.
PROGRAMAS DE PROCESOEl sistema operativo contiene programas de servicios que sirven de apoyo al procesamiento de los trabajos, se conocen también como utilerías y se pueden clasificar en tres tipos:
A) UTILERIAS DEL SISTEMASe ejecutan bajo el control del sistema operativo y se utilizan para preparar algunos recursos usados por el sistema. Son de uso interno.
B) UTILERIAS PARA ARCHIVOSManejan información de los archivos tales como imprimir, clasificar, copiar, etc.
C) UTILERIAS INDEPENDIENTESRealizar funciones que se relacionan con la iniciación de dispositivos de Entrada/Salida, carga del sistema operativo, etc.