Informática
Sistema operativo Windows
ADMINISTRACION DE RECURSOS DEL SISTEMA.
VISION GLOBAL DEL SISTEMA
Windows ha evolucionado desde su papel original como extensión gráfica de MS-DOS hasta abarcar muchas de las funciones de un sistema operativo completo. Desde su primera versión Windows gestiona funciones de carga de programas. Con Windows 95, la transformación es total. Windows es ahora un sistema operativo completo que incorpora compatibilidad con MS- DOS , permite ejecutar DOS como sistema operativo de segunda línea, para el caso que se quiera ejecutar una aplicación que no corra en Windows.
La siguiente figura muestra mediante un diagrama de bloques los principales componente de Windows.
-
Maquina virtual del sistema: o VM del sistema , es el nombre dado en Windows 95 al entorno que soporta todas las aplicaciones y los componentes de subsistema de Windows, como por ejemplo la interfaz de dispositivo gráfico (GDI).
-
Aplicaciones Windows de 32 bits: son las nuevas aplicaciones Windows que usan el modelo de memoria de 32 bits del procesador 80386 y un subconjunto de la interfaz de programacion de aplicaciones (API) win32 de Microsoft, cada una tiene un espacio de direcciones privado que es inaccesible a otras aplicaciones.
-
Interfaz de ordenes>: es una aplicación Windows de 32 bits que proporciona al sistema la interfaz de usuario esencial. La interfaz de ordenes en Windows 95 concentra las funciones de las utilidades Administrador de Programas, Administrador de archivos, administrador de tareas de win 3.1 en una única aplicación.
-
Aplicación de Windows en 16 bits: son las aplicaciones Windows antiguas, estas aplicaciones utilizan el modelo de memoria segmentada de la familia de procesadores Intel el modelo de memoria 80286.
-
Capa de la interfaz de programación de aplicaciones: proporciona en Windows 95 una compatibilidad completa con la actual API de Windows 3.1, así como el soporte para la nueva API de 32 bits accesible solo para aplicaciones Windows de 32 bits. La API de 32 bits es un subconjunto de la completa API WIN32 de Microsoft vista por primera vez en Windows NT y en la WIN32s añadida en Windows 3.1.
-
Núcleo de Windows: proporciona soporte a los servicios de nivel mas bajo que requieren las aplicaciones Windows, tales como la asignación dinámica de memoria. Para Windows 95, el núcleo proporciona estos servicios a las aplicaciones de 16 y 32 bits.
-
El GDI : es el corazón de las capacidades gráficas de Windows, gestionando los tipos de letras, las primitivas de dibujo y el color tanto para los dispositivos de visualización como para los de impresión.
-
Usuario: es como se denomina al administrador de ventanas, el componente de Windows que dirige la creación y manipulación de ventanas, diálogos, botones y otros elementos de la interfaz de Windows.
-
Maquinas virtuales MS DOS: dan soporte a la ejecución de aplicaciones MS-DOS en Windows.
-
EL SISTEMA BASE
-
La administración de archivos: ha cambiado de forma marcada en Windows 95. En Windows 3.1 es MS-DOS quien controla el sistema de archivos local del disco fijo. este control de MS-DOS perjudicaba las prestaciones de Windows y la oportunidad de mejorar el soporte del sistema de archivos resultaba imposible mientras el siguiera con el control. Bajo Windows 95 la situación es totalmente diferente, ya no se utiliza DOS para la administración de archivos en los discos locales.
-
Subsistema de red: es la encarnación mas reciente de la red igualitaria de Microsoft vista por primer vez en 1992 en el producto Windows para trabajo en grupo y después Windows NT. El subsistema de red utiliza el nuevo subsitema de administración de archivos para coordinar su acceso a los archivos remotos.
-
Servicios del sistema operativo : incluyen el subsistema de configuración hardware conectar y listo .
-
Administrador de maquina virtual: es el corazón del sistema operativo Windows. Incluye el software que implementa todas las primitivas básicas del sistema para la planificación de tareas, operaciones de memoria virtual, carga y finalización de programas, y comunicación entre tareas.
-
Controladores de dispositivos: controladores de modo real y los denominados controladores virtuales o VxD. Algunos sistema aún pueden necesitar de el uso de los antiguos controladores de dispositivos de MS-DOS en modo real para dar soporte a dispositivos de hardware concretos, Windows 95 ha querido crear controladores de dispositivos protegido para tantos dispositivos populares. Ejemplo para el ratón, para los dispositivos de CD-ROM y muchos dispositivos de disco fijo.
-
Controladores de dispositivos virtuales: asumen el papel de compartición de un único dispositivos hardware entre diversas aplicaciones. Ejemplo la ejecución de dos aplicaciones MS-DOS en distintas ventanas de la pantalla necesita que el sistema cree dos VM MS-DOS, cada una de las cuales requiere el acceso a una única pantalla física . el VxD del controlador de pantalla tiene que aceptar estos requisitos de compartición. También se usa como un descriptor general para otros módulos del sistema operativo de 32 bits.
1.2 FUNDAMENTOS DE PROGRAMACION PARA WINDOWS
-
PROGRAMACION CONDUCIDA POR SUCESOS: Windows utiliza un modelo se programación conducida por sucesos, modelo que es muy común que el procedimental. Se basa en los sucesos externos que estimulan la respuesta de la aplicación.
-
Manejo de mensajes: las aplicaciones de Windows delegan en el sistema gran cantidad de procesamiento implícito importante. si una aplicación no esta interesada en un mensaje en concreto, simplemete lo ignora y permite que el sistema realice el comportamiento Implícito como respuesta al mensaje.
Fragmento del bucle de mensaje Windows.
// comienzo de fragmento...
//adquirir y despachar mensajes hasta que se reciba un mensaje WM_QUIT.
While(Getmessage(&msg, //estructura del mensaje
NULL, //manejador de la ventana que recibe el mensaje
0, //Menor mensaje a examinar
0)){, //Mayor mensaje a examinar
if ( ! translateAccelerator (msg.hwnd, hAccelTable, &msg)) {
translatemessage (&msg);// traducir codigo de teclas virtuales
dispatchmessage (&msg);// despachar el mensajea la ventana
}
}
//....fin de fragmento
// comienzo de fragmento
switch (message) {
case WM_COMMAND: // mensaje : orden del menu de la aplicación
#if defined (_WIN32)
wmId = LOWORD (uParam);
wmEvent = HIWORD (uParam);
#else
wmID = uParam;
wmEvent = HIWORD(1Param);
#endif
switch (wmId) {
caseIDM_ABOUT:
loProcAbout = MakeProcInstance ((FARPROC) About, hInst);
DialogBox(hInst, //ejemplar actual
“aboutBox”, //recurso Dlg a usar
hWnd, //manejador padre
(DLGPROC) lpProcAbout)
} // ... fin de fragmento
CONECTAR Y LISTO
Todos los PC tiene uno o más dispositivos de bus. Normalmente varios dispositivos intentan compartir el bus del sistema y esos intentos, a menudo son muy problemáticos. El diseño del bus determina muchas de las características eléctricas de muchos componentes del sistema, así como algunos aspectos del método que el software controlador de dispositivos debe seguir para controlar un dispositivo individual en el bus. El software que controla un dispositivo se comunica con el adaptador escribiendo órdenes en los puertos de E/S del sistema. La información de las órdenes viajan a lo largo del bus del sistema hacia el adaptador del dispositivo. Algunos dispositivos utilizan una región de memoria en el área superior, entre los 640K y 1MB.tanto los dispositivos como el software controlador de dispositivos pueden acceder a los datos en esa área de memoria permitiendo la transferencia a gran velocidad de gran cantidad de información entre el dispositivo y la memoria del sistema. “la BIOS conectar y listo realmente lo que asegura es que un sistema con dispositivos de inicialización múltiple se inicializará. Sin embargo, si no se esta presente una BIOS Conectar y listo, el sistema operativo se encarga de todas las tareas de configuración del dispositivo.
COMPONENTE DE CONECTAR Y LISTO
Para entender como implementa Windows 95 el estándar conectar y listo, observaremos los principales elementos del subsistema. La siguiente figura representa las funciones de los distintos componentes.
APLICACIONES
SISTEMA OPERATIVO
BIOS y
Controladores
De dispositivos
--------------------------------------------------------------------------------------------------------------------------
-------------------------------------------------------------------------------------------------------------------------
DISPOSITIVOS
-
Arbol de hardware : la base de datos de información que describe la configuración del sistema actual. Lo constituye el administrador de configuración y lo guarda en memoria. A cada nodo del árbol de hardware se le llama nodo de dispositivo y contiene la descripción lógica de un dispositivo actual, o bien de un dispositivo de bus.
-
Archivos INF: es una colección de archivos de disco que contienen información sobre tipos concretos de dispositivos . ejemplo SCSI.INF .
-
Registro: el de Windows 95 contiene como si fuese un subárbol, el árbol de hardware que describe el hardware.
-
Sucesos: es el conjunto de API utilizadas para señalar cambios en la configuración actual del sistema. En Windows 95 el sistema de mensajes se utiliza para notificar sucesos.
-
Administrador de configuración: es el componente responsable de construir la base de datos de información que describe la configuración de la maquina.
-
Enumerador: es una nueva pieza del software que colabora con el controlador de dispositivos y el administrador de configuración.
-
Arbitro de recursos: es una función responsable de presidir la asignación de recursos específicos y de ayudar a resolver conflictos.
-
Bios conectar y listo: es una nueva bios que admite operaciones conectar y listo. Un dispositivo (ejemplo un controlador de vídeo) .
-
Controladores de dispositivos: son los controladores de modo protegido responsables del control de los dispositivos.
-
Interfaz de usuario: es una colección de cuadros de dialogo estándar utilizados para solicitar información cuando el sistema necesita que el usuario intervenga en la recopilación de información.
-
Aplicación: es un programa modificado para un funcionamiento mejorado en Windows 95 que puede aceptar y procesar mensajes de cambio de configuración del sistema.
ARBOL DE HARDWARE PARA UN SISTEMA TIPICO CONECTAR Y LISTO
ADMINISTRACION DE MEMORIA
GESTION DE MEMORIA.
La gestión de memoria en Windows tiene lugar a dos niveles diferentes: un nivel que ve el programador de la aplicación y otra visión totalmente diferente para el sistema operativo.
MEMORIA VIRTUAL
Es un método que permite que varios programas se ejecuten concurrentemente compartiendo la memoria física de la computadora. La gestión de la memoria virtual esta bajo el control del sistema operativo. Por lo que respecta a cualquier programa individual, se tiene acceso todo el tiempo a toda la memoria que se necesite.
Ejemplo: supongamos que tenemos un sistema Windows 95 con 4 MB de memoria y un disco fijo con abundante espacio libre. Windows 95 con su interfaz de ordenes, el administrador de impresión, etc., podría ocupar 1MB de la memoria disponible. En el disco se encuentra un procesador de texto que decidimos ejecutar. una vez cargado este programa ocupa 2MB y abrimos un documento grande que contiene varias fuentes de caracteres diferentes. En conjunto, ese documento ocupa 400k del restante megabytes de memoria. Ahora decidimos que necesitamos incorporar una tabla numérica al documento. Los números se encuentran en una hoja de calculo, por lo que necesitamos ejecutar la hoja de calculo para cortar y pegar la tabla en el documento. Windows 95 debe cargar la hoja de calculo y los datos en los restantes 624k de memoria. El sistema y ambas aplicaciones se ejecutan a la vez, por lo que a nosotros nos parece que todo debe estar en la memoria. Realmente todo se encuentra no en los 4MB disponibles de memoria física, sino en memoria virtual.
La memoria virtual del sistema esta compuesta por la RAM de la computadora y el archivo de intercambio de Windows del disco fijo. el sistema operativo gestiona toda esta memoria disponible intercambiando segmentos de programas y datos de una lado a otro entre la RAM y el archivo de intercambio. Por ejemplo si se van a ejecutar las instrucciones de un segmento de código particular., se debe cargar ese segmento en la RAM. Otros segmentos de código pueden encontrarse en el disco, en el archivo de intercambio, hasta el momento en que se necesiten un área del bufer de datos del disco contenida en un segmento de datos tiene que estar en la RAM para conseguir que la transferencia del disco tenga éxito. siempre que un segmento no se halle en la RAM, el sistema operativo puede marcar su ausencia poniendo a cero bits de presencia en el descriptor correspondiente a ese segmento.
En la siguiente figura observamos la disposición básica de la memoria virtual de una aplicación win32. Toda aplicación win32 tiene un mapa de memoria similar y cada espacio de direcciones es único. Otra aplicación puede direccionar la memoria privada asignada a una aplicación win32. El espacio privado de direcciones de aplicación win32 es también la región donde el sistema asigna memoria para satisfacer las peticiones de la aplicación en tiempo de ejecución. las aplicaciones también pueden solicitar la asignación dinámica de memoria por medio de direcciones virtuales que se corresponden con la región compartida.
4GB
3 GB
2 GB
MAPA DE MEMORIA VIRTUAL
ASIGNACION DEL MONTON
En el lenguaje Windows, el termino montón se refiere a la región de la memoria utilizada para satisfacer las peticiones de asignación de memoria por parte de la aplicación. En Windows 3.1 el sistema mantiene tanto un montón local como un montón global. El montón local es una región de memoria en el espacio de direcciones de la aplicación y el montón global es una región de memoria que pertenece al sistema.
GESTION DE MEMORIA PARA APLICACIONES DE WINDOWS 95
La API Win32 significa las tareas mas comunes de asignación de memoria dinámica. Windows 95 ofrece funciones que proporcionan soporte a montones privados, ya que una aplicación puede reservar una parte de la memoria de su propio espacio de direcciones, direcciones virtuales que una vez reservada no se utiliza para satisfacer otras peticiones de asignación de memoria dinámica. Los archivos mapeados en memoria permiten que aplicaciones diferentes compartan datos.
MAPA DE MEMORIA DE WINDOWS 95
Windows 95 utiliza los 4GB del espacio virtual de direcciones que proporciona el 386. Dentro de dicho espacio de direcciones, los diferentes componentes y aplicaciones del sistema ocupa regiones con fronteras fijas. En el mapa de memoria del sistema, el MB mas bajo del espacio virtual de direcciones se utiliza para la vm de MS-DOS ejecutándose actualmente. Además cada VM tiene un mapa de memoria valido dentro de la región entre 2GB y 3 GB este mapa permite al propio sistema direccionar la memoria VM independientemente de si esta activa. Pero cuando una VM MS-DOS se ejecuta, también se proyecta al MB inferior.
Direcciones
(32bitsen hexadecimal) Direcciones
FFFFFFFF
BFFFFFFF
07FFFFFF
033FFFFF
000FFFFF
00000000
GESTION DE MEMORIA FISICA
Por debajo de las maquinas virtuales y del espacio virtual de direcciones manejados por windows 95 estan los confines de la memoria fisica. La gestion de la memoria fisica es el proceso de selección de las paginas del espacio virtual de direcciones de 4GB del sistema que se hacen corresponder con la memoria fisica en cada momento.
2.7 MAQUINAS VIRTUALES
Proporciona el contexto con el mapa de direcciones y los contenidos de los registros hardware asignados para la ejecución de una aplicación
Siempre se ejecutan en modo protegido (anillo 3), en el que se crea un escudo controlable por el sistema operativo
Necesidad de una maquina virtual
-
un mapa de memoria que define la memoria virtual accesible al código actualmente ejecutado.
-
Un contexto de ejecución, definido por el estado de los registros y niveles de privilegio.
-
Un conjunto de recursos accesibles para la aplicación .
Características
-
La memoria virtual asignada a cada maquina virtual se encuentra separada de la memoria virtual asignada a otra VM, evitando la interferencia en las aplicaciones.
-
Las capacidades de protección de memoria y de los puertos de E/S permiten que los dispositivos del sistema estén completamente protegidos
-
Se puede ejecutar cualquier aplicación, convencida de que tiene toda la maquina para ella e ignorando el hecho de que realmente podría estar compartiendo el sistema con otras maquinas virtuales.
Inicialización
El sistema operativo configura la maquina virtual y prepara el contexto global para todo el sistema. Si existen los archivos config.sys y autoexec.bat el usuario puede personalizar el contexto global.
2.8 MULTITAREA Y PLANIFICACION
Es una de las actividades mas complicadas de Windows, y para ello utiliza la MULTITAREA como forma de compartir el procesador entre varios programas .
Se refiere a la capacidad de un sistema operativo para compartir la cpu entre diferentes programas.
En el momento en que se este ejecutando Windows, hay multitarea ya que se estara ejecutando el administrador de programas, y otras diversas tareas que forman parte del sistema,
Este proceso permite administrar las conexiones a red, el administrador de impresión, las sesiones de comunicacin, etc. al mismo tiempo.
El planificador se encarga de realizar el control principalmente con el tiempo de los sucesos, al cabo de los cuales decide si la cpu puede o no ser utilizada por otro proceso.
Existen 2 formas de realizar las actividades multitarea:
-
Cooperativa
Depende de la ayuda de los programadores de aplicaciones para mantener el sistema ejecutándose sin sobresaltos
Las tareas se realizan solo cuando la tarea en curso suelta la cpu
-
Con derecho preferente
Pone a disposición del sistema un control completo sobre que tarea se va a ejecutar, el planificador puede decidir en que momento da prioridad a un proceso sobre otro.
3. ARQUITECTURA DEL PROCESADOR
Windows 95 se ha diseñado y desarrollado únicamente para los sistemas basados en procesadores Intel.
Con la aparición de Windows NT se rompió la tradición permitiendo que los proveedores pudieran elegir la base del sistema entre diferentes tipos de procesadores, de tal manera que se han creado versiones de Windows para procesadores MIPS R4000, el alpha dec, el power PC y otros procesadores avanzados.
Ninguno de estos procesadores es compatible con la familia Intel, por lo que la única manera de poder ejecutar en ellos las aplicaciones existentes de Windows y MS-DOS es incluyendo emulaciones del procesador Intel con la versión de Windows NT.
La sobre carga producida por la ejecución del emulador no se convierte en problema para el usuario.
3.1 INTEL INSIDE
LA FAMILIA DE PROCESADORES INTEL
El primer procesador fue presentado en 1978, y a partir de este ha ido evolucionando y convirtiéndose en base para compañías como Iba y Microsoft.
Se han venido presentando cambios principalmente en su arquitectura principalmente en los 80286 y 80386. En la parte de diseño los cambios como la integración de las capacidades del procesador principal y el procesador de coma flotante en un único chip, el 80486. Casi siempre cada cambio significa mas velocidad y casi nunca se requiere que el diseñador de software haga modificaciones importantes en el sistema operativo.
Compatibilidad con las versiones anteriores
El aspecto mas importante en el diseño de procesadores Intel ha sido la compatibilidad con el software de las versiones anteriores de cada chip diferente. Esta compatibilidad ha sido la clave del éxito de la familia Intel y en gran parte de toda la industria de las computadoras personales.
El primer lanzamiento fue el 80286 que venia provisto de fallas en el modo protegido, luego apareció el 80386 que corregía este defecto y permitía que desde un sistema operativo se ejecutaran varias aplicaciones MS-DOS de forma compatible y simultanea. Empieza a utilizarse el modo virtual que provee mejores resultados y en la actualizada se aplica en los procesadores siguientes 80486 y Pentium.
Las versiones mas modernas de Windows se diseñaron solo para los procesadores 80386, 80486 y recientemente Pentium. Las claves para entender como Windows explota la arquitectura del procesador están en :
-
Gestión de memoria
-
Modos de procesador
-
Esquema de protección
GESTION DE MEMORIA
El 8080 de Intel permitía que un programa direccionara hasta un total de 64K de memoria, cada registro de direccionamiento de 16 bits que dan un total de 65536 direcciones, o un espacio de direcciones de 64K .
El 8086 aumento la capacidad a 1MB de memoria, en donde un registro de segmento apunta directamente al primer byte de un segmento de memoria. Un segmento puede empezar en cualquier trozo de 16 bytes de memoria. Utilizando esta dirección como como dirección base de este segmento, el programador puede usar otro registro del procesador para referirse a cualquier byte dentro de los siguientes 64K. El procesador simplemente combina los contenidos del registro de segmento y de un registro de dirección para formar una dirección única de 20 bits, que dan un total de 1048576 direcciones, obteniendo un espacio de direcciones de 1MB.
Cuando el sistema operativo carga la aplicación, inicializa los registros de segmento antes de que se ejecute. Después de esto el código de la aplicación manejara los registros de segmento a medida que los necesite.
Con el 80286 aparece el modo protegido de operación conservando el método de direccionamiento del 8086. El modo protegido incrementa significativamente las capacidades del procesador utilizando el contenido de un registro de segmento para acceder a un área de memoria de 8 byte4s denominada descriptor.
El descriptor contiene la informacion necesaria para determinar la dirección física real de memoria que el programa intenta referenciar.
Es así como el 80286 combina el registro de segmento, la información del descriptor y el registro de dirección para obtener una dirección física de memoria de 24 bits.
El registro de segmento contiene un índice a una tabla de descriptores.
El sistema de protección consiste en asignar una tabla de descriptores a cada programa a ejecutar. Si no existe la tabla de descriptores asignada el programa no puede acceder.
El 80386
Se realizaron cambios en la tecnología aplicada de 16 a 32 bits, el tamaño de los segmentos paso de 1MB a 4 gigabytes, se mejoro el sistema de protección de memoria.
El sistema operativo controla la carga y ejecución de los programas estableciendo tablas de descriptores de programa mediante la cual el procesador sabe como interpretar la información relativa a las direcciones de memoria.
3.2 SISTEMA DE PROTECCION
El sistema operativo esta provisto de capacidades de protección de los datos del usuario, protección de los programas frente a otros cuando se ejecutan concurrentemente en el sistema y protección de los dispositivos físicos frente a los accesos no autorizados.
3.3 PROTECCION DE MEMORIA
Implementa tablas de paginas que describen exactamente el área de memoria física a las que un programa puede acceder.
La pahina posee un indicador de lectura / escritura que impide la modificación el contenido de la pagina de solo lectura o una pagina de código de programa.
El indicador usuario/supervisor que permite al sistema operativo proteger toda su propia memoria de cualquier intento de acceso por parte de una aplicación.
Cuando una aplicación intenta acceder a un espacio de memoria no asignado para ella el procesador genera una interrupción e informa al sistema operativo la información relativa al problema.
En los casos de agotamiento de la memoria asignada, el sistema operativo reorganiza la memoria y la aplicación continua como si no hubiera pasado nada.
3.4 PROTECCION DEL SISTEMA OPERATIVO
Impide que un programa puede corromper la operación del sistema proporcionando hasta 4 niveles de privilegios del uso del procesador.
El software que se ejecuta con un nivel de privilegios cero puede hacer lo que quiera : cambiar las tablas de paginas, conmutar entre modos del procesador, activar y desactivar paginas, pera el procesador, etc.
Windows se ejecuta con nivel cero y tres, las aplicaciones con solo nivel de privilegio tres y son objeto de varias restricciones que ocasionan interrupciones en el procesador si se intenta violar la integridad del sistema.
En estos casos el sistema operativo toma el control y termina la aplicación culpable de la interrupción.
Cada nivel de privilegio se conoce como anillo. El procesador esta diseñado para conmutar entre los niveles de privilegio otorgando la transferencia de control entre anillos.
La conmutación se realiza a través de puertas:
-
Llamada ( al sistema operativo)
-
Interrupción (hardware o condición de error)
-
Tarea
-
excepción
4. ADMINISTRACION DE DISPOSITIVOS
4.1 PROTECCION DE DISPOSITIVOS
Resuelve el problema de compartición de recursos, como el disco fijo, evitar que varios programas intenten a la vez utilizar un dispositivo que no se pueda compartir, como un puerto en serie.
DISPOSITIVOS DE BAJO NIVEL
Se controlan todas las operaciones de entrada y salida mediante la manipulación de los puertos y las peticiones de interrupción (IRQ) del procesador.
El sistema operativo es responsable de la instalación y configuración de diversas rutinas que gestionan el proceso de transferencia de datos y otras actividades domesticas
4.3 DISPOSITIVOS DE ALTO NIVEL
Controlan los periféricos mediante controladores de dispositivos. Estos módulos de software controlan todos los aspectos de una operación sobre un dispositivo, transfiriendo datos hacia y desde los buferes de memoria, gestionando las peticiones de interrupción, etc.
Una aplicación solicita el acceso a un dispositivo mediante una llamada de apertura de dispositivo al sistema operativo. Si la llamada tiene éxito, la aplicación puede leer y escribir datos con posteriores llamadas al sistema y, finalmente, cerrar el dispositivo.
Utiliza el mapa de bits de permisos de E/S un mecanismo que permite gestionar el acceso a dispositivos de cualquier programa que se ejecute en el sistema.
Siempre que se arranca una aplicación, Windows determina si se trata de una aplicación Windows o MS-DOS.
Todas las aplicaciones Windows utilizan las API del sistema operativo para el acceso a archivos y dispositivos, ejecutándose en el anillo 3 y no tiene permisos directos a ningún dispositivo.
En las aplicaciones MS-DOS Windows debe dar la posibilidad a la aplicación de accesar directamente al dispositivo. Dispone entonces de un mapa de bits de permisos para cada dispositivo que indican si la aplicación puede acceder al puerto de E/S directamente.
Para las aplicaciones MS-DOS no es necesariamente un error el intentar accesar directamente al puerto, ya que el sistema operativo tiene el control de todos los recursos asignados al programa en modo virtual. El procesador informa al sistema operativo cualquier intento de acceso a recursos distintos de los asignados.
4.4 SOPORTE PARA DISPOSITIVOS EN WINDOWS
El aspecto mas importante de la arquitectura de control de dispositivos de Windows es su capacidad de visualizar dispositivos. La mayor diferencia entre los controladores de dispositivos de windows 95 y windows 3.1 es el uso extenso de controladores de modo protegido en windows 95.
4.5 LA API WIN32
La API32 es compatible con la API mas popular la API 3.1. es amplia con mas de 2.000 funciones y macros y abundantes características. Por ejemplo las nuevas capacidades de color independientes del dispositivo de Windows 3.1 y NT , además de la compatibilidad de la API, esta el de la compatibilidad binaria: sistemas operativos diferentes deben ser capaces de cargar y ejecutar diversas variedades de la aplicación win32. Tanto windows NT como win 95 cargaran el código binario de 32 bits.
4.6 INTERFAZ DE DISPOSITIVO GRAFICO.
La GDI es el corazón de las capacidades gráficas de Windows. Todas las funciones de dibujo de líneas y figuras se encuentran en la GDI, además de la gestión de color y funciones de manejo de fuentes. Muchos aspectos del rendimiento de windows están ligados a la implementación de la GDI y gran parte del código se ha elaborado en lenguaje ensamblador de 386.
5. SISTEMA DE ARCHIVOS
Windows 95 continua utilizando el sistema de archivos FAT de MS-DOS como el predeterminado en su estructura de disco, pero el código que implementa la organización del sistema de archivos es completamente nuevo.
5.1 VISION GENERAL DE LA ARQUITECTURA
El diseño se basa en un enfoque por capas que coloca al administrador del sistema de archivos instalable (IFS) en el nivel mas alto y una colección de controladores de puertos, o controladores de minipuertos, en el nivel mas bajo, donde ellos hacen de interfaz para los dispositivos concretos de hardware
La elección de un diseño en capas controlado por el IFS intenta resolver los problemas inherentes a la utilización de la interrupción INT 21H de MS-DOS como interfaz única para todas las funciones del sistema de archivos.
La siguiente figura ilustra las capas posibles en un sistema de archivos. El diseño del sistema de archivos admite hasta 32 capas desde el subsistema de E/S(IOS) hacia abajo. La capa 0 es la capa adyacente al IOS y la capa 31 es la mas cercana al hardware. Durante la inicialización, un componente se registra así mismo con el IOS y declara las capas en las que quiere operar, para operar en mas de una capa, un modulo tiene que proporcionar al IOS distintos puntos de entrada (uno por cada capa requerida). Por encima del IOS están los propios sistemas de archivos y el administrador de sistema de archivos instalable (asministrador IFS
Capa
Del sis-
Tema de
Archivos
Pueden no estar presentes
-
EL ADMINISTRADOR IFS: es la capa mas alta, es un VxD único que proporciona la interfaz entre las peticiones de la aplicacion y el sistema de archivos especifico al que se dirige una función de aplicación. El administrador IFS acepta tanto llamadas API vinculadas directamente desde aplicaciones win32, como llamadas INT21H generadas por aplicaciones Win16 o MS-DOS el administrador IFS transforma las peticiones API en llamadas a la siguiente capa, la capa del sistema de archivos.
-
VFAT: en la capa del sistema de archivos, es la implementacion en modo protegido del sistema de archivos FAT.
-
CDFS: es la implementacion en modo protegido de un sistema de archivos CD ROM compatible con la norma ISO 9660.
-
El subsistema de e/s: es la capa mas alta del subsistema de dispositivos de bloques. El componente IOS esta residente de forma permanente en memoria y proporciona varios servicios a los otros componentes del sistema de archivos, incluyendo rutas para peticiones y servicios de aviso de sobrepaso de tiempo.
-
CONTROLADOR DE SEGUIMIENTO DE VOLUMENES: o VTD, en la capa siguiente a la capa IOS, es el componente responsable de gestionar dispositivos extraibles. normalmente un dispositivo de este tipo es un disco flexible.
-
CONTROLADOR DE TIPO ESPECIFICO: o TSD, en la capa inferior a la capa VTD, gestiona todos los dispositivos de un tipo en particular. ejemplo los discos fijos o los dispositivos de cinta.
-
CONTROLADOR SUMINISTRADO POR EL VENDEDOR: o VSD, es la capa en la que otro vendedor puede suministrar software que intercepte todas las peticiones de E/S para un dispositivo de bloque en particular.
-
CONTROLADOR DE PUERTO: o PD es un componente que controla un adaptador especifico. En una computadora personal el bus ISA, por ejemplo probablemente habrá un controlador de puerto IDE. Gestiona los niveles mas bajos de interacción con el dispositivo.
-
CONVERSOR SCSI: traduce las peticiones de E/S a bloque de ordenes en formato SCSI.
-
ADMINISTRADOR SCSI: es un componente que permite la utilización de controladores minipuerto de Windows NT en Windows 95.
-
CONTROLADOR DE MINIPUERTO: es especifico para un dispositivo SCSI. junto con el administrador SCSI, realiza la misma función que un controlador de puerto , pero para un adaptador SCSI.
-
ASIGNACION DE MODO PROTEGIDO: es un modulo que permite la utilización de los controladores de los controladores existentes de MS-DOS en Windows 95.
-
CONTROLADOR DE MODO REAL: es un controlador de dispositivo al estilo MS-DOS que se debe ejecutar en modo 8086 virtual.
El nombre de un archivo puede contener hasta 8 caracteres con una extensión opcional de tres caracteres.
Los caracteres validos del nombre pueden ser letras, dígitos, espacios, cualquier carácter con un valor de carácter mayor que 7FH y cualquiera de los siguientes:
$ Signo de dólar
% símbolo de porcentaje
`y' comillas sencillas
` apóstrofe
- guión
_ subrayado
@ arroba
¡ admiración
(y) paréntesis
{y} llaves
# signo de libra
& signo de <<“y”>> inglesa
5.3 PUNTOS DE ENTRADA AL FSD
La siguiente lista contiene un resumen de todos los puntos de entrada definidos para el controlador de un sistema de archivos.
Nombre del punto de entrada FSD funcion
FS_closeFile() Cierra un archivo abierto
FS_CommitFile() Velca cualquier dato de cache para un archivo en particular
FS_ConnectNetResource() llama al punto de entrada inicial del sistema de archivo remoto
FS_DeleteFile() borra un archivo por su nombre
FS_FileAttibutes() establece y recupera informacion del archivo y del sistema de archivos.
FS_DisconnectNetResource() elimina una conexión de red.
FS_Dir llama a las operaciones de directorio(como crear y eliminar)
FS_Fileseek() realiza las operaciones de localizacion de un archivo.
FS_WriteFile() llama a las operaciones de salida de un archivo.
FS_OpenFile() llama a las funciones de apertura ycreacion de un archivo
FS_ReadFile() llama a las operaciones de entrada.
FS_RenameFile() Llama a la operación de cambio de nombre a un archivo.
5.4 ARCHIVOS DE CONFIGURACION DEL SISTEMAS
AUTOEXEC. BAT Y CONFIG SYS
Es un programa especial de procesamiento por lotes que se ejecuta cada vez que se inicia su PC.
Los programas de procesamiento por lotes es un archivos de texto que contiene una serie de comandos.
Los comandos del archivo CONFIG.SYS cargan los programas especiales o determinan como debería funcionar su hardware.
Por ejemplo DEVICE que es un comando utilizado en el CONFIG.SYS carga un controlador de dispositivo instalable, un programa que controla un componente de hardware como un Mouse, o tarjeta de memoria.
WIN.INI
Es aquel que configura a Windows, carga toda la configuración de Windows, ejemplo una impresora, unidad de tarjeta, iconos .
SYSTEM.INI
Carga todos los drives como tarjetas de sonido, imagen, video.
PROTOCOL. INI
Configuración de redes, direcciones de puertos
MSMALE
Configura todo lo concerniente al correo electrónico.
PARA HACER CAMBIOS EN SU ARCHIVO CONFIG.SYS O AUTOEXEC.BAT
Cree un disco de inicio insertando un disquete sin formato en la unidad A y luego escribiendo lo siguiente a continuación del símbolo del sistema format a:/s
Copie los rchivos CONFIG.SYS y AUTOEXEC.BAT en el disco de inicio que acaba de crear escribiendo lo siguiente a continuación del símbolo del sistema:
Copy c:\config.sys a:
Copy c:\autoexec.bat a:
use un editor de texto, como por ejemplo el editor de MS-DOS para abrir el archivo CONFIG.SYS o UTOEXEC.BAT. para usar el editor de MS-DOS, a continuación del símbolo del sistema escriba edita seguido del nombre del archivo.
Agregue o cambie los comandos de CONFIG.SYS o UTOEXEC.BAT como sea necesario. Cada comando deberá comenzar en una línea separada.
Cuando termine de editar el archivo CONFIG.SSYS o UTOEXEC.BAT, guarde los cambios y salga del editor de texto.
Retire los disquetes de las unidades y reinicie su sistema presionando CTRL+ALT+SUPR.
Las configuraciones de sus archivos CONFIG.SSYS y AUTOEXEC.BAT controlan los componentes básicos de su sistema. Si los cambios hechos no son correctos, su sistema no podrá iniciarse correctamente. Si esto ocurre, inserte el disco de inicio que creo en la unidad A y presione CTRL+ALR+SUPR.
TABLA DE CONTENIDO
ADMINISTRACION DE RECURSOS DEL SISITEMA
VISION GLOBAL DEL SISTEMA
FUNDAMENTOS DE PROGRAMACION PARA WINDOWS
CONECTAR Y LISTO
COMPONENTES DE CONECTAR Y LISTO
ADMINISTRACION DE MEMORIA
GESTION DE MEMORIA
MEMORIA VIRTUAL
ASIGNACION DEL MONTON
GESTION DE MEMORIA PARA APLICACIONES DE WINDOWS 95
MAPA DE MEMORIA DE WINDOWS 95
GESTION DE MEMORIA FISICA
MAQUINAS VIRTUALES
MULTITAREA Y PLANIFICACION
ARQUIRECTURA DEL PROCESADOR
INTEL INSIDE
SISTEMA DE PROTECCION
PROTECCION DE MEMORIA
PROTECCION DEL SISITEMA OPERATIVO
ADMINISTRACION DE DISPOSITIVOS
PROTECCION DE DISPOSITIVOS
DISPOSITIVOS DE BAJO NIVEL
DISPOSITIVOS DE ALTO NIVEL
SOPORTE PARA DISPOSITIVOS EN WINDOWS
LA API WIN 32
INTERFAS DE DISPOSITIVO GRAFICO
SISTEMA DE ARCHIVOS
VISION GENERAL DE LA ARQUITECTURA
PUNTOS DE ENTRADA AL FSD
ARCHIVOS DE CONFIGURACION DEL SISTEMA.
Aplicación Windows de 32 bits
Capa de la API de Windows
Subsistema Windows
Maquina virtual del sistema
Espacio de direcciones compartidas
Aplicación Windows de 32 bits
Interfaz de ordenes
Aplicación Windows de 16 bits
Aplicación Windows de 16 bits
Núcleo de Windows
GDI de Windows
Usuario de Windows
Subsistema de administración de archivos
Subsistema de red
Servicio de sistema operativo
Subsistema administrador de maquina virt.
Controladores de dispositivos
Sistema base
Maquina virtual MS-DOS
Aplicación
A
Aplicación
B
NUCLEO DEL
S.O.
Administrador de configuracion
Archivos
INF
Arbol de hardware
Funciones
API de
sucesos
Registro
enumerador
Arbito de recursos
Controlador de dispositivo
Controlador de dispositivo
Arbito de recursos
enumerador
BUS
BUS
BUS
dispositivo
dispositivo
dispositivo
dispositivo
dispositivo
dispositivo
E/S
Controlador
De teclado
serie
paralelo
RAM
Cont. De interrupc
interrupciones
Cont
video
teclado
raton
Bus SCIS
Bus
ISA
DC ROOM
Cintas
Adaptador red
Bus PCMCI
modem
Memori
Ram
Espacio de dirección del sistema (no direccionable por la aplicación)
Espacio de direcciones compartidas
Espacio privado de direcciones
Software del anillo 0 DLL del sistema Windows
4GB
Aplicaciones Windows de 16 bits DLL de la aplicación
Otros objetos compartidos
Aplicaciones Windows de 32 bits
Aplicaciones Windows de 16 bits DLL de la plicación
Otros objetos compartidos
No utilizado en su mayor
Parte
Memoria MS-DOS
1MB
0
4MB
2GB
3GB
Sistema de archivos VFAT
Sistema de archivos CDFS
Administrador del sistema
de archivos instalable(IFS)
Sistema de archivos de red
Subsistema de E/S (IOS)
Controlador de seguimiento de volumenes(VTD)
Controlador de tipo espe-cificode disco
(TSD)
Controlador de tipo especifico de CD(TSD)
Controlador suminis. por el vende.VSD
Conversor SCSI
Controlador de puerto
Administrado SCSI
Asig. Modo protegido a real
Adaptador
Adapatador
Adaptador
Controlador minipuerto
Contolador modo real
Capas de la arquitectura del sis. De archivos
Descargar
Enviado por: | Acevedo |
Idioma: | castellano |
País: | España |