viernes, 14 de octubre de 2016

Video Sistema Operativo



SISTEMA OPERATiVO

INTRODUCCION

Sin el software, una computadora no es más que una masa metálica sin utilidad. Con el software, una computadora puede almacenar, procesar y recuperar información, encontrar errores de ortografía en manuscritos, tener aventuras e intervenir en muchas otras valiosas actividades para ganar el sustento. El software para computadoras puede clasificarse en general en dos clases: los programas de sistema, que controlan la operación de la computadora en si y los programas de aplicación, los cuales resuelven problemas para sus usuarios.
El programa fundamental de todos los programas de sistema es el sistema operativo (SO), que controla todos los recursos de la computadora y proporciona la base sobre la cual pueden escribirse los programas de aplicación.







SISTEMA OPERATIVO

Un sistema operativo es el programa que oculta la verdad del hardware al programador y presenta una vista simple y agradable de los archivos nominados que pueden leerse y escribirse. Es sistema operativo resguarda al programador del hardware del disco y presenta una interfaz simple orientada al archivo, también disimula mucho del trabajo concerniente a interrupciones, relojes o cronómetros, manejo de memoria y otras características de bajo nivel.
Historia de los sistemas operativos
Los Sistemas Operativos, al igual que el Hardware de los computadores, han sufrido una serie de cambios revolucionarios llamados generaciones. En el caso del Hardware, las generaciones han sido marcadas por grandes avances en los componentes utilizados, pasando de válvulas ( primera generación ) a transistores ( segunda generación ), a circuitos integrados ( tercera generación), a circuitos integrados de gran y muy gran escala (cuarta generación). Cada generación Sucesiva de hardware ha ido acompañada de reducciones substanciales en los costos, tamaño, emisión de calor y consumo de energía, y por incrementos notables en velocidad y capacidad.
Generación Cero (década de 1940)
Los primeros sistemas computacionales no poseían sistemas operativos. Los usuarios tenían completo acceso al lenguaje de la maquina. Todas las instrucciones eran codificadas a mano.
Primera Generación (década de 1950)
Los sistemas operativos de los años cincuenta fueron diseñados para hacer más fluida la transición entre trabajos. Antes de que los sistemas fueran diseñados, se perdía un tiempo considerable entre la terminación de un trabajo y el inicio del siguiente. Este fue el comienzo de los sistemas de procesamiento por lotes, donde los trabajos se reunían por grupos o lotes. Cuando el trabajo estaba en ejecución, este tenía control total de la maquina. Al terminar cada trabajo, el control era devuelto al sistema operativo, el cual limpiaba y leía e iniciaba el trabajo siguiente.
Al inicio de los 50 esto había mejorado un poco con la introducción de tarjetas perforadas (las cuales servían para introducir los programas de lenguajes de máquina), puesto que ya no había necesidad de utilizar los tableros enchufables.
Además el laboratorio de investigación General Motors implementó el primer sistema operativo para la IBM 701. Los sistemas de los 50's generalmente ejecutaban una sola tarea, y la transición entre tareas se suavizaba para lograr la máxima utilización del sistema. Esto se conoce como sistemas de procesamiento por lotes de un sólo flujo, ya que los programas y los datos eran sometidos en grupos o lotes.
La introducción del transistor a mediados de los 50's cambió la imagen radicalmente.
Se crearon máquinas suficientemente confiables las cuales se instalaban en lugares especialmente acondicionados, aunque sólo las grandes universidades y las grandes corporaciones o bien las oficinas del gobierno se podían dar el lujo de tenerlas.
Para poder correr un trabajo (programa), tenían que escribirlo en papel (en Fortran o en lenguaje ensamblador) y después se perforaría en tarjetas. Enseguida se llevaría la pila de tarjetas al cuarto de introducción al sistema y la entregaría a uno de los operadores. Cuando la computadora terminara el trabajo, un operador se dirigiría a la impresora y desprendería la salida y la llevaría al cuarto de salida, para que la recogiera el programador.
Segunda Generación (a mitad de la década de 1960)
La característica de los sistemas operativos fue el desarrollo de los sistemas compartidos con multiprogramación, y los principios del multiprocesamiento. En los sistemas de multiprogramación, varios programas de usuario se encuentran al mismo tiempo en el almacenamiento principal, y el procesador se cambia rápidamente de un trabajo a otro. En los sistemas de multiprocesamiento se utilizan varios procesadores en un solo sistema computacional, con la finalidad de incrementar el poder de procesamiento de la maquina.
La independencia de dispositivos aparece después. Un usuario que desea escribir datos en una cinta en sistemas de la primera generación tenia que hacer referencia especifica a una unidad de cinta particular. En la segunda generación, el programa del usuario especificaba tan solo que un archivo iba a ser escrito en una unidad de cinta con cierto numero de pistas y cierta densidad.
Se desarrollo sistemas compartidos, en la que los usuarios podían acoplarse directamente con el computador a través de terminales. Surgieron sistemas de tiempo real, en que los computadores fueron utilizados en el control de procesos industriales. Los sistemas de tiempo real se caracterizan por proveer una respuesta inmediata.
Tercera Generación (mitad de década 1960 a mitad década de 1970)
Se inicia en 1964, con la introducción de la familia de computadores Sistema/360 de IBM. Los computadores de esta generación fueron diseñados como sistemas para usos generales. Casi siempre eran sistemas grandes, voluminosos, con el propósito de serlo todo para toda la gente. Eran sistemas de modos múltiples, algunos de ellos soportaban simultáneamente procesos por lotes, tiempo compartido, procesamiento de tiempo real y multiprocesamiento. Eran grandes y costosos, nunca antes se había construido algo similar, y muchos de los esfuerzos de desarrollo terminaron muy por arriba del presupuesto y mucho después de lo que el planificador marcaba como fecha de terminación.
Estos sistemas introdujeron mayor complejidad a los ambientes computacionales; una complejidad a la cual, en un principio, no estaban acostumbrados los usuarios.
Cuarta Generación (mitad de década de 1970 en adelante)
Los sistemas de la cuarta generación constituyen el estado actual de la tecnología. Muchos diseñadores y usuarios se sienten aun incómodos, después de sus experiencias con los sistemas operativos de la tercera generación.
Con la ampliación del uso de redes de computadores y del procesamiento en línea los usuarios obtienen acceso a computadores alejados geográficamente a través de varios tipos de terminales.
Los sistemas de seguridad se ha incrementado mucho ahora que la información pasa a través de varios tipos vulnerables de líneas de comunicación. La clave de cifrado está recibiendo mucha atención; han sido necesario codificar los datos personales o de gran intimidad para que; aun si los datos son expuestos, no sean de utilidad a nadie más que a los receptores adecuados.
El porcentaje de la población que tiene acceso a un computador en la década de los ochenta es mucho mayor que nunca y aumenta rápidamente.
El concepto de maquinas virtuales es utilizado. El usuario ya no se encuentra interesado en los detalles físicos de; sistema de computación que esta siendo accedida. En su lugar, el usuario ve un panorama llamado maquina virtual creado por el sistema operativo.
Los sistemas de bases de datos han adquirido gran importancia. Nuestro mundo es una sociedad orientada hacia la información, y el trabajo de las bases de datos es hacer que esta información sea conveniente accesible de una manera controlada para aquellos que tienen derechos de acceso.

Conceptos de los Sistemas Operativos

Llamadas al Sistema:
La interfaz entre el sistema operativo y los programas del usuario se define por medio del conjunto de "instrucciones extendidas" que el sistema operativo proporciona. Estas instrucciones extendidas se conocen como llamadas al sistema. Las llamadas al sistema varían de un sistema operativo a otro (aunque los conceptos fundamentales tienden a ser análogos).
Las llamadas al sistema se clasifican normalmente en dos categorías generales: aquellas que se relacionan con procesos y la que lo hacen con el sistema de archivo.
Por Procesos: Un proceso es básicamente un programa en ejecución. Consta del programa ejecutable y la pila o stock del programa, su contador de programa, apuntador de pila y otros registros, así como la otra información que se necesita para ejecutar el programa. En si el proceso en el concepto de los sistemas operativos es como el sistema de tiempo compartido. Esto es, que en forma periódica, el sistema operativo decide suspender la ejecución de un proceso y dar inicio a la ejecución de otro, por ejemplo, porque el primero haya tomado ya más de su parte del tiempo de la CPU, en terrenos del segundo.
Cuando un proceso se suspende temporalmente, debe reiniciarse después exactamente en el mismo estado en que se encontraba cuando se detuvo. Esto significa que toda la información relativa al proceso debe guardarse en forma explícita en algún lugar durante la suspensión. En muchos sistemas operativos, toda la información referente a cada proceso, diferente del contenido de su espacio de direcciones, se almacena en una tabla de sistema operativo llamada tabla de procesos, la cual es un arreglo (lista enlazada) de estructuras, una para cada proceso en existencia.
Por lo tanto, un proceso (suspendido) consta de su espacio de direcciones, generalmente denominado imagen del núcleo (en honor de las memorias de imagen de núcleo magnético que se utilizaron en tiempos antiguos) y su registro de la tabla de procesos, que contiene sus registros entre otras cosas.
Por Sistema de Archivo: Una función importante del S.O. consiste en ocultar las peculiaridades de los discos y otros dispositivos de E/S y presentar al programador un modelo abstracto, limpio y agradable de archivos independientes del dispositivo. Las llamadas al sistema se necesitan con claridad para crear archivos, eliminarlos, leerlos y escribirlos. Antes de que se pueda leer un archivo, éste debe abrirse y después de que se haya leído debe cerrarse, de modo que las llamadas se dan para hacer estas cosas.
Antes de que un archivo pueda leerse o escribirse, éste debe abrirse, en cuyo instante se verifican los permisos. Si se permite el acceso, el sistema produce un entero pequeño llamado descriptor del archivo para utilizarse en operaciones subsiguientes. Si se prohibe el acceso, se produce un código de error.
 Estructura de un Sistema Operativo
Internamente los sistemas operativos estructuralmente  se clasifican según como se hayan organizado internamente en su diseño, por esto la clasificación más común de los S.O. son:
Sistemas monolíticos:
En estos sistemas operativos se escriben como un conjunto de procedimientos, cada uno de los cuales puede llamar a cualquiera de los otros siempre que lo necesite. Cuando se emplea esta técnica, cada procedimiento del sistema tiene una interfaz bien definida en términos de parámetros y resultados, y cada una tiene la libertad de llamar a cualquiera otra, si la última ofrece algún cálculo útil que la primera necesite.
Para construir el programa objeto real del sistema operativo cuando se usa este método, se compilan todos los procedimientos individuales a archivos que contienen los procedimientos y después se combinan todos en un solo archivo objeto con el enlazador.
En términos de ocultamiento de información, esencialmente no existe ninguno; todo procedimiento es visible para todos (al contrario de una estructura que contiene módulos o paquetes, en los cuales mucha información es local a un módulo y sólo pueden llamar puntos de registro designados oficialmente del exterior del módulo)

Esta organización sugiere una estructura básica del sistema operativo:
a)Un programa central que invoque el procedimiento de servicio solicitado (Shell o Kernel)
b) Un conjunto de procedimientos de servicios que realice las llamadas al sistema.
c) Un conjunto de procedimientos de uso general que ayude a los procedimientos de servicio
Sistemas en estratos:
Estos sistemas operativos se organizan como una jerarquía de estratos, cada uno construido arriba del que está debajo de él. El primer sistema construido en esta forma fuel el sistema THE que se fabricó en Technische Hogeschool Eindhoven de Holanda por E. W Dijkstra (1968) y sus alumnos. El sistema THE era un sistema de lote para una computadora alemana, la Electrológica X8, que tenía 32K de palabras de 27 bits ( los bits eran costosos en aquellos días)

Funciones y Características
En general, se puede decir que un Sistema Operativo tiene las siguientes características:
Conveniencia. Un Sistema Operativo hace mas conveniente el uso de una computadora.
Eficiencia. Un Sistema Operativo permite que los recursos de la computadora se usen de la manera mas eficiente posible.
Habilidad para evolucionar. Un Sistema Operativo debera construirse de manera que permita el desarrollo, prueba o introduccion 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 (gestionar a traves del kernel). El Sistema Operativo se debe encargar de comunicar a los dispositivos perifericos, cuando el usuario asi lo requiera.

Organizar datos para acceso rapido 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.
Técnicas de recuperación de errores.
Evita que otros usuarios interfieran. El Sistema Operativo evita que los usuarios se bloqueen entre ellos, informándoles si esa aplicación está siendo ocupada por otro usuario.
Permite que se puedan compartir el hardware y los datos entre los usuarios.
WINDOWS NT

Windows NT (Windows New Technology) es una familia de sistemas operativos producidos por Microsoft, de la cual la primera versión fue publicada en julio de 1993.
Previamente a la aparición del famoso Windows 95 la empresa Microsoft concibió una nueva línea de sistemas operativos orientados a estaciones de trabajo y servidor de red. Un sistema operativo con interfaz gráfica propia, estable y con características similares a los sistemas de red UNIX. Las letras NT provienen de la designación del producto como "Nueva Tecnología" (New Technology).
Las versiones publicadas de este sistema son: 3.1, 3.5, 3.51 y 4.0. Además, Windows NT se distribuía en dos versiones, dependiendo de la utilidad que se le fuera a dar:Workstation para ser utilizado como estación de trabajo y Server para ser utilizado como servidor.
 La arquitectura de la familia de sistemas operativos de Windows NT se basa en dos capas, (modo usuario y modo núcleo), con distintos módulos dentro de estas capas.
La familia de los sistemas operativos Windows NT de Microsoft está constituida por versiones como Windows 10Windows 8.x,7VistaXPWindows Server 2003Windows 2000 y Windows NT. Todos tienen multitarea apropiativa y son sistemas operativos que han sido diseñados para trabajar tanto con computadoras con un solo procesador como con múltiples procesadores que en inglés es el Symmetrical Multi Processor o SMP.
Para procesar las peticiones de entrada/salida (en inglés Input/Output, I/O) acude a una dirección de paquetes de E/S que utiliza peticiones (IRP) y E/S asíncrona. A partir de Windows 2000 Advanced Server, Microsoft comenzó a desarrollar sistemas operativos que soportaban 64-bits. Antes sus sistemas operativos estaban basados en un modelo de 32-bits.
La arquitectura de Windows NT es altamente modular y se basa en dos capas principales:
Modo usuario: Cuyos programas y subsistemas están limitados a los recursos del sistema a los que tienen acceso.
Modo núcleo: Tiene acceso total a la memoria del sistema y los dispositivos externos. Los núcleos de los sistemas operativos de esta línea son todos conocidos como núcleos híbridos, aunque hay que aclarar que este término está en discusión ya que este núcleo es esencialmente un núcleo monolítico que está estructurado al estilo de un micronúcleo. La arquitectura dentro del modo núcleo1 se compone de lo siguiente:
Un núcleo híbrido.
Una capa de abstracción de hardware (en inglés Hardware Abstraction Layer o HAL).
Controladores o también llamados drivers.
Executive: Sobre el cual son implementados todos los servicios de alto nivel.
Librerías dinámicas para su correcto funcionamiento, como ntoskrnl.exe



SISTEMA OPERATIVO UNIX:

UNIX es un sistema operativo multitarea y multiusuario.

Varios 
sistemas operativos de Unix que se denominan unix-based son de código abierto, es decir que no son proprietarios (sólo algunas implementaciones son proprietarias).
Portable, es decir que el código es independiente de la arquitectura material de la máquina (muy poco código que depende de la arquitectura del ordenador).
Disponible sobre diferentes plataformas: La mayoría de los servidores sobre Internet funcionan bajo el sistema operativo UNIX.
Hoy en día, UNIX es muy utilizado en informática científica, y para los servidores de red.

Características y funciones principales del sistema operativo UNIX:

Unix es un sistema operativo multitarea (multithreaded en inglés): varios procesos o tareas pueden ser ejecutados simultáneamente.

A cada instante, el procesador trata solamente un proceso (programa lanzado), la adminitración y gestión de los procesos es afectada por el sistema (precísamente el planificador).
Unix es un sistema operativo multiusuario (multi-user): varios usuarios pueden utilizar el sistema operativo en el mismo tiempo (los recursos son repartidos entre los diferentes usuarios). Cada usuario dispone de un conjunto de los recursos del sistema.
El sistema operativo Unix está encargado de controlar la utilización y repartición de los recursos entre los diferentes usuarios.

Unix presenta una interfaz de utilizador interactiva y simple a utilizar: El "SHELL". Esta interfaz nos ofrece servicios de alto nivel. Integra un lenguaje de comandos muy potente (Script Shell).
Sistema de ficheros de UNIX:
Bajo UNIX, desde el punto de vista del usuario, no existe la noción de disco físico (partición, disco externo, ...) contrariamente a MS-DOS de Windows, porque en Unix todo es fichero y todo es transparente. El usuario no ve más que, desde la vista de árbol y en el sistema de ficheros de UNIX, una jerarquía de archivos.

Entonces, los periféricos también son representados por ficheros, el hecho que convierte el sistema independiente del material y por consecuencia asegura la portabilidad del sistema operativo; el acceso a los periféricos es entonces idéntico al acceso al ficheros ordinario.


Gestion de la memoria RAM en UNIX:
La administración de la memoria virtual o swap: un mecanismo de intercambio entre la RAM y el disco duro con el proceso swapping.

Los procesos reentrantes: Los procesos que ejecutan el mismo programa utilizan una sola copia del mismo para no perder mucha memoria viva RAM.
Características Generales:

- Es un sistrema operativo multiusuario, con capacidad de simular multiprocesamiento y procesamiento no interactivo.
- Está escrito en un lenguaje 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.
- 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 re direccionamiento de Entradas/Salidas.
- Garantiza un alto grado de portabilidad.
El sistema se basa en un Núcleo llamado Kernel, que reside permanentemente en la memoria, y que atiende a todas las llamadas del sistema, administra el acceso a los archivos y el inicio o la suspensión de las tareas de los usuarios.
La comunicación con el sistema UNIX se da mediante un programa de control llamado SHELL. Este es un lenguaje de control, un intérprete, y un lenguaje de programación, cuyas características lo hacen sumamente flexible para las tareas de un centro de cómputo. Como lenguaje de programación abarca los siguientes aspectos:
El núcleo del sistema operativo Unix (llamado Kernel) es un programa escrito casi en su totalidad en lenguaje C, con excepción de una parte del manejo de interrupciones, expresada en el lenguaje ensamblador del procesador en el que opera.
Las funciones del núcleo son permitir la existencia de un ambiente en el que sea posible atender a varios usuarios y múltiples tareas en forma concurrente, repartiendo al procesador entre todos ellos, e intentando mantener en grado óptimo la atención individual.
El Kernel opera como asignador de recursos para cualquier proceso que necesite hacer uso de las facilidades de cómputo. Es el componente central de Unix y tiene las siguientes funciones:
- Creación de procesos, asignación de tiempos de atención y sincronización.
- Asignación de la atención del procesador a los procesos que lo requieren.
- Administración de espacio en el sistema de archivos, que incluye: acceso, protección y administración de usuarios; comunicación entre usuarios v entre procesos, y manipulación de E/S y administración de periféricos.
- Supervisión de la transmisión de datos entre la memoria principal y los dispositivos periféricos.
El Kernel reside siempre en la memoria central y tiene el control sobre la computadora, por lo que ningún otro proceso puede interrumpirlo; sólo pueden llamarlo para que proporcione algún servicio de los ya mencionados. Un proceso llama al Kernel mediante módulos especiales conocidos como llamadas al sistema.
SISTEMA OPERATIVO LINUX

El proyecto GNU, que se inició en 1983 por Richard Stallman, tiene como objetivo el desarrollo de un sistema operativo completo similar a Unix y compuesto enteramente de software libre. La historia del núcleo Linux está fuertemente vinculada a la del proyecto GNU. En 1991 Linus Torvalds empezó a trabajar en un reemplazo no comercial para MINIX que más adelante acabaría siendo Linux.
Cuando Torvalds presentó la primera versión de Linux en 1992, el proyecto GNU ya había producido varias de las herramientas fundamentales para el manejo del sistema operativo, incluyendo un intérprete de comandos, una biblioteca C y un compilador, pero como el proyecto contaba con una infraestructura para crear su propio núcleo (o kernel), el llamado Hurd, y este aún no era lo suficientemente maduro para usarse, se optó por utilizar Linux para poder continuar desarrollando el proyecto GNU, siguiendo la tradicional filosofía de cooperación entre desarrolladores. El día que se estime que Hurd es suficientemente maduro y estable, será destinado a reemplazar a Linux.
De este modo, el núcleo creado por Linus Torvalds, quien se encontraba por entonces estudiando Ingeniería Informática en la Universidad de Helsinki, llenó el "espacio" final que quedaba en el sistema operativo de GNU.
GNU/Linux puede funcionar tanto en entorno gráfico como en modo consola. La consola es común en distribuciones para servidores, mientras que la interfaz gráfica está orientada al usuario final tanto de hogar como empresarial. Asimismo, también existen los entornos de escritorio, que son un conjunto de programas conformado por ventanas, iconos y muchas aplicaciones que facilitan la utilización del computador. Los escritorios más populares en GNU/Linux son: GNOMEKDE SC, LXDEXfceUnityMATE y Cinnamon.
Como sistema de programación
La colección de utilidades para la programación de GNU es con diferencia la familia de compiladores más utilizada en este sistema operativo. Tiene capacidad para compilar C,C++, Java, Ada, Pascal, Python, Perl, entre otros muchos lenguajes. Además soporta diversas arquitecturas mediante la compilación cruzada, lo que hace que sea un entorno adecuado para desarrollos heterogéneos.
Hay varios entornos de desarrollo integrados disponibles para GNU/Linux incluyendo, Anjuta, KDevelop, Lazarus, Ultimate++, Code::Blocks, NetBeans IDE y Eclipse. También existen editores extensibles como Emacs o Vim. GNU/Linux también dispone de capacidades para lenguajes de guion (script), aparte de los clásicos lenguajes de programación de shell, o el de procesador de textos por patrones y expresiones regulares conocido como awk, la mayoría de las distribuciones tienen instalado Python, Perl, PHP y Ruby.
Aplicaciones de usuario
Las aplicaciones para GNU/Linux se distribuyen principalmente en los formatos deb y .rpm, los cuales fueron creados por los desarrolladores de Debian y Red Hat respectivamente. También existe la posibilidad de instalar aplicaciones a partir de código fuente en todas las distribuciones.
Software de código cerrado para GNU/Linux
Durante la primera época había pocas aplicaciones de código cerrado para GNU/Linux. Con el tiempo se fueron uniendo programas no libres al sistema GNU/Linux, entre ellos Adobe Reader, Adobe Flash, Opera, entre otros.

Supercomputadoras
Dentro del segmento de supercomputadoras, a noviembre de 2012, el uso de este sistema ascendió al 93,8% de las computadoras más potentes del mundo por su confiabilidad, seguridad y libertad para modificar el código. De acuerdo con TOP500.org, que lleva estadísticas sobre las 500 principales supercomputadoras del mundo, a noviembre de 2012: 469 usaban una distribución basada en GNU/Linux, 20 Unix, 7 mezclas, 1 BSD y 3 Windows.
Las primeras 37 supercomputadoras, incluidas la número 1, la Titan - Cray XK7 con 560.640 procesadores, utilizan distribuciones basadas en GNU/Linux.44
GNU/Linux, además de liderar el mercado de servidores de Internet debido, entre otras cosas, a la gran cantidad de soluciones que tiene para este segmento, tiene un crecimiento progresivo en computadoras de escritorio y portátiles. Además, es el sistema base que se ha elegido para el proyecto OLPC: One Laptop Per Child.45
Teléfonos inteligentes y tabletas
Linux tiene un papel imprescindible en el territorio de los teléfonos inteligentes debido a que Android y meego lo utilizan. Actualmente Android es el sistema operativo predominante en los nuevos teléfonos inteligentes y su cuota de mercado mundial supera a OS de Apple.







CONCLUSION

Luego de haber investigado y analizado se puede ver que se han desarrollado varios tipos de sistemas operativos con diferentes interfaces y categorías. Pero hemos podido observar que todos los sistemas operativos han sufrido cambios por parte de los programadores, y siguen evolucionando.
El diálogo entre el usuario y la máquina suele realizarse a través de una interfaz de línea de comandos o de una interfaz gráfica de usuario (GUI, siglas en
 inglés). Las interfaces de línea de comandos exigen que se introduzcan instrucciones breves mediante un teclado. Las GUI emplean ventanas para organizar archivos y aplicaciones con iconos y menús que presentan listas de instrucciones. El usuario manipula directamente estos objetos visuales en el monitor señalándolos, seleccionándolos y arrastrándolos o moviéndolos con un Mouse.
El uso de las GUI es más sencillo que el de las interfaces de línea de comandos. Sin embargo, la introducción de instrucciones con una GUI es más lenta, por lo que las GUI suelen tener la opción de emplear un sistema equivalente al de línea de instrucciones como alternativa rápida para los usuarios más expertos.
Los sistemas operativos empleados normalmente son UNIX, Macintosh OS, MS-DOS, OS/2, Windows 95 y Windows NT. El UNIX y sus clones permiten múltiples tareas y múltiples usuarios. Otros SO multiusuario y multitarea son OS/2, desarrollado inicialmente por Microsoft e IBM, Windows NT y Win95 desarrollados por Microsoft. El SO multitarea de Apple se denomina Macintosh OS. El MS-DOS es un SO popular entre los usuarios de PCs pero solo permite un usuario y una tarea.