El sistema operativo es el software principal que gestiona los recursos del hardware y provee servicios a los programas de aplicación. Las partes principales del sistema operativo UNIX son el kernel, shell y sistema de archivos. Un proceso es un programa en ejecución que incluye instrucciones, estado y memoria asignada. Los procesos pueden estar en estado activo, preparado o bloqueado dependiendo de si están usando la CPU o esperando un evento.
2. Es el software principal o conjunto de programas de un sistema
informático que gestiona los recursos de hardware y provee
servicios a los programas de aplicación de software,
ejecutándose en modo privilegiado respecto de los restantes
(aunque puede que parte de él se ejecute en espacio de
usuario).
3. Las partes más importantes en que puede dividirse el sistema
operativo UNIX son:
*Kernel
*Shell
*UNIX file system
Además, normalmente con el sistema operativo se suministran
otra serie de programas, utilidades para comunicaciones,
editores, lenguajes de programación, etc, que no forman parte
estrictamente del sistema operativo.
4.
5. 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.
6.
7. Todo proceso en un sistema operativo presenta un estado que indica la
situación de la ejecución en que se encuentra. El número de posibles estados
varía de un sistema operativo a otro.
Activo: el proceso está empleando la CPU, por tanto, está ejecutándose. Puede
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.
El dispositivo/hecho externo "avisa" al S.O. cuando ha terminado la acción
que realizaba mediante una INTERRUPCIÓN, dejando el S.O. lo que está
haciendo para atender a esta última. Tras esto, el S.O. comprueba cuales son
los procesos que fueron bloqueados por ese evento externo, cambiándolos al
estado de preparado.
8.
9. Es una señal recibida por el procesador de una computadora,
para indicarle que debe interrumpir el curso de ejecución actual
y pasar a ejecutar código específico para tratar esta situación.
Una interrupción es una suspensión temporal de la ejecución de
un proceso, para pasar a ejecutar una subrutina de servicio de
interrupción, la cual, por lo general, no forma parte del
programa, sino que pertenece al sistema operativo o al BIOS.
Las interrupciones son generadas por los
dispositivos periféricos habilitando
una señal del CPU.
10.
11. Las excepciones son un tipo de interrupción que emplea el
procesador para notificar al sistema operativo de un suceso
excepcional, por ejemplo, cuando el proceso realiza la
instrucción div para dividir un valor usando como denominador
cero. El tratamiento que generalmente realiza el sistema
operativo consiste en terminar con la ejecución del proceso.
El tratamiento de interrupciones es prioritario, por tanto, en
caso de interrupción se deja de ejecutar el proceso para dar
paso al manejador de las interrupciones.
12. Los semáforos son un mecanismo de sincronización de
procesos inventados por Edsger Dijkstra en 1965. Los
semáforos permiten al programador asistir al planificador del
sistema operativo en su toma de decisiones de manera que
permiten sincronizar la ejecución de dos o más procesos. A
diferencia de los cerrojos, los semáforos nos ofrecen un
mecanismo de espera no ocupada.
Los semáforos son un tipo de datos que están compuestos por
dos atributos:
*Un contador, que siempre vale >= 0.
*Una cola de procesos inicialmente vacía.