República Bolivariana de Venezuela. Universidad Bicentenaria de Aragua. Vicerrectorado Académico. Facultad de Ingeniería. Escuela de Ingeniería de sistemas.

San Antonio de Los Altos – Edo. Miranda
República Bolivariana de Venezuela. Universidad Bicentenaria de Aragua. Vicerrectorado Académico. Facultad de Ingeniería. Escuela de Ingeniería de sistemas.
San Antonio de Los Altos – Edo. Miranda
Profesor: José Zapata
Estudiante: Stephanía Salmerón
C.I: 30.542.120
San Antonio de Los Altos, 10 de junio de 2023
El núcleo de un sistema operativo es su elemento central, este supervisa la gestión de los recursos del sistema, incluida la memoria, el procesamiento de datos, los dispositivos de entrada y salida, así como la comunicación entre programas y entre aplicaciones.
Por lo tanto, las aplicaciones y el hardware del sistema operativo están separados entre sí por el kernel. Ofrece una interfaz estándar para que las aplicaciones puedan acceder a los recursos del sistema de forma segura y controlada.
El kernel sirve como árbitro del sistema, asegurando que ninguna aplicación entre en conflicto entre sí y que todos los recursos se utilicen de manera efectiva. Sirve como la base del sistema operativo, y la estabilidad, seguridad y velocidad del sistema dependen de qué tan bien esté diseñado e implementado.
La interfaz entre el software y el hardware la proporciona el kernel, que sirve como base de un sistema operativo. Se usa continuamente debido a esto. El kernel es el cerebro de un sistema operativo, en pocas palabras.
El programa que administra todos los accesos al procesador y la memoria, está a cargo de los controladores cruciales y tiene acceso directo al hardware, además del kernel del sistema. Sus recursos son administrados de la manera más efectiva posible por un núcleo, que sirve como base para la interacción entre el hardware y el software.
Ya sea un sistema Linux, MacOS o Windows, un teléfono inteligente, un servidor, virtualización como KVM o cualquier otro tipo de computadora, el kernel está en el centro del sistema operativo y administra todas las operaciones de hardware cruciales.
La unidad de procesamiento principal del sistema operativo se denomina proceso. El proceso está conectado a una serie de elementos de información, que se examinan a continuación, para completar esta tarea. Las tablas de estado del procesador, imagen de memoria y sistema operativo conforman los tres grupos que conforman estos elementos. Los bloques de control de los procesos se mantienen en colas, cada una de las cuales representa un estado específico de los procesos, incluyendo información que está presente en cada bloque. Internos al sistema operativo y transparentes al usuario son los estados de los procesos.
Transiciones:
1. El procedimiento está esperando entrada.
2. El planificador selecciona un proceso diferente.
3. Este proceso es seleccionado por el planificador.
4. Entonces es posible proporcionar información.
Estado:
1. Ejecución: el proceso que actualmente utiliza la CPU.
2. Bloqueado (no se puede operar hasta que ocurra un determinado evento externo).
3. Listo (ejecutable; hace una breve pausa para permitir otro. proceso).
La estructura de datos central y más crucial en un sistema operativo es el bloque de control de procesos. Cada bloque de control de procesos tiene toda la información sobre un proceso que un sistema operativo requiere para su control. Casi todos los módulos del sistema operativo, incluidos los que se ocupan de la programación, la asignación de recursos, el procesamiento de Internet, el análisis del rendimiento y la supervisión, leen o modifican estos bloques. Se puede decir que el estado del sistema operativo está definido por el conjunto de bloques de control de procesos. Una estructura del sistema operativo conocida como tabla de procesos, que se puede implementar como un vector o una lista enlazada, almacena el conjunto de todos los PCB. Debido a la alta frecuencia de consulta de la tabla de procesos, se almacena en la memoria principal. Cada proceso en un sistema de multiprogramación debe manejar una gran cantidad de datos. Esta información será organizada de manera diferente por varios sistemas.
Operaciones relacionadas con el proceso. Los sistemas de gestión de procesos deben ser capaces de llevar a cabo operaciones específicas sobre y con los procesos. Estas acciones comprenden:.
*Hacer y deshacer un proceso.
*Detener, luego reiniciar, un proceso.
*Reducir la importancia de un proceso.
*Para "bloquear" y "desbloquear" un proceso.
*Programar un proceso y darle la atención de la CPU.
*Permitir la comunicación entre procesos (también conocida como comunicación de procesos; este es un tema tratado en la sección sobre procesos concurrentes).
Hay numerosos pasos involucrados en la creación de un proceso, incluyendo:.
*Buscar una identificación.
*Añadirlo a la tabla de procesos.
*Determinar la prioridad inicial del proceso.
*Hacer la placa de circuito impreso.
*Asignar los recursos iniciales del proceso.
Los nuevos procesos pueden ser producidos por los existentes. Si lo hace, el proceso que lo crea se denomina proceso principal y el proceso que lo crea se denomina proceso secundario. Para tener un hijo, solo es necesario uno de los padres. Tal creación da como resultado una estructura jerárquica de procesos, donde cada hijo tiene solo un padre, pero un padre puede tener muchos hijos. La llamada al sistema "fork" crea un proceso hijo bajo el sistema operativo UNIX.
El orden en que el procesador lleva a cabo las instrucciones se ve alterado por este evento. Además, la detención de un proceso, como la ejecución de un programa, debido a una ocurrencia no relacionada con el proceso y realizada de una manera que permite que el proceso continúe.
Tipos de interrupciones.
Interrupciones del programa
Causado por una condición de ejecución de instrucción, como un desbordamiento aritmético, una división por cero, un intento de ejecutar una instrucción de máquina no autorizada o una referencia a una ubicación de memoria fuera del rango permitido de la máquina. usuario.
Interrupciones de un reloj Causado por el reloj interno del sistema. Esto permite que el sistema operativo realice tareas específicas de manera consistente, como evitar que ciertos procesos se apoderen de todo el sistema.
Interrupciones de E/S
Generado por los controladores de entrada/salida para mostrar que una operación ha finalizado con éxito o para mostrar diferentes condiciones de error.
Interrupciones de reinicio
Ocurre cuando se presiona el botón de reinicio o un procesador envía la instrucción de reinicio.
Interrupciones por un control de la máquina
Causados por problemas de hardware o mal funcionamiento, como cortes de energía.
Laconcurrenciadeprocesosdescribelascircunstanciasenlasquedosomásprocesos puedenaccederaunrecursocompartidoalmismotiempoo,dichodeotromodo,enlasque suejecuciónrequierecoordinación.Elsistemaoperativoproporcionamecanismosde arbitrajequepermitencoordinarlaejecucióndelosprocesosparaevitarestacoincidencia.
Solo cuando los procesos tienen acceso a datos compartidos modificables se debe usar mutexing; de lo contrario, las operaciones que no entren en conflicto deben llevarse a cabo al mismo tiempo. Se dice que un proceso está en una sección crítica una vez que tiene acceso a los datos compartidos que se pueden cambiar. No hace falta decir que debe asegurarse de que otros procesos (o al menos aquellos con acceso a los datos compartidos) no puedan ingresar a un proceso cuando se encuentra en una sección crítica si desea evitar los problemas mencionados en la sección anterior. críticamente sus propias secciones.
Por supuesto, otros procesos pueden continuar operando fuera de sus secciones críticas mientras un proceso está en su sección crítica. Cuando un proceso sale de un área crítica, cualquier otro proceso que esté esperando para ingresar a sus propias regiones críticas (si hay alguno esperando) hace lo mismo. Uno de los problemas centrales de la programación concurrente es garantizar que se mantenga la exclusión mutua. Se han propuesto numerosas soluciones, algunas de las cuales involucran software y otras hardware, algunas son sencillas y otras complejas, algunas requieren cooperación en el proceso, mientras que otras exigen el cumplimiento por escrito de protocolos estrictos.
Cuando hay múltiples procesos ejecutándose simultáneamente, cada uno se desarrolla de manera diferente a los demás. Para garantizar que al menos uno y solo un proceso ingrese a una región crítica, se requiere la sincronización entre dos o más procesos cuando ambos deben ingresar a una región crítica.
Debemos sincronizar las actividades con la condición si una actividad quiere evitar que otra acceda a un dato compartido en particular mientras una condición específica sigue siendo verdadera. Dado que la exclusión mutua depende de la sincronización, es un requisito.
Se han creado tres algoritmos específicamente para este propósito, y son los siguientes:. * Siempre en alerta. *La espera no está activa.
Cuando varios procesos compiten por los recursos, un tipo de datos abstracto llamado semáforo permite el uso exclusivo del recurso.
Los siguientes requisitos semánticos son satisfechos por el tipo de datos abstractos:. El número de procesos que aún pueden utilizar el recurso se registra en el estado interno del semáforo. Un número entero que nunca se vuelve negativo es un ejemplo de cómo se puede hacer.
Init(), wait() y signal() son las tres operaciones de semáforo que logran lo siguiente:
Limita el número de procesos que pueden acceder al recurso inicializando el semáforo antes de que cualquier proceso haya ejecutado una operación de espera() o una operación de señal(). Se ha construido como un semáforo binario si se inicializa con 1.
El proceso se atasca en el semáforo si el estado es cero y espera a que lo despierte otro proceso. El contador se decrementa y la operación se considera exitosa si el estado muestra que un proceso más puede acceder al recurso.
La función wait() debe implementarse como una instrucción atómica. Sin embargo, la operación wait() puede detenerse en muchas implementaciones. Por lo general, hay una manera de determinar si wait() salió como resultado de una interrupción o un semáforo accedido.
El proceso notifica al semáforo cuando el recurso ha terminado de ser utilizado. Un proceso se despierta si algún proceso en el semáforo todavía está bloqueado; de lo contrario, el contador se eleva. Además, se debe usar una instrucción atómica para implementar la operación signal(). En algunas implementaciones, si un proceso está bloqueado, es posible ver si se ha despertado con éxito. Se pueden utilizar diferentes estrategias que varían en sus niveles de justicia para despertar los procesos, como un sistema sencillo tipo FIFO.
El núcleo del sistema operativo se utiliza para controlar los recursos de hardware solicitados por los diversos componentes de software y sirve como intermediario, determinando quién y cuándo se otorga este acceso. Esto evita la sobrecarga del sistema, el uso de recursos innecesarios y el acceso a software malicioso, la capacidad de controlar todo el sistema manipulando el kernel. De esta manera, el Kernel funciona como una función de seguridad, que requiere que se otorgue acceso a través de varias capas.
También tiene que distribuir los recursos de manera efectiva y sistemática para garantizar que el Hardware y el Software interactúen entre sí de la manera más efectiva posible.
El Kernel está a cargo de hacer que casi todo funcione. Por ejemplo, debe ser capaz de arrancar una PC desde que la encendemos hasta que se ve el escritorio, comunicándose con los componentes de hardware que tiene la PC y que también son necesarios para que funcione. Una vez tengamos el escritorio, este debe poder ejecutar los programas que queramos abrir y hacer que funcionen en nuestro pc\.
*2.4Concurrenciaysecuenciabilidad-MateriaSisOperativos. (n.d.).
https://sites.google.com/site/materiasisoperativo/unidad-2administrador-del-proceso-y-del-procesador/2-4-concurrencia-ysecuenciabilidad
*Gonzalez,D.(n.d.).DefinicionyControldeProcesos.
http://sistemasoperativosumg.blogspot.com/p/definicion-y-controlde-procesos.html
*NUCLEOSDESISTEMASOPERATIVOS.(n.d.).
https://www.profesores.frc.utn.edu.ar/sistemas/ingsanchez/SOP/Lin k1/capitulo7.htm
*Macias, R. (2022, January 4). ¿Qué es el proceso de interrupciones del sistema? - CulturaInformática.Cultura Informática.
https://cultura-informatica.com/conceptos/proceso-deinterrupciones-del-sistema/
*Concurrenciadeprocesos-WikideSistemasOperativos. (n.d.).
https://1984.lsi.us.es/wikissoo/index.php/Concurrencia_de_procesos