Professional Documents
Culture Documents
Facultad de Economía
Licenciatura en Gestión de Tecnología de Información
Estudiante:
Silvia Flores
4-759-422
Tema:
“Arquitectura de las computadoras y Sistemas Operativos”
Profesor:
Alexis Flores
Catedra:
Fundamentos en Sistemas Operativos
Nivel:
4to Año
I Semestre
2019
Introducción
Con el paso de los años se ha producido una evolución gradual de la estructura de las
computadoras y las capacidades de los Sistemas Operativos. Sin embargo, recientemente se
ha introducido un cierto número de nuevos elementos de diseño en los nuevos Sistemas
Operativos y en las nuevas versiones existentes.
Estos Sistemas Operativos modernos responden a nuevos desarrollos del hardware y nuevas
aplicaciones. Entre estos dispositivos de hardware están las máquinas multiprocesador,
dispositivos de E/S, alta velocidad en los enlaces de las redes de comunicación e incremento
en el tamaño y variedad de los dispositivos de almacenamiento de memoria.
Índice
Introducción
Componentes de un sistema
Procesamiento
Memoria
Dispositivos de E/S
Sistema de Interconexión
Conclusión
Bibliografía
Sistema operativo y arquitectura de las computadoras
Componentes de un sistema:
CPU (procesador)
Memoria
Dispositivos de E/S
Sistema de Interconexión
Procesamiento
Un proceso es un concepto manejado por el sistema operativo que consiste en el conjunto
formado por:
Las instrucciones de un programa destinadas a ser ejecutadas por el microprocesador.
Su estado de ejecución en un momento dado, esto es, los valores de los registros de
la CPU para dicho programa.
Su memoria de trabajo, es decir, la memoria que ha reservado y sus contenidos.
Otra información que permite al sistema operativo su planificación.
Esta definición varía ligeramente en el caso de sistemas operativos multihilo, donde un
proceso consta de uno o más hilos, la memoria de trabajo (compartida por todos los hilos) y
la información de planificación. Cada hilo consta de instrucciones y estado de ejecución.
Los procesos son creados y destruidos por el sistema operativo, así como también este se
debe hacer cargo de la comunicación entre procesos, pero lo hace a petición de otros
procesos. El mecanismo por el cual un proceso crea otro proceso se denomina bifurcación
(fork). Los nuevos procesos son independientes y no comparten memoria (es decir,
información) con el proceso que los ha creado.
En los sistemas operativos multihilo es posible crear tanto hilos como procesos. La diferencia
estriba en que un proceso solamente puede crear hilos para sí mismo y en que dichos hilos
comparten toda la memoria reservada para el proceso.
Estados del proceso
El principal trabajo del procesador es ejecutar las instrucciones de máquina que se
encuentran en memoria principal. Estas instrucciones se encuentran en forma de programas.
Para que un programa pueda ser ejecutado, el sistema operativo crea un nuevo proceso, y el
procesador ejecuta una tras otra las instrucciones del mismo.
En un entorno de multiprogramación, el procesador intercalará la ejecución de instrucciones
de varios programas que se encuentran en memoria. Elsistema operativo es el responsable de
determinar las pautas de intercalado y asignación de recursos a cada proceso.
Modelo de dos estados.
El modelo de estados más simple es el de dos estados. En este modelo, un proceso puede
estar ejecutándose o no. Cuando se crea un nuevo proceso, se pone en estado de No
ejecución. En algún momento el proceso que se está ejecutando pasará al estado No
ejecución y otro proceso se elegirá de la lista de procesos listos para ejecutar para ponerlo en
estado Ejecución.
De esta explicación se desprende que es necesario que el sistema operativo pueda seguirles
la pista a los procesos, conociendo su estado y el lugar que ocupa en memoria. Además, los
procesos que no se están ejecutando deben guardarse en algún tipo de cola mientras esperan
su turno para ejecutar.
Modelo de cinco estados
El modelo anterior de dos estados funcionaría bien con una cola FIFO y planificación por
turno rotatorio para los procesos que no están en ejecución, si los procesos estuvieran siempre
listos para ejecutar. En la realidad, los procesos utilizan datos para operar con ellos, y puede
suceder que no se encuentren listos, o que se deba esperar algún suceso antes de continuar,
como una operación de Entrada/Salida. Es por esto que se necesita un estado donde los
procesos permanezcan bloqueados esperando hasta que puedan proseguir. Se divide entonces
al estado No ejecución en dos estados: Listo y Bloqueado. Se agregan además un
estado Nuevo y otro Terminado.
Los cinco estados de este diagrama son los siguientes:
Ejecución: el proceso está actualmente en ejecución.
Listo: el proceso está listo para ser ejecutado, sólo está esperando que el planificador así
lo disponga.
Bloqueado: el proceso no puede ejecutar hasta que no se produzca cierto suceso, como
una operación de Entrada/Salida.
Nuevo: El proceso recién fue creado y todavía no fue admitido por el sistema operativo.
En general los procesos que se encuentran en este estado todavía no fueron cargados en la
memoria principal.
Terminado: El proceso fue expulsado del grupo de procesos ejecutables, ya sea porque
terminó o por algún fallo, como un error de protección, aritmético, etc.
Los nuevos estados Nuevo y Terminado son útiles para la gestión de procesos. En este
modelo los estados Bloqueado y Listo tienen ambos una cola de espera. Cuando un nuevo
proceso es admitido por el sistema operativo, se sitúa en la cola de listos. A falta de un
esquema de prioridades ésta puede ser una cola FIFO. Los procesos suspendidos son
mantenidos en una cola de bloqueados. Cuando se da un suceso se pasan a la cola de listos
los procesos que esperaban por ese suceso.
Si existe un esquema con diferentes niveles de prioridad de procesos es conveniente mantener
varias colas de procesos listos, una para cada nivel de prioridad, lo que ayuda a determinar
cuál es el proceso que más conviene ejecutar a continuación.
Procesos suspendidos
Una de las razones para implementar el estado Bloqueado era poder hacer que los procesos
se puedan mantener esperando algún suceso, por ejemplo una Entrada/Salida. Sin embargo,
al ser mucho más lentas estas operaciones, puede suceder en nuestro modelo de cinco estados
todos los procesos en memoria estén esperando en el estado Bloqueado y que no haya más
memoria disponible para nuevos procesos. Podría conseguirse más memoria, aunque es
probable que esto sólo permita procesos más grandes y no necesariamente nuevos procesos.
Además hay un costo asociado a la memoria y de cualquier forma es probable que se llegaría
al mismo estado con el tiempo.
Otra solución es el intercambio. El intercambio se lleva a cabo moviendo una parte de un
proceso o un proceso completo desde la memoria principal al disco, quedando en el
estado Suspendido. Después del intercambio, se puede aceptar un nuevo proceso o traer a
memoria un proceso suspendido anteriormente.
El problema que se presenta ahora es que puede ser que si se decide traer a memoria un
proceso que está en el estado Suspendido, el mismo todavía se encuentre bloqueado. Sólo
convendría traerlo cuando ya está listo para ejecutar, esto implica que ya aconteció el suceso
que estaba esperando cuando se bloqueó. Para tener esta diferenciación entre procesos
suspendidos, ya sean listos como bloqueados, se utilizan cuatro
estados: Listo, Bloqueado, Bloqueado y suspendido y Listo y suspendido.
Procesos en espera
Dos o más procesos pueden cooperar mediante señales de forma que uno obliga a detenerse
a los otros hasta que reciban una señal para continuar.
Se usa una variable llamada semáforo para intercambiar señales.
Si un proceso esta esperando una señal, se suspende (WAIT) hasta que la señal se envíe
(SIGNAL).
Se mantiene una cola de procesos en ESPERA en el semáforo.
La forma de elegir los procesos de la cola en ESPERA es mediante una política FIFO.
Entre sus funciones, la BIOS comienza con el proceso denominado POST (Power On Self
Test) durante el cual inspeccionará todo el sistema para corroborar que todos sus
componentes funcionan adecuadamente para dar lugar al arranque.
Para ello, la BIOS consulta un registro en el que se halla toda la información referente al
hardware que tenemos instalado en nuestra PC, para comprobar que todo se encuentre en
orden. Dicho registro es denominado CMOS Setup.
Si bien mencionamos que en muchos casos la memoria ROM no puede ser modificada, en la
actualidad gran cantidad de motherboards incorporan nuevos modelos de ROM que permiten
su escritura, para que el usuario pueda realizar cambios en la BIOS con el fin de mejorar su
funcionamiento.
La diferencia fundamental que existe entre la memoria RAM y la ROM radica en la
velocidad, ya que la ROM al tratarse de un tipo de memorial secuencial necesita recorrer
todos los datos hasta hallar la información que está buscando, mientras que la RAM trabaja
de manera aleatoria, lo que hace que acceda a la información específica de manera directa.
Este factor hace que la velocidad de la RAM sea notablemente superior. Asimismo, la
capacidad de ésta es mayor a la de la memoria ROM, y a diferencia de esta última, la RAM
no viene integrada al motherboard, lo que permite que el usuario pueda expandir la cantidad
de memoria RAM de su PC.
La memoria caché
Otro de los tipos de memoria utilizados por las computadoras es la denominada SRAM, más
conocida como memoria Caché.
Tanto el procesador como el disco rígido y la motherboard poseen su propia memoria
caché, que básicamente resguarda distintas direcciones que son utilizadas por la memoria
RAM para realizar diferentes funciones, tales como ejecutar programas instalados en la PC.
El proceso que realiza la memoria caché es guardar las ubicaciones en el disco que ocupan
los programas que han sido ejecutados, para que cuando vuelvan a ser iniciados el acceso a
la aplicación logre ser más rápido.
Existen tres tipos de caché diferentes:
– El caché L1 que se encuentra en el interior del procesador y funciona a la misma velocidad
que éste, y en el cual se guardan instrucciones y datos.
– El caché L2 que suelen ser de dos tipos: interno y externo. El primero se encuentra dentro
de la motherboard, mientras que el segundo se halla en el procesador pero de manera externa,
lo que lo hace más lento que el caché L1.
– El caché L3 que sólo vienen incorporado a algunos de los microprocesadores más
avanzados, lo que resulta en una mayor velocidad de procesos.
La memoria de Swap
En algunas computadoras, sobre todo en aquellas que poseen sistema operativo Microsoft
Windows o Linux, también encontraremos la denominada memoria virtual o de Swap.
Este tipo de memoria, que funciona de manera similar a la caché, es creado por Windows o
Linux para ser utilizada exclusivamente por el sistema operativo. En el caso de Linux esta
denominada memoria swap generalmente está ubicada en una partición diferente del disco,
mientras que en el sistema de Microsoft es un archivo dentro del sistema operativo mismo.
En muchas ocasiones la memoria virtual suele producir ciertos problemas que ocasionan que
la PC se cuelgue, ya que este tipo de memoria ha sido creada por el sistema dentro del disco
rígido y a veces puede llegar a superar la capacidad de proceso.
En la ejecución de programas mediante la memoria virtual, sólo obtendremos como resultado
que nuestra PC se vuelva más lenta, ya que le resta velocidad de proceso al disco rígido.
La mejor forma de evitar este inconveniente es expandir la cantidad de memoria RAM de
nuestra PC, para que el sistema no necesite de la creación de memoria virtual extra, y por
ende relentice los procesos durante nuestro trabajo.
Acceso a la memoria
Según la manera de acceder a las celdas de información de la memoria las podemos clasificar
de memorias asociativas Direccionales por contenidos: cuando se le pide la información
almacenada en una dirección, la memoria asociativa está organizada de forma tal que puede
encontrarla sencillamente inspeccionando los bits de la dirección y con una búsqueda
asociativa (muy similar a una búsqueda en una tabla hash). Utilizada principalmente en las
caches memorias convencionales Cada celda es direccionarle por un número al que
llamaremos dirección
Jerarquía de la Memoria
El tiempo de acceso es el tiempo necesario para realizar una operación de lectura/escritura,
es decir, el tiempo que transcurre desde el instante en que se pone la dirección en el bus de
direcciones hasta que el dato ha sido almacenado en memoria o puesto a disposición de la
CPU.
Interesa que el acceso sea lo más rápido posible, pero además interesa tener la mayor
capacidad sin incurrir en un costo excesivo. Por tanto, se usan las memorias más rápidas y
caras para donde los accesos son más frecuentes
Surge así lo que se llama jerarquía de la memoria y que se establece en base al tiempo de
acceso y capacidad disponible
1. Registros del microprocesador
2. Memoria cache
3. Memoria principal
4. Unidades de disco
5. Unidades de cinta u ópticas
Administración de memoria
En un sistema el S.O. debe llevar contabilidad de la memoria
El S.O. tiene que llevar contabilidad de la memoria disponible en el sistema: la
memoria no contabilizada por el S.O. no está disponible para los procesos
• El S.O. también tiene que llevar una contabilidad por proceso
• El S.O. asigna memoria a los procesos cuando se inicia su ejecución y cuando
la solicitan
Cuando el proceso termina el S.O. RECUPERA la memoria que estén asignadas Si
el sistema tiene memoria virtual es el S.O. quien se encarga de gestionarla
Fragmentación de la memoria
Al igual que ocurre con los sistemas de ficheros, la memoria puede presentar
fragmentación inter y externa
fragmentación interna Memoria que se desperdicia por ser las unidades de asignación
de tamaño fijo y no ser los requerimientos de los procesos múltiplos exactos de la
unidad de asignación
fragmentación externa Memoria que no se puede asignar por no estar contigua, típica
de los sistemas que utilizan segmentación
Protección
Ya memoria debe estar protegida de manera que
Un proceso no pueda acceder directamente a la memoria del S.O.
Un proceso no pueda acceder a la memoria de otros procesos
Las maneras más elementales de implementar la protección
Con dos registros limite
Con un registro base y un registro limite
Con dos registros limite
Cada vez que un proceso genera una dirección se comprueba si es mayor que el
registro límite inferior y menor que el superior. De no ser así se genera una excepción
El hardware ha de proporcionar dichos registros limite
El cambio de contexto actualizar ‘a el valor de dichos registros limite
El cambio de valores de los registros limite ha de ser una instrucción
privilegiada
Dispositivos de E/S
Gestión de Entradas y Salidas.
Gestión de Entrada y Salida: esto representa los intercambios de información desde el
procesador o incluso al acceso directo de la memoria. Esta actividad de entrada y salida se
realiza gracias a la relación que hay entre el sistema operativo con los diversos periféricos,
así administrar y controlar los estados y recursos que tienen cada uno de estos mediante los
controladores de dispositivos.
Dispositivos o periféricos: son aparatos solidos e independientes que van conectados a la
unidad central de la computadora. Existen diversos tipos de dispositivos con funciones
diferentes.
Existen tres tipos de dispositivos según su función:
Dispositivos de entrada: tienen la tarea de introducir información, órdenes, comandos e
instrucciones para que la computadora lo procese con el sistema operativo.
Dispositivos de salida: son los que se encargan de procesar los resultados de salida de los
procesos de datos. Y mostrarlos al usuario.
Dispositivos de Bloques: Estos periféricos almacenan información en bloques de tamaño
fijo, estos van desde 128 bytes hasta 1024 bytes.
Problemas entre el Sistema Operativo y los Dispositivos.
Cada dispositivo tiene diferentes funciones.
Los dispositivos dependen de núcleo de sistema operativo.
Existe diferentes velocidades entre los dispositivos tanto como de entrada, salida y
bloque.
El sistema operativo trata de buscar la mejor manera de realizar la función de entrada
y salida.
Control de entrada y salida: mediante esta actividad el sistema operativo decide qué
proceso hará uso del recurso, durante cuánto tiempo y en qué momento.
Entrada y salida Controladas por Programas e Interrupciones.
Por programas: es la forma más sencilla en realizar operaciones de entradas y salidas. Esto
ocurre cuando el procesador y el dispositivo coinciden en el mismo tiempo definido; el
procesador interactúa directamente con el dispositivo comprobando el estado o si tiene algún
dato listo para así poder recibirlo.
Por interrupciones: en este caso el procesador espera un tiempo indefinido hasta que el
modulo que es el encargado de proyectar la operación de entrada y salida esté preparado para
ejecutar la operación.
Control/estado y datos de entrada y salida controladas por programas:
El procesador es el que tiene la mayor importancia y determina la actividad y el control sobre
los procesos de entrada y salida y el programa indica en qué momento se ejecuta.
El microprocesador: Se encarga de decidir el estado de los dispositivos indicando
información del dispositivo como: datos listos para transmitir, dispositivo ocupado,
dispositivo no conectado o error, etc.
Procesamiento de la Interrupción:
a) El dispositivo le envía una señal de interrupción al procesador.
b) El procesador termina la instrucción que estaba ejecutando antes que comience a
responder a la interrupción.
c) El procesador investiga si hay una interrupción, si encuentra dicha interrupción le informa
al dispositivo que la causo.
d) El procesador se prepara para transferir control a la interrupción y guarda información
necesaria para terminar con el proceso que se interrumpió.
e) El procesador carga en la computadora la dirección de inicio del programa de servicio que
se interrumpió.
f) Una vez completado con la interrupción, el procesador continúa con el ciclo de instrucción
siguiente.
h) Cuando se termina con el servicio de la interrupción los registros vuelven a restaurarse.
Entrada y salida sincrónica: cuando la operación de entrada y salida finaliza, el control es
retornado al proceso que la generó.
Entrada y salida Sincrónica: retorna al programa usuario sin esperar que la operación de
entrada y salida finalice. Se necesita una llamada al sistema que le permita al usuario esperar
por la finalización de entrada y salida, si es requerido.
Acceso Directo de la Memoria (DMA).
Tiene la habilidad de transferir directamente la información entre la memoria y los
dispositivos de entrada o estos a la memoria sin la necesidad de un canal que intercambie
datos.
Características del acceso directo a memoria:
-Las computadoras modernas que tienen DMA, transfieren datos a los dispositivos de menos
utilización que las que no tienen DMA.
-El procesador transfiere cuando otras operaciones se terminan y dicha transferencia se
encuentra en proceso, luego termina cuando recibe la interrupción del DMA.
-Es útil en actividades de aplicaciones en tiempo real.
Buffer de entrada y salida.
Estos son espacios de memoria principal que se mantienen solo para almacenar datos que
envían de los dispositivos o destino a ellos.
Los buffers se clasifican en: buffer simple, que su transferencia de entrada e hace desde el
dispositivo hacia el buffer que el sistema operativo guarda en la memoria principal a dicho
proceso.
Buffer doble, es cuando un proceso transfiere sus datos a un buffer mientras que el sistema
operativo vacía o llena el buffer secundario.
Sistema de interconexión
Existen dos tipos generales de sistemas operativos: Los basados en caracteres y los de interfaz
gráfica. El sistema basado en caracteres es ejemplificado perfectamente con el sistema
operativo utilizado por las computadoras IBM y compatibles. El MS-DOS está listo para
recibir un comando desplegando el tipo de indicador en la pantalla; en donde el usuario
escribe carácter por carácter el comando que se desea ejecutar.
Estructura de interconexión de PC
El conjunto de caminos que conectan los diferentes módulos constituye la estructura de
interconexión. El diseño de esta estructura dependerá de los intercambios que se tengan que
hacer éntrelos módulos. Se han propuesto diferentes estructuras de interconexión para la
arquitectura de un computador:
Stallings, William. "Systemas Operativos". 4ta Edi. Pearson Educación, S.A. Madrid.
2001.
Saúl González. (2001). Arquitectura de los sistemas operativos. 05/04/2019, de
monografias.com Sitio web:
https://www.monografias.com/trabajos7/arso/arso.shtml