SlideShare una empresa de Scribd logo
1 de 58
Descargar para leer sin conexión
“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
monografia sobre sistemas operativos
monografia sobre sistemas operativos
monografia sobre sistemas operativos
monografia sobre sistemas operativos
monografia sobre sistemas operativos
monografia sobre sistemas operativos
monografia sobre sistemas operativos
monografia sobre sistemas operativos
monografia sobre sistemas operativos
monografia sobre sistemas operativos
monografia sobre sistemas operativos
monografia sobre sistemas operativos
monografia sobre sistemas operativos
monografia sobre sistemas operativos
monografia sobre sistemas operativos
monografia sobre sistemas operativos
monografia sobre sistemas operativos
monografia sobre sistemas operativos
monografia sobre sistemas operativos
monografia sobre sistemas operativos
monografia sobre sistemas operativos
monografia sobre sistemas operativos
monografia sobre sistemas operativos

Más contenido relacionado

La actualidad más candente

Metodos Basicos Para Archivar Y Mantenr Los Documentos
Metodos Basicos Para Archivar Y Mantenr Los DocumentosMetodos Basicos Para Archivar Y Mantenr Los Documentos
Metodos Basicos Para Archivar Y Mantenr Los Documentos
Marisol Martinez-Vega
 
Mini guía para la organización de los documentos en los archivos de gestión.pdf
Mini guía para la organización de los documentos en los archivos de gestión.pdfMini guía para la organización de los documentos en los archivos de gestión.pdf
Mini guía para la organización de los documentos en los archivos de gestión.pdf
Manuel Jose Mercado Martinez
 
Entorno de trabajo del sistema operativo
Entorno de trabajo del sistema operativoEntorno de trabajo del sistema operativo
Entorno de trabajo del sistema operativo
Jose de la O
 
3 introducción al hardware
3 introducción al hardware3 introducción al hardware
3 introducción al hardware
conrado perea
 
Software utilitario presentacion
Software utilitario presentacionSoftware utilitario presentacion
Software utilitario presentacion
JavierReyesCastillo
 
Servidor De Correo En Fedora
Servidor De Correo En FedoraServidor De Correo En Fedora
Servidor De Correo En Fedora
Stiven Marin
 

La actualidad más candente (20)

Metodos Basicos Para Archivar Y Mantenr Los Documentos
Metodos Basicos Para Archivar Y Mantenr Los DocumentosMetodos Basicos Para Archivar Y Mantenr Los Documentos
Metodos Basicos Para Archivar Y Mantenr Los Documentos
 
Mini guía para la organización de los documentos en los archivos de gestión.pdf
Mini guía para la organización de los documentos en los archivos de gestión.pdfMini guía para la organización de los documentos en los archivos de gestión.pdf
Mini guía para la organización de los documentos en los archivos de gestión.pdf
 
importancia de los archivos
importancia de los archivosimportancia de los archivos
importancia de los archivos
 
Entorno de trabajo del sistema operativo
Entorno de trabajo del sistema operativoEntorno de trabajo del sistema operativo
Entorno de trabajo del sistema operativo
 
3 introducción al hardware
3 introducción al hardware3 introducción al hardware
3 introducción al hardware
 
Expedientes de archivo
Expedientes de archivoExpedientes de archivo
Expedientes de archivo
 
Software utilitario presentacion
Software utilitario presentacionSoftware utilitario presentacion
Software utilitario presentacion
 
Archivos y directorios
Archivos y directoriosArchivos y directorios
Archivos y directorios
 
REGISTRO Y ARCHIVO
REGISTRO Y ARCHIVOREGISTRO Y ARCHIVO
REGISTRO Y ARCHIVO
 
Trabajo sobre Symbian os (sistema operativo para móviles)
Trabajo sobre Symbian os (sistema operativo para móviles)Trabajo sobre Symbian os (sistema operativo para móviles)
Trabajo sobre Symbian os (sistema operativo para móviles)
 
Tema 1 informatica aplicada
Tema 1 informatica aplicadaTema 1 informatica aplicada
Tema 1 informatica aplicada
 
Mapa conceptual gestion de archivos
Mapa conceptual   gestion de archivosMapa conceptual   gestion de archivos
Mapa conceptual gestion de archivos
 
Tic aplicada a la gestión y prevención de riesgos.
Tic aplicada a la gestión y prevención de riesgos.Tic aplicada a la gestión y prevención de riesgos.
Tic aplicada a la gestión y prevención de riesgos.
 
La importancia del Sistema de Archivos
La importancia del Sistema de ArchivosLa importancia del Sistema de Archivos
La importancia del Sistema de Archivos
 
Sistema Operativo MS-DOS
Sistema Operativo MS-DOSSistema Operativo MS-DOS
Sistema Operativo MS-DOS
 
ARCHIVOS Y CARPETAS
ARCHIVOS Y CARPETASARCHIVOS Y CARPETAS
ARCHIVOS Y CARPETAS
 
Descripción documental
Descripción documentalDescripción documental
Descripción documental
 
Servidor De Correo En Fedora
Servidor De Correo En FedoraServidor De Correo En Fedora
Servidor De Correo En Fedora
 
Dispositivos portatiles
Dispositivos portatilesDispositivos portatiles
Dispositivos portatiles
 
Leccion1.leidy
Leccion1.leidyLeccion1.leidy
Leccion1.leidy
 

Similar a monografia sobre sistemas operativos

Informe final practica pre_ii_francisco_flores_v6
Informe final practica pre_ii_francisco_flores_v6Informe final practica pre_ii_francisco_flores_v6
Informe final practica pre_ii_francisco_flores_v6
Francisco Flores Murrieta
 
Microcontroladores: Construcción de un tablero electrónico para demostración ...
Microcontroladores: Construcción de un tablero electrónico para demostración ...Microcontroladores: Construcción de un tablero electrónico para demostración ...
Microcontroladores: Construcción de un tablero electrónico para demostración ...
SANTIAGO PABLO ALBERTO
 
Electrónica digital: Construcción de un tablero electrónico para demostración...
Electrónica digital: Construcción de un tablero electrónico para demostración...Electrónica digital: Construcción de un tablero electrónico para demostración...
Electrónica digital: Construcción de un tablero electrónico para demostración...
SANTIAGO PABLO ALBERTO
 

Similar a monografia sobre sistemas operativos (20)

Dina trabajo de sistemas
Dina trabajo de sistemasDina trabajo de sistemas
Dina trabajo de sistemas
 
Sistema de-informacion
Sistema de-informacionSistema de-informacion
Sistema de-informacion
 
Sistema.o. celinda
Sistema.o.   celindaSistema.o.   celinda
Sistema.o. celinda
 
Dina.s.o.
Dina.s.o.Dina.s.o.
Dina.s.o.
 
Luisito sistema operativo
Luisito sistema operativoLuisito sistema operativo
Luisito sistema operativo
 
Eva ruth gh sistema operativo
Eva ruth gh sistema operativoEva ruth gh sistema operativo
Eva ruth gh sistema operativo
 
Historia de los sistemas operativos
Historia de los sistemas operativosHistoria de los sistemas operativos
Historia de los sistemas operativos
 
Manual de-uso-de-la-classmate
Manual de-uso-de-la-classmateManual de-uso-de-la-classmate
Manual de-uso-de-la-classmate
 
Entrega sistema operativo
Entrega sistema operativoEntrega sistema operativo
Entrega sistema operativo
 
Entrega monografias pdf
Entrega monografias pdfEntrega monografias pdf
Entrega monografias pdf
 
Informe final practica pre_ii_francisco_flores_v6
Informe final practica pre_ii_francisco_flores_v6Informe final practica pre_ii_francisco_flores_v6
Informe final practica pre_ii_francisco_flores_v6
 
Tesis
TesisTesis
Tesis
 
Maravi_SRK_SD.pdf
Maravi_SRK_SD.pdfMaravi_SRK_SD.pdf
Maravi_SRK_SD.pdf
 
dispositivos de la computadora
dispositivos de la computadoradispositivos de la computadora
dispositivos de la computadora
 
Microcontroladores: Construcción de un tablero electrónico para demostración ...
Microcontroladores: Construcción de un tablero electrónico para demostración ...Microcontroladores: Construcción de un tablero electrónico para demostración ...
Microcontroladores: Construcción de un tablero electrónico para demostración ...
 
Electrónica digital: Construcción de un tablero electrónico para demostración...
Electrónica digital: Construcción de un tablero electrónico para demostración...Electrónica digital: Construcción de un tablero electrónico para demostración...
Electrónica digital: Construcción de un tablero electrónico para demostración...
 
Luis trabajo de redes
Luis trabajo de redesLuis trabajo de redes
Luis trabajo de redes
 
Ups ct003628 (1)
Ups ct003628 (1)Ups ct003628 (1)
Ups ct003628 (1)
 
Manual de procedimientos_para_el_uso_de_internet_20140904
Manual de procedimientos_para_el_uso_de_internet_20140904Manual de procedimientos_para_el_uso_de_internet_20140904
Manual de procedimientos_para_el_uso_de_internet_20140904
 
T_0639.pdf
T_0639.pdfT_0639.pdf
T_0639.pdf
 

monografia sobre sistemas operativos

  • 1. “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
  • 2. “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.
  • 3. “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.
  • 4. “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
  • 5. “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
  • 6. “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
  • 7. “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
  • 8. “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.
  • 9. “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
  • 10. “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).
  • 11. “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.
  • 12. “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
  • 13. “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
  • 14. “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
  • 15. “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.
  • 16. “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.
  • 17. “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.
  • 18. “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
  • 19. “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.
  • 20. “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.
  • 21. “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.
  • 22. “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
  • 23. “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
  • 24. “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
  • 25. “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.
  • 26. “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
  • 27. “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
  • 28. “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.
  • 29. “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
  • 30. “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
  • 31. “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
  • 32. “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
  • 33. “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.
  • 34. “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
  • 35. “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