Download Control de Proceso
Document related concepts
no text concepts found
Transcript
título ¡Unidad 3 software del sistema operativo! 1 • El sistema operativo desempeña un papel vital que permite que los usuarios interactúen con un sistema computacional, tales como administrar dispositivos, administrar memoria, compartir recursos y controlar los procesos. 2 Las Capas de Software • Los sistemas de software están compuestos de múltiples capas. • En la ciencia de la computación, los principios subyacentes a dichos beneficios se conocen como encapsulación y abstracción. 3 Encapsulación y Abstracción • La Encapsulación significa que cada capa necesita una cantidad limitada de conocimiento para hacer su tarea, y ninguna otra capa tiene acceso a esa información. 4 • En el mundo del software, la encapsulación significa que el programa de procesador de palabras no necesita saber cómo controlar las unidades de disco para abrir o guardar los archivos; hay capas de software por debajo que manejan esos detalles. 5 • Al existir abstracciones bien definidas en cada capa, una implementación puede ser reemplazada por otra sin afectar las capas superiores e inferiores. 6 Capas de Software Scripts o Macros del usuario Interfaz del Usuario Aplicación Bibliotecas de Ejecución (Run-time) Interfaz de Programas de Aplicación Sistema Operativo Núcleo (Kernel) Controladores de los Dispositivos (Drivers) BIOS Hardware Tabla 1 Capas del software 7 El Hardware, • Es la capa más baja de la computadora: los componentes físicos que lo constituyen. En realidad hay varias capas dentro del hardware, ya que la computadora está hecha de tableros de circuitos, los tableros contienen múltiples chips, los chips están compuestos de varios circuitos, y los circuitos están compuestos de transistores 8 El BIOS, • Basic Input/Output System (Sistema Básico de Entrada/Salida), es la capa más fundamental del software. Esta capa trabaja directamente con las señales que controlan los componentes del hardware. La mayor parte de su trabajo se lleva a cabo cuando se prende la computadora. 9 Controladores de los Dispositivos • (Drivers) Son los programas que ayudan al sistema operativo a comunicarse con los dispositivos de modelos específicos. Para agregar un dispositivo nuevo al hardware es necesario que esté instalado el controlador del dispositivo en el disco duro 10 • El controlador del dispositivo de un disco duro, por ejemplo, sabe cuantas pistas tiene el disco y los comandos que debe enviar a la unidad de disco para que el brazo se mueva a una pista específica para escribir o leer datos.. 11 El núcleo • Es el corazón del sistema operativo y desempeña las funciones cruciales para que todo se mantenga operando. Administra la memoria, programa la secuencia de las tareas, y maneja los diferentes tipos de interrupciones que pueden ocurrir. 12 El núcleo • El núcleo debe permanecer siempre en la memoria RAM y debido a su naturaleza, debe correr sin algunos de los mecanismos que protegen contra instrucciones erróneas o accesos ilegales de memoria 13 Sistema operativo • La capa restante del sistema operativo es mucho más grande que el núcleo. Esta capa lleva a cabo todas las demás funciones que un sistema operativo debe realizar. Por ejemplo, incluye un sistema de archivos para administrar las carpetas (folders) y los archivos en un 14 La Interfaz del Programa de Aplicación, o API • Es la capa mediante la cual los programas del usuario (aplicaciones) se comunican con el sistema operativo. El sistema operativo es responsable de estar al tanto de qué programas están usando qué partes de memoria en un momento dado. 15 La Interfaz del Programa de Aplicación, o API • Para la administración de la memoria, el sistema operativo define una abstracción conocida como llamada API. El diseñador de la aplicación tiene que saber cual llamada API usar para pedir memoria adicional 16 Las Bibliotecas de Ejecución • (Run-time) son colecciones de rutinas de software de las que dependen los programas de aplicación. En un programación C para abrir un archivo y leer datos, puedes hacer uso de las funciones integradas fopen y fscanf. Las funciones son llamadas de una biblioteca de rutinas de entrada y salida llamadas stdio. 17 La capa de Interfaz del Usuario • La capa de Interfaz del Usuario es responsable de la comunicación entre la aplicación y el usuario. Típicamente es una interfaz de usuario gráfico (GUI) compuesta de botones y menús desplegables. 18 scripts o macros • Muchas aplicaciones permiten a los usuarios crear scripts o macros. Estas son rutinas que utilizan el conjunto de comandos de la aplicación para realizar una tarea determinada. Los scripts y macros permiten a los usuarios automatizar las secuencias de acciones que llevan a cabo con frecuencia 19 scripts o macros • Los scripts están localizados en la capa superior a la de la jerarquía de aplicación ya que están construidos por comandos de la capa de la aplicación. 20 Bios • El sistema BIOS desempeña tres grandes funciones: inicializa el equipo de cómputo cuando se prende la computadora, carga el sistema operativo y provee el soporte básico para los dispositivos como el teclado, el ratón y los puertos seriales 21 Bios • El sistema BIOS siempre está presente, pero solo es visible cuando se prende la computadora. Después del inicio, el sistema operativo toma el control. 22 • Al prender la computadora no hay sistema operativo en la memoria. La memoria RAM está vacía. El sistema BIOS debe residir en otro tipo de memoria para llevar a cabo su función. El BIOS reside en un chip del la memoria ROM (memoria de sólo lectura) en la tarjeta principal 23 • Al encender la computadora, el procesador automáticamente ejecuta las instrucciones del ROM. Lo primero que hace el BIOS es copiarse del ROM al RAM. A partir de ese momento, le dice al procesador que tome todas sus instrucciones de la RAM. 24 • Otro tipo de memoria que el BIOS utiliza es la memoria CMOS. El CMOS Semiconductor de Óxido de Metal Complementario) es una tecnología de chip que utiliza muy poca energía. En la tarjeta principal se incluye una cantidad pequeña de memoria CMOS, por lo general 64 bytes, para almacenar los parámetros de configuración de BIOS que controlan el equipo de cómputo. 25 Ahora puedes ver lo importante que es que el CMOS consuma poca energía. El mayor inconveniente de la tecnología CMOS es que es más lento que el DRAM regular. Sin embargo, esto no es tan importante si la memoria CMOS solamente almacena la configuración de parámetros BIOS, ya que el contenido sólo se utiliza en el arranque de la computadora. 26 • Al encender la computadora, el BIOS inicia su ejecución con el examen POST ("PowerOn Self Test" o Examen de Encendido). Primero, el BIOS habilita la tarjeta de video (la pantalla brilla) y se despliega información básica así como el tipo de tarjeta de video instalada, el nombre del fabricante del BIOS y la versión del BIOS. 27 • Después determina la cantidad de DRAM instalado en el sistema y puede hacer un examen de memoria. Este examen depende de un parámetro en la configuración del BIOS. (En los sistemas de mucha memoria, se puede desactivar el examen de memoria para producir un encendido más rápido. 28 • La configuración de la memoria y los resultados de los exámenes se desplegarán en la pantalla. El BIOS verifica cuales tarjetas de expansión y adaptadores están presentes y los inicializa. 29 • Para concluir la secuencia POST, el BIOS despliega la información de la configuración del sistema, así como el tipo de procesador instalado, la información de la memoria caché, los tipos de unidades de disco, las direcciones de los puertos seriales y paralelos y la lista de otras tarjetas de expansión detectadas. 30 • Una vez que se finaliza la secuencia POST, el siguiente trabajo del BIOS es cargar el programa que a su vez cargará al sistema operativo. Para hacer esto es necesario que BIOS conozca suficiente sobre las unidades de disco para poder leer un grupo de datos llamados Registro de Inicio Maestro (Master Boot Register), o MBR. 31 • De manera convencional el MBR se encuentra en la primera pista del disco. El programa MBR carga al sistema operativo y lo empieza a operar 32 • Para encontrar el sistema operativo, el BIOS sigue un orden de búsqueda. Empieza buscando en la unidad A, si el disco no contiene el MBR, busca en la unidad de disco B. Si no tiene éxito, busca el MBR en la unidad de disco C, la cual normalmente es el disco duro principal. Y así continua hasta encontrarlo. 33 Modificando la Configuración del BIOS • Para modificar la configuración del BIOS, es necesario entrar al programa de instalación del BIOS durante la secuencia de inicio. Esto se hace oprimiendo una tecla o una combinación de teclas, tal como F2 o ALT+CTRL+ESC. 34 Modificando la Configuración del BIOS • La nueva configuración se almacena en la memoria CMOS para que esté disponible la siguiente vez que se prenda la máquina. Al modificar la configuración del BIOS se debe hacer con mucho cuidado ya que una configuración incorrecta puede causar que la computadora ya no funcione. 35 Control de Proceso • Otra tarea del sistema operativo es estar al tanto de todos los procesos que tratan de ejecutarse en un momento dado, asegurando de que cada proceso tenga oportunidad de ejecutarse continuamente. Un proceso es una instancia de un programa que se está ejecutando. 36 Control de Proceso • El proceso incluye un conjunto de páginas de memoria, un conjunto de descriptores de archivos abiertos (si es el caso de que el proceso haga entradas/salidas), un identificador de proceso y algunas cosas más. El núcleo del sistema operativo mantiene una lista de cada proceso que se está ejecutando en el sistema. 37 Control de Proceso • Esto incluye todos los programas que el usuario está ejecutando, aparte de varios programas que implementan partes del sistema operativo fuera del núcleo, tal como el soporte a impresoras y a la red. 38 Control de Proceso • Cada proceso se puede encontrar en cualquiera de los siguientes estados: ejecutando, ejecutable o bloqueado. Solamente se puede ejecutar un proceso a la vez; muchos pueden ser ejecutables. Un proceso bloqueado es un proceso que se encuentra esperando a que ocurra algún evento. 39 Control de Proceso • Por ejemplo, la cola de impresión está bloqueada la mayor parte del tiempo; solo se convierte en ejecutable cuando un usuario selecciona el comando Imprimir, el cual activa el proceso. 40 Control de Proceso • En una computadora con sistema operativo Windows puedes ver la lista de tareas y procesos que se están ejecutando al invocar al Administrador de Tareas (Task Manager). (En Windows, una tarea es una aplicación que el usuario ejecuta y aparece en la barra de tareas. Una tarea se lleva a cabo por medio de uno o más procesos.). 41 Control de Proceso • En una computadora con sistema operativo UNIX, los comandos ps y top despliegan la información sobre los procesos. • El núcleo del sistema operativo mantiene una cola (queue), también conocida como cola de ejecución, o lista de espera de procesos ejecutables. Para dar la impresión de que todos los procesos corren simultáneamente, utiliza multitarea prioritaria 42 Control de Proceso • Las interrupciones del reloj le permiten al núcleo la oportunidad de revisar la cola y ver si se le debe dar oportunidad de ejecutar algún otro proceso. En caso que sí, el estado del proceso que corría en ese momento se baja del estado ejecutando a ejecutable; se anota el progreso de su ejecución y los contenidos de sus registros se almacenan para que se pueda continuar en un futuro. 43 Control de Proceso • Los procesos bloqueados también generan este tipo de interrupciones, pero la respuesta a la pregunta anterior siempre es un sí. Después, otro proceso de la cola se selecciona para ejecutarse. Si el núcleo cambia de procesos con suficiente frecuencia, ante los ojos del usuario parece como que todos los procesos se están ejecutando al mismo tiempo 44 Control de Proceso • El hecho de cambiar entre un proceso y otro requiere de un intercambio de contexto (context switch), el cual toma tiempo. Para llevar a cabo un intercambio de contexto, el procesador debe limpiar la secuencia de instrucciones que está ejecutando, almacenar sus contenidos, cargar una nueva tabla de página, etc 45 Control de Proceso • Los sistemas operativos modernos ejecutan procesos ligeros, llamados hilos (threads), que tienen el mismo espacio para la dirección y comparten las mismas descripciones de archivos 46 3.2 Administración y Configuración de Dispositivos • Otra función del sistema operativo es administrar los dispositivos de entrada y salida que están instalados en la computadora. Para tener control del equipo de cómputo a este nivel se requiere de la interacción entre el núcleo del sistema operativo, los controladores de los dispositivos y el BIOS 47 Interrupciones • El manejo de las interrupciones es una de las tareas más importantes del núcleo (kernel) del sistema operativo. Una interrupción le señala al procesador que un evento ha ocurrido y que requiere de atención inmediata. A menudo las interrupciones están asociadas con una operación de entrada/salida. 48 Interrupciones • El núcleo identifica lo que causó la interrupción y responde de manera apropiada. Debe actuar con rapidez. Debe administrar cada interrupción en menos de una milésima de segundo para evitar la pérdida de información debido a la siguiente interrupción. 49 • A continuación se explica cómo responde a una interrupción de teclado; lo cual ocurre cada vez que oprimes una tecla. Antes de que oprimas una tecla el procesador está ocupado ejecutando algún otro programa. 50 • En ese momento, teclas "http". Al oprimir la letra "h", el teclado le trasmite un byte de datos a la interfaz PS/2 del teclado en la tarjeta principal. La interfaz interrumpe al procesador para pasarle el byte de datos al controlador del dispositivo. Esto se debe hacer rápidamente antes de que oprimas la letra "t" para que no se pierda la información de la siguiente letra que se teclea. 51 • La interfaz del teclado le manda al procesador una señal llamada IRQ (interrupt request) o petición de interrupción. Cuando el procesador recibe la señal, detiene la ejecución del programa de aplicación (en nuestro caso un editor de página de Web), y toma nota de la dirección de la última instrucción que se ejecutó. 52 • Enseguida, se va a la dirección del administrador de interrupciones del teclado, y comienza la ejecución de las instrucciones que encuentra allí. Debido a que el registro del procesador contiene los datos del programa que el usuario estaba manipulando antes, el administrador de las interrupciones debe almacenar los contenidos de ese registro antes de poder usarlo. 53 • Una vez que se almacenaron los registros, está libre para examinar el estado de la interfaz del teclado y aceptar el byte de datos de entrada. Coloca el byte en un área de almacenamiento que el controlador de teclado revisará en su siguiente corrida, probablemente en el siguiente milisegundo 54 • Luego, el administrador de interrupciones restituye el contenido de los registros previamente almacenados y le transfiere el control a la tarea que se estaba ejecutando anteriormente (en este caso la aplicación de edición de página de Web), y continúa su ejecución partiendo del lugar en el que se quedó al ocurrir la interrupción. 55 Now you know EVERYTHING! 56