Logo Studenta

Estructura Clase11

¡Este material tiene más páginas!

Vista previa del material en texto

Objetivos de la Clase 11 (23/10/2013)
1. Fecha de exámenes: 30/10,06/11,20/11,28/11,05/12
2. Libro “Introducción a los Sistemas Operativos” de 
Alcalde/Morera/Perez/Campanero
3. Conceptos Generales
4. Estructura y prestaciones de los sistemas operativos
5. El núcleo y los procesos
Desarrollo de los temas de la presente Clase
Bibliografia Cap. 2, 3 y 4 de Introducción a los Sistemas Operativos 
(Alcalde/Morera/Perez/Campanero)
Introducción a los Sistemas Operativos
Conceptos Generales
 Introducción
o Definiciones basadas en recomendaciones dadas en los 
estándares de calidad de software del Institute of 
Electrical an Electronic Engineering (IEEE)
 Terminología General
o Común a todas las disciplinas que giran en torno a la 
informática
o Primer Bloque
 Se refiere a elementos de software muy utilizados, 
con terminología que en ocasiones depende del 
lenguaje de programación en el que estén escritos
 Ver definición términos
o Segundo Bloque
 Conceptos referidos a personas que utilizan las 
computadoras con determinadas características
 Ver definición términos
o Otros conceptos generales
 Ver definición términos
 Conceptos de Hardware
 Ver definición términos
 Conceptos de Firmware
o Conjunto de programas y datos que vienen en una 
computadora desde su fabricación, en una memoria que 
no puede ser modificada por el usuario.
o Estos programas pueden venir implantados en el propio 
cableado del ordenador, denominándose en estos casos 
lógica cableada, y también pueden venir en memorias de 
1
solo lectura (ROM), conociéndose en estos casos como 
microcódigo o microprograma.
 Microcódigo: representación simbólica de un 
microprograma
 Microprograma: secuencia de instrucciones 
elementales en código de maquina que 
corresponden a una operación completa de la 
computadora
 La microprogramación realiza funciones de control 
en la computadora y corresponde a los diseñadores 
de hardware
o Modalidades de Firmware
 Programas cableados: secuencia de acciones que 
configuran determinados algoritmos implantados en 
el cableado. Ej. Calculadoras.
 Control por programa: el control se realiza por un 
programa o conjunto de ellos grabados en una 
memoria ROM, instrucciones de maquina 
interpretadas como un juego de señales de control
 Control rígido: mezcla de los dos anteriores, 
conversión de códigos de operación de las 
instrucciones del programa almacenado en señales 
de control se establece por cableado
 Control por microprograma: control por medio de 
un microprograma almacenado en memoria ROM, 
cuyas instrucciones son menos numerosas en 
código de maquina, donde se puede emular una 
maquina virtual más potente que la real que 
configura el propio hardware
 Conceptos de Software
o Proceso de generación de software de usuario a través del 
proceso de compilación y montaje de un programa
 Ver definición términos
Estructura y prestaciones de los sistemas operativos
o Estructura jerárquica
 Crecieron necesidades de los usuarios y se 
perfeccionaron los sistemas. Mayor organización del 
software
 Se dividió el SO en pequeñas partes, cada una de 
ellas perfectamente definida y con clara interfase 
con el resto de los elementos
 Ver Sistema jerárquico THE
 Distintas capas en su orden jerárquico:
2
• Hardware (Nivel -1)
• Planificación del procesador (Nivel 0)
• Gestión de la memoria (Nivel 1)
• Controlador consola del operador (Nivel 2)
• Control de las operaciones de E/S (Nivel 3)
• Gestión de archivos (Nivel 4)
• Control de programas de usuario (Nivel 5)
• En esta estructura se basan prácticamente la 
mayoría de los SO 
 Otra forma de ver este tipo de sistema es la de 
anillos concéntricos o “rings”
• Figura 3.3
• Cada anillo tiene una apertura, puerta o 
trampa, por donde pueden entrar las 
llamadas de las capas inferiores.
• Núcleo más protegido de accesos indeseados 
de las capas más externas. Capas mas 
internas mas privilegiadas que las externas
o Maquina virtual
 Tipo de SO que presentan una interfase a cada 
proceso, mostrando una maquina que parece 
idéntica a la maquina real subyacente
 Estos SO separan dos conceptos que suelen estar 
unidos en el resto de sistemas:
• La multiprogramación
• La maquina extendida
• Objetivo de estos SO de maquina virtual es 
integrar distintos SO dando la sensación de 
ser varias maquinas diferentes
• Núcleo se denomina monitor virtual, misión la 
multiprogramación, presentando a los niveles 
superiores tantas maquinas virtuales como se 
soliciten. Estas no son maquinas extendidas, 
sino una replica de la maquina real, en cada 
una de ellas se puede ejecutar un SO 
diferente, que será el que ofrezca la maquina 
extendida al usuario
• Figura 3.4
o Cliente-servidor
 SO más reciente, puede ser ejecutado en la 
mayoría de las computadoras, ya sean grandes o 
pequeñas
 Sirve para todo, de propósito general. Consta de 
núcleo y procesos, pero con grandes diferencias en 
3
como distribuye los trabajos entre sus distintas 
partes.
 Suministra mecanismos adecuados para la gestión 
de:
• Procesos
• Memoria
• Comunicación entre procesos
• Núcleo establece la comunicación entre los 
clientes y los servidores.
• Los procesos pueden ser tanto servidores 
como clientes.
 Prestaciones de un sistema operativo
o Misión de un sistema operativo es proporcionar ciertos 
servicios, se pueden considerar desde dos puntos de 
vista:
 Del programador
• Ejecución de programas
• Operaciones de E/S
• Gestión de archivos
 Del sistema
• Asignación de recursos
• Contabilidad
• Protección
o Servicios de usuario
 De dos formas diferentes: Llamadas al SO desde un 
proceso y ejecución de programas del propio 
sistema
• Llamadas al SO. Interfase entre un programa 
en ejecución y el SO
o Gestión de procesos
o Gestión de operaciones de E/S
o Gestión del sistema de archivos
o Protección
o Llamadas al SO necesitan pasar 
información para la correcta ejecución 
del proceso a través de algún registro o 
bloque de parámetros
o Son como las llamadas a un 
subprograma desde el punto de vista 
del programa que llama. Tras la 
llamada, se ejecuta la rutina del SO que 
ha sido invocada, tomando los datos de 
los parámetros; a continuación se 
devuelve el control al proceso que 
efectúo la llamada, ejecutándose la 
siguiente instrucción.
 Programas de sistema
4
• Existe un conjunto de programas de sistema o 
de utilidad cuya misión es resolver problemas 
comunes y frecuentes de los usuarios, 
ofreciéndolos de forma cómoda y sencilla
• Figura 3.7
• Estos programas los podemos agrupar de la 
siguiente forma:
o Tratamiento de archivos
o Información
o Editores
o Ejecución
o Programas de utilidad
o Interprete de comandos: es el más 
importante de todos los programas del 
SO porque crea el entorno de trabajo de 
los usuarios
o Servicios del sistema
 El interprete de comandos y los programas del 
sistema son los que fijan el entorno y la forma de 
ver el SO por los usuarios.
 El programador del sistema tiene una visión 
totalmente diferente, para él todo son recursos 
físicos y dispositivos que deben ser convertidos en 
entidades lógicas para ofrecérselas a los usuarios
 El SO es un programa activado por eventos. Si no 
hay programas en ejecución, ni operaciones de E/S, 
etc., el sistema estará inactivo hasta que se 
produzca alguna nueva petición. Cada evento 
producirá una interrupción de la ejecución del 
sistema operativo.
 Llamadas al sistema operativo
• Las agrupamos por el tipo de llamada y no 
por la acción que realizan. Pueden ser:
o Terminación normal: devolución del 
control al usuario cuyo proceso ha 
terminado, a través del interprete de 
comandos.
o Terminación anormal: error en la 
ejecución de un programa, este 
termina, devolviendo el control al 
interprete de comandos, que indicara 
situación de error al usuario
o Peticiones de estado: procesa petición y 
devuelve control al programa que la 
solicito
5
o Peticiones de recursos: Programas 
solicitarán recursos durante ejecuciónque serán atendidos de inmediato o se 
entrara en un estado de espera hasta 
ser atendidos
o Peticiones de E/S: ídem anterior
• Interrupciones de los dispositivos de E/S
o Proceso queda en espera hasta que se 
termina la operación de E/S: cuando 
termine la operación, producirá una 
interrupción que dará control al sistema 
operativo, el cual activara el proceso 
que estaba en espera.
o Proceso seguirá realizando otras 
operaciones: dispositivo externo 
produce interrupción en el SO, el cual 
no activara el proceso puesto que no 
estaba en espera, pero indicará que la 
operación solicitada ha terminado
• Gestión de excepciones
o Cuando programa en ejecución comete 
un error, se producirá una interrupción. 
Tratamiento de estos errores se conoce 
como manejo de excepciones
o SO suelen asociar alguna función para 
el tratamiento de estos errores. El 
núcleo da control a esta función cuando 
aparece un error de este tipo
o Protecciones
 Programas de aplicación de los usuarios no están 
exentos de errores, y tampoco los sistemas están 
libres de usuarios con malas intenciones
 SO deben incluir funciones de protección para evitar 
problemas entre procesos y entre estos y el propio 
sistema operativo
 Protección de E/S: Rutinas para el control de las 
operaciones de E/S, se denominan controladores o 
drivers de dispositivos y entre otras funciones 
protegen los accesos incorrectos, devolviendo el 
control al núcleo del SO, indicándole la situación 
errónea que se ha producido
 Protección de la memoria: cada proceso tiene 
una zona de memoria asignada para el tratamiento 
de sus datos denominada espacio de 
direccionamiento y no puede acceder a zonas 
asignadas al SO o a otros espacios. Existen unos 
6
registros frontera que indican limite de memoria 
asignado a cada proceso
 Figura 3.8
 Si proceso intenta acceder a direcciones que están 
fuera de la zona de memoria de su espacio de 
direccionamiento, se producirá una interrupción que 
dará control al SO dando cuenta del error que se ha 
producido.
 Protección del procesador
• Problemas ante presencia de bucles infinitos o 
acceso al procesador que no lo liberan nunca. 
Única solución apagar y volver encender 
(reset) para volver a comenzar desde el 
principio
• Para evitarlo, el hardware incluye un 
temporizador que marca periodos de tiempo, 
de manera que al terminar un periodo de 
tiempo se produzca una interrupción y tome 
el control el SO
Introducción a los Sistemas Operativos
El núcleo y los procesos
 Introducción
o El núcleo (kernel) de un SO es un conj. de rutinas cuya 
misión es la de gestionar el procesador, la memoria, las 
E/S y el resto de recursos disponibles en la instalación. 
Esta gestión la realiza para atender al funcionamiento y 
peticiones de los trabajos que se ejecutan en el sistema.
o La entidad básica de los SO actuales son los procesos
 Procesos
o Este importante concepto surgió con la multiprogramación
o Un proceso es un programa en ejecución junto con el 
entorno asociado (registros, variables, etc.)
o El corazón de un sistema operativo es el núcleo, un 
programa de control que reacciona ante cualquier 
interrupción de eventos externos y que da servicio a los 
procesos, creándolos, terminándolos y respondiendo a 
cualquier petición de servicio por parte de los mismos.
o Modelo
7
 Diferencia entre programa y un proceso es crucial 
para entender funcionamiento de los SO: Ej. 
Mecánico.
 Comparando con computadora siguientes analogías:
• Mecánico -> procesador que realiza el trabajo
• Manual de reparaciones -> programa
• Herramientas -> recursos disponibles
• Piezas de recambio -> datos
• Utilizar las herramientas para desmontar las 
piezas defectuosas sustituyéndolas por otras 
nuevas siguiendo las instrucciones del manual 
-> el proceso
 Supongamos mecánico realizando reparación 
compleja (lleva mas tiempo) y aparece una 
reparación rápida (aparece interrupción). Mecánico 
suspende momentáneamente reparación compleja y 
anota en que situación quedó (guarda estado del 
proceso). Sustituye manual por el de reparación 
rápida que va a realizar (cambio de programa). 
Comienza nueva reparación (cambio proceso) y 
nuevas herramientas (distintos recursos); 
indicaciones usuario y piezas de repuesto (datos) y 
las indicaciones del manual (programa) con lo cual 
terminara este trabajo para volver a la reparación 
inicial.
 El proceso es una actividad que se apoya en datos, 
recursos, un estado en cada momento y un 
programa.
o Bloque de control del proceso (PCB)
 Proceso se representa por un conjunto de datos 
donde se incluyen estado en cada momento, 
recursos utilizados, registros, etc., denominado 
Bloque de control del proceso
 Los objetivos a cubrir son los siguientes:
• Localización de la información del proceso por 
parte del SO
• Mantener registrados los datos del proceso en 
caso de tener que suspender temporalmente 
su ejecución o reanudarla
 La información contenida es la siguiente:
• Estado del proceso -> contador de programa 
(program counter), estado del procesador 
(prioridad del proceso), modo de ejecución, 
etc., estado de los registros internos de la 
computadora.
• Estadísticas de tiempo y ocupación de 
recursos -> planificación del procesador
8
• Ocupación de memoria interna y externa 
(swapping)
• Recursos en uso (unidades de E/S)
• Archivos en uso
• Privilegios
 Esta información esta en memoria principal o en 
disco
• Se accede para actualización o consulta
• Datos de proceso -> en memoria principal
 Bloque de control del sistema (SCB)
• Objetivos similares al anterior
• Entre ellos enlazado de los PCB
• Figura 4.2
• Cambio del proceso A por el B se denomina 
cambio de proceso:
o Deja de ejecutar el proceso A
o Pasa control al núcleo del SO -> cambio 
de contexto: pasa de modo usuario a 
modo supervisor
o Antes cambio se salva estado del 
proceso A
o Núcleo ve si proceso B esta preparado 
para ejecución
o Cambio de contexto pasando de modo 
supervisor a modo usuario
o Repone estado del proceso B (si fue 
interrumpido previamente)
o Pone en ejecución el proceso B
o Figura 4.3
• El cambio de contexto se producirá siempre 
que se requiera la atención de algún servicio 
del sistema operativo.
o Ante un cambio de contexto el núcleo 
salva el estado del proceso que se 
estaba ejecutando en su bloque de 
control y restaura el proceso que va a 
ejecutarse a partir de los datos 
almacenados en su bloque de control.
o Estado de los procesos
 Los bloques de control de los procesos se 
almacenan en colas, cada una de las cuales 
representa un estado particular de los procesos, 
existiendo en cada bloque, entre otras 
informaciones, tantos campos como colas en las 
que el proceso se pueda situar, para saber en que 
cola se encuentra
9
 Los estados de los procesos son internos del SO y 
transparentes al usuario
 Figura 4.4
 Los estados de los procesos pueden ser activos e 
inactivos
 Estados activos
• Son los que compiten por el procesador
• Estos pueden ser:
o Ejecución: tiene el control del 
procesador
o Preparado: están dispuestos para ser 
ejecutados, pero no están en ejecución
o Bloqueado: no pueden ejecutarse por 
necesitar algún recurso no disponible
 Estados inactivos
o No pueden competir por el procesador, 
pero que pueden volver a hacerlo por 
medio de ciertas operaciones
o Ej. Avería en dispositivo de E/S
o Suspendido bloqueado: en espera de 
un evento, sin que hayan desaparecido 
las causas de su bloqueo
o Suspendido preparado: proceso 
suspendido, pero no tiene causa para 
estar bloqueado
• Figura 4.5
o Transiciones de estado
 Comienzo de la ejecución: comienza con orden 
de ejecución del programa insertándolo en la cola 
de preparados
 Paso a estado de ejecución: procesador 
inactivo, en cola de preparados existe algún proceso 
en espera, se pone en ejecución el 1ro. de ellos
 Paso a estado bloqueado: proceso que se 
encuentra en ejecución y solicita operación a 
dispositivo externo (unidad de E/S) teniendoque 
esperar que dicha operación finalice, será pasado 
de estado de ejecución a estado bloqueado 
insertándose su PCB en la cola correspondiente de 
bloqueados. Procesador pone en ejecución el 
siguiente proceso.
 Paso a estado preparado: 
• Orden de ejecución de un programa
• Proceso bloqueado por operación de E/S y 
esta finaliza, pasara de la cola de bloqueados 
a la de preparados.
10
• Si proceso esta en ejecución y aparece 
interrupción fuerza al SO a ejecutar otro 
proceso, el 1ro. pasara al estado preparado y 
su PCB a la cola de preparados.
• Activación : un proceso suspendido 
previamente sin estar bloqueado pasara al 
estado preparado al ser activado nuevamente
 Paso a estado suspendido bloqueado: si un 
proceso esta bloqueado y el SO recibe la orden de 
suspenderlo, su PCB entrara en la cola de procesos 
suspendidos bloqueados
 Paso a estado suspendido preparado: 
• Suspensión de un proceso preparado pasando 
este de la cola de procesos preparados a la de 
suspendidos preparados
• Suspensión de un proceso en ejecución, pasa 
a la cola de suspendidos preparados.
• Desbloqueo de un proceso suspendido 
bloqueado por desaparecer la causa que 
impedía el ser activado de nuevo
o Operaciones sobre procesos
 SO poseen funciones cuyo objetivo es el de 
manipular los procesos
 Las operaciones sobre un proceso son las 
siguientes:
• Crear el proceso: orden de ejecución del 
programa con varios argumentos, como el 
nombre y la prioridad del proceso. Aparece el 
PCB que será insertado en la cola de procesos 
preparados
• Destruir un proceso: eliminación del 
proceso con el cual el SO destruye su PCB
• Suspender un proceso: operación de alta 
prioridad que paraliza un proceso que puede 
ser reanudado posteriormente. En gral. por 
mal funcionamiento o sobrecarga del sistema
• Reanudar un proceso: activar un proceso 
que ha sido previamente suspendido
• Cambiar la prioridad de un proceso
• Temporizar la ejecución de un proceso: 
proceso se ejecuta cada cierto tiempo, por 
etapas o de una sola vez, pero transcurrido 
un periodo de tiempo fijo 
• Despertar un proceso: desbloquear un 
proceso bloqueado previamente por 
temporización o cualquier otra causa
o Prioridades
11
 Todo proceso por sus características e importancia 
lleva determinadas necesidades de ejecución en 
cuanto a urgencia y asignación de recursos
 Los procesos no acceden de igual forma y con igual 
frecuencia al procesador debido a la prioridad que 
cada uno tiene asignada.
 Las prioridades pueden ser:
• Asignadas por el SO: prioridades asignadas 
a un proceso en el momento de comenzar su 
ejecución en base a los privilegios de su 
propietario y del modo de ejecución
• Asignadas por el propietario: propio 
usuario asigna a cada proceso la prioridad con 
que este debe ejecutarse. Muy utilizada en 
sistemas de tiempo real
 Otra clasificación de prioridades en base a 
posibilidad de variación
• Estáticas: prioridades que no pueden ser 
modificadas durante la ejecución del proceso. 
En sistemas de tiempo compartido pero no de 
tiempo real
• Dinámicas: puede ser modificada con el fin 
de atender cualquier evento que se produzca
Direcciones de Contacto
 
vbasictl@yahoo.com.ar
 
http://ar.groups.yahoo.com/group/tlyso_01
Temas del Segundo Parcial Teórico
Clase 8 
1. Definición de programación orientada a objetos. Que elementos deben existir en 
POO. Definir y explicar que son objetos, métodos y mensajes (punto 15.1, 15.1.1, 
15.1.2, 15.1.3 libro Joyanes Aguilar)
2. Como es la estructura interna de un objeto, atributos y métodos (punto 15.4, 
15.4.1, 15.4.2 libro Joyanes Aguilar)
3. Que son las clases. Cuales son sus propósitos principales. Diferencia con objeto. 
Comparación con tablas de datos. Que es un constructor y un destructor (punto 
15.5, 15.5.1 libro Joyanes Aguilar)
4. Que es la herencia. Cual es su objetivo final. Jerarquía de clases. Jerarquía de 
herencia. (punto 15.6 libro Joyanes Aguilar)
12
Clase 9 
1. Que son los lenguajes de programación e instrucciones a la computadora (punto 
1.6, 1.6.1 libro Joyanes Aguilar)
2. Que son los lenguajes de maquina (punto 1.6.2 libro Joyanes Aguilar)
3. Que son los lenguajes de bajo nivel (punto 1.6.3 libro Joyanes Aguilar)
4. Que son los lenguajes de alto nivel (punto 1.6.4 libro Joyanes Aguilar)
5. Explicar que es un interprete. Diferencia con un compilador (punto 1.7.1 libro 
Joyanes Aguilar)
6. Explicar que es un compilador. Como es su funcionamiento. Cuales son sus 
fases. Diagrama de flujo de las fases de ejecución de un programa (punto 1.7.2 
libro Joyanes Aguilar)
Clase 10 
1. Concepto de Sistema Operativo desde el punto de vista del Usuario o como 
Gestor de Recursos. Definición de Sistema Operativo. Gráfico de maquina 
extendida (punto 1.2 libro SO-Alcalde/Morera/etc.)
2. Explicar el proceso Off-line y On-line (punto 1.3.4 libro SO-Alcalde/ Morera/etc.)
3. Explicar el proceso de Buffering (punto 1.3.4 libro SO-Alcalde/Morera/etc.)
4. Explicar el proceso de Spooling (punto 1.3.4 libro SO-Alcalde/Morera/etc.)
5. Explicar la Multiprogramación (punto 1.3.5 libro SO-Alcalde/Morera/etc.)
6. Explicar el proceso por Lotes (Batch) (punto 1.3.5 libro SO-Alcalde/ Morera/etc.)
7. Explicar el proceso de Tiempo Compartido. Cuales son sus características (Time 
Sharing) (punto 1.3.5 libro SO-Alcalde/Morera/etc.)
8. Explicar el proceso de Tiempo real (Real Time). Características principales. 
Ejemplos (punto 1.3.5 libro SO-Alcalde/Morera/etc.)
9. Explicar el Multiproceso. Graficar la diferencia de tiempos de 4 procesos en 
monoprogramación, multiprogramación y multiproceso (punto 1.3.7 libro SO-
Alcalde/Morera/etc.)
Clase 11 
1. Explicar la Estructura Jerárquica de un Sistema Operativo. Niveles. Organización 
Jerárquica en anillos (punto 3.1.2 libro SO-Alcalde /Morera /etc.)
2. Explicar y graficar la Estructura de Maquina Virtual de un Sistema Operativo 
(punto 3.1.3 libro SO-Alcalde/Morera/etc.)
3. Explicar la Estructura Cliente-Servidor de un Sistema Operativo (punto 3.1.4 libro 
SO-Alcalde/Morera/etc.)
4. Cuales son las prestaciones de un Sistema Operativo desde el punto de vista del 
programador y del sistema. Llamados al Sistema Operativo. Programas del 
sistema, explicar y graficar (punto 3.2, 3.2.1 libro SO-Alcalde/Morera/etc.)
5. Que es un Proceso?, Explicar la diferencia entre programa y proceso a través de 
la analogía entre el mecánico y la computadora (punto 4.2, 4.2.1 libro SO-
Alcalde/Morera/etc.)
6. Que es el bloque de control del proceso (PCB) (punto 4.2.2 libro SO-
Alcalde/Morera/etc.)
7. Cuales son los estados de los procesos. Explicar y graficar los estados de un 
proceso y sus transiciones (punto 4.2.3 libro SO-Alcalde/Morera/etc.)
8. Explicar las transiciones de Estado de los procesos (punto 4.2.4 libro SO-
Alcalde /Morera /etc.)
13
	Objetivos de la Clase 11 (23/10/2013)
	Bibliografia Cap. 2, 3 y 4 de Introducción a los Sistemas Operativos (Alcalde/Morera/Perez/Campanero)
	Estructura y prestaciones de los sistemas operativos

Continuar navegando