Windows XP y Windows Vista, ¿Procesan los trabajos en lotes o en tiempo real?
Enviado por Programa Chuletas y clasificado en Informática y Telecomunicaciones
Escrito el en español con un tamaño de 21,24 KB
Registro MDR (Memory data Register)
Registro donde se guarda el dato/instrucción leído de la memoria ó último registro donde se deja el dato a escribir en la memoria. Representa el interfaz entre la memoria y el resto de registros de la CPU.
Registros temporales de la ALU
Registro TMPE :
Almacena uno de los dos operandos de entrada que intervienen en la operación que va a realizar la ALU. Registro TMPS :
Almacena el resultado de la operación realizada por la ALU.Etapas en la ejecución de una instrucción 1.
BÚSQUEDA DE LA INSTRUCCIÓN
En el registro MAR se deja el contenido del registro PC. Con esta dirección se accede a memoria. Se obtiene la instrucción en el registro MDR y luego se mueve al registro IR. Se incrementa el PC=PC+1 (en nuestra máquina, una instrucción ocupa 1 dirección de memoria). 2.
DECODIFICACIÓN Y BÚSQUEDA DE OPERANDOS
La UC lee el código de la instrucción del registro IR para saber qué hacer. Se determinan los operandos con los que se va a trabajar. 3.
EJECUCIÓN DE LA INSTRUCCIÓN
Puede incluir un acceso a memoria. Entra en funcionamiento la ALU si es una instrucción aritmético-lógica o se accede a memoria a través de los registros MAR y MDR si es una instrucción de movimiento con un acceso (lectura/escritura) a datos de memoria. Tipos de instruccionesINSTRUCCIONES DE TRANSFERENCIA DE DATOS:
Mueven datos entre los registros internos de la CPU ó entre los registros de la CPU y la memoria.
INSTRUCCIONES ARITMÉTICO-LÓGICAS
ADD, SUB, AND, OR, XOR, NOT, etc.
INSTRUCCIONES DE CONTROL O SALTO
Pueden cambiar el flujo secuencial de ejecución de instrucciones en un programa. Provocan un cambio del contador de programa (PC).
LA MEMORIA
Elemento pasivo que almacena datos/instrucciones, sin alterarlos, en un conjunto de celdas, direccionables por el procesador, para su lectura o escritura. Encontramos memorias en el interior de la CPU (registros), junto a ella en la misma placa (memoria principal) y en otros dispositivos de almacenamiento (memoria secundaria). Existen diversos tipos de memoria según se clasifiquen por: tecnología, coste, estructura, velocidad de acceso, etc.
Si las clasificamos según su volatilidad (pérdida de información cuando desaparece la alimentación): ?
VOLÁTILES
RAM estática o SRAM: utilizadas en memorias caché dentro de los chips de los procesadores para ganar en rapidez y eficiencia. Varios Kbytes. RAM dinámicas ó DRAM: varios tipos como la SDRAM y la DDR-SDRAM ó DDR. Varios Mbytes o incluso Gbytes. ?
NO VOLÁTILES
ROM: programadas (escritas) en fábricas.
PROM: programables una sola vez. EPROM: borrables mediante luz ultravioleta. EEPROM: borrado eléctrico (BIOS) FLASH EPROM: similares a EEPROM con más fácil borrado.
La CAPACIDAD de una memoria: número de palabras o bytes (8 bits, 16 bits, 32 bits, ...) que pueden almacenarse. Se calcula con la fórmula M = 2n donde n es el numero bits dirección, expresada en Bytes, K
Bytes (210 bytes), MegaBytes (220 Bytes) ó Gigabytes (230 Bytes). La memoria es siempre más lenta que el procesador (CPU). En el diseño de un computador los usos de los diferentes tipos de memoria dependen fundamentalmente de 4 parámetros: Velocidad / Coste / Capacidad / Número de accesos. Se utilizan las memorias según una determinada jerarquía donde se intenta llegar a un equilibrio entre estos parámetros:
+accesos coste velocidad -
Capacidad
Registos, cache , memoria principal ,cache de disco , disco magnético ,cinta magnética , disco óptico.
DISPOSITIVOS DE ENTRADA / SALIDA
Elemento que comunica el computador con el exterior. El computador ve el subsistema de E/S como un conjunto de posiciones de memoria sobre las que se puede escribir o leer datos.
El ordenador se comunica con el mundo exterior mediante periféricos. Estos se componen de: Dispositivo externo o de E/S (ej. Monitor, teclado, ratón, ...) Módulo de E/S (controlador) a modo de adaptador. ¿Se puede conectar directamente los dispositivos externos al bus que comunica la CPU y la memoria? … No, porque el control, la velocidad de trabajo y el tamaño de datos suele ser diferente… Surge la necesidad de hacer una adaptación.
Módulo de E/S ó Controlador (adaptador)
Permite comunicación CPU-Periféricos. Un módulo de E/S puede gestionar dispositivos externos de varios fabricantes. Es la Interfaz entre CPU y dispositivos externos. A veces pueden ser incluso auténticos procesadores. Estructura interna: Registro de datos: leer/escribir datos Registro de control: órdenes al periférico
Registro de estado: información sobre estado periférico
Acceso de la CPU al módulo de E/S:
• E/S común o mapeada en memoria.
La CPU ve los registros del controlador ó módulo de E/S como una extensión de la memoria. No hace diferenciación, todo es memoria.
• E/S aislada o separada.
La CPU tiene instrucciones especiales para acceder a los periféricos. Se distingue entre un acceso a datos de memoria y un acceso a datos de un periférico.
Gestión de la E/S Mediante E/S programada o por encuesta (polling) :
1.La CPU inicia y realiza la transferencia.
2.La CPU interroga constantemente al registro de estado del módulo de E/S para saber si tiene datos o si está listo para la transmisión de nuevos datos. Inconveniente: malgasta tiempo de proceso en comprobar continuamente el estado del periférico.
Mediante Interrupciones
1.La CPU realiza la transferencia a petición del periférico. 2.El módulo de E/S inicia la transferencia con una petición de interrupción Línea/Bus a la CPU desde los periféricos. 3.La CPU responde: detiene la ejecución normal del programa que estuviera procesando y lanza un subprograma
que gestiona la petición de transferencia => Rutina de atención a la interrupción
Mediante Acceso Directo a Memoria (DMA)
1.El controlador de E/S se encarga de realizar transferencia. 2.La CPU programa el DMA, que es un pequeño procesador dedicado para las transferencias masivas de datos entre la memoria y el dispositivo de E/S (sin la intervención de la CPU).
Periféricos
Se entenderá por periférico al conjunto de dispositivos que, sin pertenecer al núcleo fundamental de la computadora, formado por la CPU y la memoria central, permitan realizar operaciones de entrada/salida (E/S) complementarias al proceso de datos que realiza la CPU. Se consideran periféricos tanto a las unidades o dispositivos a través de los cuales la computadora se comunica con el mundo exterior, como a los sistemas que almacenan o archivan la información, sirviendo de memoria auxiliar de la memoria principal. En resumen, los periféricos pueden ser de entrada, de salida, de almacenamiento o de comunicación... Por ejemplo: Entrada: ratón teclado webcam escáner micrófono joystick , Salida: monitor impresora altavos , Entrada/Salida: pantalla táctil dispositivos realidad virtual COMUNIACION: módem tarjeta de red , hub ALMACENAMIENTO: grabadora cd/dvd zip pendrive unidades de disco
LOS BUSES
Puente de comunicación entre la CPU, MEMORIA y los dispositivos de E/S. Conjunto de líneas (cables, pistas...) que transmiten señales (nivel alto o bajo de tensión / 5 ó 0 voltios) con funciones específicas. Tres tipos:
Bus de datos
Entre los componentes de un computador. Su anchura (número de líneas eléctricas) suele ser una potencia de dos: 8=23, 16=24 , 32=25, etc.
Bus de direcciones
Indica la posición (dirección) de los datos. Conectado a las salidas de la CPU y su anchura determina su capacidad de direccionamiento.
Bus de control
Controlan el acceso y uso de los buses anteriores y resto de dispositivos.
Clasificación de los buses SERIE (transmiten bit a bit) <>
PARALELO (transmiten varios bits a la vez)
MULTIPLEXADOS (realizan diferentes tareas) <>
NO MULTIPLEXADOS ó DEDICADOS
Ejemplo: bus compartido para direcciones y datos => ahorro en hardware y costes.
CENTRALIZADOS (un dispositivo gestiona el uso del bus) <>
DISTRIBUIDOS
El distribuido requiere de un proceso de arbitrio para resolver conflictos cuando dos dispositivos quieren utilizar el bus al mismo tiempo.
SÍNCRONOS (se transmite el reloj para sincronizar emisor-receptor) <>
ASÍNCRONOS
Los asíncronos requieren que los relojes de todos los dispositivos que intervienen en la comunicación trabajen a la misma frecuencia, así como un protocolo previo para sincronizarlos.
Jerarquía de buses
Dos buses serán compatibles si son eléctricamente idénticos. Las carácterísticas de los diferentes tipos de buses deben estar normalizadas. Ejemplo: bus PCI, AGP, USB, FireWire... En los primeros computadores sólo existía un único bus principal que lo conectaba todo:
Bus del Sistema
Ahora existen un conjunto de buses conectados entre sí formando una jerarquía. Atendiendo las diferentes propiedades de los buses (eléctrica, ancho de banda, etc.) y las necesidades y capacidades de comunicación de los diferentes dispositivos, se establece una Jerarquía de Buses:
1.
Bus LOCAL (mayor velocidad) 2.
Bus SISTEMA
3.
Bus EXPANSIÓN (menor velocidad) Utilizando los buses apropiados para comunicar dispositivos de semejante velocidad de transmisión se mejora sustancialmente el rendimiento de todo el computador.
Sistema operativo : Programa que actúa de interfaz entre los usuarios y el hardware del computador
Objetivos:
Control
Gestionar y asignar los recursos hardware (HW) que requieren los programas: procesador, memoria, discos y otros periféricos.
Comodidad
Facilitar el uso de la máquina a los usuarios, proporcionando un entorno cómodo para el desarrollo y ejecución de programas, y el acceso a los recursos de la máquina. Los recursos HW son difíciles de manejar y programar, especialmente los dispositivos de entrada/salida (E/S). El sistema operativo debe proporcionar una interfaz sencilla para utilizar el HW.
Eficiencia
El sistema operativo debe administrar los recursos hardware y software de la máquina de forma que se aprovechen de la manera más conveniente. En un computador los programas en ejecución deben compartir los recursos hardware disponibles (CPU, memoria, dispositivos de E/S, etc.). El SO establece la política que determina a quién, cuándo, cuánto tiempo y la cantidad de recurso que asigna.
Estructura del S.O
• Núcleo del S.O.:
Se carga al arrancar la máquina y se encarga básicamente de sincronizar la activación de los procesos y definir prioridades. • Llamadas al sistema:
Interfaz formada por un conjunto de servicios que el SO ofrece a los procesos de usuario. • Programas del sistema:
Son aplicaciones de utilidad que se suministran junto al SO aunque 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, etc.
Gestión de procesos
Un proceso es un programa en ejecución que requiere determinados recursos para realizar una tarea. El SO será responsable de: • Creación y eliminación de procesos. • Detener y reanudar procesos. • Comunicación y sincronización de procesos. Problemática: • Ejecución concurrente: Simular la ejecución paralela de varios programas sobre un único procesador (repartiendo para ello el tiempo del procesador entre los procesos). • Planificación de procesos: Determinar a qué proceso se le asigna el procesador en cada instante.
Gestión de la memoria
Funciones asociadas a la gestión de procesos: para ejecutar un proceso es necesario asignarle memoria y cargarlo en ella; cuando finaliza su ejecución, la memoria debe ser liberada. El SO será 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. Problemática: • Aislamiento del proceso: Cada proceso debe tener una zona de memoria independiente que no puede ser interferida por otros procesos. • Asignación de la memoria: Llevar el control de las zonas de memoria libres y ocupadas y la zona de memoria asignada a cada proceso
Gestión de ficheros
La información almacenada en la memoria secundaria (disco) se organiza en ficheros. El SO será responsable de: • Creación y eliminación de ficheros y directorios. • Manipulación de ficheros y directorios (lectura, escritura, copia, ...). Problemática: • Organización del sistema de ficheros: directorios • Asignación de espacio en disco a la información (de manera no necesariamente contigua). • Gestión del espacio libre y ocupado en disco. • Protección.
Gestión de ficheros
La información almacenada en la memoria secundaria (disco) se organiza en ficheros. El SO será responsable de: • Creación y eliminación de ficheros y directorios. • Manipulación de ficheros y directorios (lectura, escritura, copia, ...). Problemática: • Organización del sistema de ficheros: directorios • Asignación de espacio en disco a la información (de manera no necesariamente contigua). • Gestión del espacio libre y ocupado en disco. • Protección.
Gestión de la red
El SO será responsable de gestionar a varios niveles las comunicaciones con el exterior: • Manejadores (drivers) de tarjetas de red (dispositivo E/S). • Protocolos de comunicación (TCP/IP, Netbios, ...): Resuelven el acceso a la red. • Aplicaciones para uso de la red (WWW, FTP, ...): Aplicaciones que facilitan el acceso a recursos remotos (ficheros, páginas web,...)
Protección y seguridad
Mecanismo para permitir o denegar el acceso de un proceso a un determinado recurso (fichero, dispositivo, etc.). El SO será responsable de • Definir “propietarios” de recursos o niveles de protección. • Garantizar la seguridad: Mecanismo para garantizar la privacidad de la información frente a ataques intencionados por parte de intrusos. • Registro de accesos.
LLAMADAS AL SISTEMA Concepto
Conjunto de servicios básicos que proporciona el sistema operativo. Definen la interfaz entre un proceso y el sistema operativo.
Implementación de las llamadas al sistema • Se implementan como interrupciones software. • Normalmente se proporciona una interfaz en forma de biblioteca de funciones que ocultan la interrupción y dan la apariencia de llamadas a procedimientos o funciones predefinidas.
PROGRAMAS DE SISTEMA Concepto:
Utilidades del sistema operativo que se ejecutan como procesos de usuario y proporcionan un entorno más cómodo. Programas escritos en un lenguaje de programación (como C) que realizan llamadas al sistema.
Intérprete de órdenes
• Es la interfaz primaria entre el usuario y el sistema operativo. • Es un programa que lee de su entrada estándar una orden introducida por un usuario, la analiza y la ejecuta. • En la mayoría de sistemas el intérprete de órdenes es un programa que se ejecuta como un proceso de usuario. Por ejemplo: El Shell de Unix, CMD de MS-DOS
PRIMEROS SISTEMAS: 1950 : SISTEMAS FORTRAN Y COBOL. SISTEMAS POR LOTES: .SIMPLES.MULTIPROGRAMADOS 1960 CTSSOS/360 TSO / SISTEMAS DE TIEMPO COMPARTIDO 1970: MULTICS / PRIMEROS SISTEMAS UNIX: UNIX VMS CP/M / SISTEMAS OPERATVISO PARA PC'S 1980 MS-DOS MAC OS 1990: 0S/2 WINDOWS WINDOWS NT 2000
Primera generación de computadores • Máquinas voluminosas operadas desde una consola • Coste muy elevado • Sin sistema operativo. Solo dispone de Cargadores, Compiladores/ensambladores y bibliotecas con “manejadores de dispositivos”. • El usuario/operador/programador interactúa con el hardware del computador sin ayuda externa. Problemática • Mala utilización de recursos caros (CPU, E/S) debido al elevado tiempo de desarrollo y preparación delante de la consola. • Interfaz muy rudimentaria con el usuario.
Sistemas por lotes (batch) sencillos • Operador profesional. • Ausencia de interacción directa usuario – máquina. • Primer sistema operativo simple:
Los trabajos se cargan en memoria desde una cinta o tarjetas perforadas y después se ejecutan. • Agrupación por lotes de trabajos. • Aparecen técnicas que permiten solapar la ejecución y salida de datos de un programa con la carga del siguiente. Problemática : • Baja utilización de la CPU debido a los elevados tiempos de E/S.
Sistemas por lotes multiprogramados • Multiprogramación:
Los tiempos de espera de la CPU (tareas de E/S) se aprovechan para ejecutar las tareas de CPU de otros trabajos . • La memoria principal debe contener más de un programa. • El sistema operativo crece considerablemente en funciones y tamaño, mejorando la gestión de procesos y memoria (reparto y protección de memoria). Problemática: La ausencia de interacción usuario-máquina hace difícil la elaboración y depuración de programas.
Sistemas de tiempo compartido • Mainframes con muchas terminales que distribuyen potencia de cálculo como una especie de “central eléctrica”. • Sistemas multiusuario que combinan la multiprogramación y la interacción usuario - máquina a través de terminales. • El sistema operativo empieza a limitar los tiempos dedicados a cada programa. Cuando este tiempo se agota, detiene el programa y ejecuta otra aplicación. • Mejora de la interfaz usuario - máquina • Multitarea:
Un usuario puede ejecutar varios procesos concurrentemente. Problemática: Sistemas operativos muy complejos.
Los primeros sistemas Unix • Minicomputadores:
Máquinas de arquitectura más sencilla que los mainframes (multitarea y multiusuario)
Pero con mayor potencia de cálculo y menos usuarios. • Adaptar los objetivos de los sistemas de tiempo compartido a arquitecturas minicomputador. • Utilización de lenguajes de alto nivel para el diseño del SO. • Introduce un potente intérprete de órdenes. • Entorno de programación muy completo. • Base para el desarrollo de la primera red de computadores y TCP/IP.
Sistemas operativos para PCs • Máquinas basadas en microprocesadores. Inicialmente de arquitectura muy sencilla y limitada, pero con una continua evolución en potencia: • Interfaces usuario-máquina muy sofisticado: ratones, pantallas gráficas, etc. • Pensadas para un solo usuario. • Sencillez y comodidad del usuario: contrasta con los primeros sistemas, donde los altos precios impónían la optimización en la utilización de recursos. • Rápida evolución: ◦ Primeros sistemas (MS-DOS, CP/M, ...) : poco más que un sistema de ficheros y un cargador. ◦ Sistemas actuales (Windows, Linux, MacOS, OS/2, ...) : ◦ Interfaz basada en sistema de ventanas y ratón (introducida por Macintosh) . ◦ Acceso a red. ◦ Capacidad multitarea.
◦ Progresiva introducción de mecanismos de protección (al estilo UNIX) .
Tendencias actuales Sistemas operativos en red
• Permiten el acceso a recursos remotos. • Proporcionan protocolos de comunicación y gran variedad de aplicaciones para acceso a la red.
Sistemas distribuidos
• Permiten el acceso a recursos remotos de manera transparente (obviando el hecho de la distribución). • Proporcionan entornos de programación distribuida y acceso transparente a bases de datos remotas.
Sistemas multimedia
Sistemas que incorporan interfaces audiovisuales. • Desarrollo de nuevas interfaces usuario-máquina. • Desarrollo de protocolos de transmisión en tiempo real.