•Motherboard o Tarjeta madre
•Procesador.
•Tarjeta
de video.
•Memoria
Ram(Memoria acceso aleatorio).
Perifericos Entrada y Salida
Perifericos de Salida
Perifericos de Entrada
Perifericos de Almaceamiento
•Estos
dispositivos permiten al usuario del computador introducir datos, comandos y
programas en el CPU.
Estos
dispositivos permiten al usuario ver los resultados de los cálculos o de las
manipulaciones de datos de la computadora
•Son
los dispositivos que almacenan
datos e información. La memoria de acceso aleatorio no puede ser considerada un
periférico de almacenamiento, ya que su memoria es volátil y temporal.
Procesos
Hilos
•Son
los dispositivos que almacenan
datos e información. La memoria de acceso aleatorio no puede ser considerada un
periférico de almacenamiento, ya que su memoria es volátil y temporal.
Multiprocesos
La CPU alterna de programa en
programa, en un esquema de seudoparalelismo (paralelismo virtual).
Creacion de procesos
1.Inicialización del sistema: Cuando se arranca un SO se crean varios
sucesos.
2.Ejecución de una llamada al sistema para
crear procesos por parte de un proceso en ejecución.
3. Solicitud de un usuario para crear un proceso.
4.Inicio de un trabajo por lotes.
Destruccion de procesos
1.Inicialización del sistema: Cuando se arranca un SO se crean varios
sucesos.
2.Ejecución de una llamada al sistema para
crear procesos por parte de un proceso en ejecución.
3. Solicitud de un usuario para crear un proceso.
4.Inicio de un trabajo por lotes.
Estados de procesos
•Activo: el proceso está empleando la CPU, por tanto, está ejecutándose.
Pueden haber tantos procesos activos como procesadores haya disponibles. Por
tanto, si el sistema dispone de un único procesador, únicamente puede haber un
proceso activo a la vez.
•Preparado: el proceso no está ejecutándose pero es candidato a pasar a estado
activo. Es el planificador el que, en base a un criterio de planificación,
decide qué proceso selecciona de la lista de procesos preparados para pasar a
estado activo.
•Bloqueado: el proceso está pendiente de un evento externo que le ha hecho
bloquear, tales como una operación de lectura/escritura, la espera de
finalización de un proceso hijo, una señal o una operación sobre un semáforo.
Implemetacion de procesos
Para implementar el modelo de procesos, el S.O. mantiene una tabla (un arreglo de
estructura), llamada tabla de procesos, con una entrada por proceso.
La entrada contiene información acerca del estado del proceso, su
contador de programa, apuntador a la pila, asignación de memoria, estado de sus
archivos
abiertos, información contable y de calendarización
Funcionalidad de los hilos
El modelo clásico de hilo
•El modelo de procesos se basa en
dos conceptos independientes: agrupamiento de
recursos y ejecución
Hilos en POSIX
Todos los hilos Pthreads tienen ciertas propiedades. Cada
uno tiene un identificador, un conjunto de registros (incluyendo el contador de programa) y un conjunto de
atributos, que se almacenan en una estructura.
IMPLEMENTACIÓN DE HILOS EN EL
ESPACIO DE USUARIO
Al igual que los procesos, los
hilos poseen un estado de ejecución y pueden sincronizarse entre ellos para
evitar problemas de compartimiento de recursos
Hay dos formas principales de implementar un paquete de hilos: en espacio de usuario y en el kernel.
Hilos a nivel de usuario
En una aplicación ULT pura, todo el
trabajo de gestión de hilos lo realiza la aplicación y el núcleo o kernel no es consciente de la existencia
de hilos
Hilos a nivel de Kernel.
En una aplicación KLT pura, todo el
trabajo de gestión de hilos lo realiza el kernel.
Condiciones
de carrera
En
algunos sistemas operativos, los procesos que trabajan en conjunto pueden
compartir cierto espacio de almacenamiento en el que pueden leer y escribir
datos.
Regiones
críticas
El
problema de evitar las condiciones de carrera también se puede formular de una
manera abstracta. Parte del tiempo, un proceso está ocupado realizando cálculos
internos y otras cosas que no producen condiciones de carrera
Exclusión
mutua con espera ocupada
En
un sistema con un solo procesador,
la solución más simple es hacer que cada proceso deshabilite todas las
interrupciones justo después de entrar a su región crítica y las rehabilite
justo después de salir
Semáforos
uUn
semáforo es una variable especial (o tipo abstracto de datos) que constituye el
método clásico para restringir o permitir el acceso a recursos compartidos (por
ejemplo, un recurso de almacenamiento del sistema o variables del código
fuente) en un entorno de multiprocesamiento (en el que se ejecutarán varios
procesos concurrentemente).
Mutex
MonitoresCuando
no se necesita la habilidad del semáforo de contar, algunas veces se utiliza
una versión simplificada, llamada mutex.