Sistemas Operativos (OS)
-
Un Sistema Operativo (SO o en ingles OS de operating system) es un conjunto de programas de un sistema informático que administra y gestiona los recursos físicos del hardware, provee servicios para la ejecución de los programas de aplicación (software) y controla la interfaz de usuario. Los SO, llamados a veces núcleos o kernels, se ejecutan en modo privilegiado respecto al resto de programas del entorno y son fundamentales para el funcionamiento del equipo.
Uno de los propósitos del sistema operativo es gestionar los recursos de localización y protección de acceso del hardware, algo que alivia a los programadores de aplicaciones para no tener que tratar con estos detalles, es como si fuera el intermediario entre la parte física y los programas
La mayoría de aparatos electrónicos de la vida cotidiana que requieran de un microprocesadores para funcionar lleva incorporado un SO. Para su gestión ese sistema se puede gestionar mediante interfaces gráficas de usuario, entornos de escritorio, gestores de ventanas o líneas de comandos, dependiendo de la naturaleza del aparato.
El sistema operativo de escritorio dominante es Microsoft Windows , macOS de Apple Inc ocupa el segundo lugar y las variedades de GNU/Linux ocupan en conjunto un tercer lugar. En el sector móvil (Smatphones y tablet) Android tiene la mayor posición, seguidas de iOS(Apple). Las distribuciones Linux son dominantes en los sectores de servidores y supercomputación.
Los Sistemas Operativos pueden clasificarse según diversos criterios:
• Según su criterio de administración de tareas. Existen Sistemas Operativos monotareas, que permiten la ejecución de un único programa por vez (excepto los procesos del propio SO), hasta su finalización o interrupción; y aquellos multitareas que administran los recursos de la CPU para permitir una cierta sensación de simultaneidad.
• Según su criterio de administración de usuarios. Similarmente, existen SO monousuarios, que limitan la ejecución a los programas de un usuario, y multiusuarios que permiten la ejecución simultanea de programas de diversos usuarios.
• Según su manejo de recursos. Existen SO centralizados, que limitan su área de influencia a una sola computadora o sistema; otros distribuidos, que permiten manejar numerosos equipos a la vez.
Ejemplos de Sistemas Operativos:
-
Microsoft Windows. Sin duda el más popular de los SO, aunque realmente se trate de un conjunto de distribuciones (un entorno operativo) construidas para brindar a Sistemas Operativos más antiguos (como el MS-DOS) de una interfaz gráfica de soporte y un conjunto de herramientas de software. Su primera versión apareció en 1985 aunque fue con Windows 95, diez años mas tarde, el momento de inflexión donde Microsoft comenzó a sentar las base de lo que fueron y son sus SO. Cuando aparecio Windows 95 por fin los usuarios pudieran tener acceso a una gran cantidad de funciones sin necesidad de conocer lenguajes de programación. Tres años después, con Windows 98, MS terminó de acercar a los usuarios domésticos la informática de forma amigable ylos interconecto a través de internet.
-
GNU/Linux. Este término alude a la utilización combinada del kernel libre de la familia de Unix llamado “Linux”, junto a la distribución GNU, también libre. El resultado es uno de los principales protagonistas del desarrollo de software libre, cuyo código fuente puede ser empleado, modificado y redistribuido a libertad.
-
UNIX. Este sistema operativo portable, multitarea y multiusuario fue desarrollado tempranamente en 1969 por un grupo de empleados de los laboratorios Bell de AT&T y a lo largo de los años sus derechos de copyright han pasado de una empresa a otra. Despues de una larga batalla legal, está en manos de Novell. En realidad se trata de una familia de SO semejantes, muchos de los cuales han hecho vida comercial y otros son de formato libre. Linux y MacOS X son ejemplos de sistemas Unix.
Hoy en día los sistemas operativos Unix son ampliamente utilizados en multitud de dispositivos que abarcan desde los supercomputadores más capaces hasta los teléfonos móviles más populares, pasando por los ordenadores que utilizamos diariamente en nuestros escritorios.
La filosofía de los sistemas Unix se caracteriza por:
• Un sistema de ficheros jerárquico.
• Una gran colección de pequeños programas que pueden trabajar en serie.
• El uso de ficheros de texto para almacenar los datos.
• Tratar los dispositivos como ficheros. -
Fedora. Se trata esencialmente de una distribución de Linux para propósitos generales, surgida luego de la descontinuación de Red Hat Linux, con la cual está muy vinculado pero que surgió como un proyecto comunitario. Es otro nombre indispensable a la hora de hablar de software libre y códigos abiertos, en sus tres versiones principales: Workstation, Cloud y Server.
-
Ubuntu. Basado en GNU/Linux, este Sistema Operativo libre y de código abierto toma su nombre de la filosofía surafricana enfocada en la lealtad del hombre hacia el resto de la especie. En ese sentido, Ubuntu está orientado hacia la facilidad y la libertad de uso, si bien Canonical, la empresa británica que posee sus derechos, subsiste en base a servicios técnicos vinculados con el programa.
-
MacOS. El sistema operativo de la Machintosh, también conocido como O S X o Mac OS X, cuyo entorno está basado en el Unix y es desarrollado y vendido como parte de los computadores de la marca Apple desde 2002. Parte de esta familia de software fue liberada por Apple como un Sistema Operativo abierto y de código libre llamado Darwin, al que luego añadieron componentes como el Aqua y el Finder, para obtener la interfaz en que se basa el Mac OS X, su versión más reciente.
-
Debian. Con núcleo de Linux y herramientas de GNU, este SO libre se ha construido desde 1993 a partir de la colaboración de miles de usuarios de lo largo y ancho del mundo, reunidos bajo la bandera del “Proyecto Debian”, alejados de todo tipo de comercialización de software y operan de manera independiente.
-
Solaris. Otro Sistema Operativo tipo Unix, creado en 1992 por Sun Microsystems y empleado hoy en día para arquitecturas de sistema SPARC (Scalable Processor Architecture) y x86, frecuentes en servidores y estaciones de trabajo. Es una versión oficialmente certificada de Unix cuya versión liberada se llama OpenSolaris.
-
BeOS. Desarrollado en 1990 por Be Incorporated, es un Sistema Operativo para PC orientado a la maximización del rendimiento multimedia. Se ha dicho que estaba basado en Unix, debido a la inclusión de la interfaz de comandos Bash, pero no es así: BeOs cuenta con un micronúcleo modular original, sumamente optimizado para el manejo de audio, video y gráficos animados. Además, a diferencia de Unix, es monousuario.
-
Haiku. Sistema Operativo de código abierto centrado en los aspectos personales de la informática y en el multimedia, inspirado en el BeOS (Be Operating System), con el que es compatible. Su gran particularidad estriba en la posibilidad de generar las propias distribuciones de cada usuario. Se encuentra actualmente en desarrollo.
-
Chrome OS. Actualmente en estado de proyecto, se supone el Sistema Operativo de la empresa Google, basado en la web y en un código abierto de núcleo Linux, orientado inicialmente a miniportátiles con procesadores de tecnología ARM o x86. Este proyecto fue anunciado en 2009, luego de que el explorador Google Chrome y su proyecto de código abierto Chromium OS arrojaran muy positivos resultados de mercado. Como instalar Chrome OS: Link.
-
MS-DOS. Fue uno de los más populares Sistemas Operativos para computadoras personales IBM en la década de 1980 hasta mediados de los 90. Operaba en base a una serie de comandos internos y externos, en una interfaz monocromática de líneas de comando muy característica. Sus siglas significan MicroSoft Disk Operating System (Sistema Operativo de Disco de MicroSoft).
-
FreeBSD. Sistema operativo de código abierto usado para alimentar servidores modernos, escritorios y plataformas embebidas para computadoras basado en las CPU de arquitectura x86, Intel 80386, Intel 80486 (versiones SX y DX), y Pentium. En la actualidad se ejecuta en once arquitecturas distintas como Alpha, AMD64, IA-64, MIPS, PowerPC y UltraSPARC. FreeBSD está basado en BSD-Lite versión 4.4 del Computer Systems Research Group (CSRG) de la Universidad de California en Berkeley siguiendo la tradición que ha distinguido el desarrollo de los sistemas BSD.
-
ReactOS. Sistema operativo de código abierto, el cual tiene la principal función de ser una especie de clon de Windows. ReactoOS no es un clon de Windows más ni un simple sistema linux con Skin de Windows, sino que es un sistema que copia la arquitectura de Windows NT con el objetivo de ejecutar drivers, aplicaciones y demás software que hasta ahora solo estaba reservado para Windows.
-
-
Para complementar un poco esta información, el equipo de traducción de Hardlimit ha subtitulado un capítulo de The Computer Chronicles dedicado a los sistemas operativos de 1984 donde se habla del popular CP/M, el novato MS-DOS y el todopoderoso UNIX. Todo aderezado con algunos conceptos teóricos que siguen todavía vigentes a día de hoy.
Quitando las cabeceras, el programa empieza en el segundo 55.
-
Núcleo Monolítico
Un núcleo monolítico es un marco de software de sistema operativo que posee todos los privilegios para acceder a dispositivos de entrada / salida (E / S), memoria, interrupciones de hardware y la pila de CPU. Los núcleos monolíticos tienden a ser más grandes(está programado de forma no modular y puede tener un tamaño considerable) que otros núcleos porque tratan con muchos aspectos del procesamiento de la computadora en el nivel más bajo y, por lo tanto, tienen que incorporar código que interactúe con muchos dispositivos, E / S y canales de interrupción, y otros operadores de hardware.Esta forma de núcleo es la base para Linux, Unix, MS-DOS y Mac OS. Los sistemas operativos más nuevos generalmente usan un núcleo híbrido para permitir un mantenimiento más sencillo y mejoras en el sistema operativo.
Todos los componentes funcionales del núcleo tienen acceso a todas sus estructuras de datos internas y a sus rutinas. Por ende, un error en una rutina podría propagarse a todo el sistema.
La alternativa es tener una estructura de micronúcleo, donde las partes funcionales están divididas en unidades separadas con mecanismos de comunicación estrictos entre ellos. Lo negativo de los sitemas micronúcleo es su pobre rendimiento debido al paso constante de mensajes entre los distintos servicios.
Los núcleos monolíticos conservan el acceso de privilegio completo sobre los diversos componentes bajo su control. Éstos incluyen:
- Sistemas de archivos
- Comunicación entre procesos
- E / S y gestión de dispositivos
- Gestión fundamental de procesos.
- Hardware
La razón por la que se prefieren las arquitecturas de kernel más nuevas, como el diseño de microkernel o kernel híbrido, es que cuanto más grande se vuelve el kernel, más funciones debe asumir. Esto hace que el código sea engorroso y más lento de cargar. Otro inconveniente del diseño de kernel monolítico es que el código del kernel debe modificarse para agregar características, corregir errores, etc. Esto puede significar una actualización completa del sistema operativo, lo que es mas costoso.
Micronúcleo
Un micronúcleo (microkernel o μkernel) es un tipo de núcleo de un sistema operativo que provee un conjunto de primitivos o llamadas mínimas al sistema para implementar servicios básicos, como espacios de direcciones, comunicación, entre procesos y planificación básica.
Todos los otros servicios (gestión de memoria, sistema de archivos, operaciones de E/S, etc.), que en general son provistos por el núcleo, se ejecutan como procesos servidores en espacio de usuario.
Solo las funciones absolutamente esenciales del núcleo del sistema operativo deben permanecer en el micronucleo.
Algunas tareas del microkernel:- Manipulación de las interrupciones en el sistema, desde dispositivos físicos.
- Manipula excepciones del procesador.
- Proporciona soporte para la recuperación de un sistema con alguna falla de caída de energía.
Las principales ventajas de su utilización son la reducción de la complejidad, la descentralización de los fallos y la facilidad para crear y depurar controladores de dispositivos, esto mejora la tolerancia a fallos y eleva la portabilidad entre plataformas de hardware.
Algunos sistemas operativos con micronúcleo:
- AIX
- AmigaOS
- Amoeba
- Minix
- Hurd
- MorphOS
- L4
- Netkernel
- RaOS
- RadiOS
- ChorusOS
- QNX
- SO3
- Symbian
- SymbOS
- Zircon
- AmayaOS
- RedoxOS
Núcleo híbrido
El núcleo híbrido es una arquitectura que se basada en una combinación de las arquitecturas micro núcleo y núcleo monolítico. Este enfoque de núcleo combina la velocidad y el diseño más simple del núcleo monolítico con la modularidad y seguridad de ejecución del microkernel.
Básicamente, es un micro núcleo que tienen algo de código «no esencial» en espacio de núcleo, para que este se ejecute más rápido de lo que lo haría si estuviera en espacio de usuario.
Un núcleo híbrido ejecuta algunos servicios en el espacio del núcleo para reducir la sobrecarga de rendimiento de un microkernel tradicional, mientras sigue ejecutando el código del núcleo como servidores en el espacio del usuario. Por ejemplo, un diseño de núcleo híbrido puede mantener el sistema de archivos virtuales y los controladores de bus dentro del núcleo y los controladores del sistema de archivos y los controladores de almacenamiento como programas de modo de usuario fuera del núcleo. Tal diseño mantiene el rendimiento y los principios de diseño de un núcleo monolítico.
Ejemplos de SO con núcleos híbridos- Microsoft Windows NT, usado en todos los sistemas que usan el código base de Windows NT
- XNU (usado en Mac OS X)
- DragonFlyBSD
- ReactOS