Sistemas operativos, caracteristicas y familias

2,223 views

Published on

Un sistema operativo es un programa o conjunto de programas que en un sistema informático gestiona los recursos de hardware y provee servicios a los programas
de aplicación, ejecutándose en modo privilegiado respecto de los restantes.

Published in: Engineering
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
2,223
On SlideShare
0
From Embeds
0
Number of Embeds
10
Actions
Shares
0
Downloads
16
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Sistemas operativos, caracteristicas y familias

  1. 1. SISTEMAS OPERATIVOS, CARACTERISTICAS Y FAMILIAS [1] Ms. Ing. Jairo E. Márquez D. Introducción Un sistema operativo es un programa o conjunto de programas que en un sistema informático gestiona los recursos de hardware y provee servicios a los programas de aplicación, ejecutándose en modo privilegiado respecto de los restantes. [2] Nótese que es un error común muy extendido denominar al conjunto completo de herramientas sistema operativo, es decir, la inclusión en el mismo término de programas como el explorador de ficheros, el navegador web y todo tipo de herramientas que permiten la interacción con el sistema operativo, también llamado núcleo o kernel. Esta identidad entre kernel y sistema operativo es solo cierta si el núcleo es monolítico. Otro ejemplo para comprender esta diferencia se encuentra en la plataforma Amiga, donde el entorno gráfico de usuario se distribuía por separado, de modo que, también podía reemplazarse por otro, como era el caso de directory Opus o incluso manejarlo arrancando con una línea de comandos y el sistema gráfico. De este modo, al arrancar un Amiga, comenzaba a funcionar con el propio sistema operativo que llevaba incluido en una ROM, por lo que era cuestión del usuario decidir si necesitaba un entorno gráfico para manejar el sistema operativo o simplemente otra aplicación. Uno de los más representativos ejemplos de esta diferencia, es el núcleo de Linux, usado en las llamadas distribuciones Linux, ya que al estar también basadas en Unix, proporcionan un sistema de funcionamiento similar. Este error de precisión, se debe a la modernización de la informática llevada a cabo a finales de los 80, cuando la filosofía de estructura básica de funcionamiento de los grandes computadores [3] se rediseñó a fin de llevarla a los hogares y facilitar su uso, cambiando el concepto de computador multiusuario, (muchos usuarios al mismo tiempo) por un sistema monousuario (únicamente un usuario al mismo tiempo) más sencillo de gestionar. (Véase AmigaOS, beOS o MacOS como los pioneros[4] de dicha modernización, cuando los Amiga fueron bautizados con el sobrenombre de Video Toasters [5] por su capacidad para la
  2. 2. Edición de vídeo en entorno multitarea round robin1 , con gestión de miles de colores e interfaces intuitivos para diseño en 3D. Uno de los propósitos del sistema operativo que gestiona el núcleo intermediario consiste en gestionar los recursos de localización y protección de acceso del hardware, hecho que alivia a los programadores de aplicaciones de tener que 1 Round robin es un método para seleccionar todos los elementos en un grupo de manera equitativa y en un orden racional, normalmente comenzando por el primer elemento de la lista hasta llegar al último y empezando de nuevo desde el primer elemento. El nombre del algoritmo viene del principio de Round-Robin conocido de otros campos, donde cada persona toma una parte de un algo compartido en cantidades parejas. Una forma sencilla de entender el round robin es imaginar una secuencia para "tomar turnos". En operaciones computacionales, un método para ejecutar diferentes procesos de manera concurrente, para la utilización equitativa de los recursos del equipo, es limitando cada proceso a un pequeño período (quantum), y luego suspendiendo este proceso para dar oportunidad a otro proceso y así sucesivamente. A esto se le denomina comúnmente como Planificación Round-Robin. Round Robin es un algoritmo de planificación de procesos simple de implementar, dentro de un sistema operativo se asigna a cada proceso una porción de tiempo equitativa y ordenada, tratando a todos los procesos con la misma prioridad. En Sistemas operativos, la planificación Round Robin da un tiempo máximo de uso de CPU a cada proceso, pasado el cual es desalojado y retornado al estado de listo, la lista de procesos se planifica por FIFO, primero llegado, primero atendido. Pasos de ciclos Para averiguar los pasos de ciclos de procesos totales se toman todos los números de procesos y se calculan con los procesos necesarios para la realización de estos... Suponga que hay tres procesos y se desea averiguar cuánto tarda. proceso A: 3 veces proceso B: 4 veces proceso C: 5 veces siguiendo tp=tProceso+[(tProcesoultimo-tProceso))-(tProcesoultimo-tProcesoproximo)]+tProceso La planificación Round Robin puede ser aplicada también a otros problemas de planificación, como la planificación de redes. En las redes inalámbricas, donde varios servidores comparten un mismo canal, este algoritmo provee a cada servidor un intervalo regular de tiempo para transmitir o recibir información mediante el canal compartido. Esto hace parecer a Round Robin como un algoritmo justo, pero, de todos modos, por ser mucho menos eficiente que el "algoritmo de proporcionalidad justa", es muy difícil proveer un buen servicio a los suscriptores. El operador de la red también sufrirá capacidad reducida en la red. La causa principal es que este algoritmo no tiene en cuenta el cambio de condiciones de recepción en los diferentes receptores, por lo que planeará transmisiones desde/hacia los suscriptores de la mitad de tiempo cuando sus condiciones de recepción sean peores que las habituales. En contraste, el planeamiento de proporcionalidad justa tendrá en cuenta el cambio de condiciones de recepción en los diferentes receptores y agendará las transmisiones desde/hacia los suscriptores cada vez que las condiciones de recepción estén peores que lo normal. Fuente. Planificación Round-robin. Recuperado el 9 de marzo de 2013. http://es.wikipedia.org/wiki/Planificaci%C3%B3n_Round-robin
  3. 3. tratar con estos detalles. La mayoría de aparatos electrónicos que utilizan microprocesadores para funcionar, llevan incorporado un sistema operativo (teléfonos móviles, reproductores de DVD, computadoras, radios, enrutadores, etc.). En cuyo caso, son manejados mediante una Interfaz Gráfica de Usuario, un gestor de ventanas o un entorno de escritorio, si es un celular, mediante una consola o control remoto si es un DVD y, mediante una línea de comandos o navegador web si es un enrutador. Llamadas al sistema operativo Las llamadas son aquellas que ejecutan los programas de aplicación para pedir algún servicio al SO. Cada SO implementa un conjunto propio de llamadas al sistema. Ese conjunto de llamadas es la interfaz del SO frente a las aplicaciones. Constituyen el lenguaje que deben usar las aplicaciones para comunicarse con el SO. Por ello si cambiamos de SO, y abrimos un programa diseñado para trabajar sobre el anterior, en general el programa no funcionará, a no ser que el nuevo SO tenga la misma interfaz. Para ello: - Las llamadas correspondientes deben tener el mismo formato. - Cada llamada al nuevo SO tiene que dar los mismos resultados que la correspondiente del anterior. Modos de ejecución en un CPU Las aplicaciones no deben poder usar todas las instrucciones de la CPU. No obstante el Sistema Operativo, tiene que poder utilizar todo el conjunto de
  4. 4. instrucciones del CPU. Por ello, una CPU debe tener (al menos) dos modos de operación diferentes: - Modo usuario: el CPU podrá ejecutar sólo las instrucciones del juego restringido de las aplicaciones. - Modo supervisor: la CPU debe poder ejecutar el juego completo de instrucciones. “Una aplicación, normalmente no sabe dónde está situada la rutina de servicio de la llamada. Por lo que si ésta se codifica como una llamada de función, cualquier cambio en el SO haría que hubiese que reconstruir la aplicación. Pero lo más importante es que una llamada de función no cambia el modo de ejecución de la CPU. Con lo que hay que conseguir llamar a la rutina de servicio, sin tener que conocer su ubicación, y hacer que se fuerce un cambio de modo de operación de la CPU en la llamada (y la recuperación del modo anterior en el retorno). Esto se hace utilizando instrucciones máquina diseñadas específicamente para este cometido, distintas de las que se usan para las llamadas de función. Bibliotecas de interfaz de llamadas al sistema las llamadas al sistema no siempre tienen una expresión sencilla en los lenguajes de alto nivel, por ello se crean las bibliotecas de interfaz, que son bibliotecas de funciones que pueden usarse para efectuar llamadas al sistema. Las hay para distintos lenguajes de programación. La aplicación llama a una función de la biblioteca de interfaz (mediante una llamada normal) y esa función es la que realmente hace la llamada al sistema.” [6] Llamadas al sistema Una aplicación, normalmente no sabe dónde está situada la rutina de servicio de la llamada. Por lo que si ésta se codifica como una llamada de función, cualquier cambio en el S.O. haría que hubiera que reconstruir la aplicación. Lo más importante, es que una llamada de función no cambia el modo de ejecución de la CPU. Con lo que hay que conseguir llamar a la rutina de servicio, sin tener que conocer su ubicación, y hacer que se fuerce un cambio de modo de operación de la CPU en la llamada (y la recuperación del modo anterior en el retorno). Esto se hace utilizando instrucciones máquina diseñadas específicamente para este cometido, distintas de las que se usan para las llamadas de función. Observe detenidamente la siguiente gráfica, en la que se citan las diversas interfaces de llamadas al sistema operativo según sus elementos constitutivos.
  5. 5. Fuente. http://commons.wikimedia.org/wiki/File:Interfaces_de_llamadas_al_sistema.PNG Bibliotecas de interfaz de llamadas al sistema Las llamadas al sistema no siempre tienen una expresión sencilla en los lenguajes de alto nivel, por ello se crean las bibliotecas de interfaz, que son bibliotecas de funciones que pueden usarse para efectuar llamadas al sistema. Las hay para distintos lenguajes de programación. La aplicación llama a una función de la biblioteca de interfaz (mediante una llamada normal) y esa función es la que realmente hace la llamada al sistema. Interrupciones y excepciones El SO ocupa una posición intermedia entre los programas de aplicación y el hardware. No se limita a utilizar el hardware a petición de las aplicaciones ya que hay situaciones en las que es el hardware el que necesita que se ejecute código del SO. En tales situaciones el hardware debe poder llamar al sistema, pudiendo deberse estas llamadas a dos condiciones: - Algún dispositivo de E/S necesita atención. - Se ha producido una situación de error al intentar ejecutar una instrucción del programa (normalmente de la aplicación).
  6. 6. En ambos casos, la acción realizada no está ordenada por el programa de aplicación, es decir, no figura en el programa. Según los dos casos anteriores se tiene las interrupciones y las excepciones: Interrupción: señal que envía un dispositivo de E/S a la CPU para indicar que la operación de la que se estaba ocupando, ya ha terminado. Excepción: una situación de error detectada por la CPU mientras ejecutaba una instrucción, que requiere tratamiento por parte del SO. Tratamiento de las interrupciones Una interrupción se trata después de terminar la ejecución de la instrucción en curso. El tratamiento depende de cuál sea el dispositivo de E/S que ha causado la interrupción, ante la cual debe poder identificar el dispositivo que la ha causado. Fuente. http://geneura.ugr.es/~gustavo/aco/teoria/arquitectura/html/node7.html La ventaja de este procedimiento es que no se tiene que perder tiempo ejecutando continuamente rutinas para consultar el estado del periférico. El inconveniente es que el dispositivo debe tener los circuitos electrónicos necesarios para acceder al sistema de interrupciones del computador.
  7. 7. Importancia de las interrupciones El mecanismo de tratamiento de las interrupciones permite al SO utilizar la CPU en servicio de una aplicación, mientras otra permanece a la espera de que concluya una operación en un dispositivo de E/S. El hardware se encarga de avisar al SO cuando el dispositivo de E/S ha terminado y el SO puede intervenir entonces, si es conveniente, para hacer que el programa que estaba esperando por el dispositivo, se continúe ejecutando. En ciertos intervalos de tiempo puede convenir no aceptar señales de interrupción. Por ello las interrupciones pueden inhibirse por programa (aunque esto no deben poder hacerlo las mismas). Un ejemplo de sincronismo por interrupción es el almacenamiento de caracteres introducidos mediante el teclado. Cuando se introduce un carácter, se codifica en el registro de datos del dispositivo y además se activa un bit del registro de estado quien crea una interrupción en el hardware. El procesador deja temporalmente la tarea que estaba completando y ejecuta la rutina de atención a la interrupción correspondiente. El teclado almacena el carácter en el vector de memoria intermedia (llamado buffer) asociada al teclado y despierta el proceso que había en el estado de espera de la operación de entrada/salida. Otro ejemplo más elevado en cuanto a su nivel de complejidad se da en las excepciones de Oracle8 (PL/SQL) Fuente. http://www.mundoracle.com/excepciones.html?Pg=sql_plsql_14.htm Excepciones Cuando la CPU intenta ejecutar una instrucción incorrectamente construida, la unidad de control lanza una excepción para permitir al SO ejecutar el tratamiento
  8. 8. adecuado. Al contrario que en una interrupción, la instrucción en curso es abortada. Las excepciones al igual que las interrupciones deben estar identificadas. Clases de excepciones Las instrucciones de un programa pueden estar mal construidas por diversas razones: - El código de operación puede ser incorrecto. - Se intenta realizar alguna operación no definida, como dividir por cero. - La instrucción puede no estar permitida en el modo de ejecución actual. - La dirección de algún operando puede ser incorrecta o se intenta violar alguno de sus permisos de uso. Importancia de las excepciones El mecanismo de tratamiento de las excepciones es esencial para impedir, junto a los modos de ejecución de la CPU y los mecanismos de protección de la memoria, que las aplicaciones realicen operaciones que no les están permitidas. En cualquier caso, el tratamiento específico de una excepción lo realiza el SO. Como en el caso de las interrupciones, el hardware se limita a dejar el control al SO, y éste es el que trata la situación como convenga.
  9. 9. Es bastante frecuente que el tratamiento de una excepción no retorne al programa que se estaba ejecutando cuando se produjo la excepción, sino que el SO aborte la ejecución de ese programa. Este factor depende de la pericia del programador para controlar la excepción adecuadamente. SISTEMA OPERATIVO DE RED [7] Este tipo de SO permite la interconexión de ordenadores para poder acceder a los servicios y recursos. Al igual que un equipo no puede trabajar sin un sistema operativo, una red de equipos no puede funcionar sin un sistema operativo de red. Si no se dispone de ningún sistema operativo de red, el equipo, no pueden compartir recursos y los usuarios no podrán utilizar estos recursos. Dependiendo del fabricante del sistema operativo de red, tenemos que el software de red para un equipo personal se puede añadir al propio sistema operativo del equipo o integrarse con él. NetWare de Novell es el ejemplo más familiar de SO de red, donde el software de red del equipo cliente se incorpora en el SO del equipo. El equipo personal necesita ambos sistema operativos para gestionar conjuntamente las funciones de red y las funciones individuales. El software del sistema operativo de red se integra en un número importante de sistemas operativos conocidos, incluyendo Windows 2000 Server/Professional, Windows NT Server/Workstation, Windows 95/98/ME y Apple Talk. Cada configuración (sistemas operativos de red y del equipo separado, o sistema operativo combinando las funciones de ambos) tiene sus ventajas e
  10. 10. inconvenientes. Por tanto, nuestro trabajo como especialistas en redes es determinar la configuración que mejor se adapte a las necesidades de nuestra red. Es un componente software de una computadora que tiene como objetivo coordinar y manejar las actividades de los recursos del ordenador en una red de equipos. Consiste en un software que posibilita la comunicación de un sistema informático con otros equipos en el ámbito de una red. COMPONENTES DE UN SISTEMA OPERATIVO [8] Gestión de procesos Un proceso es simplemente, un programa en ejecución que necesita recursos para realizar su tarea: tiempo de CPU, memoria, archivos y dispositivos de E/S. El SO es el responsable de: - Crear y destruir procesos. - Parar y reanudar procesos. - Ofrecer mecanismos para que los procesos puedan comunicarse y se sincronicen. - La gestión de procesos podría ser similar al trabajo de oficina. Se puede tener una lista de tareas a realizar y a estas fijarles prioridades alta, media, baja por ejemplo. Debemos comenzar haciendo las tareas de prioridad alta primero y cuando se terminen seguir con las de prioridad media y después las de baja. Una vez realizada la tarea se tacha. Esto puede traer un problema que las tareas de baja prioridad pueden que nunca lleguen a ejecutarse. y permanezcan en la lista para siempre. Para solucionar esto, se puede asignar alta prioridad a las tareas más antiguas.
  11. 11. Gestión de la memoria principal La memoria es una gran tabla de palabras o bytes que se referencian cada una mediante una dirección única. Este almacén de datos de rápido acceso es compartido por la CPU y los dispositivos de E/S, es volátil y pierde su contenido ante fallos del sistema. El SO es el responsable de: - Conocer qué partes de la memoria están siendo utilizadas y por quién. - Decidir qué procesos se cargarán en memoria cuando haya espacio disponible. - Asignar y reclamar espacio de memoria cuando sea necesario. Gestión del almacenamiento secundario Un sistema de almacenamiento secundario es necesario, ya que la memoria principal (almacenamiento primario) es volátil y además muy pequeña para almacenar todos los programas y datos. También es necesario mantener los datos que no convenga mantener en la memoria principal. El SO se encarga de: - Planificar los discos. - Gestionar el espacio libre. - Asignar el almacenamiento. - Verificar que los datos se guarden en orden. El sistema de entrada y salida Consiste en un sistema de almacenamiento temporal (caché), una interfaz de manejadores de dispositivos y otra para dispositivos concretos. El sistema operativo debe gestionar el almacenamiento temporal de E/S y servir las interrupciones de los dispositivos de E/S. Sistema de archivos Los archivos son colecciones de información relacionada, definidas por sus creadores. Éstos almacenan programas (en código fuente y objeto) y datos tales como imágenes, textos, información de bases de datos, etc. “Lo habitual es utilizar dispositivos de almacenamiento de datos que permiten el acceso a los datos como una cadena de bloques de un mismo tamaño, a veces llamados sectores, usualmente de 512 bytes de longitud (También denominados clústers). El software del sistema de archivos es responsable de la organización de estos sectores en archivos y directorios y mantiene un registro de qué sectores pertenecen a qué archivos y cuáles no han sido utilizados. En la práctica, un sistema de archivos también puede ser utilizado para acceder a datos generados
  12. 12. dinámicamente, como los recibidos a través de una conexión de red (sin la intervención de un dispositivo de almacenamiento). Los sistemas de archivos tradicionales proveen métodos para crear, mover, renombrar y eliminar tanto archivos como directorios, pero carecen de métodos para crear, por ejemplo, enlaces adicionales a un directorio o archivo (enlace duro en Unix) o renombrar enlaces padres (".." en Unix). El acceso seguro a sistemas de archivos básicos puede estar basado en los esquemas de lista de control de acceso o capacidades. Las listas de control de acceso hace décadas que demostraron ser inseguras, por lo que los sistemas operativos experimentales utilizan el acceso por capacidades. Los sistemas operativos comerciales aún funcionan con listas de control de acceso.” [9] El SO es responsable de: - Construir y eliminar archivos y directorios. - Ofrecer funciones para manipular archivos y directorios. - Establecer la correspondencia entre archivos y unidades de almacenamiento. - Realizar copias de seguridad de archivos. - Existen diferentes sistemas de archivos, es decir, existen diferentes formas de organizar la información que se almacena en las memorias (normalmente discos) de los ordenadores. Por ejemplo, existen los sistemas de archivos FAT, FAT32, EXT3, NTFS, XFS, etc. - Desde el punto de vista del usuario estas diferencias pueden parecer insignificantes a primera vista, sin embargo, existen diferencias muy importantes. Por ejemplo, los sistemas de ficheros FAT32 y NTFS, que se utilizan fundamentalmente en sistemas operativos de Microsoft, tienen una gran diferencia para un usuario que utilice una base de datos con bastante información ya que el tamaño máximo de un fichero con un sistema de archivos FAT32 está limitado a 4 gigabytes, sin embargo, en un sistema NTFS el tamaño es considerablemente mayor. “La estructura de directorios suele ser jerárquica, ramificada o "en árbol", aunque en algún caso podría ser plana. En algunos sistemas de archivos los nombres de archivos son estructurados, con sintaxis especiales para extensiones de archivos y números de versión. En otros, los nombres de archivos son simplemente cadenas de texto y los metadatos de cada archivo son alojados separadamente.
  13. 13. En los sistemas de archivos jerárquicos, usualmente, se declara la ubicación precisa de un archivo con una cadena de texto llamada "ruta" —o path en inglés— La nomenclatura para rutas varía ligeramente de sistema en sistema, pero mantienen por lo general una misma estructura. Una ruta viene dada por una sucesión de nombres de directorios y subdirectorios, ordenados jerárquicamente de izquierda a derecha y separados por algún carácter especial que suele ser una diagonal ('/') o diagonal invertida ('') y puede terminar en el nombre de un archivo presente en la última rama de directorios especificada.” [10] Normalmente los archivos y carpetas se organizan jerárquicamente. Fuente http://es.wikipedia.org/wiki/Sistema_de_archivos Ejemplo de 'ruta' en un sistema Unix Así, por ejemplo, en un sistema tipo Unix como GNU/Linux, la ruta para la canción llamada "La canción.ogg" del usuario "Alvaro" sería algo como: /home/Jairo/música/canción.ogg Donde:  '/' representa el directorio raíz donde está montado todo el sistema de archivos.  'home/Jairo/música/' es la ruta del archivo.  'canción.ogg' es el nombre del archivo.
  14. 14. Que se establece como único. Ejemplo de 'ruta' en un sistema Windows Un ejemplo análogo en un sistema de archivos de Windows se vería como: C:Archivos de programaAndroidandroid-sdk Donde:  'C:' es la unidad de almacenamiento en la que se encuentra el archivo.  'Archivos de programaAndroid ' es la ruta del archivo.  ' android-sdk' es el nombre del archivo. Para la mayoría de los sistemas operativos modernos la extensión del archivo es un complemento burocrático solo útil para la observación del usuario, ya que los entornos de administración de archivos y aplicaciones varias, analizan la información contenida en el principio del interior del archivo (MIME2 headers) para 2 Multipurpose Internet Mail Extensions o MIME ("extensiones multipropósito de correo de internet") son una serie de convenciones o especificaciones dirigidas al intercambio a través de Internet de todo tipo de archivos (texto, audio, vídeo, etc.) de forma transparente para el usuario. Una parte importante del MIME está dedicada a mejorar las posibilidades de transferencia de texto en distintos idiomas y alfabetos. En sentido general las extensiones de MIME van encaminadas a soportar: - Texto en conjuntos de caracteres distintos de US-ASCII; - Adjuntos que no son de tipo texto; - Cuerpos de mensajes con múltiples partes (multi-part); - Información de encabezados con conjuntos de caracteres distintos de ASCII. Prácticamente todos los mensajes de correo electrónico escritos por personas en Internet y una proporción considerable de estos mensajes generados automáticamente son transmitidos en formato MIME a través del protocolo SMTP. Los mensajes de correo electrónico en Internet están tan cercanamente asociados con el SMTP y MIME que usualmente se les llama mensaje SMTP/MIME.1 MIME está especificado en seis Request for Comments o RFC ("solicitud de comentarios): RFC 2045, RFC 2046, RFC 2047, RFC 4288, RFC 4289 y RFC 2077. Los tipos de contenido definidos por el estándar MIME tienen gran importancia también fuera del contexto de los mensajes electrónicos. Por ejemplo, algunos protocolos de red tales como HTTP de la Web. HTTP requiere que los datos sean transmitidos en un contexto de mensajes tipo e-mail aunque los datos pueden no ser un e-mail propiamente dicho. En la actualidad ningún programa de correo electrónico o navegador de Internet puede considerarse completo si no acepta MIME en sus diferentes facetas (texto y formatos de archivo). Fuente. Multipurpose Internet Mail Extensions. Recuperado el 9 de marzo de 2013. http://es.wikipedia.org/wiki/MIME
  15. 15. determinar su función o asociación, la cual normalmente está catalogada en la tabla MIME Content-Type en el sistema. Archivos del sistema operativo de Linux El sistema Windows permite ocultar la extensión de los archivos si el usuario lo desea, de no hacerlo la extensión aparece en los nombres de todos los archivos. En el sistema operativo Windows XP, si el usuario cambia la extensión de un archivo, éste puede quedar inutilizable si la nueva extensión lo asocia a un programa que no tenga la capacidad de editar o reproducir ese tipo de archivo. Algunos usuarios aun así habilitan la visualización de las extensiones en los sistemas Windows como medida de precaución para evitar virus que utilicen íconos o nombres parecidos a los archivos personales del usuario, ya que la extensión permite identificar a los ficheros .EXE, los ejecutables en Windows.
  16. 16. Resumen de características de los sistemas de Archivos [11] - Seguridad o permisos. - Listas de control de acceso (ACLs). - UGO (Usuario, Grupo, Otros, o por sus siglas en inglés, User, Group, Others). - Capacidades granuladas. - Atributos extendidos (ej.: sólo añadir al archivo pero no modificar, no modificar nunca, etc.). - Mecanismo para evitar la fragmentación. - Capacidad de enlaces simbólicos o duros. - Integridad del sistema de archivos (Journaling). - Soporte para archivos dispersos. - Soporte para cuotas de discos. - Soporte de crecimiento del sistema de archivos nativo. Tipo de sistemas de archivos Sistemas de archivos de disco: Está diseñado para el almacenamiento de archivos en una unidad de disco, que puede estar conectada directa o indirectamente a la computadora. Ejemplos de sistemas de archivos de disco: [12] - AOFS (Amiga Old File System) - AFFS (Amiga Fast File System) - ASFS (Amiga Smart File System) - Btrfs (De Oracle Corporation para GNU/Linux y Kurisu OS 3 Beta) - EFSa - ext2 (Para Kernel Linux) - ext3 (Para Kernel Linux y Kurisu OS 2) - ext4 (Para Kernel Linux) - FAT (File Allocation Table, usado en DOS y Windows hasta Windows ME) - FAT32 (File Allocation Table 32, usado Windows y en casi todas las memorias usb y tarjetas de memoria]) - GPFS (De IBM) - UMSDOS (Linux sobre FAT) - FFS (Berkeley Fast File System) - Fossil - HFS (para Mac OS) - HFS+ (para Mac OS X) - HPFS
  17. 17. - ISO 9660 (de solo lectura, para CD-ROM) - JFS (Journaling File System) - kfs - MFS (para Mac OS) - MINIX FS - NTFS (New Technology File System, usado en Windows NT y derivados, como XP, Vista, 7 u 8) - OFS (Object File System) - ReiserFS (Soportado por Linux) - Reiser4 (Disponible en Kernel Linux) - UDF (usado en DVD y en algunos CD-ROM) - UFS - WinFS (Windows File System, se planeaba su incorporación en Windows Vista y más tarde en Windows 7, pero nunca se concretó) - XFS - ZFS (sistema de archivos de Sun Microsystems) Algunos de estos son sistemas de archivos de registro por diario.3 3 El journaling es un mecanismo por el cual un sistema informático puede implementar transacciones. También se le conoce como «registro por diario». Se basa en llevar un journal o registro de diario en el que se almacena la información necesaria para restablecer los datos afectados por la transacción en caso de que ésta falle. El procedimiento es básicamente el siguiente: - Se bloquean las estructuras de datos afectadas por la transacción para que ningún otro proceso pueda modificarlas mientras dura la transacción. - Se reserva un recurso para almacenar el journal. Por lo general suelen ser unos bloques de disco, de modo que si el sistema se para de forma abrupta (corte eléctrico, avería, fallo del sistema operativo...) el journal siga disponible una vez reiniciado el sistema. - Se efectúan una a una las modificaciones en la estructura de datos. Para cada una: . Se apunta en el journal como deshacer la modificación y se asegura de que esta información se escribe físicamente en el disco. . Se realiza la modificación. Si en cualquier momento se quiere cancelar la transacción se deshacen los cambios uno a uno leyéndolos y borrándolos del journal. Si todo ha ido bien, se borra el journal y se desbloquean las estructuras de datos afectadas. Las aplicaciones más frecuentes de los sistemas de journaling se usan para implementar transacciones de sistemas de bases de datos y, más recientemente, para evitar la corrupción de las estructuras de datos en las que se basan los sistemas de archivos modernos. En el caso concreto de los sistemas de archivos, el journaling se suele limitar a las operaciones que afectan a las estructuras que mantienen información sobre: - Estructuras de directorio. - Bloques libres de disco. - Descriptores de archivo (tamaño, fecha de modificación...)
  18. 18. Sistemas de archivos de red Un sistema de archivos de red es el que accede a sus archivos a través de una red. Dentro de esta clasificación encontramos dos tipos de sistemas de archivos: los sistemas de archivos distribuidos (no proporcionan E/S en paralelo) y los sistemas de archivos paralelos (proporcionan una E/S de datos en paralelo). Ejemplos de sistemas de archivos distribuidos: - AFS - AppleShare - CIFS (también conocido como SMB o Samba, usado en redes Microsoft) - Coda - InterMezzo - NSS (Para sistemas Novell Netware 5) - NFS Mientras que para los sistemas de archivos paralelos tendríamos: - PVFS - PAFS Sistemas de archivos de propósito especial (Special purpose file system). Aquellos tipos de sistemas de archivos que no son ni sistemas de archivos de disco, ni sistemas de archivos de red. Ejemplos: acme El hecho de que no se suela implementar el journaling de los datos concretos de un archivo suele carecer de importancia, puesto que lo que persigue el journaling de sistemas de archivos es evitar los engorrosos y largos chequeos de disco que efectúan los sistemas al apagarse bruscamente, ya que el sistema al arrancar solo deberá deshacer el journal para tener un sistema coherente de nuevo. Sistemas de archivos con journaling Ext3 de Linux Ext4 de Linux NTFS de Windows NT ReiserFS de Linux Reiser4 de Linux UFS de SUN Solaris XFS de IRIX y Linux JFS de Linux, OS/2 y AIX HFS+ de Mac OS X VMFS-3 de VMware Smart File System de AmigaOS Fuente. Journaling. Recuperado el 9 de marzo de 2013. http://es.wikipedia.org/wiki/Journaling
  19. 19. (Plan 9), archfs, cdfs, cfs, devfs, udev, ftpfs, lnfs, nntpfs, plumber (Plan 9), procfs, ROMFS, swap, sysfs, TMPFS, wikifs, LUFS, etc. Nota: “Existe un sistema de archivos virtual (VFS) o conmutador de sistema de archivos virtual, que es una capa de abstracción encima de un sistema de archivos más concreto. Su propósito es permitir que las aplicaciones cliente tengan acceso a diversos tipos de sistemas de archivos concretos de una manera uniforme. Puede ser utilizada para tender un puente sobre las diferencias en los sistemas de archivos de Windows, de Mac OS y Unix, de modo que las aplicaciones pudieran tener acceso a archivos en los sistemas de archivos locales de esos tipos sin tener que saber a qué tipo de sistema de archivos están teniendo acceso. Un VFS especifica un interfaz (o un contrato) entre el kernel y un sistema de archivos en concreto. Por lo tanto, es fácil agregar nuevos sistemas de archivos al kernel simplemente satisfaciendo el contrato. Los términos del contrato pueden volverse incompatibles de una versión a otra, lo que requeriría que sistemas de archivos concretos fuesen recompilados, y posiblemente modificados antes de la recompilación, para permitirles trabajar con un nuevo lanzamiento del sistema operativo; o el proveedor del sistema operativo pueda realizar solamente cambios retrocompatibles al contrato, de modo que un sistema de archivos concreto
  20. 20. construido para un lanzamiento dado del sistema operativo trabaje con las versiones futuras del mismo sistema operativo. Otros mecanismos de sistema de archivos virtual en sistemas tipo UNIX incluyen el Interruptor de Sistema de Archivos en System V Release 3, el Sistema de Archivos Genérico en Ultrix, y el VFS en GNU/Linux. En OS/2 y Microsoft Windows, el mecanismo de sistema de archivos virtual se llama Sistema de Archivos Instalable. El mecanismo del sistema de archivos en espacio de usuario (FUSE (Linux)) permite que el código de espacio de usuario se acople en el mecanismo del sistema de archivos virtual en GNU/Linux, FreeBSD, de OpenSolaris, y Mac OS X. En Microsoft Windows, los sistemas de archivos virtuales pueden también implementarse a través de las extensiones de consola de nombre de usuario en espacio de usuario, sin embargo, no soportan las interfaces de programación de aplicaciones del sistema de más bajo nivel de acceso de archivos, de modo que no todas las aplicaciones serán capaces de acceder sistemas de archivos que se hayan implementado como extensiones de nombre de usuario. KIO y el GNOME VFS proveen de mecanismos similares en los entornos de escritorio de KDE y de GNOME, con limitaciones similares, aunque pueden ser hechos para utilizar técnicas FUSE y por lo tanto integrarse suavemente en el sistema.” [13] Sistemas de protección Mecanismo que controla el acceso de los programas o los usuarios a los recursos del sistema. El SO se encarga de: - Distinguir entre uso autorizado y no autorizado. - Especificar los controles de seguridad a realizar. - Forzar el uso de estos mecanismos de protección. Sistema de comunicaciones Para mantener las comunicaciones con otros sistemas es necesario poder controlar el envío y recepción de información a través de las interfaces de red. También hay que crear y mantener puntos de comunicación que sirvan a las aplicaciones para enviar y recibir información, y crear y mantener conexiones virtuales entre aplicaciones que están ejecutándose localmente y otras que lo hacen remotamente.
  21. 21. Programas de sistema Son aplicaciones de utilidad que se suministran con el SO pero no forman parte de él. Ofrecen un entorno útil para el desarrollo y ejecución de programas, siendo algunas de las tareas que realizan: - Manipulación y modificación de archivos. - Información del estado del sistema. - Soporte a lenguajes de programación. - Comunicaciones. Gestor de recursos Como gestor de recursos, el sistema operativo administra: - La unidad central de procesamiento (donde está alojado el microprocesador). - Los dispositivos de entrada y salida. - La memoria principal (o de acceso directo). - Los discos (o memoria secundaria). - Los procesos (o programas en ejecución). - Y en general todos los recursos del sistema. CLASIFICACIÓN DE LOS SISTEMAS OPERATIVOS [14]
  22. 22. Administración de tareas - Monotarea: Solamente permite ejecutar un proceso (aparte de los procesos del propio SO) en un momento dado. Una vez que empieza a ejecutar un proceso, continuará haciéndolo hasta su finalización y/o interrupción. - Multitarea: Es capaz de ejecutar varios procesos al mismo tiempo. Este tipo de SO. normalmente asigna los recursos disponibles (CPU, memoria, periféricos) de forma alternada a los procesos que los solicitan, de manera que el usuario percibe que todos funcionan a la vez, de forma concurrente. Administración de usuarios - Monousuario: Si sólo permite ejecutar los programas de un usuario al mismo tiempo. - Multiusuario: Si permite que varios usuarios ejecuten simultáneamente sus programas, accediendo a la vez a los recursos de la computadora. 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: Si permite usar los recursos de una sola computadora. - Distribuido: Si permite utilizar los recursos (memoria, CPU, disco, periféricos...) de más de una computadora al mismo tiempo. CATEGORÍAS DE SISTEMAS OPERATIVOS [15] Los Sistemas Operativos se pueden categorizar por su tecnología, su propietario o licenciatario, el estado de desarrollo, su uso o por muchas otras características. En la práctica, muchos de estos grupos se solapan.
  23. 23. Por Propietario Acorn Computers  Acorn MOS (en el BBC Micro y BBC Master)  Arthur  ARX  RISC OS  RISC iX (basado en 4.3BSD) ADAFComputers FS OS Amiga AmigaOS - AmigaOS 1.0-3.9 (68k) - AmigaOS 4 (PowerPC) - AmigaOS 4.0 - AmigaOS 4.1 Amiga Unix (tcc Amix) Apollo Computer AEGIS Domain/OS Uno de los primeros sistemas basados en red. Corría sobre hardware Apollo/Domain. Adquirido por Hewlett-Packard. Apple Inc. Apple II series - Apple DOS - ProDOS Apple III - SOS (Sophisticated Operating System) Apple Lisa - Lisa OS
  24. 24. Macintosh Mac OS - System 1 - System 2 - System 3 - System 4 - System 5 - System 6 - System 7 (nombre en clave "Big Bang") - Mac OS 8 - Mac OS 9 Unix-like (*NIX) - A/UX - Darwin (código abierto) - iOS (antes "iPhone OS") - MkLinux - Mac OS X Mac OS X v10.0 (tcc Mac OS X 10.0 "Cheetah") Mac OS X v10.1 (tcc Mac OS X 10.1 "Puma") Mac OS X v10.2 (tcc Mac OS X 10.2 "Jaguar") Mac OS X v10.3 (tcc Mac OS X 10.3 "Panther") Mac OS X v10.4 (tcc Mac OS X 10.4 "Tiger") Mac OS X v10.5 (tcc Mac OS X 10.5 "Leopard") Mac OS X v10.6 (tcc Mac OS X 10.6 "Snow Leopard") Mac OS X v10.7 (tcc Mac OS X 10.7 "Lion") Mac OS X v10.8 (tcc Mac OS X 10.8 "Mountain Lion") Mac OS X Server - Newton OS Atari - Atari DOS (para ordenadores de 8 bits) - Atari TOS - Atari MultiTOS BAE Systems - XTS-400 Be Incorporated
  25. 25. BeOS - BeIA Zeta (copia ilegal de BeOS desarrollada originalmente por yellow TAB e interrumpida por magnussoft) Burroughs Corporation - Burroughs MCP Convergent Technologies Convergent Technologies Operating System (adquirido por Unisys) Digital/Tandem Computers/Compaq/HP - OS/8 - ITS (para los PDP-6 y PDP-10) - Multi-Programming Executive (de HP) - TOPS-10 (para el PDP-10) - WAITS (para los PDP-6 y PDP-10) - TENEX (de BBN, para el PDP-10) - TOPS-20 (para el PDP-10) - RSTS/E (sistema multiusuario y de tiempo compartido, para el PDP-11) - RSX-11 (sistema multiusuario y multitarea para el PDP-11) - RT-11 (sistema monousuario para el PDP-11) - VMS (creado por DEC, adquirido por HP) para el mini-ordenador VAX, Alpha y el Intel Itanium 2; renombrado como OpenVMS) - Domain/OS (originalmente llamado Aegis, creado por Apollo Computer, que fue adquirida por HP) - RTE (Real Time Executive, corría en el HP 1000) - TSB (Time Share Basic, corría en los HP de la serie 2000) - Unix-like (*NIX) Digital UNIX (derivado del OSF/1, se convirtió en el Tru64 UNIX de HP) HP-UX Ultrix - NonStop Kernel (Creado originalmente por Tandem Computers para sus plataformas, llamado Guardian). Soporta la ejecución simultánea de: Guardian OSS (Open System Services)
  26. 26. Fujitsu - Towns OS Green Hills Software - INTEGRITY - INTEGRITY-178B Una versión certificada DO-178B del INTEGRITY. - µ-velOSity Un microkernel ligero. Haiku Inc. Haiku (sistema operativo); proyecto de código abierto que busca recrear el sistema operativo BeOS. Hewlett-Packard - HP Real-Time Environment; corría sobre máquinas HP1000. - HP Multi-Programming Executive; (MPE, MPE/XL, y MPE/iX) corría sobre los miniordenadores HP3000 y HPe3000. - HP-UX; corría sobre máquinas HP9000 e Itanium. Honeywell  GCOS  Multics  OLERT-E; OnLine Executive for Real Time - Corría sobre ordenadores Honeywell DDP-516. Intel Corporation iRMX; sistema operativo en tiempo real creado originalmente para soportar las familias de procesadores Intel 8080 and 8086. IBM OS/360 y sucesores - OS/360 (Primer SO oficial enfocado a la arquitectura System/360) PCP (Primary Control Program) MFT (Multi-Programming Fixed Tasks) MVT (Multi-Programming Variable Tasks) - OS/VS (El port oficial del OS/360 enfocado a la arquitectura de memoria virtual de los System/370.) SVS (Single Virtual Storage (tanto el VS1 como el VS2 comenzaron somo sistemas SVS))
  27. 27. OS/VS1 (Operating System/Virtual Storage 1, versión de memoria virtual del OS/MFT) OS/VS2 (Operating System/Virtual Storage 2, versión de memoria virtual del OS/MVT) - OS/VS2 R2 (llamado Multiple Virtual Storage, MVS, eliminó toda necesidad del VS1) - MVS/SE - MVS/SP (MVS System Package) - MVS/XA (31 bits) - MVS/ESA - OS/390 (Mejora del MVS, con un entorno *NIX.) - z/OS (versión del OS/390 que soportaba direccionamientos z/Architecture, de 64bits.) DOS/360 y sucesores - BOS/360 (Versión inicial del DOS/360, brevemente disponible) - TOS/360 (Similar al BOS, capaz de arrancar y funcionar con dispositivos de cintas de la serie 2x00) - DOS/360 (Disk Operating System). El primer SO disponible para el System/360 debido a problemas en el proyecto OS/360). DOS/360/RJE (DOS/360 con una extensión del programa de control que posibilitaba el control de dispositivos de entrada remotos conectados por líneas de teléfono dedicadas.) - DOS/VS (El primer DOS ofertado para sistemas de la serie System/370) - DOS/VSE (actualización del DOS/VS) - VSE/SP (rebautizado; es el DOS/VSE) - VSE/ESA (DOS/VSE con un soporte de memoria virtual expandido para direcciones de 32 bits) - z/VSE (La última versión de la vieja serie DOS. Soporta direcciones de 64 bits, multiproceso, multiprograma, SNA, TCP/IP y otras características) CP/CMS y sucesores - CP-40/CMS (para System/360 Modelo 40) - CP-67/CMS (para System/360 Modelo 67) - VM/370 Virtual Machine / Conversational Monitor System, VM (sistema operativo) para el System/370 con memoria virtual. - VM/XA VM (sistema operativo) eXtended Architecture para el System/370 con memoria virtual extendida. - VM/ESA Virtual Machine /Extended System Architecture (ESA), con direccionamientos de 32 bits para la serie VM.
  28. 28. - z/VM Versión z/Architecture del SO VM (direccionamientos de 64 bits). TPF para mainframes de IBM - ACP (Airline Control Program) - TPF (Transaction Processing Facility) - z/TPF (extensión z/Architecture) Unix-like para mainframes de IBM - UTS - AIX/370 - AIX/ESA - Linux (Linux para System z, z/Linux) - OpenSolaris (OpenSolaris para IBM System z) Otros Sistemas Operativos para mainframes de IBM - IBSYS (SO basado en cintas para los IBM 7090 e IBM 7094) - CTSS (Compatible Time-Sharing System, desarrollado en el Centro de Computación del MIT) - RTOS/360 (Real Time Operating System, corría sobre 5 sistemas personalizados System/360/75s de la NASA. Constituyeron el punto álgido del desarrollo del OS/360.) - MTS (Michigan Terminal System para el System/360 de IBM) - TSS/360 (Time Sharing System para el System/360 de IBM) - MUSIC/SP (desarrollado por la Universidad McGill para el IBM System/370) - IJMON (Un monitor arrancable para cargar programas en los IBM 1400 e IBM 1800.) IBM Series/1 - EDX (Event Driven Executive) - RPS (Realtime Programming System) IBM 8100 - DPCX (Distributed Processing Control eXecutive) - DPPX (Distributed Processing Programming eXecutive) IBM System/34, IBM System/36 - SSP (System Support Program) IBM System/38
  29. 29. - CPF (Control Program Facility) IBM System/88 - Stratus VOS (desarrollado por Stratus, y utilizado en computadoras IBM System/88) AS/400, iSeries, System i, Power Systems i Edition - OS/400 (descendiente del System/38 CPF, incluye un entorno System/36 SSP.) - i5/OS (mejora el OS/400 con características significativas de interoperabilidad) - IBM i (mejora el i5/OS.) UNIX en IBM POWER - AIX (Advanced Interactive eXecutive) - AOS (una versión BSD Unix) IBM PC y sucesores con arquitectura x86 - PC DOS / IBM DOS PC DOS 1.x, 2.x, 3.x (desarrollado conjuntamente con Microsoft) IBM DOS 4.x, 5.0 (desarrollado conjuntamente con Microsoft) PC DOS 6.x, 7, 2000 - OS/2 OS/2 1.x (desarrollado conjuntamente con Microsoft) OS/2 2.x OS/2 Warp V3 OS/2 Warp V4 eComStation Others - IBM Workplace OS (SO basado en microkernel, desarrollado y cancelado en los años 90) - K42 (SO de investigación de código abierto para sistemas multiprocesador PowerPC o x86) - Dynix (desarrollado por Sequent, y usado en los IBM NUMA-Q) International Computers Limited - GEORGE 2/3/4 GEneral ORGanisational Environment, utilizado en los ICL 1900
  30. 30. - ICL VME LynuxWorks (originalmente Lynx Real-time Systems) - LynxOS Micrium Inc. - MicroC/OS-II Microsoft - Xenix (versión de Unix; licenciada a SCO en 1987) - MSX-DOS (desarrollado por MS Japan para el ordenador de 8 bits MSX) - MS-DOS (desarrollado conjuntamente con IBM, versiones 1.0–6.22) - Windows CE (SO para ordenadores de mano, dispositivos integrados, y aplicaciones en tiempo real) Windows CE 3.0 Windows Mobile (basado en Windows CE) Windows CE 5.0 Windows CE 6.0 Windows Mobile 5.0 Windows Mobile 6 Windows Mobile 6.1 - Windows basado en DOS Windows 1.0 Windows 2.0 Windows 3.0 (la primera versión que tuvo un impacto comercial notable) Windows 3.1 Windows 3.2 (edición exclusivamente china) Familia Windows 9x - Windows 95 (tcc Windows 4.0) (Nombre en clave: Chicago) - Windows 98 (tcc Windows 4.1) (Nombre en clave: Memphis) - Windows Millennium Edition (normalmente abreviado a Windows Me) (tcc Windows 4.9) OS/2 (desarrollado conjuntamente con IBM) - Windows NT - Windows NT 3.1 - Windows NT 3.5 - Windows NT 3.51
  31. 31. - Windows NT 4.0 - Windows 2000 (tcc Windows NT 5.0) - Windows XP (tcc Windows NT 5.1) (Nombre en clave: Whistler) - Windows Server 2003 (aka Windows NT 5.2) (Nombre en clave: Whistler Server) - Windows Fundamentals for Legacy PC - Windows Vista (tcc Windows NT 6.0) (Nombre en clave: Longhorn) - Windows Home Server - Windows Server 2008 (tcc Windows NT 6.0) (Nombre en clave: Longhorn Server) - Windows 7 (Nombre en clave: Blackcomb) (renombrado posteriormente como Vienna) - Windows Preinstallation Environment (WinPE) Singularity Midori Windows_8 Novell - NetWare - Open Enterprise Server, el sucesor de NetWare. - SUSE Linux QANTEL BEST - Business Executive System for Timesharing RCA TSOS ReactOS Foundation ReactOS; ReactOS tiene como meta lograr compatibilidad binaria con aplicaciones y drivers de dispositivos para sistemas NT (XP, 2003) usando una arquitectura similar y proveyendo una interfaz pública completa y equivalente. RoweBots - Unison RTOS - DSPnano RTOS - Unison/Reliant V3
  32. 32. SCO / The SCO Group - Xenix - Xenix 286 - Xenix 386 - SCO Unix - SCO Open Desktop - SCO OpenServer 5 - UnixWare 2.x - UnixWare 7 - SCO OpenServer 6 Unicoi Systems - Fusion RTOS - DSPOS Wind River Systems VxWorks Basados en Lisp - Máquina Lisp Symbolics Otros - EOS (Operating System) - EMBOS - GCOS - PC-MOS/386 - SINTRAN III - THEOS - TinyOS - TRS-DOS - NewDos/80 - TX990/TXDS, DX10 y DNOS (sistemas operativos para los miniordenadores TI-990) - MAI Basic Four - Michigan Terminal System - MUSIC/SP - TSX-32 - OS ES
  33. 33. - Prolog-Dispatcher (utilizado para controlar la nave espacial soviética Buran) Otros sistemas basados en UNIX o compatibles con POSIX - Aegis - Amiga Unix - Clix - Coherent - DC/OSx - DG/UX - DNIX - DSPnano RTOS - INTERACTIVE UNIX - IRIX - MeikOS - NeXTSTEP - OS-9 - OS9/68K - OS-9000 - OSF/1 - OpenStep - QNX - Rhapsody - RISC/os - RMX - SCO UNIX - SINIX - Solaris - SunOS - SUPER-UX - System V - System V/AT, 386 - Trusted Solaris - UniFLEX - Únicos - Unison RTOS - SDC (Sistemas de Datos Científicos) - CP (Control Program) - TRON Project - TRON - UNIVAC (más tarde Unisys)
  34. 34. - EXEC I - EXEC II - EXEC 8 - VS/9 - Wavecom - Open AT OS - No propietarios *NIX Sistemas operativos *NIX y otros compatibles con POSIX  Minix  Plan 9  Inferno  Plan B  Solaris  Unix (SO desarrollado por los Laboratorios Bell en los años 70)  Xinu *NIX Libres/Código abierto  BSD  FreeBSD  DesktopBSD  PC-BSD  DragonFly BSD  NetBSD  OpenBSD  GNU  Linux GNU/Linux: Sistema Operativo de Software de Código Abierto (software Libre) combinado con el Núcleo Linux  OpenDarwin  OpenSolaris  SSS-PC  Syllable  VSTa  Jari OS  AuroraUX
  35. 35.  Otros  TUNIS  No *NIX  Sistemas de investigación no *NIX  Amoeba  Croquet  House  ILIOS  EROS  CapROS  Coyotos  L4  Mach  MONADS  SPEEDOS  Nemesis  Singularity  Spring  V Sistemas libres/de código abierto no *NIX  FullPliant  FreeDOS  FreeVMS  osFree DOS 86-DOS  PC DOS  MS-DOS DR-DOS  Concurrent DOS  Multiuser DOS FreeDOS  ProDOS
  36. 36.  PTS-DOS RDOS  TurboDOS  DESQview De red  Cambridge Ring  CSIRONET  CTOS  Data ONTAP  SAN-OS  Enterprise OS  Fabric OS  JUNOS  NetWare  NOS  Novell Open Enterprise Server  OliOS  Plan 9 Inferno Plan B TurboDOS  XPATH OS Sistemas operativos Web  amoebaos  desktoptwo  g.ho.st  youos  browser os  eyeos  jooce  glide os 3.0  craythur  goowy  orca  purefect
  37. 37. Genéricos/comodidades y otros  BLIS/COBOL  Bluebottle  BS1000 by Siemens AG  BS2000 by Siemens AG  BS3000 by Siemens AG  CP/M CP/M-80 CP/M-86 CP/M-68k CP/M-8000 MP/M-80 MP/M-86  FLEX9  FutureOS  GEM  GEOS  JavaOS  JNode  JX  KERNAL  MERLIN  MorphOS  nSystem  NetWare  Oberon (sistema operativo)  OSD/XC by Fujitsu-Siemens  OS-IV  Pick  PRIMOS  Sinclair QDOS  SkyOS  SSB-DOS  SymbOS  Symobi  TripOS  TurboDOS  UCSD p-System
  38. 38.  UMIX  VOS  VOS  VM2000  VisiOn  VPS/VM  aceos  Miraculix Para Elektronika BK  ANDOS  AO-DOS  BASIS  CSI-DOS  DOSB10  DX-DOS  FA-DOS  HC-DOS  KMON  MicroDOS  MK-DOS  NORD  NORTON-BK  RAMON  PascalDOS  RT-11 RT-11SJ OS BK-11  Turbo-DOS  BKUNIX  OS/A WASP Afición  AROS  AtheOS  DexOS  DSPnano RTOS  EROS
  39. 39.  FAMOS  HelenOS  KolibriOS  LoseThos  LSE/OS  MenuetOS  Möbius operating system  NewOS  Syllable Desktop  Unison RTOS  Visopsys  TajOS Integrados/empotrados  A/ROSE  DSPnano RTOS  Embedded Linux  FreeBSD  FreeRTOS  Inferno  LynxOS  pSOS  Nucleus RTOS  CMX  uC/OS  eCos  RTEMS  MINIX 3  .NET Micro Framework  OS/RT  Open AT OS  polyBSD  QNX  RTXC Quadros RTOS  ROM-DOS  T2 SDE  Unison RTOS  VxWorks
  40. 40.  RTLinux  Windows XP Embedded  Windows CE PDAs  Inferno  Palm OS  Palm webOS  EPOC  Windows CE Pocket PC Windows Mobile  Linux  DOS  Newton OS  VT-OS  Internet Tablet OS  Magic Cap Reproductores de música  DSPnano RTOS  ipodlinux  Pixo  RockBox  iPhone OS  iriver clix UI Teléfonos inteligentes  BlackBerry OS  Embedded Linux Android Openmoko Linux Mobilinux MontaVista MotoMagx Qtopia LiMo Platform - iOS - JavaFX Mobile
  41. 41. - Palm OS - Symbian OS - Windows CE Windows Mobile Routers  AlliedWare  AlliedWare Plus  AirOS  CatOS  Cisco IOS  CyROS  DD-WRT  Inferno  IOS-XR  IronWare  JunOS  RouterOS  ROX  ScreenOS  Timos  Unison RTOS Microcontroladores, tiempo real  BeRTOS  ChibiOS/RT  ChorusOS  Contiki  DSPnano RTOS  eCos  FreeRTOS  Fusion RTOS  INtime RTOS para Windows  iRMX  Inferno  Integrity  LUnix  LynxOS
  42. 42.  MenuetOS  MontaVista  Nucleus  OS-9  Operating System Embedded  OSEK  OS/RT  Phoenix-RTOS  Prex  QNX  RTAI  RTEMS  RTLinux  RTXC Quadros RTOS  SCIOPTA RTOS  ThreadX  TRON Project  μClinux  uKOS  µOS++  Unison Operating System  VRTX  VxWorks  XMK  Xenomai Basados en capacidad KeyKOS - EROS - CapROS - Coyotos MONADS - SPEEDOS V VLEGO Mindstorms
  43. 43. - BrickOS - leJOS - ChyanOS Taller: 1. Averiguar sobre el formato de disco (como funciona en su totalidad, con ejemplos incluidos). 2. Averiguar Tipos de software de sistema (con sus respectivos ejemplos): - Cargadores de programas - Sistemas operativos (y sus componentes, muchos de los cuales pueden considerarse como software de sistema) - Controladores de dispositivos - Herramientas de programación: compiladores, ensambladores, enlazadores, etc. - Programas utilitarios - Entorno de escritorio / Interfaz gráfica de usuario (que pueden incluir Gestores de ventanas) - Línea de comandos - BIOS - Hipervisores - Bootloaders (Gestor de arranque) Este trabajo se evalúa.
  44. 44. Referencias [1] Fuente de consulta. Sistemas operativos. Recuperado y adaptado por el autor el 8 de marzo de 2013. http://es.wikipedia.org/wiki/Anexo:Sistemas_operativos. [2] Cfr., entre otros: Tanenbaum, A. (1992) Modern Operating Systems, Englewood Cliffs: Prentice-Hall; Haldar, S. y Aravind, A. A. (2010) Operating Systems, Pearson Education India, pp. 12 y ss.; Turner, R. W. (1986) Operating Systems: design and implementation, MacMillan. [3] Cisco Systems (1992). cisco.com (ed.): «Fundamentos de UNIX» (certificación). Consultado el 10 de febrero de 2013. [4] Toastytech.com (ed.): «BeOS 5.0 Personal Edition» (en inglés) (2010). Consultado el 10 de febrero de 2013. [5] «Amiga Video Toaster» (en inglés). NewTek, Inc. (2010). Consultado el 1 de febrero de 2013. [6] Modos de ejecución en una CPU. Recuperado el 9 de marzo de 2013. http://trabajoinforioolgamasalema.blogspot.com/2008/12/modos-de-ejecucin-en- un-cpu.html [7] Sistema operativo de red. Recuperado el 9 de marzo de 2013. http://es.wikipedia.org/wiki/Sistema_operativo_de_red [8] Anexo. Sistemas operativos. Recuperado el 9 de marzo de 2013. http://es.wikipedia.org/wiki/Anexo:Sistemas_operativos [9] Sistema de archivos. Recuperado el 9 de marzo de 2013. http://es.wikipedia.org/wiki/Sistema_de_archivos [10] Ibid. [11] ibídem. [12] Sistema de archivos de disco. Recuperado el 9 de marzo de 2013. http://es.wikipedia.org/wiki/Anexo:Sistemas_de_archivos_de_disco [13] Sistema de archivos virtual. Recuperado el 9 de marzo de 2013. http://es.wikipedia.org/wiki/Sistema_de_archivos_virtual [14] Clasificación de los sistemas operativos. Recuperado el 9 de marzo de 2013. http://es.wikipedia.org/wiki/Sistema_operativo [15] Anexo. Sistemas operativos. Recuperado el 9 de marzo de 2013. http://es.wikipedia.org/wiki/Anexo:Sistemas_operativos

×