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