Objetivo de un Sistema Operativo Optimizar todos los recursos del sistema para soportar los requerimientos. Es gestionar y administrar eficientemente los recursos hardware, permitiendo que se ejecuten concurrentemente varios programas, sin que haya conflictos en el acceso de cada uno de ellos a cada uno de los recursos que necesite, y sin que ningún programa monopolice alguno de ellos. Facilitar el uso de la computadora y conseguir que ésta se utilice eficientemente. Se encarga de gestionar y asignar los recursos hardware que requieren los programas. Facilitar el trabajo de los programadores, contiene módulos de gestión de entradas / salidas que evitan a los usuarios tener que incluir esas instrucciones cada vez que hacen una operación de entrada o salida. Características de un Sistema Operativo Definir la “Interfaz del Usuario" Compartir el hardware entre usuarios. Permitir a los usuarios compartir los datos entre ellos. Planificar recursos entre usuarios. Facilitar la entrada / salida. Recuperarse de los errores. Conveniencia. Un Sistema Operativo hace más conveniente el uso de una computadora. Eficiencia. Un Sistema Operativo permite que los recursos de la computadora se usen de la manera más eficiente posible. Habilidad para evolucionar. Un Sistema Operativo deberá construirse de manera que permita el desarrollo, prueba o introducción efectiva de nuevas funciones del sistema sin interferir con el servicio. Encargado de administrar el hardware. El Sistema Operativo se encarga de manejar de una mejor manera los recursos de la computadora en cuanto a hardware se refiere, esto es, asignar a cada proceso una parte del procesador para poder compartir los recursos. Relacionar dispositivos. El Sistema Operativo se debe encargar de comunicar a los dispositivos periféricos, cuando el usuario así lo requiera. Organizar datos para acceso rápido y seguro. Manejar las comunicaciones en red. El Sistema Operativo permite al usuario manejar con alta facilidad todo lo referente a la instalación y uso de las redes de computadoras. Procesamiento por bytes de flujo a través del bus de datos. Facilitar las entradas y salidas. Un Sistema Operativo debe hacerle fácil al usuario el acceso y manejo de los dispositivos de Entrada/Salida de la computadora.
Por otra parte, las más conocidas marcas de sistemas operativos se pueden destacar: 1) Windows: Es la familia de sistemas operativos gráficos (GUI) para computadoras lanzado al mercado el 1985 por la compañía Microsoft. En esta existen versiones para hogares, empresas, servidores y dispositivos móviles, como computadores de bolsillo y teléfonos inteligentes. Hay variantes para procesadores de 16, 32 y 64 bits. Asimismo los mismos incorpora diversas aplicaciones como Internet Explorer, el Reproductor de Windows Media, Windows Movie Maker, Windows Mail, Windows Messenger, Windows Defender, entre otros. Cabe mencionar que desde hace muchos años es el sistema operativo más difundido y usado del mundo; de hecho la mayoría de los programas (tanto comerciales como gratuitos y libres) se desarrolla originalmente para este sistema.
2) Linux: Son Sistemas similares a Unix basados en el núcleo de Linux. Su desarrollo es uno de los ejemplos más prominentes de software libre; normalmente todo el código fuente puede ser utilizado, modificado y redistribuido libremente por cualquiera bajo los términos de la Licencia Pública General de GNU (GNU GPL) y otras licencias libres. 3) UNIX: Es un sistema operativo multiusuario que incorpora multitarea. Fue desarrollado originalmente por Ken Thompson y Dennis Ritchie en los laboratorios de AT&T Bell en 1969 para su uso en minicomputadoras. El sistema operativo UNIX tiene diversas variantes y se considera potente, más transportable e independiente de equipos concretos que otros sistemas operativos porque esta escrito en lenguaje C. El UNIX esta disponible en varias formas, entre las que se cuenta AIX, una versión de UNIX adaptada por IBM (para su uso en estaciones de trabajo basadas en RISC), A/ux (versión gráfica para equipos Apple Macintosh) y Mach (un sistema operativo reescrito, pero esencialmente compatible con UNIX, para las computadoras NeXT). Su sistema de archivos proporciona un método sencillo de organizar archivos y permite la protección de archivos. Sin embargo, las instrucciones del UNIX no son intuitivas.
Por tanto se presentan las siguientes
características: Inclusión de compiladores e intérpretes de lenguaje. Existencia de programas de interface con el usuario, como ventanas, menús, etc. Muchas facilidades a la hora de organización de ficheros. Inclusión de lenguajes de interrogación. Facilidades gráficas. Programas de edición de textos.
4) Macintosh: El sistema operativo constituye la interfaz entre las aplicaciones y el hardware del Macintosh. El administrador de memoria obtiene y libera memoria en forma automática para las aplicaciones y el sistema operativo. Esta memoria se encuentra normalmente en un área llamada cúmulo. El código de procedimientos de una aplicación también ocupa espacio en el cúmulo. Este cuenta con los siguientes componentes: El Cargador de Segmentos: Carga los programas por ejecutar. Una aplicación se puede cargar completa o bien puede dividirse en segundos individuales que se pueden cargar de manera dinámica conforme se necesiten.
El Administrador de Eventos del Sistema Operativo: Informa de la ocurrencia de diversos eventos de bajo nivel, como la presión de un botón del mouse o el tecleo. En condiciones normales, el administrador de eventos de la caja de herramientas transfiere estos eventos a las aplicaciones. El Administrador de Archivos: Se encarga de la entrada / salida de archivos; el administrador de dispositivos se encarga de la entrada / salida de dispositivos. Los Manejadores de Dispositivos: Son programas con los cuales los diversos tipos de dispositivos pueden presentar interfaces uniformes de entrada / salida a las aplicaciones. Tres manejadores de dispositivo están integrados al sistema operativo en ROM: el manejador de disco se encarga del acceso a la información en discos, el manejador de sonido controla los generadores de sonido, y el manejador en serie envía y recibe datos a través de los puertos seriales (estableciendo así la comunicación con dispositivos periféricos en serie como impresoras y módems). Manejador de Impresoras: Con este las aplicaciones pueden imprimir datos en diversas impresoras. Administrador de AppleTalk: Con este las aplicaciones pueden transmitir y recibir información en una red de comunicaciones AppleTalk. El Administrador de Retrasado Vertical: Programa las actividades por realizar durante las interrupciones de retrasado vertical que ocurren 60 veces cada segundo cuando se refresca la pantalla de vídeo. El Manejador de Errores del Sistema: Toma el control cuando ocurre un error fatal del sistema y exhibe un cuadro de error apropiado. Los programas de utilidad general del sistema operativo ofrecen diversas funciones útiles como la obtención de la fecha y la hora, la comparación de cadenas de caracteres y muchas más. El paquete de iniciación es llamado por el paquete de archivos estándar para iniciar y nombrar discos; se aplica con más frecuencia cuando el usuario inserta un disco al que no se le han asignado valores iniciales. El paquete de aritmética de punto flotante ofrece aritmética de doble precisión. El paquete de funciones trascendentales ofrece un generador de números aleatorios, así como funciones trigonométricas, logarítmicas, exponenciales y financieras. Los compiladores de Macintosh generan en forma automática llamadas a estos paquetes para realizar manipulaciones numéricas.
5) Novell NetWare: Es un Sistema operativo de red que posee una de las plataformas de servicio más fiable para ofrecer acceso seguro y continuado a la red y los recursos de información, sobre todo en cuanto a servidores de archivos. 6) Apple: Es un sistema operativo creado por la empresa estadounidense de tecnología informática Apple Inc., en el año 1976, tuvo un rol prominente en la revolución informática de los años 70, con su computadora Apple II. Sus inicios son pocos menos curiosos, y forman parte del folclore informático. Por lo anteriormente expuesto el servicio de soporte de los antes mencionados varia de acuerdo a su aplicación, pero de una manera general suelen consistir en: Actualización de versiones. Mejoras de seguridad. Inclusión de alguna nueva utilidad (un nuevo entorno gráfico, un asistente para administrar alguna determinada función, u otros). Controladores para manejar nuevos periféricos (este servicio debe coordinarse a veces con el fabricante del hardware). Corrección de errores de software. Descargar herramientas para la misma. Por otro lado los sistemas operativos suelen clasificarse en varios grupos importantes de los cuales es importante enfatizar: Sistema Operativo Multitareas: Es el modo de funcionamiento disponible en algunos sistemas operativos, mediante el cual una computadora procesa varias tareas al mismo tiempo. Sistema Operativo Monotareas: Son más primitivos y es todo lo contrario al visto anteriormente, es decir, solo pueden manejar un proceso en cada momento o que solo puede ejecutar las tareas de una en una. Por ejemplo cuando la computadora esta imprimiendo un documento, no puede iniciar otro proceso ni responder a nuevas instrucciones hasta que se termine la impresión. Sistema Operativo Monousuario: Son aquellos que nada más puede atender a un solo usuario, gracias a las limitaciones creadas por el hardware, los programas o el tipo de aplicación que se esté ejecutando. Estos tipos de sistemas son muy simples, porque todos los dispositivos de entrada, salida y control dependen de la tarea que se esta utilizando, esto quiere decir, que las instrucciones que se dan, son
procesadas de inmediato; ya que existe un solo usuario. Y están orientados principalmente por los microcomputadores. Sistema Operativo Multiusuario: Es todo lo contrario a monousuario; y en esta categoría se encuentran todos los sistemas que cumplen simultáneamente las necesidades de dos o más usuarios, que comparten mismos recursos. Este tipo de sistemas se emplean especialmente en redes. Secuencia por Lotes: Es la ejecución de una lista de comandos del sistema operativo uno tras otro sin intervención del usuario. En los ordenadores más grandes el proceso de recogida de programas y de conjuntos de datos de los usuarios, la ejecución de uno o unos pocos cada vez y la entrega de los recursos a los usuarios. Procesamiento por lotes también puede referirse al proceso de almacenar transacciones durante un cierto lapso antes de su envío a un archivo maestro, por lo general una operación separada que se efectúa durante la noche. Los sistemas operativos por lotes (batch), en los que los programas eran tratados por grupos (lote) en ves de individualmente. La función de estos sistemas operativos consistía en cargar en memoria un programa de la cinta y ejecutarlo. Al final este, se realizaba el salto a una dirección de memoria desde donde reasumía el control del sistema operativo que cargaba el siguiente programa y lo ejecutaba. De esta manera el tiempo entre un trabajo y el otro disminuía considerablemente. Tiempo Real: Son aquellos que procesa las instrucciones recibidas al instante, y una vez que han sido procesadas muestra el resultado. Este tipo tiene relación con los sistemas operativos monousuarios, ya que existe un solo operador y no necesita compartir el procesador entre varias solicitudes.
Su
característica principal es dar respuestas rápidas; por ejemplo en un caso de peligro se necesitarían respuestas inmediatas para evitar una catástrofe. Tiempo Compartido: Consiste en el uso de un sistema por más de una persona al mismo tiempo. El tiempo compartido ejecuta programas separados de forma concurrente, intercambiando porciones de tiempo asignadas a cada programa (usuario). En este aspecto, es similar a la capacidad de multitareas que es común en la mayoría de los microordenadores o las microcomputadoras. Sin embargo el tiempo compartido se asocia generalmente con el acceso de varios usuarios a computadoras más grandes y a organizaciones de servicios, mientras que la multitarea relacionada con las microcomputadoras implica la realización de múltiples tareas por un solo usuario.
A continuación se presenta un cuadro jerarquizado y estructurado que contiene de manera complementaria la información característica de relevancia que comprende la variada gama de sistemas operativos:
S.O Windows
CARACTERISTICAS El código fuente no esta disponible para los usuarios. Esta creado por la empresa Microsoft Es software privado y la licencia de producto es un poco costosa. Presenta una estructura en la plataforma mucho mas virtual y real para la visualización de imágenes, videos u otros. Brinda mayor seguridad en las secciones remotas, en las estaciones de trabajos, y en las navegaciones. Presenta una plataforma mucho más amigable, segura, rápida y eficiente. Es un clon de UNIX Incorpora una Interface gráfico estándar para máquinas UNIX. Se distribuye su código fuente, lo cual permite a cualquier persona que así lo desee hacer todos los cambios necesarios para resolver problemas que se puedan presentar, así como también agregar funcionalidad. El único requisito que esto conlleva es poner los cambios realizados a disposición del público.
Linux
Es desarrollado en forma abierta por cientos de usuarios distribuidos por todo el mundo, los cuales la red Internet como medio de comunicación y colaboración. Esto permite UN rápido y eficiente ciclo de desarrollo. Cuenta con un amplio y robusto soporte para comunicaciones y redes, lo cual hace que sea una opción atractiva tanto para empresas como para usuarios individuales. Da soporte a una amplia variedad de hardware y se puede correr en una multitud de plataformas: PC's convencionales, computadoras Macintosh y Amiga, así como costosas estaciones de trabajo.
Es multiusuario, con capacidad de simular multiprocesamiento no interactivo. Esta escrito en un leguaje de alto nivel (C). Dispone de un lenguaje de control programable llamado SHELL. Ofrece facilidades para la creación de programas y sistemas y el ambiente adecuado para las tareas de diseños de software. Unix
Emplea manejo dinámico de memoria por intercambio o paginación. Tiene capacidad de interconexión de procesos. Permite comunicación entre procesos. Emplea un sistema jerárquico de archivos, con facilidades de protección de archivos, cuentas y procesos. Tiene facilidad para redireccionamiento de Entrada / salida. Garantiza un alto grado de portabilidad.
Macintosh
Son multitarea y aplican la conmutación de contextos (context Switching). Carga los programas por ejecutar Informa de la ocurrencia de diversos eventos de bajo nivel. Tiene una plataforma mucho más elegante, práctica y real. Posee un administrador de AppleTalk Contienen paquete de aritmética de punto flotante Sus aplicaciones son de desarrollo grafico Tenia una arquitectura abierta, o sea que su forma de operar se podía copiar y cualquiera que sepa de computadoras podía hacer una sin que la IBM lo obligara a
Apple
pagar los derechos. Es como un sistema nervioso central, es decir, hace que se encienda y apaga el equipo, organizando archivos, exhibiendo comandos en la pantalla del monitor y todos los comandos básicos posibles. Se caracteriza por innovar sus aplicaciones
Es multitarea y multiusuario. No requiere demasiada memoria RAM, y por poca que tenga el sistema no se ve limitado. Brinda soporte y apoyo a la MAC. Poseen apoyo para archivos de DOS y Mac en el servidor. El usuario puede limitar la cantidad de espacio en el disco duro. Permite detectar y bloquear intrusos. No cuenta con lista de control de acceso (ACLs) administradas en base a cada Novell
archivo. Algunas versiones no permiten criptografía de llave pública ni privada. No carga automáticamente algunos manejadores en las estaciones de trabajo. No ofrece mucha seguridad en secciones remotas. Soporta múltiples protocolos y acceso remoto. Permite instalación y actualización remota; y Muestra estadísticas generales del uso del sistema. No permite el uso de múltiples procesadores y no permite el uso de servidores no dedicados.
En resumen se puede decir que el sistema operativo es un programa que actúa como intermediario entre el usuario y el hardware de un computador y su propósito es proporcionar un entorno en el cual el usuario pueda ejecutar programas. El objetivo principal de un Sistema Operativo es, entonces, lograr que el Sistema de computación se use de manera cómoda, y el objetivo secundario es que el hardware del computador se emplee de manera eficiente. Un Sistema Operativo es una parte importante de cualquier sistema de computación. Un sistema de computación puede dividirse en cuatro componentes: el hardware, el Sistema Operativo, los programas de aplicación y los usuarios. El hardware (Unidad Central de Procesamiento (UCP), memoria y dispositivos de entrada/salida (E/S)) proporciona los recursos de computación básicos. Los programas de aplicación (compiladores, sistemas de bases de datos, juegos de vídeo y programas para negocios) definen la forma en que estos recursos se emplean para resolver los problemas de computación de los usuarios.
Los sistemas operativos como gestores de recursos Realmente, todos los procesos activos y programas en la memoria RAM compiten por los recursos existentes en el computador, estos recursos son: memoria, acceso a dispositivos de entrada y salida, atención del CPU, datos, líneas de comunicación (Bus). El sistema operativo coordina esta asignación, distribuyendo de forma eficiente a todos los programas que lo soliciten. Los sistemas operativos como interfaz de usuario Un sistema operativo, funciona como una capa gráfica entre el hardware y el usuario, que facilita las herramientas e interfaces adecuadas para realizar sus tareas, ocultándole los complicados procesos necesarios para llevarlas a cabo. Por ejemplo, un usuario normalmente abre los archivos grabados en un disco, sin preocuparse por la disposición de éstos en el dispositivo de almacenamiento, los tiempos de revolución del disco duro, la posición del cabezal de lectura, el acceso de otros usuarios. Componentes del sistema operativo Los sistemas operativos, son programas que han alcanzado un gran tamaño, debido a las múltiples labores que desempeñan, por esta razón, para construir un sistema operativo, es conveniente dividirlo en componentes más pequeños. Éstos son: 1. Gestión de procesos: es la ejecución de las diferentes operaciones sobre los procesos que se realizan dentro de un sistema operativo; incluye la gestión de los recursos del sistema, tales como: espacio de direcciones. 2. Gestión de memoria: este componente administra lo concerniente a todo lo que sucede en función de la memoria física y virtual de la computadora. 3. Gestión de archivos y directorios: es el programa que provee a los usuarios las aplicaciones de servicios para el uso, acceso y control tanto de archivos como de directorios. 4. Gestión de la E/S (Entrada/Salida): es un programa que controla los dispositivos de hardware y proporciona una interfaz para acceder a ellos. 5. Seguridad y protección: se refiere a los programas y controles con el que cuentan los sistemas operativos para resguardar la información y acceso a los recursos del sistema. 6. Comunicación y sincronización entre procesos: son programas que producen la
transmisión de datos para unificar a los procesos receptores y transmisores. 7. Intérprete de órdenes: es una aplicación que recibe instrucciones y las traduce al sistema operativo. Se refiere a la interfaz que permite al usuario introducir (usando el ratón y el teclado), las órdenes a la computadora. Tipos de sistemas operativos Los sistemas operativos pueden clasificarse según su tipología, entre ellos se encuentran: 1. Sistemas operativos por lotes El procesamiento por lote precisa, generalmente, que el programa, los datos y las órdenes adecuadas al sistema, sean remitidos todos juntos en forma de cola. Los sistemas operativos por lote permiten poca o ninguna interacción con el usuario y los programas de ejecución. Los programas que no requieren interacción con el usuario y poseen largo tiempo de espera, son los conocidos sistemas de nóminas, predicción del tiempo, cálculos científicos, entre otros. 2. Sistemas operativos de multiprogramación Los sistemas operativos del tipo de multiprogramación soportan generalmente múltiples tareas (dos o más simultáneamente), la principal característica es el incremento del desempeño de los CPU Por ejemplo, mientras se ejecutan operaciones de entrada y salida de un programa, el sistema operativo, se ocupa en dar servicio a otros programas que ameriten su atención. Un sistema operativo multiprogramado es bastante sofisticado, tiene varios programas para ejecutar, esto significa que debe cargarlos en memoria RAM simultáneamente y para esto, requiere de una asignación de memoria dinámica y una prioridad de procesos, lo cual involucra la planificación del CPU por parte del sistema operativo. 3. Sistemas operativos de tiempo compartido Son representantes de los sistemas operativos de multiprogramación. Comparten el tiempo de ejecución de cada usuario según sus necesidades dando la impresión, a cada usuario, de disponer de una máquina propia. El principal objetivo es proporcionar un buen tiempo de respuesta a cada usuario, permitiendo que compartan paralelamente un sistema informático. En estos sistemas operativos los trabajos deben permanecer simultáneamente en memoria, lo cual requiere de algunas técnicas de administración y protección. Los trabajos son
intercambiados entre la memoria principal (RAM) y la memoria física (disco duro). Los sistemas operativos de tiempo compartido deben proveer mecanismos para la sincronización y comunicación, y además, asegurar que los procesos no queden en espera. 4. Sistemas operativos para plataformas con multiprocesadores Un sistema multiprocesador tiene varios CPU compartiendo memoria y periféricos. Las ventajas evidentes son mayor potencia de computación y fiabilidad, porque el sistema asigna una tarea específica a cada procesador. Un procesador maestro controla el sistema y los otros esperan o tienen tareas predefinidas. Este esquema define una relación maestro/esclavo; es decir, que uno controla y los demás obedecen. Los sistemas de tiempo compartido están constituidos generalmente por un procesador grande (principal) y un procesador más pequeño, que sólo es responsable de las entradas/salidas sobre las estaciones de trabajo esclavas. Otra forma son las redes de computadores, donde se comunican muchos sistemas informáticos independientes, transfiriéndose información. Sin embargo, cada sistema tiene su propio sistema operativo y trabaja independientemente. Se pueden clasificar en: •
Sistemas multiprocesadores simétricos, en los cuales cada procesador ejecuta una copia idéntica del sistema operativo y se comunica con los demás procesadores según sus necesidades.
•
Multiprocesadores asimétricos, en donde cada procesador tiene asignada una tarea predefinida. Un procesador maestro controla el sistema y es también denominado servidor.
5. Sistemas operativos distribuidos La principal diferencia entre los sistemas de multiprocesadores y distribuidos, es que estos últimos no comparten memoria y periféricos. Cada procesador tiene su propia memoria local. Los procesadores se comunican entre si a través de líneas de comunicación, tales como líneas telefónicas o buses (líneas de comunicaciones) de alta velocidad estos procesadores pueden variar en tamaño y función. Las principales ventajas de este sistema son: •
Recursos compartidos: si tenemos varias computadoras conectadas entre si, los usuarios podrán utilizar los recursos de otras.
•
Velocidad de computación: si una operación se puede sub-dividir en un número más pequeño
(sub operaciones), éstas se ejecutarán concurrentemente en varias
computadoras, entonces el sistema distribuido permite sub-operación en varias computadoras. •
Confiabilidad: si una computadora falla, las demás continúan operando sin problema. El sistema está compuesto de un número muy grande de instalaciones autónomas. La falla de una no afecta a las demás, se utiliza una configuración redundante (tanto de hardware como de datos) para que el sistema pueda continuar con su ejecución en caso de falla.
•
Comunicación: en muchas ocasiones los programas necesitan intercambiar datos con otros sistemas, los sistemas distribuidos permiten la planificación de este intercambio.
6. Sistemas operativos tiempo real Son
sistemas operativos que
responden, en
su
gran
mayoría,
a
eventos
ocurridos externamente. Realizan tareas prefijadas, tales como: control industrial, equipos de comunicación telefónica, control de vuelo, simulación en tiempo real, aplicaciones militares, sistemas médicos, etc. Los sistemas operativos de tiempo real, garantizan que las tareas críticas se ejecuten en tiempo corto. Los datos son almacenados en memorias físicas no-volátiles (ROM), no utilizan técnicas de memoria virtual, ni tiempo compartido, ambas técnicas no pueden ser implementadas. 7. Sistemas operativos combinados Los sistemas operativos pueden no pertenecer a un tipo específico, sino que pueden ser una combinación de varios de éstos; permiten que el usuario tenga varios servicios. Por ejemplo, un sistema operativo de multiprogramación se le puede adicionar características de un sistema operativo de procesamiento por lote, siempre y cuando éste se ejecute en los momentos en que el CPU esté inactivo.
Características de los sistemas operativos Los sistemas operativos pueden clasificarse, según su funcionalidad y según sus procesos en: Administración de tareas: •
Monotarea: solamente puede ejecutar un proceso en un momento dado. Una vez que empieza a ejecutar un proceso continuará hasta su finalización o interrupción.
•
Multitarea: es capaz de ejecutar varios procesos al mismo tiempo. Este tipo de sistema operativo normalmente asigna recursos disponibles (CPU memoria, periféricos) de forma alternativa a los procesos que los solicitan, de manera que el usuario percibe que todos funcionan a la vez.
Administración de usuarios: •
Monousuario: sólo permite ejecutar los programas de un usuario al mismo tiempo.
•
Multiusuario: permite que varios usuarios ejecuten, simultáneamente, sus programas, accediendo a la vez a los recursos del ordenador. Normalmente, estos sistemas operativos utilizan métodos de protección de datos, de manera que un programa no pueda usar o cambiar los datos de otro usuario.
Manejo de recursos: •
Centralizado: permiten utilizar los recursos de un sólo ordenador.
•
Distribuido: permiten utilizar los recursos (memoria, CPU, Disco, Periféricos) de más de un ordenador al mismo tiempo.
Manejo de Plataforma: •
Multiplataforma: hardware en donde el sistema operativo puede ejecutarse. Generalmente, estos equipos son los conocidos: 386, 486, Pentium, Pentium Pro, Pentium II, AMD, Motorola, Athlon.
Según sus procesos: •
Permiten la concurrencia de procesos o programas, calculando el tiempo de entrada y salida (E/S) y ocupando la memoria con varios programas
•
Permiten la ejecución de cualquier proceso o programa en el momento en que se solicite siempre y cuando haya suficientes recursos libres.
•
Son eficientes en cuanto a reducción del tiempo medio que ocupa cada trabajo en el CPU.
•
Son eficientes para aumentar la utilización de recursos en general, tales como memoria,
CPU, dispositivos de E/S, Discos Magnéticos, datos, etc. •
Son fiables, es decir, un sistema operativo no debe tener errores y debe prever todas las posibles situaciones.
•
Son prácticos, de tamaño pequeño.
•
Posibilitan y facilitan en lo posible el "diálogo" entre computadora y usuario.
•
Permiten compartir entre varios usuarios los recursos de hardware con que cuenta una computadora.
•
Permiten que los usuarios puedan compartir datos entre ellos
•
Facilitan la entrada y salida (E/S) de los diferentes dispositivos conectados.
Finalmente, un sistema operativo es un conjunto de programas de computadora diseñados especialmente para servir como interfaz entre el equipo físico (hardware) de una computadora y el usuario, con el fin de presentar una "cara" más sencilla y amistosa, así como optimizar los recursos (tanto de software como de hardware) con que cuenta una computadora y hacerla operable. Cabe destacar que existen varios tipos sistemas operativos con diversas características en cuanto a administración de proceso, plataformas y cantidad de usuarios, dependiendo del entorno de trabajo computacional, el hardware en cada uno de ellos y los requerimientos, se adaptan a las necesidades de los usuarios.