1. Definición
1.1. Un sistema operativo es un conjunto de programas especialmente hechos para la ejecución de varias tareas, en las que sirve de intermediario entre el usuario y la computadora. Este conjunto de programas que manejan el hardware de una computadora u otro dispositivo electrónico. Provee de rutinas básicas para controlar los distintos dispositivos del equipo y permite administrar, escalar y realizar interacción de tareas. Un sistema operativo, tiene también como función, administrar todos los periféricos de una computadora.
2. Tipos de interfaces
2.1. Interfaz de preguntas y respuestas:
2.1.1. En este tipo de Interfaz la computadora despliega en pantalla una pregunta para el usuario, el usuario para interactuar da una respuesta mediante el teclado o el ratón, el ordenador después actúa en esta información de entrada de acuerdo con su programa, normalmente pasando a la siguiente pregunta creando un cuadro de diálogo. Un ejemplo es el instalador de software
2.2. Interfaz de menú simple:
2.2.1. Es una variante de la forma anterior, se presenta al usuario una lista de opciones y la selección se realiza por medio de un número, letra o un código en particular. Ofrece al usuario un contexto global y tiene menos porcentaje de errores que el anterior.
2.3. Interfaz orientada a ventanas:
2.3.1. A medida que el hardware se ha hecho mas eficiente y los ingenieros de software han aprendido mas sobre los factores humanos, las técnicas de interfaz evolucionaron, llegando a lo que se conoce como interfaces de la tercera generación. Ofrece al usuario las siguiente ventajas: Se puede visualizar diferentes tipos de información simultáneamente El esquema de menús desplegables permite realizar muchas tareas interactivas diferentes. Se realizan tareas de control y de dialogo en forma sencilla. La utilización de menús desplegables, botones y técnicas de presentación reducen el manejo del teclado.
2.4. Interfaz de cuarta generación:
2.4.1. Esta es la generación actual. Une todos los atributos de la generación anterior con el hipertexto y la multitarea (varias tareas simultáneamente).
3. Funciones
3.1. Gestionar la CPU:
3.1.1. se encarga de administrar la CPU,que va a estar repartida entre los procesos que se estén ejecutanto.
3.2. Gestionar la RAM:
3.2.1. Para asignar el espacio de memoria a cada aplicación y a cada usuario en caso de ser necesario. Cuando esta memoria se hace insuficiente se crea una memoria virtual, de mayor capacidad.
3.3. Gestionar el I/O:
3.3.1. El sistema operativo crea un control unificado de los programas a los dispositivos, a través de drivers.
3.4. Gestionar los procesos:
3.4.1. Se encarga de que las aplicaciones se ejecuten sin ningún problema, asignándoles los recursos que sean necesarios para que estas funcionen.
3.5. Gestionar los permisos:
3.5.1. Garantiza que los recursos sean solamente utilizados por programas y usuarios que tengan las autorizaciones que les correspondan.
3.6. Gestionar los archivos:
3.6.1. Lectura y escritura en el sistema de archivos, y los permisos de acceso a ellos.
3.7. Gestionar información:
3.7.1. El sistema operativo proporciona información, que posteriormente será utilizada a modo de diagnóstico del funcionamiento correcto del computador.
4. Tipos
4.1. Por servicio:
4.1.1. Sistema Operativo Monousuario:
4.1.1.1. Los sistemas operativos monousuarios son aquéllos que soportan a un usuario a la vez, sin importar el número de procesadores que tenga el ordenador o el número de procesos o tareas que el usuario pueda ejecutar en un mismo instante de tiempo. Un ejemplo de un operativo monousuario son los ordenadores personales.
4.1.2. Sistema Operativo Multiusuario.
4.1.2.1. Los sistemas operativos multiusuarios son capaces de dar servicio a más de un usuario a la vez, ya sea por medio de varias terminales conectadas al ordenador o por medio de sesiones remotas en una red de comunicaciones. No importa el número de procesadores en la máquina ni el número de procesos que cada usuario puede ejecutar simultáneamente. Estos tipos de sistemas generalmente se utilizan en máquinas que están conectadas en red.
4.2. Por número de tareas:
4.2.1. Sistema operativo monotarea:
4.2.1.1. Son aquellos que solo permiten una tarea a la vez por el usuario. Puede darse el caso de un sistema multiusuario y monotarea, en el cual se admiten varios usuarios, pero cada uno de ellos puede estar haciendo una tarea.
4.2.2. Sistema operativo multitarea:
4.2.2.1. Es aquel que permite al usuario estar realizando varios trabajos al mismo tiempo. Los sistemas operativos multitarea se pueden clasificar en: Cooperativos(Estos otorgan a los procesos la facultad de ceder intervalos de trabajo al sistema operativo, según las necesidades del usuario),Preferentes(Estos se encargan de administrar los procesos entre los procesos que estén esperando ser ejecutados) y Reales( permiten ejecutar varias tareas al mismo tiempo, en varios microprocesadores a la vez).
4.3. Por número de procesadores:
4.3.1. Sistema operativo monoprocesador:
4.3.1.1. Son aquellos que solo permiten realizar un proceso a la vez.
4.3.2. Sistema operativo multiprocesador:
4.3.2.1. Se refiere al número de procesadores del sistema, que es más de uno y es capaz de utilizarlos todos para distribuir su carga de trabajo. Generalmente este sistema trabaja de dos formas: Simétrica(se envía información o se trabaja con el procesador con menos carga y así se distribuye mejor el trabajo, los procesos son enviados indistintamente a cualquiera de los procesadores disponibles) y Asimétrica(el sistema operativo selecciona un procesador maestro y los demás funcionan con las actividades secundarias)
4.4. Por su estructura(visión interna)
4.4.1. Estructura monolítica:
4.4.1.1. Es la estructura de los primeros sistemas operativos constituidos fundamentalmente por un solo programa compuesto de un conjunto de rutinas entrelazadas de tal forma que cada una puede llamar a cualquier otra. Un ejemplo de este sistema es Linux y núcleos tipo DOS.
4.4.2. Estructura jerárquica:
4.4.2.1. En esta estructura los sistemas operativos queda definido modularmente por divisiones en capas o niveles, cuya organización está dada como una jerarquía de capas donde cada una de ellas ofrece una interfaz clara y bien definida, la capa superior solamente utiliza los servicios y funciones que ofrece la capa inferior. El encargado de que solamente haya comunicación entre capas adyacentes es el procesador. La capa más interna o inferior (capa 0) corresponde al Hardware, mientras que la más alta o externa corresponde a la interfaz de usuario. • El primer sistema construido de esta manera fue el sistema THE (Technische Hogeschool Eindhoven).
4.4.3. Máquina Virtual:
4.4.3.1. Se trata de un tipo de sistemas operativos que presentan una interface a cada proceso, mostrando una máquina que parece idéntica a la máquina real subyacente. Estos sistemas operativos separan dos conceptos que suelen estar unidos en el resto de sistemas: la multiprogramación y la máquina extendida. El objetivo de los sistemas operativos de máquina virtual es el de integrar distintos sistemas operativos dando la sensación de ser varias máquinas diferentes. El núcleo de estos sistemas operativos se denomina monitor virtual y tiene como misión llevar a cabo la multiprogramación, presentando a los niveles superiores tantas máquinas virtuales como se soliciten.
4.4.4. Cliente-Servidor(Microkernel):
4.4.4.1. Es el tipo más reciente de sistemas operativos. Este sistema sirve para toda clase de aplicaciones por tanto, es de propósito general y cumple con las mismas actividades que los sistemas operativos convencionales. El núcleo tiene como misión establecer la comunicación entre los clientes y los servidores. Los procesos pueden ser tanto servidores como clientes.Estos servidores deben tener mecanismos de seguridad y protección que, a su vez, serán filtrados por el núcleo que controla el hardware
4.5. Por la forma de ofrecer sus servicios:
4.5.1. Sistema operativo de Red:
4.5.1.1. Los sistemas operativos de red se definen como aquellos que tiene la capacidad de interactuar con sistemas operativos en otros ordenadores a través de un medio de transmisión con el objeto de intercambiar información, transferir archivos, ejecutar comandos remotos y un sin fin de otras actividades. El punto crucial de estos sistemas es que el usuario debe saber la sintaxis de un conjunto de comandos o llamadas al sistema para ejecutar estas operaciones, además de la ubicación de los recursos que desee añadir.Los Sistemas Operativos de red mas ampliamente usados son: Novell Netware, Personal Netware, LAN Manager, Windows NT
4.5.2. Sistemas Operativos Distribuidos:
4.5.2.1. Un sistema distribuido es una colección de computadoras independientes que aparecen ante los usuarios del sistema como una única computadora. Los sistemas distribuidos deben ser muy confiables, ya que si un componente del sistema se descompone otro componente debe de ser capaz de reemplazarlo, esto se denomina Tolerancia a Fallos. El tamaño de un sistema distribuido puede ser muy variado
4.5.2.2. Los sistemas operativos distribuidos desempeñan las mismas funciones que un sistema operativo normal, pero con la diferencia de trabajar en un entorno distribuido. Su Misión principal consiste en facilitar el acceso y la gestión de los recursos distribuidos en la red. En un sistema operativo distribuido los usuarios pueden acceder a recursos remotos de la misma manera en que lo hacen para los recursos locales. Permiten distribuir trabajos, tareas o procesos, entre un conjunto de procesadores
5. ¿Qué es un Interfaz?
5.1. (INTERFAZ)
5.1.1. Es la parte de un programa que permite el flujo de información entre un usuario y la aplicación,o entre la aplicación y otros programas o periféricos.
6. Windows, Mac y Linux
6.1. Windows:
6.1.1. (WIINDOWS)
6.1.1.1. Windows es un sistema operativo desarrollado por la empresa de software Microsoft Corporation, el cual se encuentra dotado de una interfaz gráfica de usuario basada en el prototipo de ventanas. Una ventana representa una tarea ejecutada o en ejecución, cada una puede contener su propio menú u otros controles, y el usuario puede ampliarla o reducirla mediante un dispositivo señalador como el ratón o mouse. Esta base de ventanas fue éxito histórico porque permitió dejar en el pasado las secuencias de comando de control como las usadas en el sistema operativo DOS. Windows es el sistema operativo más propagado a nivel mundial, utilizado por millones de usuarios. Windows presenta diferentes aplicaciones en su sistema, entre ellos se encuentran el navegador de web Internet Explorer, el Reproductor Windows Media...
6.1.1.1.1. Características principales:
6.2. Mac:
6.2.1. (MAC OS)
6.2.1.1. El sistema operativo Mac fue creada por Apple para su línea de ordenadores Macintosh. Es conocido por haber sido el primer sistema dirigido al gran público en contar con una interfaz gráfica compuesta por la interacción del ratón con ventanas, Icono y menús. Su diferencia marcada es que posee una interfaz gráfica propietaria llamada aqua, y es principalmente desarrollada en Objetive-C en lugar de C o C++.La primera versión del Mac OS es fácilmente distinguible de los otros sistemas operativos del mismo periodo debido a que no usa una interfaz de línea de comandos; fue uno de los primeros sistemas operativos en usar una completamente una interfaz gráfica de usuario.
6.2.1.1.1. Características principales(del Mac OS X Mountain Lion):
6.3. Linux:
6.3.1. (LINUX)
6.3.1.1. LINUX es un sistema operativo, compatible Unix. Dos características muy peculiares lo diferencian del resto de los sistemas que podemos encontrar en el mercado, la primera, es que es libre, esto significa que no tenemos que pagar ningún tipo de licencia a ninguna casa desarrolladora de software por el uso del mismo, la segunda, es que el sistema viene acompañado del código fuente. El sistema lo forman el núcleo del sistema (kernel) mas un gran numero de programas / librerías que hacen posible su utilización.
6.3.1.1.1. Características principales:
7. Sist. operativos para móviles
7.1. Cada fabricante de teléfonos móviles elige el sistema operativo que introducirá en su Smartphone, intentando mejorar a la competencia y dar el mejor servicio a sus usuarios. A continuación veremos las marcas de móviles más vendidas y el sistema operativo que utilizan.Los sistemas operativos móviles son mucho mas simples y están mas orientados a la conectividad inalambrica, los formatos multimedia para móviles y las diferentes maneras de introducir información en ellos.
7.1.1. Android:
7.1.1.1. (ANDROID)
7.1.1.1.1. El sistema operativo Android es sin duda el líder del mercado móvil en sistemas operativos, está basado en Linux, diseñado originalmente para cámaras fotográficas profesionales, luego fue vendido a Google y modificado para ser utilizado en dispositivos móviles.Android está basado en Linux, disponiendo de un Kernel en este sistema y utilizando una máquina virtual sobre este Kernel que es la responsable de convertir el código escrito en Java de las aplicaciones a código capaz de comprender el Kernel. Es usado por LG, Motorola, Samsung...
7.1.2. iOS:
7.1.2.1. (iOS)
7.1.2.1.1. iOS es el sistema operativo que da vida a dispositivos como el iPhone, el iPad, el iPod Touch o el Apple TV. Su simplicidad y optimización son sus pilares para que millones de usuarios se decanten por iOS en lugar de escoger otras plataformas que necesitan más hardware para mover con fluidez el sistema. Apple lanza actualizaciones de este sistema anualmente.
7.1.3. Symbian:
7.1.3.1. (SYMBIAN)
7.1.3.1.1. Fue producto de la alianza de varias empresas de telefonía móvil, entre las que se encuentran Nokia como la más importante, Sony Ericsson, Samsung... El sistema operativo Symbian es una colección compacta de código ejecutable y varios archivos, la mayoría de ellos son bibliotecas vinculadas dinámicamente y otros datos requeridos, incluyendo archivos de configuración, de imágenes y de tipografía, entre otros recursos residentes. Symbian se almacena, generalmente, en un circuito flash dentro del dispositivo móvil. Gracias a este tipo de tecnología, se puede conservar información aun si el sistema no posee carga eléctrica en la batería, además de que le es factible reprogramarse, sin necesidad de separarla de los demás circuitos.
7.1.4. BlackBerry OS:
7.1.4.1. (BLACKBERRY OS)
7.1.4.1.1. El BlackBerry OS es un sistema operativo móvil desarrollado por RIM para los dispositivos BlackBerry. El sistema permite multitarea y tiene soporte para diferentes métodos de entrada adoptados por RIM para su uso en computadoras de mano, particularmente la trackwheel, trackball, touchpad y pantallas táctiles. El Kernel del Blackberry OS esta basado en Java y posee una arquitectura ARM.
7.1.5. Firefox OS:
7.1.5.1. (FIREFOX OS)
7.1.5.1.1. Firefox OS es un sistema operativo móvil, basado en HTML5 con núcleo Linux, de código abierto, para smartphones y tabletas. Es desarrollado por Mozilla Corporation bajo el apoyo de otras empresas como Telefónica y una gran comunidad de voluntarios de todo el mundo. Este sistema operativo está enfocado especialmente en los dispositivos móviles incluidos los de gama baja. Está diseñado para permitir a las aplicaciones HTML5 comunicarse directamente con el hardware del dispositivo usando JavaScript y Open Web APIs. Ha sido mostrado en smartphones y Raspberry Pi, compatibles con Android.
7.1.6. Ubuntu Touch:
7.1.6.1. (UBUNTU TOUCH)
7.1.6.1.1. Ubuntu Touch es un sistema operativo móvil basado en Linux. Es desarrollado por Canonical Ltd. Este sistema fue presentado en 2013. La interfaz que desarrolla para que pueda utilizarse en ordenadores de sobremesa, portátiles, netbooks. Esta interfaz, Unity, se compone, a grandes rasgos, de un dock a la izquierda, una especie de panel en la parte superior y un sistema de búsqueda que emplea "lentes".
7.2. Los sistemas operativos utilizados en los dispositivos móviles están basados en el modelo de capas. Estas capas son:
7.2.1. Kernel: Es el que proporciona el acceso a los distintos elementos del hardware del dispositivo. Ofrece distintos servicios a las superiores como son los controladores o drivers para el hardware, la gestión de procesos, el sistema de archivos y el acceso y gestión de la memoria.
7.2.2. Middleware: Es el conjunto de módulos que hacen posible la propia existencia de aplicaciones para móviles. Es totalmente transparente para el usuario y ofrece servicios claves como el motor de mensajería y comunicaciones, codecs multimedia, interpretes de paginas web, gestión de dispositivos y seguridad.
7.2.3. Entorno de ejecución de aplicaciones: consiste en un gestor de aplicaciones y un conjunto de interfaces programables abiertas para facilitar la creación de software.
7.2.4. Interfaz de usuario: Facilita la interacción con el usuario y el diseño de la presentación visual de la aplicación. Los servicios que incluye son el de componentes gráficos (botones, pantallas, listas, etc) y el del marco de interacción.