58
“INSTITUTO DE EDUCACION SUPERIOR TECNOLOGICO PUBLICO ABANCAY” CARRERA PROFESIONAL COMPUTACIÓN E INFORMÁTICA TEMA: SISTEMAS OPERATIVOS DOCENTE: HUILLCA MOYNA, WILDO ESTUDIANTES: ANGEL CANALES CAMPOS SEMESTRE: II ABANCAY-APURIMAC 2015

monografia sobre sistemas operativos

Embed Size (px)

Citation preview

“INSTITUTO DE EDUCACION SUPERIOR

TECNOLOGICO PUBLICO ABANCAY”

CARRERA PROFESIONAL COMPUTACIÓN E

INFORMÁTICA

TEMA: SISTEMAS OPERATIVOS

DOCENTE: HUILLCA MOYNA, WILDO

ESTUDIANTES: ANGEL CANALES CAMPOS

SEMESTRE: II

ABANCAY-APURIMAC

2015

“IESTPA”

pág. 2 “COMPUTACION E INFORMATICA”

AGRADECIMIENTO

Primeramente agradezco a Dios por haberme permitido llegar

Hasta donde estoy y haberme dado salud ser el manantial de mi vida

Y darme lo necesario para seguir adelante día a día

Para lograr mis objetivos además de su infinita

Bondad y amor.

Agradezco a mi familia por estar a mi lado

Y apoyarme incondicionalmente.

“IESTPA”

pág. 3 “COMPUTACION E INFORMATICA”

DEDICATORIA

Dedico este trabajo al Ing. Wildo Huillca Moyna

Quien me ayudo de muchas maneras en

Realizar este trabajo y presentarlo como tal.

“IESTPA”

pág. 4 “COMPUTACION E INFORMATICA”

ÍNDICE

DEDICATORIA ........................................................................................................................... 3

Dedico este trabajo al Ing. Wildo Huillca Moyna ................................................................... 3

Quien me ayudo de muchas maneras en ............................................................................... 3

Realizar este trabajo y presentarlo como tal. ......................................................................... 3

ÍNDICE ..................................................................................................................................... 4

Introducción ................................................................................................................................. 8

1.- Sistema operativo ................................................................................................................. 9

1.1.-Perspectiva histórica ...................................................................................................... 9

Problemas de explotación y soluciones iniciales ........................................................... 9

1.1.1.- Monitores residentes ........................................................................................... 10

Sistemas con almacenamiento temporal de E/S ......................................................... 10

1.1.2.- Spoolers ................................................................................................................. 10

1.1.3.-Sistemas operativos multiprogramados ............................................................. 11

1.2.-Llamadas al sistema operativo ................................................................................... 11

1.2.1Modos de ejecución en un CPU ............................................................................ 11

1.2.2Llamadas al sistema................................................................................................ 11

1.2.3.-Bibliotecas de interfaz de llamadas al sistema ................................................. 12

1.3.-Interrupciones y excepciones ..................................................................................... 12

1.3.1Tratamiento de las interrupciones ......................................................................... 12

Importancia de las interrupciones .................................................................................. 12

1.3.2Excepciones ............................................................................................................. 13

1.4Componentes de un sistema operativo ....................................................................... 13

1.4.1.-Gestión de procesos ............................................................................................. 13

Gestión de la memoria principal ..................................................................................... 14

Gestión del almacenamiento secundario ...................................................................... 14

1.4.2.-El sistema de entrada y salida ............................................................................ 14

Sistema de archivos ......................................................................................................... 14

Sistemas de protección ................................................................................................... 14

1.4.3Sistema de comunicaciones .................................................................................. 15

Programas de sistema ..................................................................................................... 15

Gestor de recursos ........................................................................................................... 15

1.5.- Clasificación ................................................................................................................. 15

“IESTPA”

pág. 5 “COMPUTACION E INFORMATICA”

Administración de tareas ................................................................................................. 15

Administración de usuarios ............................................................................................. 15

Manejo de recursos .......................................................................................................... 16

2.- Arquitecturas del sistema operativo ................................................................................. 16

2.1.- Visión General de la Arquitectura de Windows. ..................................................... 17

2.2.-Modo Kernel .................................................................................................................. 18

2.2.1.-Capa de Abstracción de Hardware (HAL). ........................................................ 18

2.2.2.-MicroKernel ............................................................................................................ 19

2.2.3.-El Ejecutor de Windows. ...................................................................................... 20

2.2.4.- El Administrador de Objetos. .............................................................................. 20

2.3.-El Administrador de Procesos. ............................................................................... 21

2.4.- El Administrador de Memoria Virtual. ................................................................... 21

2.5.- Servicios de Llamadas a Procedimientos Locales. ................................................ 22

2.6.- El Monitor de Seguridad. ............................................................................................ 22

2.7.- El Administrador de Entrada-Salida. ........................................................................ 22

2.8.- Modo Usuario ................................................................................................................... 23

Subsistemas de Ambiente Protegido ................................................................................ 23

2.9.- El Subsistema Win32 .................................................................................................. 24

2.10.-El Subsistema POSIX. ........................................................................................... 25

2.11.- El Subsistema OS/2. ............................................................................................. 25

2.14.- Ejemplos de sistemas operativos para PC ........................................................... 26

2.13.- Ejemplos de sistemas operativos para dispositivos móviles .............................. 26

3.- Microsoft Windows ............................................................................................................. 27

3.1.- Historia .......................................................................................................................... 27

3.2.- Versiones BETA de Windows ................................................................................ 29

3.3.-Seguridad ....................................................................................................................... 30

Windows Defender ........................................................................................................... 30

Permisos de archivos ....................................................................................................... 30

3.5.- Aplicaciones ................................................................................................................. 31

3.6.- Críticas y polémicas .................................................................................................... 32

4.- Mac OS................................................................................................................................. 32

4.1.- Versiones ...................................................................................................................... 33

4.1.1.- "Classic" Mac OS (1985) ..................................................................................... 33

4.1.2Mac OS X .................................................................................................................. 35

“IESTPA”

pág. 6 “COMPUTACION E INFORMATICA”

4.2.-Proyecto Star Trek ....................................................................................................... 35

4.3.-Emulación del procesador 68000 .............................................................................. 35

4.4.- Emulación de PowerPC.............................................................................................. 36

4.5.-Clones de Macintosh ................................................................................................... 37

5.- GNU/Linux ........................................................................................................................... 37

5.1.- Etimología ..................................................................................................................... 38

5.2.- Historia .......................................................................................................................... 38

5.3.-Componentes ................................................................................................................ 39

5.3.1.- Entorno gráfico ..................................................................................................... 39

5.3.2.- Como sistema de programación ........................................................................ 39

5.3.3.- Aplicaciones de usuario ...................................................................................... 39

5.3.4.- Software de código cerrado para GNU/Linux .................................................. 39

5.4.- Empresas que patrocinan su uso ............................................................................. 39

5.5.-Cuota de mercado ........................................................................................................ 40

5.6.- Aplicaciones ................................................................................................................. 40

5.6.1.- Supercomputadoras ............................................................................................ 40

Teléfonos inteligentes y tabletas .................................................................................... 41

5.7.- Administración Pública ............................................................................................... 41

5.8.- Fuerzas Armadas ........................................................................................................ 41

5.9.-Denominación GNU/Linux ........................................................................................... 41

6.- Sistema operativo móvil ..................................................................................................... 42

6.1.-Capas ............................................................................................................................. 43

6.1.1Kernel ........................................................................................................................ 43

6.1.2.- Middleware ............................................................................................................ 43

6.1.3.-Entorno de ejecución de aplicaciones ............................................................... 43

5.1.4.-Interfaz de usuario ................................................................................................ 43

5.2.- Mercado ........................................................................................................................ 44

5.3.-Sistemas Operativos Móviles ..................................................................................... 44

Android ............................................................................................................................... 44

5.3.1.- IOS ......................................................................................................................... 45

5.3.2.- Windows Phone.................................................................................................... 45

6.- Android ................................................................................................................................. 45

6.1.- Historia .......................................................................................................................... 46

6.2.- Etimología ................................................................................................................. 47

“IESTPA”

pág. 7 “COMPUTACION E INFORMATICA”

6.3.- Adquisición por parte de Google ........................................................................... 47

5.4,.Open Handset Alliance ............................................................................................ 47

6.5.- Historial de actualizaciones ................................................................................... 48

6.6.- Características ............................................................................................................. 48

6.7.-Arquitectura ................................................................................................................... 50

6.8.- Seguridad, privacidad y vigilancia ............................................................................ 51

6.9.- Nombres de las versiones.......................................................................................... 51

6.10.- Usos y dispositivos ................................................................................................... 52

6.11.- Diseño y desarrollo ................................................................................................... 53

6.12.- Aplicaciones ............................................................................................................... 54

Google Play ....................................................................................................................... 54

6.13.- Mercadotecnia ........................................................................................................... 54

Logos .................................................................................................................................. 55

Tipografía ........................................................................................................................... 55

Cuota de mercado ............................................................................................................ 55

Cuota de las versiones .................................................................................................... 55

6.14.- Demanda de Oracle .................................................................................................. 56

7.- conclusiones ........................................................................................................................ 57

8.- bibliografía ........................................................................................................................... 58

“IESTPA”

pág. 8 “COMPUTACION E INFORMATICA”

Introducción

En la vida cotidiana tenemos una pc, una laptop, una Tablet, un Smartphone, etc. El gran problema o error de todo el mundo es no saber que función cumple el aparato que tienen ya que en este momento casi todo equipo electrónico lleva un sistema operativo.

Entonces el objetivo de este trabajo es dar información y de alguna manera enseñar acerca del sistema operativo q usan en su día a día.

“IESTPA”

pág. 9 “COMPUTACION E INFORMATICA”

1.- Sistema operativo

Un sistema operativo: Es un programa o conjunto de programas de un sistema informático que gestiona los recursos de hardware y provee servicios a los programas de aplicación, ejecutándose en modo privilegiado respecto de los restantes (aunque puede que parte de él se ejecute en espacio de usuario).

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. 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 directorio Opus o incluso manejarlo arrancando con una línea de comandos y el sistema gráfico. De este modo, 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 prominentes ejemplos de esta diferencia, es el núcleo 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 computadores4 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. En ciertos textos, el sistema operativo es llamado indistintamente como núcleo o kernel, pero debe tenerse en cuenta que esta identidad entre kernel y sistema operativo es solo cierta si el núcleo es monolítico, un diseño común entre los primeros sistemas. En caso contrario, es incorrecto referirse al sistema operativo como núcleo.

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 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.

1.1.-Perspectiva histórica

Los primeros sistemas (1945-1955) eran grandes sistemas operados desde la consola maestra por los programadores. Durante la década siguiente (1955-1965) se llevaron a cabo

avances en el hardware: lectoras de tarjetas, impresoras, cintas, etc. Esto a su vez provocó un avance en el software: compiladores, ensambladores, cargadores, manejadores de dispositivos, etc.

A finales de los años 1980, una computadora Commodore Amiga equipada con una aceleradora Video Toaster era capaz de producir efectos comparados a sistemas dedicados que costaban el triple. Un Video Toaster junto a Lightwave ayudó a producir muchos programas de televisión y películas, entre las que se incluyen Babylon 5, SeaQuest DSV y Terminator 2.

Problemas de explotación y soluciones iniciales

“IESTPA”

pág. 10 “COMPUTACION E INFORMATICA”

El problema principal de los primeros sistemas era la baja utilización de los mismos, la primera solución fue poner un operador profesional que lo manejase, con lo que se eliminaron las hojas de reserva, se ahorró tiempo y se aumentó la velocidad.

Para ello, los trabajos se agrupaban de forma manual en lotes mediante lo que se conoce como procesamiento por lotes(batch) sin automatizar.

1.1.1.- Monitores residentes

Según fue avanzando la complejidad de los programas, fue necesario implementar soluciones que automatizaran la organización de tareas sin necesidad de un operador. Debido a ello se crearon los monitores residentes: programas que residían en memoria y que gestionaban la ejecución de una cola de trabajos.

Un monitor residente estaba compuesto por un cargador, un Intérprete de comandos y un controlador (drivers) para el manejo de entrada/salida.

Sistemas con almacenamiento temporal de E/S

Los avances en el hardware crearon el soporte de interrupciones y posteriormente se llevó a cabo un intento de solución más avanzado: solapar la E/S de un trabajo con sus propios cálculos, por lo que se creó el sistema de búfers con el siguiente funcionamiento:

Un programa escribe su salida en un área de memoria (búfer 1).

El monitor residente inicia la salida desde el buffer y el programa de aplicación calcula depositando la salida en el buffer 2.

La salida desde el buffer 1 termina y el nuevo cálculo también.

Se inicia la salida desde el buffer 2 y otro nuevo cálculo dirige su salida al buffer 1.

El proceso se puede repetir de nuevo.

Los problemas surgen si hay muchas más operaciones de cálculo que de E/S (limitado por la CPU) o si por el contrario hay muchas más operaciones de E/S que cálculo (limitado por la E/S).

1.1.2.- Spoolers

Hace aparición el disco magnético con lo que surgen nuevas soluciones a los problemas de rendimiento. Se eliminan las cintas magnéticas para el volcado previo de los datos de dispositivos lentos y se sustituyen por discos (un disco puede simular varias cintas). Debido al solapamiento del cálculo de un trabajo con la E/S de otro trabajo se crean tablas en el disco para diferentes tareas, lo que se conoce como Spool (Simultaneous Peripherial Operation On-Line).

“IESTPA”

pág. 11 “COMPUTACION E INFORMATICA”

1.1.3.-Sistemas operativos multiprogramados

Surge un nuevo avance en el hardware: el hardware con protección de memoria. Lo que ofrece nuevas soluciones a los problemas de rendimiento:

Se solapa el cálculo de unos trabajos con la entrada/salida de otros trabajos.

Se pueden mantener en memoria varios programas.

Se asigna el uso de la CPU a los diferentes programas en memoria.

Debido a los cambios anteriores, se producen cambios en el monitor residente, con lo que éste debe abordar nuevas tareas, naciendo lo que se denomina como Sistemas Operativos multiprogramados, los cuales cumplen con las siguientes funciones:

Administrar la memoria.

Gestionar el uso de la CPU (planificación).

Administrar el uso de los dispositivos de E/S.

Cuando desempeña esas tareas, el monitor residente se transforma en un sistema operativo multiprogramado.

1.2.-Llamadas al sistema operativo

Definición breve: llamadas 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.

1.2.1Modos 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 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.

1.2.2Llamadas 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.

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.

“IESTPA”

pág. 12 “COMPUTACION E INFORMATICA”

1.2.3.-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 lasbibliotecas 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.

1.3.-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).

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 tenemos 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.

1.3.1Tratamiento de las interrupciones

Una interrupción se trata en todo caso, 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.

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.

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

“IESTPA”

pág. 13 “COMPUTACION E INFORMATICA”

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 (también llamado buffer) asociada al teclado y despierta el proceso que había en el estado de espera de la operación de entrada/salida.

1.3.2Excepciones

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 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.

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.

1.4Componentes de un sistema operativo

1.4.1.-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

“IESTPA”

pág. 14 “COMPUTACION E INFORMATICA”

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.

Gestión de la memoria principal

La memoria es una gran tabla de palabras o bytes que se referencia 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

1.4.2.-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. El SO es responsable de:

Construir, 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.

Sistemas de protección

“IESTPA”

pág. 15 “COMPUTACION E INFORMATICA”

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.

1.4.3Sistema 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.

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.

1.5.- Clasificación

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: Sólo permite ejecutar los programas de un usuario al mismo tiempo.

Multiusuario: Permite que varios usuarios ejecuten simultáneamente sus programas, accediendo a la vez a los recursos 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.

“IESTPA”

pág. 16 “COMPUTACION E INFORMATICA”

Manejo de recursos

Centralizado: Permite usar los recursos de una sola computadora.

Distribuido: Permite utilizar los recursos (memoria, CPU, disco, periféricos) de más de una computadora al mismo tiempo.

2.- Arquitecturas del sistema operativo

Con el paso de los años se ha producido una evolución gradual de la estructura y capacidades de los Sistemas Operativos. Sin embargo, recientemente se ha introducido un cierto número de nuevos elementos de diseño en los nuevos Sistemas Operativos y en las nuevas versiones de los Sistemas Operativos existentes. Estos Sistemas Operativos modernos responden a nuevos desarrollos del hardware y nuevas aplicaciones. Entre estos dispositivos de hardware están las máquinas multiprocesador, incrementos enormes de la velocidad de la máquina, alta velocidad en los enlaces de las redes de comunicación e incremento en el tamaño y variedad de los dispositivos de almacenamiento de memoria. En los campos de aplicación que han influido en el diseño de los Sistema Operativos están las aplicaciones multimedia, el acceso a Internet y páginas Web y la ejecución cliente/servidor. El porcentaje de cambios en las demandas de los Sistemas Operativos, requiere no solamente las modificaciones y mejoras en las arquitecturas ya existentes, sino nuevas formas de organización del Sistema Operativo. Muchos de los diferentes enfoques y elementos de diseño se han probado tanto en Sistemas Operativos experimentales como comerciales, y muchos de ellos encajan dentro de las siguientes categorías Arquitectura Micronúcleo. Multihilos. Multiproceso Simétrico. Sistemas Operativos Distribuidos. Diseño Orientado a Objeto.

La mayor parte de los Sistemas Operativos hasta hace poco tiempo se caracterizaban por un gran núcleo monolítico. Gran parte de la funcionalidad que se pensaba debía tener un Sistema Operativo la proporcionaba este gran núcleo, incluyendo planificación, sistema de archivos, redes, controladores de dispositivos, gestión de memoria y muchas cosas más. Normalmente un núcleo monolítico está implementado como un único proceso, con todos sus componentes compartiendo el mismo espacio de direcciones. La arquitectura micronúcleo asigna solamente unas pocas funciones esenciales al núcleo, incluyendo espacios de direcciones, comunicación entre procesos (IPC) y planificación básica. Otros servicios del Sistema Operativo los proporciona procesos, algunas veces llamados servidores, que se ejecutan en modo usuario y que el micronúcleo trata como a cualquier otra aplicación. Este enfoque desconecta el núcleo y el desarrollo de servidores. Los servidores pueden estar diseñados para aplicaciones específicas o necesidades del entorno. El enfoque del micronúcleo simplifica la implementación, proporciona flexibilidad y se adapta bien para entornos distribuidos. En esencia, un micronúcleo interactúa de la misma forma con procesos servidores locales y remotos, facilitando la construcción de sistemas distribuidos. Este trabajo intenta abordar la arquitectura del Sistema Operativo Windows y los servicios que cada uno de sus componentes brinda para llevar a cabo cada una de las categorías antes expuestas.

“IESTPA”

pág. 17 “COMPUTACION E INFORMATICA”

2.1.- Visión General de la Arquitectura de Windows.

Un Sistema Operativo serio, capaz de competir en el mercado con otros como Unix que ya tienen una posición privilegiada, en cuanto a resultados, debe tener una serie de características que le permitan ganarse ese lugar. Algunas de estas son:

Que corra sobre múltiples arquitecturas de hardware y plataformas. Que sea compatible con aplicaciones hechas en plataformas anteriores, es decir que

corrieran la mayoría de las aplicaciones existentes hechas sobre versiones anteriores a la actual, nos referimos en este caso particular a las de 16-bit de MS-DOS y Microsoft Windows 3.1.

Reúna los requisitos gubernamentales para POSIX (Portable Operating System Interface for Unix).

Reúna los requisitos de la industria y del gobierno para la seguridad del Sistema Operativo.

Sea fácilmente adaptable al mercado global soportando código Unicode. Sea un sistema que corra y balancee los procesos de forma paralela en

varios procesadores a la vez. Sea un Sistema Operativo de memoria virtual.

Uno de los pasos más importantes que revolucionó los Sistemas Operativos de la Microsoft fue el diseño y creación de un Sistema Operativo extensible, portable, fiable, adaptable, robusto, seguro y compatible con sus versiones anteriores (Windows NT). Y para ello crearon la siguiente arquitectura modular:

La cual está compuesta por una serie de componentes separados donde cada cual es responsable de sus funciones y brindan servicios a otros componentes. Esta arquitectura es del tipo cliente – servidor ya que los programas de aplicación son contemplados por el sistema operativo como si fueran clientes a los que hay que servir, y para lo cual viene equipado con distintas entidades servidoras. Ya creado este diseño las demás versiones que le sucedieron a Windows NT fueron tomando esta arquitectura como base y le fueron adicionando nuevos componentes.

“IESTPA”

pág. 18 “COMPUTACION E INFORMATICA”

Uno de las características que Windows comparte con el resto de los Sistemas Operativos avanzados es la división de tareas del Sistema Operativo en múltiples categorías, las cuales están asociadas a los modos actuales soportados por los microprocesadores. Estos modos proporcionan a los programas que corren dentro de ellos diferentes niveles de privilegios para acceder al hardware o a otros programas que están corriendo en el sistema. Windows usa un modo privilegiado (Kernel) y un modo no privilegiado (Usuario). Uno de los objetivos fundamentales del diseño fue el tener un núcleo tan pequeño como fuera posible, en el que estuvieran integrados módulos que dieran respuesta a aquellas llamadas al sistema que necesariamente se tuvieran que ejecutar en modo privilegiado (modo kernel). El resto de las llamadas se expulsarían del núcleo hacia otras entidades que se ejecutarían en modo no privilegiado (modo usuario), y de esta manera el núcleo resultaría una base compacta, robusta y estable. El Modo Usuario.- es un modo menos privilegiado de funcionamiento, sin el acceso directo al hardware. El código que corre en este modo sólo actúa en su propio espacio de dirección. Este usa las APIs (System Application Program Interfaces) para pedir los servicios del sistema. El Modo Kernel.- es un modo muy privilegiado de funcionamiento, donde el código tiene el acceso directo a todo el hardware y toda la memoria, incluso a los espacios de dirección de todos los procesos del modo usuario. La parte de WINDOWS que corre en el modo Kernel se llama Ejecutor de Windows, que no es más que un conjunto de servicios disponibles a todos los componentes del Sistema Operativo, donde cada grupo de servicios es manipulado por componentes que son totalmente independientes (entre ellos el Núcleo) entre sí y se comunican a través de interfaces bien definidas. Todos los programas que no corren en Modo Kernel corren en Modo Usuario. La mayoría del código del Sistema Operativo corre en Modo Usuario, así como los subsistemas de ambiente (Win32 y POSIX que serán explicados en capítulos posteriores) y aplicaciones de usuario. Estos programas solamente acceden a su propio espacio de direcciones e interactúan con el resto del sistema a través de mensajes Cliente/Servidor.

2.2.-Modo Kernel

2.2.1.-Capa de Abstracción de Hardware (HAL).

Conocido por sus siglas en inglés HAL (Hardware Abstraction Layer) es una interfaz entre el hardware y el resto del Sistema Operativo, está implementada como una biblioteca de enlace dinámico (dll) y es responsable de proteger el resto del sistema de las especificaciones del hardware, tales como controladores de interrupción e interfaces de entrada/salida. Esta abstracción hace al sistema más portable ya que el resto del sistema no tiene que preocuparse sobre que plataforma está corriendo. Cada plataforma en que el sistema corre necesita un HAL específico. El diseño intenta que cuando Windows sea portado a una nueva arquitectura de procesador, el HAL sea reescrito para el nuevo procesador, pero el resto del sistema simplemente debe ser recompilado. Este también suministra la interfaz para el multiprocesamiento simétrico (conocido por sus siglas en inglés SMP). Las versiones Server contienen dos HALs para arquitectura de procesador (Intel, MIPS, PowerPC y and Alpha), el primero es usado para soportar un solo procesador, mientras que el segundo soporta hasta cuatro procesadores. Para cada procesador físico que existe en la computadora el HAL representa un procesador virtualizado al microkernel. La idea es que el procesador virtualizado esconda las características especiales del propio procesador al sistema operativo, quiere esto decir que si por ejemplo se tiene dos sistemas multiprocesadores, uno corriendo sobre un procesador Intel y otro corriendo con un Alpha, los HALs en cada sistema serían diferentes, pero los procesadores virtualizados que este presenta al microkernel en ambos casos pudieran ser

“IESTPA”

pág. 19 “COMPUTACION E INFORMATICA”

idénticos. Sobre un sistema SMP (Multiprocesamiento Simétrico) para cada procesador físico en el sistema el HAL representa un procesador virtualizado al microkernel. A este componente solo pueden acceder componentes del Ejecutor de Windows y nunca se llama por los programas del Modo Usuario. El HAL también intenta ser la única pieza de software dentro del sistema que se comunique con el hardware, la ventaja de esto es que otros programas no pueden escribir información en el hardware ni accidentalmente, ni intencionalmente y causar una caída del sistema, también impidiendo que programas lean información directamente del hardware. Aunque la meta de Windows es que todas las llamadas relacionas con el hardware sean a través del HAL, la realidad es que un número pequeño de llamadas de los drivers y del Kernel bordean al HAL e interactúan directamente con el hardware. La capa de Abstracción de Hardware conocida por sus siglas en inglés (HAL) es una biblioteca de manipulación de hardware con rutinas suministradas por Microsoft o por el fabricante del hardware. Esta capa queda en el nivel más bajo del Ejecutor de Windows (entre el hardware y el resto del Sistema Operativo), esta esconde las características de la plataforma para que todas las plataformas y arquitecturas parezcan igual al Sistema Operativo, esto permite al SO correr sobre diferentes plataformas con uno o varios procesadores, facilitando además a los drivers de dispositivos adaptarse a distintas arquitecturas de E/S sin tener que ser modificados en gran medida.

2.2.2.-MicroKernel

Es el responsable de todas las acciones que se realizan sobre le sistema y casi todas las funciones del sistema pasan a través de él. El diseño de este componente asigna muchas de las funciones normalmente asignadas al Kernel en los Sistemas Operativos tradicionales a un grupo de programas llamado Ejecutor de Windows, del cual el microkernel es parte, corre en el modo privilegiado y ambos (el ejecutor y el microkernel) se comunican a través de primitivas del sistema operativo a bajo nivel. La principal tarea de este componente es la planificación de ejecución de hilos (segmento de código perteneciente a un proceso particular). A cada hilo es asignada una prioridad de 0 a 31, este entonces envía hilos a correr en dependencia de su número de prioridad y los permite ejecutarse un tiempo determinado antes de apropiarse de ellos y permitir que otro proceso corra. Aquí es importante aclarar que el microkernel no planifica la ejecución de procesos, sino que planifica la ejecución de hilos en el entorno de un proceso, este procedimiento es el que hace posible la multitarea con preferencia al ser el microkernel el que planifica la ejecución de todo el código que corre en el sistema. En un sistema multiprocesador, una copia del microkernel corre en cada procesador. Estos segmentos del microkernel son usados para mantener la coherencia de los recursos del sistema que son compartidos ya que son accedidos por los hilos que corren en todos los procesadores. Este también es responsable de la manipulación de interrupciones del sistema desde dispositivos físicos. Normalmente cuando el sistema es interrumpido, el microkernel se apropia del hilo que este corriendo en ese momento para procesar la interrupción. El microkernel también manipula las excepciones del procesador, donde estas excepciones ocurren cuando el procesador intenta hacer alguna operación que no se le está permitida, como el intento de escribir en una porción de memoria a la cual no tiene acceso o cuando se divide por cero.

“IESTPA”

pág. 20 “COMPUTACION E INFORMATICA”

El uso final del microkernel es suministrar un soporte para la recuperación del sistema de una caída de energía. Si el sistema está equipado con un suministrador de energía ininterrumpible (más conocido por sus siglas inglés UPS) el microkernel es advertido cuando la caída de energía es detectada, entonces este coordina un cierre ordenado del sistema, el cual incluye la advertencia a los dispositivos de Entrada/Salida de la caída de la energía y permitir entonces restaurarse consecuentemente. Puesto que el Microkernel está involucrado en la mayoría de las acciones asumidas por el Sistema Operativo, las porciones críticas de este son escritas en lenguaje ensamblador para garantizar que este pueda correr lo más rápido y eficientemente posible, lo que trae consigo que su optimización sea un factor crítico de funcionamiento cuando el sistema es portado a diferentes arquitecturas. El microkernel está situado en el corazón de Windows, trabaja muy estrechamente con el HAL (Nivel de Abstracción de Hardware), este planifica la ejecución de hilos y manipula las interrupciones y excepciones de procesos. El papel de este es mantener a los procesadores lo mas ocupado posible. En sentido general este se encarga de las funciones más básicas de todo el SO, como son:

Ejecución de subprocesos. Sincronización multiprocesador. Manejo de las interrupciones de hardware.

2.2.3.-El Ejecutor de Windows.

El Ejecutor de Windows se encarga de las tareas importantes, las que son de vital importancia para el sistema completo, ya que el microkernel está casi siempre demasiado ocupado para dirigirse directamente. Una definición clara es que el Ejecutor de Windows provee los fundamentos del sistema operativo que serán suministradas a todas las aplicaciones que corren sobre el sistema. Este incluye servicios como la Administración de Objetos, de Memoria virtual, de Entrada-Salida y de Procesos. El Ejecutor de Windows corre exclusivamente en Modo Kernel y es llamado por los subsistemas de ambiente protegido cuando estos necesitan de sus servicios. Debido a la jerarquía de Windows las aplicaciones que corren en Modo Usuario no pueden llamar segmentos del Ejecutor de Windows directamente, sino servicios de demanda de los subsistemas de ambiente (explicado en capítulos posteriores), como Win32 y POSIX los que a su vez se encargan de llamar los componentes del Ejecutor de Windows.

2.2.4.- El Administrador de Objetos.

El Administrador de Objetos (Object Manager) es usado para crear, modificar y eliminar objetos (tipos de datos abstractos que son usados para representar recursos del Sistema Operativo) usados por todos los sistemas que conforman el Ejecutor de Windows. Este también proporciona información sobre el estado de los objetos a todo el Sistema Operativo. Los objetos pueden ser cosas concretas, tales como puertos de dispositivos, o pueden ser más abstractos como hilos. Cuando un objeto es creado a este se le da un nombre por el cual otros programas pueden accederle. Cuando un proceso necesita acceder al objeto este solicita un tratamiento de objeto al administrador de objetos. El manipulador de objetos suministra un puntero que es usado para localizar al objeto, así como una información de control de acceso que dice cómo se puede acceder a él. Esta información de control de acceso es suministrada por el subsistema de seguridad (tema que se abordará en próximos temas). Este también se asegura que los objetos no consuman muchos recursos (por lo regular la memoria), manteniendo cuotas para los diferentes tipos de objetos.

“IESTPA”

pág. 21 “COMPUTACION E INFORMATICA”

Además el Administrador de Objetos se encarga de limpiar objetos huérfanos (objetos que parecen no tener dueño), esto es conocido como recolección de basura. La carencia de esta facilidad en Windows 3.x era la causa de muchos problemas, ya que cuando un programa colapsaba o manipulaba incorrectamente los recursos del sistema, los recursos consumidos por este no eran devueltos al sistema para que volvieran a estar disponibles produciendo un error por falta de recursos del sistema. De hecho esto era un escape de memoria. A modo de resumen el Administrador de Objetos se encarga de crear, destruir y gestionar todos los objetos del Ejecutor de Windows.

2.3.-El Administrador de Procesos.

El Administrador de Procesos (Process Manager) es el responsable de crear, quitar y modificar los estados de todos los procesos e hilos. Este también proporciona información sobre el estado de procesos e hilos al resto del sistema. Un proceso, por la definición, incluye un espacio de dirección virtual, uno o más hilos, un segmento de código del programa ejecutable, y un conjunto de recursos del sistema. Un hilo es un objeto ejecutable que pertenece a un solo proceso y contiene a un contador del programa que apunta a su posición actual en el segmento de código ejecutable del proceso, dos pilas, y un conjunto de valores del registro. El Administrador de Procesos, como todos los miembros del Ejecutor de Windows, juega un papel vital en el funcionamiento del sistema entero. Cuando una aplicación comienza su ejecución, se crea como un proceso lo que requiere una llamada al Administrador de Procesos. Como todo proceso debe tener por lo menos un hilo, el Administrador de Procesos es invocado de nuevo para crear el hilo. El Administrador de Procesos se usa para manejar los hilos, pero no tiene su propio conjunto de políticas sobre cómo planificar la ejecución de procesos e hilos. Estas políticas son determinadas por el propio micro kernel. El administrador de Procesos (Process Manager) es el responsable de crear, quitar y modificar los estados de todos los procesos e hilos, así como de proporcionar información sobre el estado de procesos e hilos al resto del sistema.

2.4.- El Administrador de Memoria Virtual.

El Administrador de Memoria Virtual (Virtual Memory Manager o VMM) proporciona la gestión de memoria virtual del sistema. La memoria virtual es un esquema que permite usar los recursos del disco en lugar de la memoria física del sistema moviendo las páginas al disco cuando estas no están siendo usadas y recuperándolas cuando se les necesitan. Este es un segmento integral de Windows el cual asigna espacios de direcciones de 32 bit a cada proceso sin preocuparse de la cantidad de memoria física del sistema. A cada proceso se asigna un espacio de memoria virtual de 4GB. De este espacio, los dos giga bites superiores son reservados para el uso del sistema, mientras que los otros dos giga bites restantes son para el uso del proceso. El Administrador de Memoria Virtual es el responsable de traducir las direcciones de memoria del proceso a las direcciones de memoria reales del sistema. Si la dirección de memoria del proceso hace referencia a un segmento de memoria que ha sido paginada hacia el disco, el Administrador de Memoria Virtual recupera la página del disco. El Administrador de Memoria Virtual se encarga de todo lo relacionado con la política de gestión de la memoria, determina los conjuntos de trabajo de cada proceso, mantiene un conjunto de páginas libres, elige páginas que se van a pasar a la memoria real, sube y baja páginas entre la memoria RAM y el archivo de intercambio en disco.

“IESTPA”

pág. 22 “COMPUTACION E INFORMATICA”

2.5.- Servicios de Llamadas a Procedimientos Locales.

El Servicio de Llamadas a Procedimientos Locales (Local Procedure Call Facility o LPC) se integra al diseño cliente/servidor de Windows. Este es la interfaz entre todos los procesos clientes y servidores que corren localmente en el sistema. La estructura del Servicio de Llamadas a Procedimientos Locales es muy similar a la de las llamadas a Procedimientos Remotos (RPC), excepto que esta está optimizada y solamente soporta comunicación entre procesos clientes y servidores localmente. Más específicamente, el LPC es un mecanismo que permite a dos hilos en procesos diferentes intercambiar información. Recuerde que nosotros dijimos que el subsistema de Win32 es una aplicación que corre en el Modo Usuario y correrá en su propio espacio de memoria. Cuando un programa se quiere comunicar con el subsistema Win32 para solicitar servicios, llama una función desde la DLL apropiada, esta función entonces usa la LPC para pasar la petición al subsistema de procesos Win32, la que procesa la demanda y realiza la acción pedida y devuelve un mensaje de realización a través de la LPC. El Servicio de Llamadas a Procedimientos Locales es el módulo que se encarga de recibir y enviar las llamadas de procedimiento locales entre las aplicaciones cliente y los subsistemas servidores.

2.6.- El Monitor de Seguridad.

El Monitor de Seguridad (Security Reference Monitor o SRM) es el lecho de toda la seguridad dentro del sistema WINDOWS y es el responsable de hacer cumplir todas las políticas de seguridad en la computadora local. Este componente trabaja conjuntamente con los subsistemas de tiempo de corrida, proceso de conexión al sistema (conocido como logon process) y control de la seguridad local (local security authority). Cuando un usuario intenta conectarse al sistema su identidad es verificada, el subsistema de proceso de conexión pide una ficha de acceso de seguridad (conocido por sus siglas en inglés SAT o security accesstoken) del usuario. El SAT contiene una lista de los privilegios de usuarios y grupos. Este se usa como llave para ese usuario durante la sesión de conexión. Siempre que el usuario quiera hacer algo, el SAT es presentado y usado para determinar si el usuario puede realizar las acciones. Este componente trabaja estrechamente con el Administrador de Objetos. Cada vez que un usuario intenta acceder a un objeto el Administrador de Objetos crea un manipulador para acceder a este y llama al SRM para determinar el nivel de acceso concedido por el manipulador. El SRM usa información contenida en la ficha de acceso del usuario y lo compara con la lista de control de accesos sobre el objeto para ver si al usuario debe concederse el nivel de acceso pedido. De esta forma el SRM tiene el control de la seguridad de acceso de todos los objetos en el sistema.

2.7.- El Administrador de Entrada-Salida.

El Administrador de Entrada-Salida (I/O Manager) es responsable de gestionar la comunicación entre los distintos drivers de dispositivo, para lo cual implementa una interfaz

“IESTPA”

pág. 23 “COMPUTACION E INFORMATICA”

bien definida que permite el tratamiento de todos los drivers de una manera homogénea, sin que intervenga el cómo funciona específicamente cada uno. Tiene una serie de subcomponentes que son:

Driver del Sistema de Archivos: este se encarga de establecer la comunicación con los drivers de los Sistemas de Ficheros, ya que el sistema permite la coexistencia de múltiples Sistemas de Archivos en diferentes particiones lógicas de la misma unidad física.

El servidor y el redirector de red. Los drivers de dispositivo del sistema. El administrador de caches (Cache Manager): este se encarga de manipular la cache

para todo el Sistema de Entrada y Salida. Este es un método que utilizan los sistemas de archivos para mejorar su rendimiento, donde en lugar de leer y escribir en disco un fichero usado frecuentemente este se almacena en una cache de memoria y la lectura y escritura de estos ficheros se realiza desde memoria. Este componente se encarga de la magia negra que es a menudo necesaria para hacer que varios dispositivos se comuniquen entre si y convivan juntos en un segmento. El Administrador de Entrada-Salida (I/O Manager) es responsable de gestionar la comunicación entre los distintos drivers de dispositivo.

2.8.- Modo Usuario

Subsistemas de Ambiente Protegido

Dos de los objetivos de WINDOWS son personalidad y compatibilidad. Esto ha sido logrado a través de los subsistemas de ambiente protegido. La personalidad esencialmente significa que WINDOWS expone múltiples conjuntos de interfaces de programas de aplicación (APIs) y puede actuar eficazmente como si fuera un sistema operativo diferente. WINDOWS viene con una personalidad POSIX y OS/2 además de sus personalidades Win32, Win16 y DOS. En WINDOWS, hay tres subsistemas de ambiente protegido: El subsistema de Win32 El subsistema de POSIX El subsistema de OS/2

Aunque algunas veces se muestran las personalidades Win16 y DOS incluidas en una lista de subsistemas de ambiente protegido, ellas realmente son parte del subsistema Win32. Los subsistemas de ambiente protegido actúan como los mediadores entre las aplicaciones del Modo Usuario y el Ejecutor de Windows. Recuerde que el Ejecutor de Windows y todos sus componentes viven en el Modo Privilegiado o Modo Kernel, mientras que todos los demás viven en el Modo Usuario, esto incluye todos los subsistemas de ambiente. Cuando una aplicación hace una llamada a un

“IESTPA”

pág. 24 “COMPUTACION E INFORMATICA”

subsistema de ambiente, este es pasado a través de una capa de servicios del Ejecutor de Windows. Cada subsistema de ambiente guarda huella de sus propios procesos y trabaja independientemente de los otros subsistemas. Cada aplicación sólo puede correr en el subsistema para el cual fue diseñado. Cuando usted inicia una aplicación en WINDOWS, mira el encabezamiento representado por el archivo y determina en cuál subsistema ejecutar la aplicación.

2.9.- El Subsistema Win32

Win32 es el subsistema nativo y primario de WINDOWS. Las bases para este subsistema es el conjunto de APIs de Win32. Muchos de estas API son extensiones directas de sus homólogas Win16. Este subsistema actúa como un servidor para todos los otros subsistemas de ambiente soportados en WINDOWS, los que actúan como clientes y traducen sus llamadas API hacia las API apropiadas de Win32. El subsistema Win32 es responsable de toda la entrada y salida. Este posee el control de la pantalla, el teclado, y el ratón. Cuando otros subsistemas, como OS/2 o POSIX, necesitan beneficiarse de estos dispositivos, ellos piden los servicios al subsistema de Win32. Algunos de los objetivos que se trazaron para mantener la compatibilidad con las aplicaciones hechas en versiones anteriores fueron:

Permitir que los programas hechos sobre DOS pudieran correr sin modificación. Suministrar la capacidad para ejecutar la mayoría de las aplicaciones Windows de

16 bits sin modificación Proteger al sistema y otras aplicaciones de 32 bits de la interferencia de las

aplicaciones de 16 bits y DOS. Permitir a las plataformas RISC (Reduced Instruction set

Computer, microprocesador cuyo número de instrucciones es reducido para lograr una frecuencia más alta de trabajo) ejecutar aplicaciones Windows de 16 bits y DOS.

Suministrar un mecanismo para compartir datos entre aplicaciones Windows de 32 y 16 bits.

Muchas personas piensan en Windows 3.x como un Sistema Operativo. Técnicamente, no es un verdadero Sistema Operativo, sino una interfaz de usuario que es miembro del DOS, el verdadero Sistema Operativo. Así que, el primer paso en proporcionar compatibilidad fue crear un ambiente de DOS. El ambiente de DOS en WINDOWS se llama la máquina virtual de DOS (Machine DOS Virtual o VDM). El VDM es una aplicación de modo usuario de 32 bits el cual solicita los servicios del subsistema de Win32 y en ocasiones directamente a la capa de servicios del sistema. Es basado en DOS 5.0. WINDOWS permite ejecutar tantas aplicaciones de DOS como uno desee, donde cada aplicación corre en su propio VDM. Puesto que los VDMs son nada más que procesos normales bajo WINDOWS, ellos también son multitarea preventiva al igual que otros procesos en el sistema. Por consiguiente, puede decirse que WINDOWS permite la multitarea preventiva de programas de DOS. Uno de los rasgos adicionales del VDM es que le da 620 KB de memoria "convencional" libre al usuario. Lo milagroso sobre esto es que también da a las aplicaciones de DOS soporte de ratón, red, y CD-ROM. El Subsistema Win32 es el más importante, ya que atiende no sólo a las aplicaciones nativas de Windows, sino que para aquellos programas no Win32, reconoce su tipo y los lanza hacia el subsistema correspondiente. En el caso de que la aplicación sea MS-DOS o Windows de 16 bits (Windows 3.11 e inferiores), lo que hace es crear un nuevo subsistema protegido. Así, la aplicación DOS o Win16 se ejecutaría en el contexto de un proceso llamado VDM

“IESTPA”

pág. 25 “COMPUTACION E INFORMATICA”

(Virtual DOS Machine, máquina virtual DOS), que no es más que un simulador de un ordenador funcionando bajo MS-DOS. El subsistema soporta una buena parte del API Win32. Así, se encarga de todo lo relacionado con la interfaz gráfica con el usuario (GUI), controlando las entradas del usuario y salidas de la aplicación.

2.10.-El Subsistema POSIX.

Microsoft prestó mucha atención a los diferentes estándares de sistemas abiertos cuando Windows NT estaba en vía de desarrollo. Ellos reconocieron el valor de soportar sistemas abiertos como un método para ganar aceptación de su nuevo sistema operativo avanzado dentro del mercado. Uno de los estándares más frecuentemente citados soportados por Windows es el POSIX (Interfaz de Sistema operativo Portable Basado en Unix), el cual representa la interfaz del Sistema Operativo portable y fue desarrollado por el IEEE (Instituto de Ingenieros en Electricidad y Electrónica) como un método de proporcionar portabilidad a las aplicaciones hechas sobre plataformas UNIX. No obstante, POSIX se ha integrado en muchos sistemas no UNIX. Existen muchos niveles de obediencia con POSIX. Estos niveles representan un conjunto de evoluciones de propuestas, aunque no todas han sido aprobadas como estándares. El subsistema de POSIX requiere un mínimo de servicios que son proporcionados por WINDOWS. Cuando una aplicación de POSIX corre en WINDOWS, el subsistema es cargado y traduce las llamadas API del lenguaje C, requeridas para soportarlo en llamadas a APIs de Win32 las que son servidas por el subsistema Win32. Debido a la naturaleza limitada, el subsistema de POSIX en WINDOWS no suministra soporte para gestión de redes o sistema de seguridad. El Subsistema POSIX interacciona con el Ejecutor de Windows. Se encarga de definir aspectos específicos del Sistema Operativo UNIX, como pueden ser las relaciones jerárquicas entre procesos padres e hijos (las cuales no existen en el subsistema Win32, por ejemplo, y que por consiguiente no aparecen implementadas directamente en el Ejecutor de Windows).

2.11.- El Subsistema OS/2.

El subsistema de OS/2 está implementado como un subsistema de ambiente protegido, parecido al subsistema POSIX. Este traduce las llamadas API de OS/2 en llamadas a APIs de Win32 que son servidas por el subsistema de Win32. El subsistema y sus aplicaciones corren en su propio espacio de memoria protegido de 32 bits y constituyen multitarea preventiva unas respecto a otras y respecto a otras aplicaciones que corren en el sistema. Además de un conjunto de motores APIs de OS/2, el subsistema implementa muchos APIs gestores de LAN (Red de Área Local), incluyendo tuberías, NETBIOS y mailslots. De esta manera difiere del subsistema POSIX ya que este no posee soporte para gestión de redes. El Subsistema OS/2 igual que el subsistema POSIX proporciona un entorno para aplicaciones UNIX, este subsistema da soporte a las aplicaciones OS/2. Proporciona la interfaz gráfica y las llamadas al sistema; las llamadas son servidas con ayuda del Ejecutor de Windows.

“IESTPA”

pág. 26 “COMPUTACION E INFORMATICA”

2.14.- Ejemplos de sistemas operativos para PC HP-UX

ReactOS

BeOS

Microsoft Windows

Windows 10

Windows 8

OS X

GNU/Linux

Unix

Solaris

FreeBSD

OpenBSD

Google Chrome OS

Debian

Ubuntu

Mandriva

Sabayon

Fedora

Puppy Linux

Haiku (BeOS)

Plan 9

Android

Mac OS X

Tuquito

Red Hat Enterprise Linux for Desktops or Workstations

Suse Desktop

Open Suse

2.13.- Ejemplos de sistemas operativos para dispositivos móviles Android

iOS

Bada

BlackBerry OS

BlackBerry 10

Windows Phone

Symbian OS

HP webOS

Firefox OS

Ubuntu Phone OS

Tizen

Asha Platform

Palm OS

WebOS

CyanogenMod

“IESTPA”

pág. 27 “COMPUTACION E INFORMATICA”

3.- Microsoft Windows

Microsoft Windows (conocido generalmente como Windows o MS Windows), es el nombre de una familia de distribuciones de software paraPC, smartphone, servidores y sistemas empotrados, desarrollados y vendidos por Microsoft, y disponibles para múltiples arquitecturas, tales como x86 y ARM.

Desde un punto de vista técnico, no son sistemas operativos, sino que contienen uno (tradicionalmente MS-DOS, o el más actual cuyo núcleo es Windows NT) junto con una amplia variedad de software; no obstante, es usual (aunque no necesariamente correcto) denominar al conjunto como sistema operativo en lugar de distribución. Microsoft introdujo un entorno operativo denominado Windows el 20 de noviembre de 1985 como un complemento para MS-DOS en respuesta al creciente interés en las interfaces gráficas de usuario (GUI).1 Microsoft Windows llegó a dominar el mercado mundial de computadoras personales, con más del 90 % de la cuota de mercado, superando a Mac OS, que había sido introducido en1984.

La versión más reciente de Windows es Windows 10 para equipos de escritorio, Windows Server 2012 para servidores y Windows Phone 8 y 8.1para dispositivos móviles. La primera versión en español fue Windows 3.0.

La primera versión se lanzó en 1985 y comenzó a utilizarse de forma generalizada gracias a su interfaz gráfica de usuario (GUI, Graphical User Interface) basada en ventanas. Hasta ese momento (y hasta mucho después como corazón de Windows), el sistema operativo más extendido era MS-DOS (Microsoft Disk Operating System), que por aquel entonces contaba con una interfaz basada en línea de comandos.

El 30 de septiembre de 2014, Microsoft presentó Windows 10, estando disponible desde ese día a usuarios avanzados que se suscribieran al programa Insider. Esta nueva versión del sistema operativo que llegó de forma oficial y gratuita a usuarios con licencia genuina de Windows 7,Windows 8 y Windows 8.1 así como a Insiders el 29 de julio de 2015, siendo la primera versión que busca la unificación de dispositivos (escritorio, portátiles, teléfonos inteligentes y tabletas) bajo una experiencia común, con lo que se espera eliminar algunos problemas que se presentaron con Windows 8/ 8.1.

3.1.- Historia

“IESTPA”

pág. 28 “COMPUTACION E INFORMATICA”

La primera versión de Microsoft Windows, versión 1.0, presentada en noviembre de 1985, compitió con el sistema operativo de Apple. Carecía de un cierto grado de funcionalidad y logró muy poca popularidad. Windows 1.0 no era un sistema operativo completo; más bien era una extensión gráfica de MS-DOS. Windows versión 2.0 fue lanzado en noviembre de 1987 y fue un poco más popular que su predecesor. Windows 2.03 (lanzado en enero de 1988) incluyó por primera vez ventanas que podían solaparse unas a otras. El resultado de este cambio llevó a Apple a presentar una demanda contra Microsoft, debido a que infringían derechos de autor.

Windows versión 3.0, lanzado en 1990, fue la primera versión de Microsoft Windows que consiguió un amplio éxito comercial, vendiendo 2 millones de copias en los primeros seis meses. Presentaba mejoras en la interfaz de usuario y en la multitarea. Recibió un lavado de cara en Windows 3.1, que se hizo disponible para el público en general el 1 de marzo de 1992. El soporte de Windows 3.1 terminó el 31 de diciembre de 2001.

En julio de 1993, Microsoft lanzó Windows NT basado en un nuevo kernel. NT era considerado como el sistema operativo profesional y fue la primera versión de Windows en utilizar la Multitarea apropiativa. Windows NT más tarde sería reestructurado para funcionar también como un sistema operativo para el hogar, con Windows XP.

El 24 de agosto de 1995, Microsoft lanzó Windows 95, una nueva versión del sistema operativo Windows destinada al mercado de consumo pensada para sustituir a Windows 3.1 como interfaz gráfica y a MS-DOS como sistema operativo. En ésta edición se introdujeron mejoras que eran muy significativas con respecto a sus antecesores entre los cuales se pueden mencionar los profundos cambios realizados a la interfaz gráfica de usuario de Windows, siendo completamente distinta a las de versiones anteriores, y el pasar de usar una arquitectura multitarea cooperativa de 16 bits a usar una arquitectura multitarea apropiativa de 32 bits.

Windows 95 fue la primera versión de Windows en incluir la barra de tareas y el botón Inicio, los cuales siguieron incluyéndose en versiones posteriores de Windows, además de ser la primera versión en soportar la función de Plug and Play

Acompañado por una extensa y millonaria campaña de marketing, Windows 95 fue un gran éxito en el mercado en el momento de su lanzamiento y en breve se convirtió en el sistema operativo de Escritorio más populares.

“IESTPA”

pág. 29 “COMPUTACION E INFORMATICA”

El soporte estándar para Windows 95 finalizó el 31 de diciembre de 2000 y el soporte ampliado para Windows 95 finalizó el 31 de diciembre de 2001.

El siguiente para la línea del usuario fue lanzado el 25 de junio de 1998, Microsoft Windows 98. Sustancialmente fue criticado por su lentitud y por su falta de fiabilidad en comparación con Windows 95, pero muchos de sus problemas básicos fueron posteriormente rectificados con el lanzamiento de Windows 98 Second Edition en 1999. El soporte estándar para Windows 98 terminó el 30 de junio de 2002, y el soporte ampliado para Windows 98 terminó el 11 de julio de 2006.

Como parte de su línea «profesional», Microsoft lanzó Windows 2000 en febrero de 2000. La versión de consumidor tras Windows 98 fue Windows Me (Windows Millennium Edition). Lanzado en Septiembre de 2000, Windows Me implementaba una serie de nuevas tecnologías para Microsoft: en particular fue el «Universal Plug and Play». Durante el 2004 parte del código fuente de Windows 2000 se filtró en internet, esto era malo para Microsoft porque el mismo núcleo utilizado en Windows 2000 se utilizó en Windows XP.

En octubre de 2001, Microsoft lanzó Windows XP, una versión que se construyó en el kernel de Windows NT que también conserva la usabilidad orientada al consumidor de Windows 95 y sus sucesores. En dos ediciones distintas, «Home» y «Professional», el primero carece por mucho de la seguridad y características de red de la edición Professional. Además, la primera edición «Media Center» fue lanzada en 2002, con énfasis en el apoyo a la funcionalidad de DVD y TV, incluyendo grabación de TV y un control remoto. El soporte estándar para Windows XP terminó el 14 de abril de 2009. El soporte extendido finalizó el 8 de abril de 2014. A principios de la década de los 2000, Windows se empezaba a posicionar cómo el innovador en el mercado, pero su posición fue en declive.

En abril de 2003, se introdujo Windows Server 2003, reemplazando a la línea de productos de servidor de Windows 2000 con un número de nuevas características y un fuerte enfoque en la seguridad; esta versión fue continuada por Windows Server 2003 R2 en diciembre de 2005.

El 30 de enero de 2007, Microsoft lanzó Windows Vista. Contiene un sinnúmero de características nuevas, desde un shell rediseñado y la interfaz de usuario da importantes cambios técnicos grandes, con especial atención a las características de seguridad. Está disponible en varias ediciones diferentes. Fue objeto de muy severas críticas años más tarde debido a su patente inestabilidad de versiones (hubieron actualizaciones continuas), sobredemanda de recursos de hardware, alto costo, y muy alta incompatibilidad con sus predecesores, hecho que no ocurría con éstos.

El 22 de octubre de 2009, Microsoft lanzó Windows 7. A diferencia de su predecesor, Windows Vista, que introdujo a un gran número de nuevas características, Windows 7 pretendía ser una actualización incremental, enfocada a la línea de Windows, con el objetivo de ser compatible con aplicaciones y hardware que Windows Vista no era compatible. Windows 7 tiene soporte multi-touch, un Windows shell rediseñado con una nueva barra de tareas, conocido como Superbar, un sistema red llamado HomeGroup, y mejoras en el rendimiento sobre todo en velocidad y en menor consumo de recursos.

El 29 de octubre de 2012, Microsoft lanzó Windows 8. Por primera vez desde Windows 95, el botón Inicio ya no está disponible en la barra de tareas, aunque la pantalla de inicio está aún activa haciendo clic en la esquina inferior izquierda de la pantalla y presionando la tecla Inicio en el teclado. Presenta un Explorador de Windows rediseñado, con la famosa interfaz ribbon de Microsoft Office. Según Microsoft han vendido 60 millones de licencias, aunque ha recibido muchas críticas por parte de los usuarios. Se conservan la gran mayoría de las características de su predecesor, Windows 7, con excepción de la nueva interfaz gráfica y algunos cambios menores.

3.2.- Versiones BETA de Windows

“IESTPA”

pág. 30 “COMPUTACION E INFORMATICA”

Las versiones Beta, Alpha o de pruebas, son versiones gratuitas que se crean como base para el próximo sistema operativo de Windows a lanzar. En ellas se colocan algunas funciones que Microsoft ha puesto por defecto y que las lanza al público para demostrarles a los usuarios de cómo podría ser la futura versión de Windows. Mientras estas versiones estén activas, los usuarios pueden reportar errores que se encuentren en el sistema operativo, (ya que no tienen soporte para actualizaciones) y si el reporte es solucionado, Microsoft le dará una cantidad de dinero al usuario que ha reportado dicho error.

Las versiones de prueba son muy diferentes a las originales, puesto que no se comercializan y que tienen nombres distintos. Por ejemplo, la versión que se utilizó para crear Windows 95, fue nominada "Chicago". Estos nombres también se suelen llamar "Codenames". En algunas versiones de prueba (como Windows 8.1 BETA), no llevan un respectivo codename, y por este motivo llevan el nombre de la próxima versión de Windows de la respectiva versión de pruebas, junto a su indicador "Beta".

3.3.-Seguridad

Una de las principales críticas que con frecuencia reciben los sistemas operativos Windows es la debilidad del sistema en lo que a seguridad se refiere y el alto índice de vulnerabilidades críticas. El propio Bill Gates, fundador de Microsoft, ha asegurado en repetidas ocasiones que la seguridad es objetivo primordial para su empresa.

Partiendo de la base de que no existe un sistema completamente libre de errores, las críticas se centran en la lentitud con la que la empresa reacciona ante un problema de seguridad que puede llegar a mes eso incluso años de diferencia desde que se avisa de la vulnerabilidad hasta que se publica un parche.

En algunos casos la falta de respuesta por parte de Microsoft ha provocado que se desarrollen parches que arreglan problemas de seguridad hechos por terceros.

Uno de los pilares en que se basa la seguridad de los productos Windows es la seguridad por ocultación, en general, un aspecto característico del software propietario que sin embargo parece ser uno de los responsables de la debilidad de este sistema operativo ya que, la propia seguridad por ocultación, constituye una infracción del principio de Kirchhoff, el cual afirma que la seguridad de un sistema reside en su diseño y no en una supuesta ignorancia del diseño por parte del atacante.

Windows Defender

El 6 de enero de 2005, Microsoft lanzó una versión Beta de Microsoft Antispyware, basado en Giant Antispyware publicado anteriormente. El 14 de febrero de 2006, Microsoft Antispyware se convirtió en Windows Defender con el lanzamiento de la Beta 2. Windows Defender era un programa diseñado para proteger contra spyware y otro software no deseado. Los usuarios de Windows XP y Windows Server 2003 que tienen copias originales de Microsoft Windows pueden descargar libremente el programa desde el sitio web de Microsoft y Windows Defender se suministra como parte de Windows Vista y 7. En Windows 8, Windows Defender y Microsoft Security Essentials se han combinado en un solo programa, denominado Windows Defender. Sus características y la interfaz de usuario se basan en Microsoft Security Essentials. Asimismo, Windows Defender se transformó en un programa antivirus y Spyware. A pesar de que está activada de forma predeterminada, se puede desactivar para utilizar otra solución antivirus.

Permisos de archivos

“IESTPA”

pág. 31 “COMPUTACION E INFORMATICA”

En todas las versiones de Windows con NT 3 se han basado en un sistema de permisos de sistema de archivos denominado AGDLP (cuentas, Global, Local, permisos) AGLP que en esencia donde se aplican los permisos de archivo a la carpeta en forma de un grupo local que luego tiene otros 'grupos globales' como miembros. Estos grupos globales mantienen otros grupos o a usuarios según las diferentes versiones de Windows que utiliza. Este sistema varía de otros productos de proveedores tales como Linux y NetWare debido a la 'estática' asignación de permiso se aplica directorio para el archivo o carpeta. Sin embargo con este proceso de AGLP/AGDLP/AGUDLP permite a un pequeño número de permisos estáticos para aplicarse y permite cambios fáciles a los grupos de cuentas sin volver a aplicar los permisos de archivo de los archivos y carpetas.

3.5.- Aplicaciones

Son aplicaciones que trae preinstaladas el sistema operativo Windows.

Windows 10

Alarmas y reloj

Bing

3D Builder

Cámara

Calendario

Cortana (sólo en algunas regiones e idiomas)

Contactos

Deportes

Edge

Fotos

Grabadora de voz

Imágenes

Juegos

Mapas

Música de Groove

Películas y TV

Tienda Windows

Internet Explorer fue un navegador web de Internet producido por Microsoft para su plataforma Windows. Fue creado en 1995 tras la adquisición por parte de Microsoft del código fuente de Mosaic, un navegador desarrollado por Spyglass, siendo rebautizado entonces como Internet Explorer. Las primeras versiones, basadas en Mosaic, no supusieron ninguna amenaza para el entonces dominante Netscape Navigator, ya que eran bastante simples y no eran compatibles con algunas de las extensiones más populares de Netscape que dominaban la web de la época (como los marcos o JavaScript). Es el navegador de Internet con mayor cuota de mercado, ya que se incluye integrado por defecto con Windows, hecho que le ha costado a Microsoft demandas por monopolio en Europa.

Windows Anytime Upgrade es el método de actualizar Windows incluida en Windows vista y actualmente en Windows 7 y Windows 8, el usuario introduce un código en la aplicación el cual en 10 minutos actualizara a una versión más avanzada de Windows, el pack de actualización se compra a través de Microsoft Store o con el fabricante OEM.

Windows Media Center es una aplicación con una interfaz de usuario, diseñado para servir como equipo personal de cine en casa. Está incluido en Windows XP Media Center Edition como parte de dicha versión especial del sistema operativo, ya que la

“IESTPA”

pág. 32 “COMPUTACION E INFORMATICA”

aplicación no puede ser añadida a una instalación existente de Windows XP. También se incluye en las ediciones superiores de Windows Vista (Vista Home Premium y Vista Ultimate), Windows 7 (todas las ediciones exceptuando Starter y Home Basic) y en Windows 8 Pro.

WordPad es un procesador de textos básico que se incluye con casi todas las versiones de Microsoft Windows desde Windows 95 hacia arriba. Es más avanzado que el Bloc de notas pero más sencillo que el procesador de textos de Microsoft Works y Microsoft Word.

Windows Media Player (conocido en español como "Reproductor de Windows Media") es un reproductor multimedia que permite reproducir música y vídeo de formatos compatibles (.mp3, mp4, waw, wmv, etc.). La última versión de este reproductor ha sido la versión 12. Windows Media Player está incluido en todas las versiones de Windows, incluyendo Windows XP, Windows Vista, Windows 7 y Windows 8.

Paint es un programa simple de dibujo gráfico desarrollado por Microsoft. Su antecesor fue el PaintBrush, incluido desde Windows 1.0 hasta Windows 3.1. Desde entonces, Paint ha acompañado al sistema operativo Microsoft Windows desde Windows 95.

3.6.- Críticas y polémicas

Microsoft fue demandado por el gobierno de Estados Unidos durante el año 1998 por competencia desleal, y especialmente por la inclusión del navegador Internet Explorer en su versión Windows 95. Tras esta denuncia, la pena le conllevó a Microsoft lanzar una versión de Windows 95 sin su navegador de Internet.

En 2004 Microsoft lanzó una campaña, llamada «Get the facts», en la que mostraba cientos de empresas conocidas que migraron de GNU/Linux a Windows Server y aumentaron su productividad y otro tipo de comparativas, aunque la cerró poco después, en 2007. Los defensores de GNU/Linux desarrollaron su propio estudio argumentando que, en contra de uno de los reclamos de Microsoft, GNU/Linux tiene menores costos administrativos que servidores basados en Windows. Otro estudio realizado por el Yankee Group afirma que la actualización desde una versión de Windows Server a otra plataforma tiene un coste inferior al de cambiar de GNU/Linux a Windows Server.

En 2007 Windows Vista tuvo que enfrentarse a pruebas de que su sistema ofertado funcional a partir de 512 MiB requería más de 4 GiB para serlo, ello avalado por un consultor de IBM experto en el sistema. Estando «sobrecargado» de objetos, los cuales hacen que los computadores que actualmente están funcionando con Windows XP no soporten adecuadamente el sistema y no ofrezcan al usuario una experiencia fluida de uso, aunque «si bien es cierto que gracias a características como el Superfetch, ReadyBoost, ReadyDrive y similares el rendimiento de Vista incluso puede llegar a ser superior al de XP en computadores potentes».

Debido al fracaso de Windows Vista, en 2007 Microsoft autorizó a hacer downgrade hacia Windows XP en las versiones Business, Enterprise y Ultimate.

4.- Mac OS

Mac OS (del inglés Macintosh Operating System, en español Sistema Operativo de Macintosh) es el nombre del sistema operativo creado por Apple para su línea

“IESTPA”

pág. 33 “COMPUTACION E INFORMATICA”

de computadoras Macintosh, también aplicado retroactivamente a las versiones anteriores a System 7.6, y que apareció por primera vez en System 7.5.1. Es conocido por haber sido uno de los primeros sistemas dirigidos al gran público en contar con una interfaz gráfica compuesta por la interacción del mouse con ventanas, iconos y menús.

Deliberada a la existencia del sistema operativo en los primeros años de su línea Macintosh en favor de que la máquina resultara más agradable al usuario, diferenciándolo de otros sistemas contemporáneos, como MS-DOS, que eran un desafío técnico. El equipo de desarrollo del Mac OS original incluía a Bill Atkinson, Jef Raskin y Andy Hertzfeld.

Esta fue la base del Mac OS clásico, desarrollado íntegramente por Apple, cuya primera versión vio la luz en 1985. Su desarrollo se extendería hasta la versión 9 del sistema, lanzada en 1999. A partir de la versión 10 (Mac OS X), el sistema cambió su arquitectura totalmente y pasó a basarse en Unix, sin embargo su interfaz gráfica mantiene muchos elementos de las versiones anteriores.

Hay una gran variedad de versiones sobre cómo fue desarrollado el Mac OS original y dónde se originaron las ideas subyacentes. Pese a esto, documentos históricos prueban la existencia de una relación, en sus inicios, entre el proyecto Macintosh y el proyecto Alto de Xerox PARC. Las contribuciones iniciales del Sketchpad de Ivan Sutherland y el On-Line System de Doug Engelbart también fueron significativas.

4.1.- Versiones

Antes de la introducción de los últimos sistemas basados en el microprocesador PowerPC G3, partes significativas del sistema se almacenaban en la memoria física de sólo lectura de la placa base. El propósito inicial de esto fue evitar el uso de la capacidad de almacenamiento limitada de los disquetes de apoyo al sistema, dado que los primeros computadores Macintosh no tenían disco duro. Sólo el modelo Macintosh Classic de 1991, podía ser iniciado desde la memoria ROM. Esta arquitectura también permitió una interfaz de sistema operativo totalmente gráfica en el nivel más bajo, sin la necesidad de una consola de sólo texto o el modo de comandos de línea. Los errores en tiempo de arranque, como la búsqueda de unidades de disco que no funcionaban, se comunicaron al usuario de manera gráfica, generalmente con un icono o con mensajes con el tipo de letre Chicago y un Timbre de la muerte o una serie de pitidos. Esto contrastaba con los PCs de la época, que mostraban tales mensajes con un tipo de letra mono-espaciada sobre un fondo negro, y que requerían el uso del teclado y no de un ratón, para la entrada. Para proporcionar tales detalles en un nivel bajo, el Mac OS dependía de software de la base del sistema grabado en la ROM de la placa base, lo que más tarde ayudó a garantizar que sólo los computadores de Apple o los clones bajo licencia (con el contenido de la memoria ROM protegido por derechos de autor de Apple, pudieran ejecutar el Mac OS).

El Mac OS puede ser dividido en dos familias:

La familia Mac OS Classic, basada en el código propio de Apple Computer.

El Sistema Operativo Mac OS X, desarrollado a partir de la familia Mac OS Classic y NeXTSTEP, el cual estaba basado en UNIX.

4.1.1.- "Classic" Mac OS (1985)

El "Mac OS clásico" se caracteriza por su falta total de una línea de comandos; es un Sistema Operativo completamente de extensiones. Mac OS podría ser un largo proceso de ensayo y error.

“IESTPA”

pág. 34 “COMPUTACION E INFORMATICA”

El Macintosh original utilizaba el Macintosh File System (MFS), un sistema de archivos plano con un solo nivel de carpetas o directorios. Este sistema fue rápidamente reemplazado en 1985 por el HFS, que tenía un verdadero sistema de árbol de directorio. Ambos sistemas de archivos son compatibles.

La mayoría de los sistemas de archivos utilizados con el DOS, Unix u otros sistemas operativos tratan a un archivo como una simple secuencia de bytes, lo que requiere una aplicación para saber qué bytes representan cual tipo de información. Por el contrario, MFS y HFS dan a los archivos dos bifurcaciones. La bifurcación de datos contiene el mismo tipo de información como otros sistemas de archivos, tales como el texto de un documento o los mapas de bits de un archivo de imagen. La bifurcación de recursos contiene otros datos estructurados, tales como las definiciones de menús, gráficos, sonidos o segmentos de código. Un archivo puede consistir sólo de los recursos con de datos vacía, o sólo una bifurcación de datos, sin bifurcación de recursos. Un archivo de texto puede contener su texto en la bifurcación de datos y la información de estilo en la bifurcación de recursos, de modo que una aplicación, que no reconoce la información de estilo, todavía puede leer el texto sin formato. Por otro lado, estas bifurcaciones proporcionan un reto para la interoperabilidad con otros sistemas operativos; el copiado de un archivo desde un sistema Mac a otro diferente, lo despoja de su bifurcación de recursos, requiriendo de sistemas de codificación tales como BinHex y MacBinary.

Las versiones para la plataforma PowerPC de Mac OS X hasta, e incluyendo, Mac OS X v10.4 Tiger no poseen una capa de compatibilidad para ejecutar las aplicaciones más antiguas de Mac, llamada el entorno Classic. Este entorno ejecuta una copia completa del Mac OS, versión 9.1 o posterior, en un proceso de Mac OS X. Los Macintosh basados en la plataforma PowerPC tenían el Mac OS 9.2 preinstalado así como el Mac OS X. El Mac OS 9.2 tuvo que ser instalado por el usuario, puesto que no se instalaba, por defecto, en las revisiones de hardware presentadas tras el lanzamiento de Mac OS X 10.4 Tiger. La mayoría de las aplicaciones "clásicas" bien escritas funciona correctamente en este entorno, pero la compatibilidad sólo se asegura si el software fue escrito sin tener en cuenta el hardware actual, y para interactuar únicamente con el sistema operativo. El Entorno Classic no está disponible en sistemas Macintosh basados en plataformas de Intel, debido a la incompatibilidad del Mac OS 9 con el hardware x86.

Los usuarios del Mac OS Classic en general, actualizaron sus máquinas a Mac OS X, pero muchos criticaron a este último por ser más difícil y menos amigable con el usuario que el original sistema operativo Mac, por la falta de ciertas características que no habían sido re-implementadas en el nuevo sistema operativo, o por ser más lento en el mismo hardware (especialmente el más antiguo) u otros, o incompatibilidades, a veces graves con el antiguo sistema operativo. Debido a que los controladores (para impresoras, escáneres, tabletas, etc), escritos para los antiguos Mac OS no son compatibles con Mac OS X, y debido a la falta de soporte para Mac OS X para máquinas más antiguas de Apple, un número significativo de usuarios de Macintosh sigue utilizando el antiguo Mac OS Clásico. Pero para el año 2005, se había informado que casi todos los usuarios de sistemas capaces de ejecutar Mac OS X lo están haciendo, con sólo una pequeña fracción ejecutando el Mac OS Classic.

En junio de 2005, Steve Jobs anunció en la apertura de la Conferencia Mundial de Desarrolladores de Apple que la empresa haría la transición de la plataforma PowerPC a procesadores Intel y por lo tanto dejaría de lado la compatibilidad de las nuevas máquinas para Mac OS Classic. En la misma conferencia, Jobs anunció kits de transición para desarrolladores que incluían versiones beta del software de Apple, incluyendo Mac OS X que los desarrolladores podían utilizar para probar sus aplicaciones, mientras las transportaban para ejecutarlas en computadores Mac con procesadores Intel. En enero de 2006, Apple lanzó las primeras computadoras Macintosh con procesadores Intel, un iMac y el MacBook Pro, y al mes siguiente, Apple lanzó un mini Mac con un procesador Intel Core Solo y Duo. El 16 de mayo de 2006, Apple lanzó el MacBook, antes de completar la transición a Intel el 7 de agosto con el Mac Pro. Para facilitar la transición para los primeros compradores de las nuevas máquinas, los equipos Mac basados en Intel incluyen una tecnología de emulación llamada Rosetta, que les permite ejecutar software de Mac OS X que fue compilado para sistemas Macintosh basados en PowerPC. Rosetta se ejecuta de

“IESTPA”

pág. 35 “COMPUTACION E INFORMATICA”

forma transparente, creando una experiencia de usuario idéntica a la de ejecutar el software en una máquina PowerPC, aunque la ejecución es más lenta que con código nativo.

4.1.2Mac OS X

Es el sistema operativo más nuevo de Apple. Aunque oficialmente es designado como "version 10" del Mac OS, tiene una historia en gran medida independiente de las versiones anteriores de Mac OS. Es el sucesor del Mac OS 9 y del Mac OS Classic. Se trata de un Sistema Operativo Unix, basado en el sistema operativo NeXTSTEP y el Núcleo Mach que Apple adquirió tras la compra de NeXT, al regresar su director general Steve Jobs a Apple en este momento. Mac OS X también hace uso del código base de BSD. Han existido siete liberaciones significativas de la versión de cliente, siendo la Mac OS X 10.7, conocida como Mac OS X Lion., a fines de julio de 2012, aparece Mac OS X v10.8 (Mountain Lion o Puma),luego aparece Mac OS X v10.9 (Mavericks) y en octubre de 2014 Mac OS X 10.10 (Yosemite) la versión más reciente de este sistema operativo.

Así como las versiones de cliente, Mac OS X también ha tenido seis liberaciones significativas, como una versión de servidor, llamada Mac OS X Server. El primero de ellos, Mac OS X Server 1.0, fue lanzado en versión beta en 1999. Las versiones de servidor son, en arquitectura, idénticas a las versiones de cliente, con la diferencia en la inclusión de herramientas para administración de servidores, incluyendo herramientas para la gestión de sistemas basados en Mac OS X como servidores de grupos de trabajo, servidores de correo y servidores web, entre otras herramientas. Es actualmente el sistema operativo por defecto para el hardware de servidor Xserve, y como característica opcional en el Mac Mini, así como instalable en la mayoría de otros Macs. A diferencia de la versión de cliente, Mac OS X Server se puede ejecutar en una máquina virtual utilizando un software de emulación como Parallels Desktop.

Mac OS X es también la base del iOS, anteriormente conocido como el Sistema Operativo del iPhone, el iPod Touch y eliPad, así como la base para el sistema operativo utilizado en el Apple TV.

4.2.-Proyecto Star Trek

Un aspecto aburrido de la historia del Mac OS clásico fue un prototipo secreto relativamente desconocido en el que Apple comenzó a trabajar en 1992, cuyo nombre en código fue Star Trek. El objetivo de este proyecto era crear una versión de Mac OS que se ejecutara en computadoras personales x86 compatibles con Intel. La intención de la liberación en colaboración con Novell, era proporcionar compatibilidad DOS, en apoyo de las aplicaciones DOS existentes en la plataforma. En ese momento, Novell DOS estaba perdiendo cuota de mercado ya que los clientes se actualizaban a Windows. Una combinación de Mac OS y Novell DOS se consideró una alternativa. El proyecto fue de corta duración, y se canceló sólo un año más tarde a principios de 1993, cuando el nuevo CEO de Apple cambió de estrategia. El equipo fue capaz de hacer que el Macintosh Finder y algunas aplicaciones básicas, como QuickTime, funcionen a la perfección en un PC. Parte del código de este esfuerzo fue reutilizado más tarde cuando se trasladó el Mac OS a PowerPC.

Quince años después del proyecto Star Trek, fue incluido oficialmente el soporte a la arquitectura x86 en el Mac OS, y luego Apple trasladó todas las computadoras de escritorio para la arquitectura x86. Este no fue el resultado de anteriores esfuerzos del Proyecto Star Trek.

4.3.-Emulación del procesador 68000

“IESTPA”

pág. 36 “COMPUTACION E INFORMATICA”

A pesar de que el software Star Trek nunca fue presentado, emuladores de terceros como vMac, Basilisk II, y Executor, han permitido ejecutar el Mac OS Clásico con PC basados en los microprocesadores Intel. Estos programas fueron limitados a emular la serie de procesadores 68000 y la mayoría, como tal, no podía correr las versiones de Mac OS posteriores a la 8.1, que requiere procesadores PowerPC. La mayoría también requiere una "imagen" Mac ROM o una interfaz de hardware de un verdadero Mac ROM. Los que requieren de una imagen son de dudoso valor legal ya que la imagen ROM puede infringir la propiedad intelectual de Apple.

Una excepción notable fue el software comercial Executor de la empresa Abacus Research & Development, el único producto que usó exclusivamente código 100% mediante ingeniería inversa, sin el uso de la tecnología de Apple. Se ejecutaba muy rápido pero nunca logró más allá de un subconjunto menor de funcionalidades. Pocos programas fueron completamente compatibles, y muchos son muy propensos a sufrir fallas si se ejecutaban. Executor llenó un nicho de mercado para transportar aplicaciones Mac 68000 clásico a las plataformas x86. El desarrollo se detuvo en el año 2002 y el código fuente fue liberado por el autor a finales de 2008.

Los emuladores que utilizaban las imágenes Mac ROM ofrecían casi completa compatibilidad con Mac OS y las versiones posteriores ofrecieron un excelente rendimiento mientras el desempeño de los modernos procesadores x86 aumentaba de manera exponencial.

La mayoría de los usuarios de computadoras Macintosh ya había comenzado a cambiarse a la plataforma PowerPC que ofrecía compatibilidad con las versiones del sistema operativo 8.xx y 9.xx junto con soporte de software para el rápido PowerPC. Esto ayudó a facilitar la transición a las aplicaciones solo para PowerPC, mientras los emuladores prematuramente obsoloteos de procesadores 68000 y las aplicaciones para entorno Clásico que ellas soportaban bien, se perfeccionanan lo suficiente como para competir con una verdadera computadora Mac.

4.4.- Emulación de PowerPC

En el momento del desarrollo del emulador 68000, el soporte a PowerPC fue difícil de justificar no sólo debido al código de emulación en sí, sino también el gran rendimiento previsto de una arquitectura emulada de PowerPC frente a una verdadera Mac basada en PowerPC. Esto más tarde probaría ser correcto con el inicio del proyecto PearPC incluso años después, a pesar de la disponibilidad de la 7. ª Y 8. ª Generación de procesadores x86 empleando paradigmas de arquitectura similares a los presentes en PowerPC. Muchos desarrolladores de aplicaciones también crearon y lanzaron versiones para 68000 Classic y PowerPC simultáneamente, ayudando a negar la necesidad de la emulación de PowerPC. Usuarios de Mac con PowerPC que técnicamente podían ejecutar cualquiera de las dos opciones, obviamente eligieron las aplicaciones de PowerPC más rápidas. Pronto Apple ya no vendía Macs basadas en 68000, y la base instalada existente comenzó a evaporarse rápidamente. A pesar de la eventual excelente tecnología de emulación 68000 disponible, probaron nunca ser ni siquiera una amenaza menor a Macs reales debido a su retraso en la llegada de inmadurez incluso varios años después de la salida de Macs basadas en PowerPC mucho más convincentes.

El emulador PearPC es capaz de emular los procesadores PowerPC requeridos por las nuevas versiones de Mac OS (como Mac OS X). Por desgracia, todavía está en sus primeras etapas y, al igual que muchos emuladores, tiende a ser mucho más lento que un sistema operativo nativo.

Durante la transición de PowerPC a los procesadores Intel, Apple se dio cuenta de la necesidad de incorporar un emulador de PowerPC en Mac OS X con el fin de proteger las

“IESTPA”

pág. 37 “COMPUTACION E INFORMATICA”

inversiones de sus clientes en software diseñado para ejecutarse en el PowerPC. La solución de Apple es un emulador llamado Rosetta. Antes del anuncio de Rosetta, los observadores de la industria asumieron que cualquier emulador de PowerPC, corriendo sobre un procesador x86 sufriría una excesiva merma de rendimiento (por ejemplo, PearPC es de bajo rendimiento). Rosetta tiene una merma de rendimiento relativamente menor, por lo que tomó por sorpresa a muchos.

Otro emulador de PowerPC es SheepShaver, que ha estado con nosotros desde 1998 para BeOS en la plataforma PowerPC pero en 2002 fue convertido a código abierto con el fin de conseguir que fuera ejecutable en otras plataformas. Originalmente no estaba diseñado para su uso en plataformas x86 y requiería un procesador PowerPC real presente en la máquina en que se ejecutaba de manera similar a un hypervisor. A pesar de que proporciona soporte al procesador PowerPC, sólo puede ejecutar hasta Mac OS 9.0.4, ya que no emula una unidad de manejo de memoria.

Otros ejemplos son ShapeShifter (por el mismo programador que concibió SheepShaver), Fusion y iFusion. Este último corrió el Mac OS clásico con una tarjeta aceleradora "coprocesador" PowerPC. El uso de este método se ha dicho que iguala o mejora la velocidad de un equipo Macintosh con el mismo procesador, en especial con respecto a la serie m68kdebido a Macs reales ejecutándose en modo de desvío de MMU, obstaculizando el desempeño.

4.5.-Clones de Macintosh

A pesar de lo que comunmente se cree Apple llegó a licenciar su sistema operativo para que otros fabricantes hicieran "Mac compatibles". Varios fabricantes llegaron a fabricar clones de Macintosh capaces de ejecutar Mac OS, en particular Power Computing, UMAX y Motorola. Estas máquinas ejecutaron varias versiones del sistema operativo clásico de Mac. Una de las primeras cosas que hizo Steve Jobs a su vuelta a Apple en 1997 fue cerrar el programa de licencias de forma que de nuevo Apple fue fabricante propietario de HW y SW de su plataforma como lo había sido antes.

En 2008 el fabricante estadounidense Psystar Corporation anunció un ordenador de bajo coste (499 USD) que ejecutaba Mac OS X 10.5 Leopard. Amenazados por las batallas legales, Psystar denominó a su sistema OpenMac y posteriormente Open Computer. Actualmente Apple sigue en litigio con esta compañía a la que pretende hacer pagar por daños y perjuicios, por cada clon vendido y por los costes de la batalla legal.

En 2009 el fabricante HyperMegaNet UG lanzó un ordenador "Macintosh Compatible" bajo la marca comercial PearCbasándose en el hecho de que la licencia de software no puede aceptarse al no poder ser leída antes de adquirir el producto puesto que se encuentra dentro de la caja en la que viene el ordenador por lo que la parte que apela a la no instalación de OS X en hardware que no sea Apple es nula a todos los efectos, al menos en Alemania.

También de forma no legal hay modificaciones de OS X que permiten su ejecución nativa en sobre determinados modelos de PC, lo que es denominado Hackintosh

5.- GNU/Linux

GNU/Linux es uno de los términos empleados para referirse a la combinación del núcleo o kernel libre similar a Unix denominado Linux con el sistema operativo GNU. Su desarrollo es uno de los ejemplos más prominentes de software libre; todo su código fuente puede ser utilizado, modificado y redistribuido libremente por cualquiera bajo los términos de la GPL (Licencia Pública General de GNU, en inglés: General Public License) y otra serie de licencias libres.

“IESTPA”

pág. 38 “COMPUTACION E INFORMATICA”

A pesar de que "Linux" se denomina en la jerga cotidiana al sistema operativo, este es en realidad sólo el Kernel (núcleo) del sistema. La verdadera denominación del sistema operativo es "GNU/Linux" debido a que el resto del sistema (la parte fundamental de la interacción entre el hardware y el usuario) se maneja con las herramientas del proyecto GNU (www.gnu.org) y con entornos de escritorio (como GNOME), que también forma parte del proyecto GNU aunque tuvo un origen independiente. Como el Proyecto GNU destaca, GNU es una distribución, usándose el término sistema operativo en el sentido empleado en el ecosistema Unix, lo que en cualquier caso significa que Linux es solo una pieza más dentro de GNU/Linux. Sin embargo, una parte significativa de la comunidad, así como muchos medios generales y especializados, prefieren utilizar el término Linux para referirse a la unión de ambos proyectos. Para más información consulte la sección "Denominación GNU/Linux" o el artículo "Controversia por la denominación GNU/Linux".

A las variantes de esta unión de programas y tecnologías, a las que se les adicionan diversos programas de aplicación de propósitos específicos o generales se las denomina distribuciones. Su objetivo consiste en ofrecer ediciones que cumplan con las necesidades de un determinado grupo de usuarios. Algunas de ellas son especialmente conocidas por su uso en servidores y supercomputadoras. Donde tiene la cuota más importante del mercado. Según un informe de IDC, GNU/Linux es utilizado por el 78% de los principales 500 servidores del mundo, otro informe le da una cuota de mercado de 89% en los 500 mayores supercomputadores. Con menor cuota de mercado el sistema GNU/Linux también es usado en el segmento de las computadoras de escritorio, portátiles, computadoras de bolsillo, teléfonos móviles, sistemas embebidos, videoconsolas y otros dispositivos.

5.1.- Etimología

El acrónimo recursivo GNU, GNU's Not Unix (GNU no es Unix), proviene de las herramientas básicas de sistema operativo creadas por el proyecto GNU, iniciado por Richard Stallman en 1983 y mantenido por la FSF. El nombre Linux viene delnúcleo Linux, inicialmente escrito por Linus Torvalds en 1991.

La contribución de GNU es la razón por la que existe controversia siempre y cuando a la hora de utilizar Linux o GNU/Linuxpara referirse al sistema operativo formado por las herramientas de GNU y el núcleo Linux en su conjunto.

5.2.- Historia

El proyecto GNU, que se inició en 1983 por Richard Stallman; tiene como objetivo el desarrollo de un sistema operativo Unix completo y compuesto enteramente de software libre. La historia del núcleo Linux está fuertemente vinculada a la del proyecto GNU. En1991 Linus Torvalds empezó a trabajar en un reemplazo no comercial para MINIX que más adelante acabaría siendo Linux.

Cuando Torvalds liberó 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 llamadoHurd, y este aún no era lo suficiente maduro para usarse, comenzaron a usar a Linux

“IESTPA”

pág. 39 “COMPUTACION E INFORMATICA”

a modo de continuar desarrollando el proyecto GNU, siguiendo la tradicional filosofía de mantener cooperatividad entre desarrolladores. El día en que se estime que Hurd es suficiente maduro y estable, será llamado a reemplazar a Linux.

Entonces, el núcleo creado por Linus Torvalds, quien se encontraba por entonces estudiando la carrera de Ingeniería Informática en la Universidad de Helsinki, llenó el "espacio" final que había en el sistema operativo de GNU.

5.3.-Componentes

5.3.1.- Entorno gráfico

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: GNOME, KDE SC, LXDE y Xfce. En dispositivos móviles se encuentra Android, que funciona sobre el núcleo Linux, pero no usa las herramientas GNU. Intel anunció productos de consumo basados en Mee Go para mediados del 2011, por lo que es probable que este entorno tenga también una creciente importancia en los próximos años.

5.3.2.- 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, 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 deshell, o el de procesado de textos por patrones y expresiones regulares llamado awk, la mayoría de las distribuciones tienen instalado Python, Perl, PHP y Ruby.

5.3.3.- 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.

5.3.4.- Software de código cerrado para GNU/Linux

Durante la etapa temprana había pocas aplicaciones de código cerrado para GNU/Linux. Con el tiempo se fueron portando programas no libres al sistema GNU/Linux, entre ellos Adobe Reader, Adobe Flash, Opera, entre otros.

5.4.- Empresas que patrocinan su uso

Con la adopción por numerosas empresas fabricantes, un buen número de computadoras se venden con distribuciones preinstaladas, y GNU/Linux ha comenzado a tomar su lugar en el vasto mercado de las computadoras de escritorio.

“IESTPA”

pág. 40 “COMPUTACION E INFORMATICA”

Algunas de las empresas que colaboran en la difusión de este sistema operativo ya sea trabajando en el núcleo Linux, proporcionando soluciones de software o preinstalando el sistema operativo, son: Intel , Google, IBM, AMD, Sun Microsystems, Dell, Lenovo,Asus, Hewlett-Packard (HP), Silicon Graphics International(SGI), Renesas Technology, Fujitsu, Analog Devices, Freescale, VIA Technologies, Oracle, Novell y RedHat, entre otras.

El respaldo de compañías de software también está presente, ya que, entre otras aplicaciones, Nero, Java, Google Earth,Google Desktop, Adobe Reader, Adobe Flash, RealPlayer y Yahoo! Messenger están disponibles para GNU/Linux. Al haber software equivalente, es innecesario instalar los precisamente mencionados con anterioridad.

5.5.-Cuota de mercado

Numerosos estudios cuantitativos sobre software de código abierto están orientados a temas como la cuota de mercado y la fiabilidad, y ciertamente muchos de estos estudios examinan específicamente a GNU/Linux.

La medición "cuota de mercado" puede resultar inservible ya que es un concepto basado en ventas comerciales (unidades materiales vendidas). Por otro lado Linux es utilizado frecuentemente en servidores con acceso público desde Internet por lo que la cuota de mercado es extremadamente inferior a la cuota de uso. Baste notar, p.ej, que Facebook, Gmail, LinkedIn o Yahoo funcionan sobre servidores GNU/Linux, de forma que aun cuando estemos accediendo desde un navegador ejecutándose en Windows/Mac, la aplicación real se está ejecutando en servidores Linux y los datos están almacenándose igualmente en dichos servidores.

Hay varias empresas que comercializan soluciones basadas en GNU/Linux: IBM, Novell (SuSE), Red Hat (RHEL), Mandriva(Mandriva Linux), Rxart, Canonical Ltd. (Ubuntu), así como miles de PYMES que ofrecen productos o servicios basados en esta tecnología.

5.6.- Aplicaciones

5.6.1.- 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.

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

“IESTPA”

pág. 41 “COMPUTACION E INFORMATICA”

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.

Para saber más sobre las arquitecturas soportadas, lea el artículo "Portabilidad del núcleo Linux y arquitecturas soportadas".

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 iOS de Apple.

5.7.- Administración Pública

Hay una serie de administraciones públicas que han mostrado su apoyo al software libre, sea migrando total o parcialmente sus servidores y sistemas de escritorio, sea subvencionándolo. Como ejemplos se tiene a Alemania,Argentina, Australia, Brasil, España, Chile, China, Cuba, México, Perú, República Dominicana, Ecuador, El Salvador, Uruguay y Venezuela.

5.8.- Fuerzas Armadas

El sistema operativo del General Atomics MQ-1 Predator está basado en GNU/Linux,46 así como el del Boeing P-8 Poseidon.

5.9.-Denominación GNU/Linux

Parte de la comunidad y numerosos medios prefieren denominar a esta combinación como Linux, aunque GNU/Linux (con las variantes GNU con Linux y GNU+Linux) es la denominación defendida por el Proyecto GNU y la FSF junto con otros desarrolladores y usuarios para el conjunto que utiliza el sistema operativo Linux en conjunto con las aplicaciones de sistema creadas por el proyecto GNU y por muchos otros proyectos de software.

Desde 1984, Richard Stallman y muchos voluntarios están intentando crear un sistema operativo libre con un funcionamiento similar al UNIX, recreando todos los componentes necesarios para tener un sistema operativo funcional. A comienzos de los años 90, unos seis años desde el inicio del proyecto, GNU tenía muchas herramientas importantes listas, como editores de texto, compiladores, depuradores, intérpretes de comandos de órdenes etc., excepto por el componente central: el núcleo.

GNU tiene su propio proyecto de núcleo, llamado Hurd. Sin embargo, su desarrollo no continuó como se esperaba al aparecer el núcleo Linux. De esta forma se completaron los requisitos mínimos y surgió el sistema operativo GNU que utilizaba el núcleo Linux.

El principal argumento de los defensores de la denominación GNU/Linux es resolver la posible confusión que se puede dar entre el núcleo (Linux) y gran parte de las herramientas básicas del resto del sistema operativo (GNU), y del sistema completo que usualmente se usa como combinación de GNU, Linux, y otros proyectos de software. Además, también se

“IESTPA”

pág. 42 “COMPUTACION E INFORMATICA”

espera que con el uso del nombre GNU, se dé al proyecto GNU el reconocimiento por haber creado las herramientas de sistema imprescindibles para ser un sistema operativo compatible con UNIX, y se destaque la cualidad de estar compuesto sólo por software libre. La primera distribución que incluyó el GNU en su nombre fue Yggdrasyl en 1992, donde aparecía como Linux/GNU/X. La FSF denominó a este sistema "Linux" hasta al menos junio de 1994 y recién a partir de enero de 1995 empezó a llamarlo "GNU/Linux" (también GNU+Linux y lignux, términos que han caído en desuso a instancias del propio Stallman).

Algunas distribuciones apoyan esta denominación, e incluyen GNU/Linux en sus nombres, como Debian GNU/Linux o GNU/LinEx, mientras que otras, como Slackware, Gentoo oUbuntu, eligen denominarse basadas en Linux.

En ocasiones, el proyecto KDE ha utilizado una tercera denominación: GNU/Linux/X para enfatizar los tres proyectos sobre los que se apoya su entorno de escritorio.

6.- Sistema operativo móvil

“IESTPA”

pág. 43 “COMPUTACION E INFORMATICA”

Un sistema operativo móvil o SO móvil es un sistema operativo que controla un dispositivo móvil al igual que los PCs utilizan Windows o Linux entre otros. Sin embargo, los sistemas operativos móviles son mucho más simples y están más orientados a la conectividad inalámbrica, los formatos multimedia para móviles y las diferentes maneras de introducir información en ellos.

Algunos de los sistemas operativos utilizados en los dispositivos móviles están basados en el modelo de capas.

6.1.-Capas

6.1.1Kernel

El núcleo o kernel 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.

6.1.2.- Middleware

El 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, códecsmultimedia, intérpretes de páginas web, gestión del dispositivo y seguridad.

6.1.3.-Entorno de ejecución de aplicaciones

El entorno de ejecución de aplicaciones consiste en un gestor de aplicaciones y un conjunto de interfaces programables abiertas y programables por parte de los desarrolladores para facilitar la creación de software.

5.1.4.-Interfaz de usuario

“IESTPA”

pág. 44 “COMPUTACION E INFORMATICA”

Las interfaces de usuario facilitan 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.

Aparte de estas capas también existe una familia de aplicaciones nativas del teléfono que suelen incluir los menús, el marcador de números de teléfono etc...

5.2.- Mercado

A medida que los teléfonos móviles crecen en popularidad, los sistemas operativos con los que funcionan adquieren mayor importancia. La cuota de mercado de sistemas operativos móviles en el segundo trimestre de 2014 era el siguiente:1

1. Android 84,7 % (en países como España las diferencias son más significativas, donde Android tiene el 90,8 % de la cuota de mercado.2 )

2. iOS 11,7 %

3. Windows Phone 2,5 %

4. BlackBerry OS 0,5 %

5. Otros 0,6 %

6. Firefox OS Disponible

7. Ubuntu Touch Disponible

Android tiene la mayor cuota, desde enero 2011, con más de la mitad del mercado, experimentó un creciente aumento y en solo dos años (2009 a comienzos de 2011) ha pasado a ser el SO móvil más utilizado.

5.3.-Sistemas Operativos Móviles

Android

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 como los teléfonos inteligentes y luego en tablets como es el caso del Galaxy Tab de Samsung , actualmente se encuentra en desarrollo para usarse en netbooks y PCs, el desarrollador de este S.O. es Google, fue anunciado en el 2007 y liberado en el 2008; además de la creación de la Open Handset Alliance, compuesto por 78 compañías de hardware, software y telecomunicaciones dedicadas al desarrollo de estándares abiertos para celulares, esto le

“IESTPA”

pág. 45 “COMPUTACION E INFORMATICA”

ha ayudado mucho a Google a masificar el S.O, hasta el punto de ser usado por empresas como HTC, LG, Samsung, Motorola entre otros.

Android Inc., es la empresa que creó el sistema operativo móvil, se fundó en 2003 y fue comprada por Google en el 2005 y 2007 fue lanzado al mercado. Su nombre se debe a su inventor, Andy Rubin. Originalmente era un sistema pensado para las cámaras digitales.

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.

Las aplicaciones para Android se escriben y desarrollan en Java aunque con unas APIS propias por lo que las aplicaciones escritas en Java para PC y demás plataformas ya existentes no son compatibles con este sistema.

Una de las grandes cualidades o características de este sistema operativo es su carácter abierto. Android se distribuye bajo dos tipos de licencias, una que abarca todo el código del Kernel y que es GNU GPLv2 ( implica que su código se debe poner al alcance de todos y que todos podremos hacer con este código lo que nos parezca oportuno, modificarlo, ampliarlo, recortarlo, pero siempre estaremos en la obligación de volver a licenciarlo con las misma licencia) Google también por supuesto tiene otra licencia para el resto de componentes del sistema que se licencia bajo APACHE v2 (implica que este código se pueda distribuir para ser modificado y usado a antojo del que lo utilice, pero a diferencia del primer caso, las modificaciones y el código resultante no es obligatorio el licenciarlo bajo las mismas condiciones en las que se encontraba).

5.3.1.- IOS

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 un hardware más potente para mover con fluidez el sistema operativo. Cada año, Apple lanza una gran actualización de iOS que suele traer características exclusivas para los dispositivos más punteros que estén a la venta en ese momento.

Anteriormente denominado iPhone OS creado por Apple originalmente para el iPhone, siendo después usado en el iPod Touch e iPad. Es un derivado de Mac OS X, se lanzó en el año 2007, aumento el interés con el iPod Touch e iPad que son dispositivos con las capacidades multimedia del iPhone pero sin la capacidad de hacer llamadas telefónicas, en si su principal revolución es una combinación casi perfecta entre hardware y software, el manejo de la pantalla multi-táctil que no podía ser superada por la competencia hasta el lanzamiento del celular Galaxy S I y II por parte de Samsung.

5.3.2.- Windows Phone

Anteriormente llamado Windows Mobile es un S.O. móvil compacto desarrollado por Microsoft, se basa en el núcleo del sistema operativo Windows CE y cuenta con un conjunto de aplicaciones básicas, actualmente va por la versión 10. Está diseñado para ser similar a las versiones de escritorio de Windows estéticamente y existe una gran oferta de software de terceros disponible para Windows Mobile, la cual se puede adquirir a través de la tienda en línea Windows Marketplace for Mobile S

6.- Android

“IESTPA”

pág. 46 “COMPUTACION E INFORMATICA”

Android es un sistema operativo basado en el núcleo Linux. Fue diseñado principalmente para dispositivos móviles con pantalla táctil, como teléfonos inteligentes o tablets; y también para relojes inteligentes, televisores yautomóviles. Inicialmente fue desarrollado por Android Inc., empresa queGoogle respaldó económicamente y más tarde, en 2005, compró.9 Android fue presentado en 2007 junto la fundación del Open Handset Alliance (un consorcio de compañías de hardware, software y telecomunicaciones) para avanzar en los estándares abiertos de los dispositivos móviles. El primer móvil con el sistema operativo Android fue el HTC Dream y se vendió enoctubre de 2008.11 Los dispositivos de Android venden más que las ventas combinadas de Windows Phone e IOS aunque la gran mayoría de beneficios se los queda iOS.

El éxito del sistema operativo se ha convertido en objeto de litigios sobre patentes en el marco de las llamadas «Guerras por patentes de teléfonos inteligentes» (en inglés, Smartphone patent wars) entre las empresas de tecnología. Según documentos secretos filtrados en 2013 y 2014, el sistema operativo es uno de los objetivos de las agencias de inteligenciainternacionales.

La versión básica de Android es conocida como Android Open Source Project (AOSP).

El 25 de junio de 2014 en la Conferencia de Desarrolladores Google I/O,Google mostró una evolución de la marca Android, con el fin de unificar tanto el hardware como el software y ampliar mercados. Para ello mostraron nuevos productos como Android TV, Android Auto, Android Wear o una serie de "smartphones" de baja gama bajo el nombre deAndroid One. Esto sirvió para estabilizar la imagen de la marca de cara a los mercados y al público.

6.1.- Historia

En octubre de 2003, en la localidad de Palo Alto, Andy Rubin, Rich Miner, Chris White y Nick Sears fundan Android Inc. con el objetivo de desarrollar un sistema operativo para móviles basado en Linux. En julio de 2005, la multinacional Google compra Android Inc. El 5 de noviembre de 2007 se crea la Open Handset Alliance, un conglomerado de fabricantes y desarrolladores de hardware, software y operadores de servicio. El mismo día se anuncia la primera versión del sistema operativo: Android 1.0 Apple Pie. Los terminales con Android no estarán disponibles hasta el año 2008.

Las unidades vendidas de teléfonos inteligentes con Android se ubican en el primer puesto en los Estados Unidos, en el segundo y tercer trimestres de 2010, con una cuota de mercado de 43,6% en el tercer trimestre. A escala mundial alcanzó una cuota de mercado del 50,9% durante el cuarto trimestre de 2011, más del doble que el segundo sistema operativo (iOS de Apple, Inc.)

Tiene una gran comunidad de desarrolladores creando aplicaciones para extender la funcionalidad de los dispositivos. A la fecha, se ha llegado ya al 1.000.000 de aplicaciones disponibles para la tienda de aplicaciones oficial de Android: Google Play, sin tener en cuenta aplicaciones de otras tiendas no oficiales para Android como la tienda de aplicaciones Samsung Apps de Samsung, slideme de java y amazon appstore. Google Play es la tienda de aplicaciones en línea administrada por Google, aunque existe la posibilidad de obtener software externamente. La tienda F-Droid es completamente de código abierto así como sus aplicaciones, una alternativa al software privativo. Los programas están escritos en el lenguaje de programaciónJava.26 No obstante, no es un sistema operativo libre de malware, aunque la mayoría de ello es descargado de sitios de terceros.27

“IESTPA”

pág. 47 “COMPUTACION E INFORMATICA”

El anuncio del sistema Android se realizó el 5 de noviembre de 2007 junto con la creación de la Open Handset Alliance, un consorcio de 78 compañías de hardware, software y telecomunicaciones dedicadas al desarrollo de estándares abiertos para dispositivos móviles.28 29 Google liberó la mayoría del código de Android bajo la licencia Apache, una licencia libre y de código abierto.30

La estructura del sistema operativo Android se compone de aplicaciones que se ejecutan en un framework Java de aplicaciones orientadas a objetos sobre el núcleo de las bibliotecas de Java en una máquina virtual Dalvik con compilación en tiempo de ejecución. Las bibliotecas escritas en lenguaje C incluyen un administrador de interfaz gráfica (surface manager), un framework OpenCore, una base de datos relacionalSQLite, una Interfaz de programación de API gráfica OpenGL ES 2.0 3D, un motor de renderizado WebKit, un motor gráfico SGL, SSL y una biblioteca estándar de C Bionic. El sistema operativo está compuesto por 12 millones de líneas de código, incluyendo 3 millones de líneas de XML, 2,8 millones de líneas de lenguaje C, 2,1 millones de líneas de Java y 1,75 millones de líneas de C++.

6.2.- Etimología

Tanto el nombre Android (androide en español) como Nexus One hacen alusión a la novela de Philip K. Dick ¿Sueñan los androides con ovejas eléctricas?, que posteriormente fue adaptada al cine comoBlade Runner. Tanto el libro como la película se centran en un grupo de androides llamados replicantes del modelo Nexus-6.

El logotipo es el robot "Andy".

6.3.- Adquisición por parte de Google

En julio de 2005, Google adquirió Android Inc., una pequeña compañía de Palo Alto, California fundada en 2003Entre los cofundadores de Android que se fueron a trabajar a Google están Andy Rubin (co-fundador de Danger), Rich Miner (co-fundador de Wildfire Communications, Inc.), Nick Sears (alguna vez VP en T-Mobile), y Chris White (quien encabezó el diseño y el desarrollo de la interfaz en WebTV). En aquel entonces, poco se sabía de las funciones de Android Inc. fuera de que desarrollaban software para teléfonos móviles. Esto dio pie a rumores de que Google estaba planeando entrar en el mercado de los teléfonos móviles.

En Google, el equipo liderado por Rubin desarrolló una plataforma para dispositivos móviles basada en el núcleo Linux que fue promocionado a fabricantes de dispositivos y operadores con la promesa de proveer un sistema flexible y actualizable. Se informó que Google había alineado ya una serie de fabricantes de hardware y software y señaló a los operadores que estaba abierto a diversos grados de cooperación por su parte.

La especulación sobre que el sistema Android de Google entraría en el mercado de la telefonía móvil se incrementó en diciembre de 2006. Reportes de BBC y The Wall Street Journal señalaron que Google quería sus servicios de búsqueda y aplicaciones en teléfonos móviles y estaba muy empeñado en ello. Medios impresos y en línea pronto reportaron que Google estaba desarrollando un teléfono con su marca.

En septiembre de 2007, «InformationWeek» difundió un estudio de Evalueserve que reportaba que Google había solicitado diversas patentes en el área de la telefonía móvil.

5.4,.Open Handset Alliance

El 5 de noviembre de 2007 la Open Handset Alliance, un consorcio de varias compañías entre las que están Texas Instruments, Broadcom Corporation, Nvidia, Qualcomm, Samsung Electronics, Sprint Nextel, Intel, LG, Marvell Technology Group, Motorola, y T-Mobile; se estrenó con el fin de desarrollar estándares abiertos para dispositivos móviles. Junto con la formación de la Open Handset Alliance, la OHA estrenó su primer producto, Android, una plataforma para dispositivos móviles construida sobre la versión 2.6 de Linux.

El 9 de diciembre de 2008, se anunció que 15 nuevos miembros se unirían al proyecto Android, incluyendo PacketVideo,ARM Holdings, Atheros Communications,

“IESTPA”

pág. 48 “COMPUTACION E INFORMATICA”

Asustek, Garmin, Softbank, Sony Ericsson, Huawei, Toshiba, Vodafone y ZTE.

El 24 de febrero de 2014 Nokia presentó sus teléfonos inteligentes corriendo Android 4.1 "Jelly Bean" (aunque corriendo una versión propia, tomando la base de AOSP). Se trata de los Nokia X, X+ y XL.

6.5.- Historial de actualizaciones

Android ha visto numerosas actualizaciones desde su liberación inicial. Estas actualizaciones al sistema operativo base típicamente arreglan bugs y agregan nuevas funciones. Generalmente cada actualización del sistema operativo Android es desarrollada bajo un nombre en código de un elemento relacionado con dulces en orden alfabético.

La reiterada aparición de nuevas versiones que, en muchos casos, no llegan a funcionar correctamente en el hardware diseñado para versiones previas, hacen que Android sea considerado uno de los elementos promotores de la obsolescencia programada.

Android ha sido criticado muchas veces por la fragmentación que sufren sus terminales al no ser soportado con actualizaciones constantes por los distintos fabricantes. Se creyó que esta situación cambiaría tras un anuncio de Google en el que comunicó que los fabricantes se comprometerán a aplicar actualizaciones al menos 18 meses desde su salida al mercado, pero esto al final nunca se concretó y el proyecto se canceló. Google actualmente intenta enmendar el problema con su plataforma actualizable Servicios de Google Play (que funciona en Android 2.2 y posteriores), separando todas las aplicaciones posibles del sistema (como Maps, el teclado, Youtube, Drive, e incluso la propia Play Store) para poder actualizarlas de manera independiente, e incluyendo la menor cantidad posible de novedades en las nuevas versiones de Android.

6.6.- Características

Características y especificaciones actuales:

Diseño de dispositivo

La plataforma es adaptable a pantallas de mayor resolución, VGA, biblioteca de gráficos 2D, biblioteca de gráficos 3D basada en las especificaciones de la OpenGL ES 2.0 y diseño de teléfonos tradicionales.

Almacenamiento SQLite, una base de datos liviana, que es usada para propósitos de almacenamiento de datos.

Conectividad

Android soporta las siguientes tecnologías de conectividad: GSM/EDGE, IDEN, CDMA, EV-DO,UMTS, Bluetooth, Wi-Fi, LTE, HSDPA, HSPA+,NFC y WiMAX.GPRS,UMTS y HSDPA+.

Mensajería SMS y MMS son formas de mensajería, incluyendo mensajería de texto y ahora la Android Cloud to Device Messaging Framework (C2DM) es parte del servicio de Push Messaging de Android.

Navegador web El navegador web incluido en Android está basado en el motor de renderizado de código abierto WebKit, emparejado con el motor

“IESTPA”

pág. 49 “COMPUTACION E INFORMATICA”

JavaScript V8 de Google Chrome. El navegador por defecto de Ice Cream Sandwich obtiene una puntuación de 100/100 en el test Acid3.

Soporte de Java

Aunque la mayoría de las aplicaciones están escritas en Java, no hay una máquina virtual Java en la plataforma. El bytecode Java no es ejecutado, sino que primero se compila en un ejecutable Dalvik y corre en la Máquina Virtual Dalvik. Dalvik es una máquina virtual especializada, diseñada específicamente para Android y optimizada para dipositivos móviles que funcionan con batería y que tienen memoria y procesador limitados. El soporte para J2ME puede ser agregado mediante aplicaciones de terceros como el J2ME MIDP Runner.50

Soporte multimedia

Android soporta los siguientes formatos multimedia: WebM, H.263, H.264 (en 3GP oMP4), MPEG-4 SP, AMR, AMR-WB (en un contenedor 3GP), AAC, HE-AAC (en contenedores MP4 o 3GP), MP3, MIDI, Ogg Vorbis, WAV, JPEG, PNG, GIF y BMP.49

Soporte para streaming

Streaming RTP/RTSP (3GPP PSS, ISMA), descarga progresiva de HTML (HTML5 <video> tag). Adobe Flash Streaming (RTMP) es soportado mediante el Adobe Flash Player. Se planea el soporte de Microsoft Smooth Streaming con el port de Silverlight a Android. Adobe Flash HTTP Dynamic Streaming estará disponible mediante una actualización de Adobe Flash Player.

Soporte para hardware adicional

Android soporta cámaras de fotos, de vídeo, pantallas táctiles, GPS, acelerómetros, giroscopios, magnetómetros, sensores de proximidad y de presión, sensores de luz, gamepad, termómetro, aceleración por GPU 2D y 3D.

Entorno de desarrollo

Incluye un emulador de dispositivos, herramientas para depuración de memoria y análisis del rendimiento del software. Inicialmente el entorno de desarrollo integrado (IDE) utilizado era Eclipse con el plugin de Herramientas de Desarrollo de Android (ADT). Ahora se considera como entorno oficial Android Studio, descargable desde la página oficial de desarrolladores de Android.

Google Play Google Play es un catálogo de aplicaciones gratuitas o de pago en el que pueden ser descargadas e instaladas en dispositivos Android sin la necesidad de un PC.

Multi-táctil

Android tiene soporte nativo para pantallas capacitivas con soporte multi-táctil que inicialmente hicieron su aparición en dispositivos como el HTC Hero. La funcionalidad fue originalmente desactivada a nivel de kernel (posiblemente para evitar infringir patentes de otras compañías).51 Más tarde, Google publicó una actualización para

“IESTPA”

pág. 50 “COMPUTACION E INFORMATICA”

el Nexus One y elMotorola Droid que activa el soporte multi-táctil de forma nativa.52

Bluetooth

El soporte para A2DF y AVRCP fue agregado en la versión 1.5;53 el envío de archivos (OPP) y la exploración del directorio telefónico fueron agregados en la versión 2.0;54 y el marcado por voz junto con el envío de contactos entre teléfonos lo fueron en la versión 2.2.</ref> Los cambios incluyeron:55

Videollamada Android soporta videollamada a través de Hangouts (ex-Google Talk) desde su versión HoneyComb.

Multitarea Multitarea real de aplicaciones está disponible, es decir, las aplicaciones que no estén ejecutándose en primer plano reciben ciclos de reloj.

Características basadas en voz

La búsqueda en Google a través de voz está disponible como "Entrada de Búsqueda" desde la versión inicial del sistema.56

Tethering

Android soporta tethering, que permite al teléfono ser usado como un punto de acceso alámbrico o inalámbrico (todos los teléfonos desde la versión 2.2, no oficial en teléfonos con versión 1.6 o inferiores mediante aplicaciones disponibles en Google Play (por ejemplo PdaNet). Para permitir a un PC usar la conexión de datos del móvil android se podría requerir la instalación de software adicional.57

6.7.-Arquitectura

Los componentes principales del sistema operativo de Android (cada sección se describe en detalle):

Aplicaciones: las aplicaciones base incluyen un cliente de correo electrónico, programa de SMS, calendario, mapas, navegador, contactos y otros. Todas las aplicaciones están escritas en lenguaje de programación Java.

Marco de trabajo de aplicaciones: los desarrolladores tienen acceso completo a los mismos APIs del framework usados por las aplicaciones base. La arquitectura está diseñada para simplificar la reutilización de componentes; cualquier aplicación puede publicar sus capacidades y cualquier otra aplicación puede luego hacer uso de esas capacidades (sujeto a reglas de seguridad del framework). Este mismo mecanismo permite que los componentes sean reemplazados por el usuario.

Bibliotecas: Android incluye un conjunto de bibliotecas de C/C++ usadas por varios componentes del sistema. Estas características se exponen a los desarrolladores a través del marco de trabajo de aplicaciones de Android; algunas son: System C library (implementación biblioteca C estándar), bibliotecas de medios, bibliotecas de gráficos, 3D y SQLite, entre otras.

Runtime de Android: Android incluye un set de bibliotecas base que proporcionan la mayor parte de las funciones disponibles en las bibliotecas base del lenguaje Java. Cada aplicación Android corre su propio proceso, con su propia instancia de la máquina virtual

“IESTPA”

pág. 51 “COMPUTACION E INFORMATICA”

Dalvik. Dalvik ha sido escrito de forma que un dispositivo puede correr múltiples máquinas virtuales de forma eficiente. Dalvik ejecuta archivos en el formato Dalvik Executable (.dex), el cual está optimizado para memoria mínima. La Máquina Virtual está basada en registros y corre clases compiladas por el compilador de Java que han sido transformadas al formato. dex por la herramienta incluida "dx".

Núcleo Linux: Android depende de Linux para los servicios base del sistema como seguridad, gestión de memoria, gestión de procesos, pila de red y modelo de controladores. El núcleo también actúa como una capa de abstracción entre el hardware y el resto de la pila de software.

6.8.- Seguridad, privacidad y vigilancia

Según un estudio de Symantec de 2013, demuestra que en comparación con iOS, Android es un sistema explícitamente menos vulnerable. El estudio en cuestión habla de 13 vulnerabilidades graves para Android y 387 vulnerabilidades graves para iOS. El estudio también habla de los ataques en ambas plataformas, en este caso Android se queda con 113 ataques nuevos en 2012 a diferencia de iOS que se queda en 1 solo ataque. Aun así Google y Apple se empeñan cada vez más en hacer sus sistemas operativos más seguros incorporando más seguridad tanto en sus sistemas operativos como en sus mercados oficiales.

Se han descubierto ciertos comportamientos en algunos dispositivos que limitan la privacidad de los usuarios, de modo similar a iPhone, pero ocurre al activar la opción «Usar redes inalámbricas» en el menú «Ubicación y seguridad», avisando que se guardarán estos datos, y borrándose al desactivar esta opción, pues se usan como caché y no como log tal como hace iPhone.

Como parte de las amplias revelaciones sobre vigilancia masiva filtradas en 2013 y 2014, se descubrió que las agencias de inteligencia estadounidenses y británicas, la Agencia de Seguridad Nacional (NSA) y el Cuartel General de Comunicaciones del Gobierno (GCHQ), respectivamente, tienen acceso a los datos de los usuarios de dispositivos Android. Estas agencias son capaces de leer casi toda la información del teléfono como SMS, geolocalización, correos, notas o mensajes.60 Documentos filtrados en enero de 2014, revelaron que las agencias interceptan información personal a través de Internet, redes sociales y aplicaciones populares, como Angry Birds, que recopilan información para temas comerciales y de publicidad. Además, según The Guardian, el GCHQ tiene una wiki con guías de las diferentes aplicaciones y redes de publicidad para saber los diferentes datos que pueden ser interceptados.61 Una semana después de salir esta información a la luz, el desarrollador finlandés Rovio, anunció que estaba reconsiderando sus relaciones con las distintas plataformas publicitarias y exhortó a la industria en general a hacer lo mismo.62

Las informaciones revelaron que las agencias realizan un esfuerzo adicional para interceptar búsquedas en Google Maps desde Android y otros smartphones para recopilar ubicaciones de forma masiva.61 La NSA y el GCHQ insistieron en que estas actividades cumplen con las leyes nacionales e internacionales, aunque The Guardian afirmó que las últimas revelaciones podrían sumarse a la creciente preocupación pública acerca de cómo se acumula y utiliza la información, especialmente para aquellos fuera de los EE.UU. que gozan de menos protección en temas de privacidad que los estadounidenses.

6.9.- Nombres de las versiones

“IESTPA”

pág. 52 “COMPUTACION E INFORMATICA”

Las versiones de Android reciben, en inglés, el nombre de diferentes postres o dulces. En cada versión el postre o dulce elegido empieza por una letra distinta, conforme a un orden alfabético:

A: Apple Pie (1.0): Tarta de manzana

B: Banana Bread (1.1): Pan de plátano

C: Cupcake (1.5): Panque

D: Donut (v1.6): Rosquilla

E: Éclair (v2.0/v2.1): Pepito

F: Froyo (v2.2): Yogurt helado

G: Gingerbread (v2.3): Pan de jengibre

H: Honeycomb (v3.0/v3.1/v3.2): Panal de miel

I: Ice Cream Sandwich (v4.0): Sándwich de helado

J: Jelly Bean (v4.1/v4.2/v4.3): Gominola

K: KitKat (v4.4): Kit Kat

L: Lollipop (v5.0/v5.1): Piruleta

M: Marshmallow (v6.0) Malvavisco

6.10.- Usos y dispositivos

El sistema operativo Android se usa en teléfonos inteligentes, ordenadores portátiles, netbooks, tabletas, Google TV, relojes de pulsera, auricularesy otros dispositivos, siendo este sistema operativo accesible desde terminales de menos de $100 hasta terminales que superen los $1000.

La plataforma de hardware principal de Android es la arquitectura ARM. Hay soporte parax86 en el proyecto Android-x86, y Google TV utiliza una versión especial de Android x86.

El primer teléfono disponible en el mercado para ejecutar Android fue el HTC Dream, dado a conocer al público el 22 de octubre de 2008. A principios de 2010 Google ha colaborado con HTC para lanzar su producto estrella en dispositivos Android, el Nexus One. Google ha continuado la comercialización de la gama Nexus en 2010 con el Samsung Nexus S, en 2011 con el Galaxy Nexus en 2012 con el Nexus 4 y las tablets Nexus 7 y Nexus 10 en 2014 con el Nexus 6 y la Tablet Nexus 9.Estos dispositivos son utilizados para el desarrollo e implementación de Android, siendo los dispositivos que estrenan las nuevas versiones

“IESTPA”

pág. 53 “COMPUTACION E INFORMATICA”

disponibles. En la actualidad existen aproximadamente 1.000.000 de aplicaciones para Android y se estima que 1.500.000 teléfonos móviles se activan diariamente, y en 2013 se llegó a los 1000 millones de teléfonos inteligentes Android en el mundo.

IOS y Android 2.3.3 "Gingerbread" pueden ser configurados para un arranque dual en un iPhone o iPod Touch liberados con la ayuda de OpeniBoot e iDroid.

6.11.- Diseño y desarrollo

Android es considerado como uno de los modelos de negocio más exitosos, pues su desarrollo estratégico contempla los factores que más se tienen en cuenta dentro de las herramientas y metodologías desarrollados por expertos en negocios. Este sistema operativo se ha convertido en un modelo a seguir por desarrolladores de tendencias y negocios de alto impacto.

Android, al contrario que otros sistemas operativos para dispositivos móviles como iOS o Windows Phone, se desarrolla de forma abierta y se puede acceder tanto al código fuente como a la lista de incidencias donde se pueden ver problemas aún no resueltos y reportar problemas nuevos.

El que se tenga acceso al código fuente no significa que se pueda tener siempre la última versión de Android en un determinado móvil, ya que el código para soportar el hardware (controladores) de cada fabricante normalmente no es público, así que faltaría un trozo básico del firmware para poder hacerlo funcionar en dicho terminal, y porque las nuevas versiones de Android suelen requerir más recursos, por lo que los modelos más antiguos quedan descartados por razones de memoria (RAM), velocidad de procesador, etc.

“IESTPA”

pág. 54 “COMPUTACION E INFORMATICA”

En un principio, Android era eminentemente un sistema operativo pensado para usar con teclado,77 y gracias a un cursor poder navegar entre las aplicaciones. Desde su comienzo, Android ha sido altamente personalizable. Poco después, antes del lanzamiento del primer teléfono Android, esta filosofía cambió para convertirse en eminentemente táctil, y poder competir contra el iPhone, presentado 1 año y 9 meses antes.

6.12.- Aplicaciones

Las aplicaciones se desarrollan habitualmente en el lenguaje Java con Android Software Development Kit (Android SDK), pero están disponibles otras herramientas de desarrollo, incluyendo un Kit de Desarrollo Nativo para aplicaciones o extensiones en C o C++,Google App Inventor, un entorno visual para programadores novatos y varios marcos de aplicaciones basadas en la web multiteléfono. También es posible usar las bibliotecas Qt gracias al proyecto Necesitas SDK.

El desarrollo de aplicaciones para Android no requiere aprender lenguajes complejos de programación. Todo lo que se necesita es un conocimiento aceptable de Java y estar en posesión del kit de desarrollo de software o «SDK» provisto porGoogle el cual se puede descargar gratuitamente.

Todas las aplicaciones están comprimidas en formato APK, que se pueden instalar sin dificultad desde cualquier explorador de archivos en la mayoría de dispositivos.

Google Play

Google Play es la tienda en línea de software desarrollado por Google para dispositivos Android. Una aplicación llamada "Play Store" que se encuentra instalada en la mayoría de los dispositivos Android y permite a los usuarios navegar y descargar aplicaciones publicadas por los desarrolladores. Google retribuye a los desarrolladores el 70% del precio de las aplicaciones. Esta aplicación reemplazó a "Market".

Por otra parte, los usuarios pueden instalar aplicaciones desde otras tiendas virtuales (tales como Amazon Appstore  oSlideME) o directamente en el dispositivo si se dispone del archivo APK de la aplicación.

6.13.- Mercadotecnia

“IESTPA”

pág. 55 “COMPUTACION E INFORMATICA”

Logos

El logotipo de la palabra Android fue diseñado con la fuente Droid, hecha por Ascender Corporation.

El verde es el color del robot de Android que distingue al sistema operativo. El color print es PMS 376C y color GBN en hexadecimal es #A4C639, como se específica en la Android Brand Guidelines.

Tipografía

La tipografía de Android se llama Norad, solo usada en el texto del logo. Para Ice Cream Sandwich se introduce una tipografía llamada Roboto, que, según los propios creadores, está pensada para aprovechar mejor la legibilidad en los dispositivos de alta resolución. Más tarde, en 2014 y con Android 5.0 Lollipop, se introduce un rediseño de Roboto.

Cuota de mercado

La compañía de investigación de mercado Canalys estima que en el segundo trimestre de 2009, Android tendría 2,8% del mercado de teléfonos inteligentes en el ámbito mundial.

En febrero de 2010, ComScore dijo que la plataforma Android tenía el 9% del mercado de teléfonos inteligentes en los Estados Unidos, como estaba tasado por los operadores. Esta cifra fue superior al estimado anterior de noviembre de 2009, el cual fue del 9%. Para finales del tercer trimestre de 2010, el mercado de Android en los Estados Unidos había crecido en un 21,4%.

En mayo de 2010, Android superó en ventas a iPhone, su principal competidor. De acuerdo a un informe del grupo NPD, Android obtuvo un 28% de ventas en el mercado de los Estados Unidos, un 8% más que en el trimestre anterior. En el segundo trimestre de 2010, los dispositivos iOS incrementaron su participación en un 1%, indicando que Android está tomando mercado principalmente de RIM. Adicionalmente, los analistas apuntaron que las ventajas de que Android fuera un sistema multi-canal, multi-operador, le permitiría duplicar el rápido éxito que obtuvo el sistema Windows Mobile de Microsoft.

A principios de octubre de 2010, Google agregó 20 países a su lista de lugares geográficos donde los desarrolladores pueden enviar aplicaciones. Para mediados de octubre, la compra de aplicaciones estaba disponible en un total de 32 países.

En noviembre de 2013 Andy Rubin dijo que se activaban 1.500.000 dispositivos diariamente y también. En diciembre de 2011 Andy Rubin dijo que se activaban 700.000 dispositivos diariamente, anteriormente en julio de 2011 se declaró que se activan unos 550.000 dispositivos Android cada día. En comparación con diciembre de 2010 que se activaban 300.000 dispositivos móviles con Android, y los 100.000 que se activaban en mayo de 2010.

En abril de 2013 se hizo público que Android alcanzó el 92% en ventas de nuevos Smartphone para el trimestre comprendido entre diciembre 2012 y febrero 2013 en España, seguido de iOS con un 4.4%

Cuota de las versiones

Datos recogidos a principios del mes de agosto de 2015

Versión Nombre en código

Fecha de distribución

API level Cuota (1 de agosto, 2015)

6.0 Marshmallow TBA 23 TBA

“IESTPA”

pág. 56 “COMPUTACION E INFORMATICA”

Versión Nombre en código

Fecha de distribución

API level Cuota (1 de agosto, 2015)

5.1 Lollipop 06 de abril de 2015 22 2,6%

5.0 Lollipop

3 de noviembre de 2014

21 15,5%

4.4 Kit Kat

31 de octubre de 2013

19 39,3%

4.3 Jelly Bean 24 de julio de 2013 18 4,7%

4.2 Jelly Bean

13 de noviembre de 2012

17 15,9%

4.1 Jelly Bean 9 de julio de 2012 16 13,0%

4.0 Ice Cream Sandwich

16 de diciembre de 2011

14 4,1%

2.3 Gingerbread 9 de febrero de 2011 10 4,6%

2.2 Froyo 20 de mayo de 2010 8 0,3%

6.14.- Demanda de Oracle

A través de un comunicado de prensa, Oracle anunció el 12 de agosto de 2010 una demanda contra Google por violación de propiedad intelectual en el uso de Java en el sistema operativo Android. La razón citada: «Al desarrollar Android, Google a sabiendas, infringió directa y repetidamente la propiedad intelectual de Oracle en relación con Java. Esta demanda busca remediar apropiadamente su infracción».

Sin embargo, el 1 de junio de 2012 se celebró el juicio fallando a favor de Google, siendo así que no violaba ninguna patente de Oracle.

“IESTPA”

pág. 57 “COMPUTACION E INFORMATICA”

7.- conclusiones

- Los sistemas operativos están interconectados con el mundo y con nosotros.

- en nuestra vida diaria lidiamos con ellos teniéndolos hasta en nuestros

teléfonos celulares.

- poco a poco se convirtió en parte de nuestra vida y de alguna manera rigen

nuestra forma de vivir.

- La implementación de un sistema operativo en teléfonos celulares fue un

boom tecnológico.

“IESTPA”

pág. 58 “COMPUTACION E INFORMATICA”

8.- bibliografía

https://es.wikipedia.org/wiki/Sistema_operativo https://www.masadelante.com/faqs/sistema-operativo

www.monografias.com › Computacion

es.ccm.net › Enciclopedia › Sistemas operativos › Sistemas operativos www.gcfaprendelibre.org/tecnologia/curso/.../sistemas_operativos/