Preguntas frecuentes de la entrevista sobre sistemas operativos – Part 1

1. ¿Qué son un proceso y una tabla de procesos?  
Un proceso es una instancia de un programa en ejecución. Por ejemplo, un navegador web es un proceso, un shell (o símbolo del sistema) es un proceso. El sistema operativo es responsable de administrar todos los procesos que se ejecutan en una computadora y asigna a cada proceso una cierta cantidad de tiempo para usar el procesador. Además, el sistema operativo también asigna varios otros recursos que necesitarán los procesos, como la memoria de la computadora o los discos. Para realizar un seguimiento del estado de todos los procesos, el sistema operativo mantiene una tabla conocida como tabla de procesos. Dentro de esta tabla, se enumeran todos los procesos junto con los recursos que utiliza y el estado actual del proceso.

 
2. ¿Cuáles son los diferentes estados del proceso?

Los procesos pueden estar en uno de tres estados: en ejecución, listos o en espera. El estado de ejecución significa que el proceso tiene todos los recursos que necesita para la ejecución y el sistema operativo le ha dado permiso para usar el procesador. Solo un proceso puede estar en estado de ejecución en un momento dado. Los procesos restantes están en estado de espera (es decir, esperando que ocurra algún evento externo, como la entrada del usuario o el acceso al disco) o en estado listo (es decir, esperando permiso para usar el procesador). En un sistema operativo real, los estados de espera y listo se implementan como colas que mantienen los procesos en estos estados.
 

3. ¿Qué es un hilo?  
Un subproceso es un flujo de secuencia única dentro de un proceso. Dado que los subprocesos tienen algunas de las propiedades de los procesos, a veces se denominan procesos ligeros. Los subprocesos son una forma popular de mejorar la aplicación a través del paralelismo. Por ejemplo, en un navegador, varias pestañas pueden ser hilos diferentes. MS Word usa múltiples subprocesos, un subproceso para formatear el texto, otro subproceso para procesar entradas, etc. 
 

4. ¿Cuáles son las diferencias entre proceso y subproceso?

Un subproceso tiene su propio contador de programa (PC), un conjunto de registros y un espacio de pila. Los hilos no son independientes unos de otros, como los procesos. Como resultado, los subprocesos comparten con otros subprocesos su sección de código, sección de datos y recursos del sistema operativo, como archivos abiertos y señales.

5.¿Cuáles son los beneficios de la programación multihilo?  
Hace que el sistema sea más receptivo y permite compartir recursos. Conduce al uso de la arquitectura multiproceso. Es más económico y preferido. 

6. ¿Qué es la paliza?  
Thrashing es una situación en la que el rendimiento de una computadora se degrada o colapsa. Thrashing ocurre cuando un sistema dedica más tiempo a procesar errores de página que a ejecutar transacciones. Si bien el procesamiento de fallas de página es necesario para apreciar los beneficios de la memoria virtual, la hiperpaginación tiene un efecto negativo en el sistema. A medida que aumenta la tasa de fallas de página, más transacciones necesitan ser procesadas desde el dispositivo de paginación. La cola en el dispositivo buscapersonas aumenta, lo que resulta en un mayor tiempo de servicio para una falla de paginación.

7. ¿Qué es la Anomalía de Belady?  
La anomalía de Bélády es una anomalía con algunas políticas de reemplazo de página en las que el aumento de la cantidad de marcos de página da como resultado un aumento en la cantidad de fallas de página. Ocurre cuando se utiliza el reemplazo de página Primero en entrar, primero en salir. 
 

8. ¿Qué sucede si un mutex no recursivo se bloquea más de una vez? 

Punto muerto. Si un subproceso que ya había bloqueado una exclusión mutua intenta volver a bloquear la exclusión mutua, entrará en la lista de espera de esa exclusión mutua, lo que resultará en un interbloqueo. Es porque ningún otro subproceso puede desbloquear el mutex. Un implementador del sistema operativo puede tener cuidado al identificar al propietario de la exclusión mutua y devolverlo si ya está bloqueado por el mismo subproceso para evitar interbloqueos. 

9. Explique el propósito principal de un sistema operativo.

Un sistema operativo actúa como intermediario entre el usuario de una computadora y el hardware de la computadora. El propósito de un sistema operativo es proporcionar un entorno en el que un usuario pueda ejecutar programas de manera conveniente y eficiente. 

Un sistema operativo es un software que administra el hardware de una computadora. El hardware debe proporcionar los mecanismos adecuados para garantizar el correcto funcionamiento del sistema informático y evitar que los programas de usuario interfieran en el correcto funcionamiento del sistema.

10. ¿Qué es la paginación de demanda?

El proceso de cargar la página en la memoria a pedido (siempre que ocurra una falla de página) se conoce como paginación a pedido.
 

11. ¿Cuáles son las ventajas de un sistema multiprocesador?

Hay algunas ventajas principales de un sistema multiprocesador:

  • Rendimiento mejorado.
  • Múltiples aplicaciones.
  • Multitarea dentro de una aplicación.
  • Alto rendimiento y capacidad de respuesta.
  • Uso compartido de hardware entre CPU.

12. ¿Qué es el núcleo?

Un kernel es el componente central de un sistema operativo que administra las operaciones de las computadoras y el hardware. Básicamente gestiona operaciones de memoria y tiempo de CPU. Es un componente central de un sistema operativo. Kernel actúa como un puente entre las aplicaciones y el procesamiento de datos realizado a nivel de hardware mediante la comunicación entre procesos y las llamadas al sistema.

13. ¿Qué son los sistemas en tiempo real?

Un sistema en tiempo real significa que el sistema está sujeto a tiempo real, es decir, la respuesta debe garantizarse dentro de una restricción de tiempo especificada o el sistema debe cumplir con el plazo especificado. 

14.¿Cuáles son los diferentes algoritmos de programación?
Programación por orden de llegada (FCFS). 
Programación del siguiente trabajo más corto (SJN). 
Programación de prioridades. 
Tiempo restante más corto. 
Programación Round Robin (RR). 
Programación de colas de varios niveles. 
 

15. ¿Qué es un interbloqueo?  
Interbloqueo es una situación en la que dos o más procesos esperan que finalice el otro y ninguno de ellos finaliza nunca. Considere un ejemplo cuando dos trenes vienen uno hacia el otro en la misma vía y solo hay una vía, ninguno de los trenes puede moverse una vez que están uno frente al otro. Una situación similar ocurre en los sistemas operativos cuando hay dos o más procesos que tienen algunos recursos y esperan los recursos que tienen otros. 

16. ¿Qué es la memoria virtual?

La memoria virtual crea la ilusión de que cada usuario tiene uno o más espacios de direcciones contiguos, cada uno de los cuales comienza en la dirección cero. Los tamaños de tales espacios de direcciones virtuales son generalmente muy altos. La idea de la memoria virtual es utilizar el espacio del disco para ampliar la memoria RAM. Los procesos en ejecución no necesitan preocuparse si la memoria es de RAM o disco. La ilusión de una cantidad tan grande de memoria se crea al subdividir la memoria virtual en piezas más pequeñas, que se pueden cargar en la memoria física siempre que un proceso las necesite. 
 

17. Describa el objetivo de la multiprogramación.

La programación múltiple aumenta la utilización de la CPU mediante la organización de trabajos (código y datos) para que la CPU siempre tenga uno para ejecutar. El principal objetivo de la multiprogramación es mantener varios trabajos en la memoria principal. Si un trabajo se ocupa con IO, la CPU se puede asignar a otros trabajos. 

18. ¿Qué es el sistema de tiempo compartido?

El tiempo compartido es una extensión lógica de la multiprogramación. La CPU realiza muchas tareas mediante interruptores que son tan frecuentes que el usuario puede interactuar con cada programa mientras se ejecuta. Un sistema operativo de tiempo compartido permite que múltiples usuarios compartan computadoras simultáneamente.

19. ¿Qué es un hilo?

Un hilo es una ruta de ejecución dentro de un proceso. Un proceso puede contener varios subprocesos.
 

20. ¿Dé algunos beneficios de la programación multihilo?

Un subproceso también se conoce como proceso ligero. La idea es lograr el paralelismo dividiendo un proceso en múltiples subprocesos. Los subprocesos dentro del mismo proceso se ejecutan en el espacio de memoria compartida, 

21. Explique brevemente FCFS?

FCFS significa First Come First Serve . En el algoritmo de programación FCFS, el trabajo que llegó primero en la cola de listos se asigna a la CPU y luego el trabajo que llegó en segundo lugar y así sucesivamente. FCFS es un algoritmo de programación no preventivo como un proceso que retiene la CPU hasta que finaliza o realiza operaciones de E/S. Por lo tanto, si se ha asignado un trabajo más largo a la CPU, muchos trabajos más cortos tendrán que esperar.

22. ¿Qué es el algoritmo de programación de RR?

Se utiliza un algoritmo de programación por turnos para programar el proceso de manera justa para cada trabajo en un intervalo de tiempo o cantidad e interrumpir el trabajo si no se completa para entonces, el trabajo viene después del otro trabajo que llega en el tiempo cuántico que hace esta programación. justamente.

  • Round-robin es de naturaleza cíclica, por lo que no se produce inanición.
  • Round-robin es una variante de la programación por orden de llegada
  • No se da prioridad, se da especial importancia a ningún proceso o tarea
  • La programación de RR también se conoce como programación de división de tiempo

23. ¿Cuáles son las condiciones necesarias que pueden conducir a un punto muerto en un sistema?

Exclusión mutua: hay un recurso que no se puede compartir. 
Retener y esperar: un proceso está reteniendo al menos un recurso y esperando otro recurso, que está con algún otro proceso. 
Sin preferencia: el sistema operativo no puede recuperar un recurso de un proceso hasta que el proceso lo devuelva. 
Espera circular: un conjunto de procesos están esperando el uno al otro en forma circular. 
 

24. ¿Enumerar los diferentes niveles de RAID?

Una array redundante de discos independientes es un conjunto de varias unidades de disco físico que el sistema operativo ve como una sola unidad lógica. Desempeñó un papel importante en la reducción de la brecha entre los procesadores cada vez más rápidos y las unidades de disco lentas. RAID tiene diferentes niveles:

  • Nivel-0
  • Nivel 1
  • Nivel 2
  • Nivel 3
  • Nivel 4
  • Nivel 5
  • Nivel-6

25. ¿Qué es el algoritmo de Banker?

El algoritmo del banquero es un algoritmo de asignación de recursos y prevención de interbloqueos que prueba la seguridad simulando la asignación de cantidades máximas posibles predeterminadas de todos los recursos, luego realiza una verificación de «estado s» para probar posibles actividades, antes de decidir si se debe permitir la asignación. continuar.

26. ¿Qué factores determinan si se debe utilizar un algoritmo de detección en un sistema para evitar interbloqueos?

Una es que depende de la frecuencia con la que es probable que ocurra un punto muerto bajo la implementación de este algoritmo. El otro tiene que ver con cuántos procesos se verán afectados por el interbloqueo cuando se aplique este algoritmo.

27. Indique la principal diferencia entre el espacio de direcciones lógico y físico.

Parámetro DIRECCIÓN LÓGICA DIRECCIÓN FÍSICA
Básico generado por la CPU. ubicación en una unidad de memoria.
Espacio de dirección El espacio de direcciones lógicas es un conjunto de todas las direcciones lógicas generadas por la CPU en referencia a un programa. La dirección física es un conjunto de todas las direcciones físicas asignadas a las direcciones lógicas correspondientes.
Visibilidad Los usuarios pueden ver la dirección lógica de un programa. Los usuarios nunca pueden ver la dirección física del programa.
Generación generada por la CPU. Calculado por MMU.
Acceso El usuario puede utilizar la dirección lógica para acceder a la dirección física. El usuario puede acceder indirectamente a la dirección física pero no directamente.

28. ¿Cómo ayuda la carga dinámica a una mejor utilización del espacio de memoria?

Con la carga dinámica, una rutina no se carga hasta que se la llama. Este método es especialmente útil cuando se necesitan grandes cantidades de código para manejar casos que ocurren con poca frecuencia, como las rutinas de error.

29. ¿Qué son las superposiciones?

El concepto de las superposiciones es que cada vez que se ejecuta un proceso, no usará el programa completo al mismo tiempo, solo usará una parte de él. Luego, el concepto de superposición dice que cualquier parte que necesite, la carga y, una vez que la parte está lista, simplemente la descarga, lo que significa simplemente retirarla y obtener la nueva parte que necesita y ejecutarla. Formalmente, “El proceso de transferir un bloque de código de programa u otros datos a la memoria interna, reemplazando lo que ya está almacenado”.

30. ¿Qué es la fragmentación?

Los procesos se almacenan y eliminan de la memoria, lo que libera espacio en la memoria, que es demasiado pequeño para siquiera considerar su utilización por diferentes procesos. Supongamos que ese proceso no está listo para prescindir de bloques de memoria ya que su pequeño tamaño y la memoria impiden que permanezca constantemente sin usar se denomina fragmentación. Este tipo de problema ocurre durante un marco de asignación de memoria dinámica cuando los bloques libres son pequeños, por lo que no puede satisfacer ninguna solicitud.

31. ¿Cuál es la función básica de la paginación?

La paginación es un método o técnica que se utiliza para la asignación de memoria no contigua. Es un tema de partición de tamaño fijo (esquema). En la paginación, tanto la memoria principal como la memoria secundaria se dividen en particiones iguales de tamaño fijo. Las particiones de la unidad de área de memoria secundaria y la unidad de área de memoria principal se conocen como páginas y marcos, respectivamente.

La paginación es un método de administración de memoria acostumbrado a recuperar procesos de la memoria secundaria a la memoria principal en forma de páginas. en la paginación, cada proceso se divide en partes donde el tamaño de cada parte es el mismo que el tamaño de la página. El tamaño de la última mitad también podría ser el tamaño de la página. Las páginas de la unidad de área de proceso se mantienen dentro de los marcos de la memoria principal dependiendo de su accesibilidad.

32. ¿Cómo resulta el intercambio en una mejor gestión de la memoria?

El intercambio es una técnica simple de administración de procesos/memoria utilizada por el sistema operativo para aumentar la utilización del procesador al mover algunos procesos bloqueados de la memoria principal a la memoria secundaria, formando así una cola de procesos suspendidos temporalmente y la ejecución continúa. con el proceso recién llegado. Durante los intervalos regulares establecidos por el sistema operativo, los procesos se pueden copiar de la memoria principal a un almacén de respaldo y luego volver a copiarlos más tarde. El intercambio permite ejecutar más procesos que pueden caber en la memoria al mismo tiempo

33. Escriba un nombre de los problemas clásicos de sincronización?

  • Búfer acotado
  • Lectores-escritores
  • Filósofos comedores
  • peluquero durmiente

34. ¿Qué es el Método de Acceso Directo?

El método de acceso directo se basa en un modelo de disco de un archivo, de modo que se ve como una secuencia numerada de bloques o registros. Permite leer o escribir bloques arbitrarios. El acceso directo es ventajoso cuando se accede a grandes cantidades de información. El acceso directo a la memoria (DMA) es un método que permite que un dispositivo de entrada/salida (E/S) envíe o reciba datos directamente hacia o desde la memoria principal, sin pasar por la CPU para acelerar las operaciones de la memoria. El proceso es administrado por un chip conocido como controlador DMA (DMAC).

35. ¿Cuándo ocurre la paliza?

Thrashing ocurre cuando los procesos en el sistema acceden con frecuencia a páginas que no tienen memoria disponible.

36. ¿Cuál es el mejor tamaño de página al diseñar un sistema operativo?

El mejor tamaño de paginación varía de un sistema a otro, por lo que no existe un mejor tamaño de página. Hay diferentes factores a considerar para encontrar un tamaño de página adecuado, como la tabla de páginas, el tiempo de paginación y su efecto en la eficiencia general del sistema operativo.

37. ¿Qué es la multitarea?

La multitarea  es una extensión lógica de un sistema de multiprogramación que admite la ejecución simultánea de varios programas. En la multitarea, se ejecuta más de una tarea al mismo tiempo. En esta técnica, las múltiples tareas, también conocidas como procesos, comparten recursos de procesamiento comunes, como una CPU.

38. ¿Qué es el almacenamiento en caché?

La caché es una memoria más pequeña y rápida que almacena copias de los datos de las ubicaciones de la memoria principal que se usan con frecuencia. Hay varios cachés independientes diferentes en una CPU, que almacenan instrucciones y datos. La memoria caché se utiliza para reducir el tiempo promedio de acceso a los datos de la memoria principal. 

39. ¿Qué es el spooling?

Spooling se refiere a operaciones periféricas simultáneas en línea, spooling se refiere a colocar trabajos en un búfer, un área especial en la memoria o en un disco donde un dispositivo puede acceder a ellos cuando está listo. La puesta en cola es útil porque los dispositivos acceden a los datos a diferentes velocidades.

40. ¿Cuál es la funcionalidad de un Ensamblador?

El ensamblador se utiliza para traducir el programa escrito en lenguaje ensamblador a código de máquina. El programa fuente es una entrada de un ensamblador que contiene instrucciones en lenguaje ensamblador. La salida generada por el ensamblador es el código objeto o código de máquina comprensible para la computadora.

41. ¿Qué son las interrupciones?

Las interrupciones son una señal emitida por hardware o software cuando un proceso o un evento necesita atención inmediata. Alerta al procesador sobre un proceso de alta prioridad que requiere la interrupción del proceso de trabajo actual. En los dispositivos de E/S, una de las líneas de control del bus está dedicada a este propósito y se denomina Rutina de servicio de interrupción (ISR)

42. ¿Qué es la GUI?

GUI es la abreviatura de Interfaz gráfica de usuario. Proporciona a los usuarios una interfaz en la que se pueden realizar acciones interactuando con iconos y símbolos gráficos.

43. ¿Qué es la multitarea preventiva?

La multitarea preventiva es un tipo de multitarea que permite que los programas de computadora compartan sistemas operativos (SO) y recursos de hardware subyacentes. Divide el tiempo operativo y de cómputo general entre procesos, y el cambio de recursos entre diferentes procesos ocurre a través de criterios predefinidos.

44. ¿Qué es una pipa y cuándo se usa?

Una tubería es una técnica utilizada para la comunicación entre procesos. Una tubería es un mecanismo por el cual la salida de un proceso se dirige a la entrada de otro proceso. Por lo tanto, proporciona un flujo de datos unidireccional entre dos procesos relacionados.

45. ¿Cuáles son las ventajas de los semáforos?

  • Son independientes de la máquina.
  • Fácil de implementar.
  • La corrección es fácil de determinar.
  • Puede tener muchas secciones críticas diferentes con diferentes semáforos.
  • Los semáforos adquieren muchos recursos simultáneamente.
  • Sin desperdicio de recursos debido a la espera ocupada.

46. ​​¿Qué es un programa de arranque en el sistema operativo?

Bootstrapping es el proceso de cargar un conjunto de instrucciones cuando una computadora se enciende o arranca por primera vez. Durante el proceso de inicio, se realizan pruebas de diagnóstico, como la autoprueba de encendido (POST), que establecen o verifican las configuraciones de los dispositivos e implementan pruebas de rutina para la conexión de periféricos, hardware y dispositivos de memoria externos. Luego se carga el cargador de arranque o el programa de arranque para inicializar el sistema operativo.

47. ¿Qué es la CIP?

La comunicación entre procesos (IPC) es un mecanismo que permite que los procesos se comuniquen entre sí y sincronicen sus acciones. La comunicación entre estos procesos puede verse como un método de cooperación entre ellos.

48. ¿Cuáles son los diferentes mecanismos de CIP?

Estos son los métodos en IPC:

Tuberías (mismo proceso):
esto permite un flujo de datos en una sola dirección. Análogo a los sistemas simplex (Teclado). Los datos de la salida generalmente se almacenan en búfer hasta que el proceso de entrada los recibe, lo que debe tener un origen común.

Canalizaciones con nombre (diferentes procesos):
esta es una canalización con un nombre específico que se puede usar en procesos que no tienen un origen de proceso común compartido. Por ejemplo, FIFO es donde se nombran primero los detalles escritos en una tubería.

Message Queue Server:
esto permite que los mensajes se transmitan entre procesos utilizando una sola cola o varias colas de mensajes. Esto es administrado por el kernel del sistema, estos mensajes se coordinan mediante una API.

Semáforos:
se utilizan para resolver problemas asociados con la sincronización y para evitar condiciones de carrera. Estos son valores enteros que son mayores o iguales a 0.

Memoria compartida:
permite el intercambio de datos a través de un área definida de memoria. Los valores de semáforo deben obtenerse antes de que los datos puedan acceder a la memoria compartida.

Sockets:
este método se utiliza principalmente para comunicarse a través de una red entre un cliente y un servidor. Permite una conexión estándar que es independiente de la computadora y el sistema operativo

49. ¿Cuál es la diferencia entre la programación preventiva y no preventiva?

  • En la programación preventiva, la CPU se asigna a los procesos durante un tiempo limitado, mientras que en la programación no preventiva, la CPU se asigna al proceso hasta que finaliza o cambia al estado de espera. 
     
  • El proceso de ejecución en la programación preventiva se interrumpe en medio de la ejecución cuando llega uno de mayor prioridad, mientras que el proceso de ejecución en la programación no preventiva no se interrumpe en medio de la ejecución y espera hasta su ejecución. 
     
  • En la programación preventiva, existe la sobrecarga de cambiar el proceso del estado listo al estado en ejecución, viceversa, y mantener la cola lista. Mientras que el caso de la programación no preventiva no tiene la sobrecarga de cambiar el proceso del estado de ejecución al estado listo. 
     
  • En la programación preventiva, si un proceso de alta prioridad llega con frecuencia a la cola de procesos listos, entonces el proceso con baja prioridad tiene que esperar mucho y es posible que tenga que pasar hambre. Por otro lado, en la programación no preventiva, si la CPU se asigna al proceso que tiene un tiempo de ráfaga más grande, entonces los procesos con un tiempo de ráfaga pequeño pueden tener que pasar hambre. 
     
  • La programación preventiva logra flexibilidad al permitir que los procesos críticos accedan a la CPU a medida que llegan a la cola lista, sin importar qué proceso se esté ejecutando actualmente. La programación no preventiva se denomina rígida, ya que incluso si un proceso crítico ingresa a la cola de espera, el proceso que ejecuta la CPU no se ve afectado. 
     
  • La programación preventiva tiene que mantener la integridad de los datos compartidos, por eso tiene un costo asociativo, lo que no es el caso de la programación no preventiva.

50. ¿Qué es el proceso zombie?

Un proceso que ha terminado la ejecución pero aún tiene una entrada en la tabla de procesos para informar a su proceso principal se conoce como proceso zombi. Un proceso hijo siempre se convierte primero en un zombi antes de ser eliminado de la tabla de procesos. El proceso principal lee el estado de salida del proceso secundario que extrae la entrada del proceso secundario de la tabla de procesos.

51. ¿Qué son los procesos huérfanos?

Un proceso cuyo proceso principal ya no existe, es decir, finalizó o finalizó sin esperar a que finalice su proceso secundario, se denomina proceso huérfano.

52. ¿Qué son el hambre y el envejecimiento en OS?

Inanición: La inanición es un problema de gestión de recursos en el que un proceso no obtiene los recursos que necesita durante mucho tiempo porque los recursos se asignan a otros procesos.

Envejecimiento: el envejecimiento es una técnica para evitar el hambre en un sistema de programación. Funciona agregando un factor de antigüedad a la prioridad de cada solicitud. El factor de antigüedad debe aumentar la prioridad de la solicitud a medida que pasa el tiempo y debe garantizar que una solicitud sea finalmente la solicitud de mayor prioridad.

 

53. ¿Escribir sobre kernel monolítico?

Aparte de microkernel, Monolithic Kernel es otra clasificación de Kernel. Al igual que el microkernel, este también administra los recursos del sistema entre la aplicación y el hardware, pero los servicios de usuario y los servicios del kernel se implementan en el mismo espacio de direcciones. Aumenta el tamaño del núcleo, por lo que también aumenta el tamaño de un sistema operativo. Este kernel proporciona programación de CPU, administración de memoria, administración de archivos y otras funciones del sistema operativo a través de llamadas al sistema. Como ambos servicios se implementan en el mismo espacio de direcciones, esto hace que la ejecución del sistema operativo sea más rápida.

54. ¿Qué es el cambio de contexto?

Cambiar la CPU a otro proceso significa guardar el estado del proceso anterior y cargar el estado guardado para el nuevo proceso. En el cambio de contexto, el proceso se almacena en el bloque de control de procesos para servir al nuevo proceso, de modo que el proceso anterior pueda reanudarse desde la misma parte en la que se quedó.

55. ¿Cuál es la diferencia entre el sistema operativo y el kernel?

Sistema operativo Núcleo
El sistema operativo es el software del sistema. El kernel es un software de sistema que forma parte del sistema operativo Microkernel.
El sistema operativo proporciona una interfaz entre el usuario y el hardware. El kernel proporciona interfaz b/n, aplicación y hardware.
También proporciona protección y seguridad. Su objetivo principal es la gestión de memoria, gestión de discos, gestión de procesos y gestión de tareas.
Todos los sistemas necesitan un sistema Microkernel operativo en tiempo real para funcionar. Todo sistema operativo necesita kernel para funcionar.
El tipo de sistema operativo incluye sistema operativo único y multiusuario, sistema operativo multiprocesador, sistema operativo en tiempo real, sistema operativo distribuido. El tipo de kernel incluye Monolithic y Micro kernel.
Es el primer programa que se carga cuando se inicia la computadora. Es el primer programa que se carga cuando se carga el sistema operativo.

56. ¿Cuál es la diferencia entre proceso e hilo?

S.NO Proceso Hilo
1. Proceso significa que cualquier programa está en ejecución. Thread significa un segmento de un proceso.
2. El proceso es menos eficiente en términos de comunicación. Thread es más eficiente en términos de comunicación.
3. El proceso es aislado. Los hilos comparten memoria.
4. El proceso se llama peso pesado el proceso. El hilo se llama proceso ligero.
5. Usos de conmutación de procesos, otra interfaz de proceso en el sistema operativo. El cambio de subprocesos no requiere llamar a un sistema operativo y provocar una interrupción en el kernel.
6. Si un proceso está bloqueado, no afectará la ejecución de otro proceso.  El segundo subproceso en la misma tarea no se pudo ejecutar, mientras que un subproceso del servidor está bloqueado.
7. El proceso tiene su propio bloque de control de procesos, pila y espacio de direcciones. El subproceso tiene la PCB de los padres, su propio bloque y pila de control de subprocesos y un espacio de direcciones común.

57. ¿Qué es PCB?

el bloque de control de proceso (PCB) es un bloque que se utiliza para rastrear el estado de ejecución del proceso. Un bloque de control de proceso (PCB) contiene información sobre el proceso, es decir, registros, cantidad, prioridad, etc. La tabla de proceso es una array de PCB, lo que significa que lógicamente contiene una PCB para todos los procesos actuales del sistema.

58. ¿Cuándo se encuentra un sistema en estado seguro?

El conjunto de procesos despachables está en un estado seguro si existe al menos un orden temporal en el que todos los procesos pueden ejecutarse hasta su finalización sin que se produzca un interbloqueo.

 59. ¿Qué es el robo de bicicletas?

El robo de ciclos es un método para acceder a la memoria de la computadora (RAM) o al bus sin interferir con la CPU. Es similar al acceso directo a la memoria (DMA) para permitir que los controladores de E/S lean o escriban RAM sin la intervención de la CPU.

60. ¿Qué es una trampa y trampilla?

Una trampa es una interrupción de software, generalmente el resultado de una condición de error, y también es una interrupción no enmascarable y tiene la prioridad más alta. Trapdoor es un punto de entrada secreto e indocumentado a un programa que se usa para otorgar acceso sin métodos normales de autenticación de acceso. 
 

61.Escribe una diferencia entre proceso y programa?

No Señor. Programa Proceso
1. El programa contiene un conjunto de instrucciones diseñadas para completar una tarea específica. El proceso es una instancia de un programa en ejecución.
2. El programa es una entidad pasiva ya que reside en la memoria secundaria. El proceso es una entidad activa del proceso tal como se crea durante la ejecución y se carga en la memoria principal.
3. El programa existe en un solo lugar y continúa existiendo hasta que se elimina. El proceso existe por un período de tiempo limitado, ya que finaliza después de completar una tarea.
4. Un programa es una entidad estática. El proceso es una entidad dinámica.
5. El programa no tiene ningún requisito de recursos, solo requiere espacio de memoria para almacenar las instrucciones. El proceso tiene un alto requerimiento de recursos, necesita recursos como CPU, dirección de memoria, E/S durante su vida útil.
6. El programa no tiene ningún bloque de control.
 
El proceso tiene su propio bloque de control llamado Process Control Block.

62.¿Qué es un despachador?

El despachador es el módulo que otorga control de proceso sobre la CPU después de que haya sido seleccionado por el programador a corto plazo. Esta función implica lo siguiente:

  • Cambio de contexto
  • Cambiar al modo de usuario
  • Saltar a la ubicación adecuada en el programa de usuario para reiniciar ese programa

63. ¿Defina el término latencia de despacho?

Una latencia de despacho se puede describir como la cantidad de tiempo que le toma a un sistema responder a una solicitud para que un proceso comience a operar. Con un programador escrito específicamente para cumplir con las prioridades de las aplicaciones, las aplicaciones en tiempo real se pueden desarrollar con una latencia de envío limitada.

64.¿Cuáles son los objetivos de la programación de la CPU?

  • Utilización máxima de la CPU [Mantener la CPU lo más ocupada posible] Asignación justa de la CPU.
  • Rendimiento máximo [Número de procesos que completan su ejecución por unidad de tiempo]
  • Tiempo de respuesta mínimo [Tiempo que tarda un proceso en finalizar la ejecución]
  • Tiempo de espera mínimo [Tiempo que un proceso espera en la cola de espera]
  • Tiempo de respuesta mínimo [Tiempo en que un proceso produce la primera respuesta]

 65.¿Qué es una sección crítica?

Cuando más de un proceso accede al mismo segmento de código, ese segmento se conoce como la sección crítica. La sección crítica contiene variables compartidas o recursos que se necesitan sincronizar para mantener la coherencia de las variables de datos. En términos simples, una sección crítica es un grupo de instrucciones/declaraciones o regiones de código que deben ejecutarse atómicamente, como acceder a un recurso (archivo, puerto de entrada o salida, datos globales, etc.).

66. Escribe el nombre de las técnicas de sincronización?

  • mutexes
  • Variables de condición
  • Semáforos
  • bloqueos de archivos

67. Escriba una diferencia entre un subproceso a nivel de usuario y un subproceso a nivel de kernel.

Subproceso a nivel de usuario Subproceso de nivel de kernel
Los subprocesos de usuario son implementados por los usuarios. Los subprocesos del núcleo son implementados por el sistema operativo.
El sistema operativo no reconoce los subprocesos a nivel de usuario. Los subprocesos del kernel son reconocidos por el sistema operativo.
La implementación de subprocesos de usuario es fácil. La implementación del subproceso del núcleo de ejecución es complicada.
El tiempo de cambio de contexto es menor. El tiempo de cambio de contexto es más.
El cambio de contexto no requiere soporte de hardware. Se necesita soporte de hardware.
Si un subproceso a nivel de usuario realiza una operación de bloqueo, se bloqueará todo el proceso. Si un subproceso del núcleo realiza una operación de bloqueo, otro subproceso puede continuar con la ejecución.
Los subprocesos a nivel de usuario están diseñados como subprocesos dependientes. Los subprocesos a nivel de kernel están diseñados como subprocesos independientes.

68.Anote las ventajas de multihilo?

Algunos de los beneficios más importantes de la MT son:

  • Rendimiento mejorado. Muchas operaciones informáticas simultáneas y requests de E/S dentro de un solo proceso.
  • Uso simultáneo y totalmente simétrico de múltiples procesadores para computación y E/S.
  • Mayor capacidad de respuesta de la aplicación. Si una solicitud se puede iniciar en su propio hilo, las aplicaciones no se congelan ni muestran el «reloj de arena». Una aplicación completa no se bloqueará ni esperará hasta que se complete otra solicitud.
  • Capacidad de respuesta del servidor mejorada. Las requests grandes o complejas o los clientes lentos no bloquean otras requests de servicio. El rendimiento general del servidor es mucho mayor.
  • Uso de recursos del sistema minimizado. Los subprocesos imponen un impacto mínimo en los recursos del sistema. Los subprocesos requieren menos gastos generales para crear, mantener y administrar que un proceso tradicional.
  • Simplificación de la estructura del programa. Los subprocesos se pueden utilizar para simplificar la estructura de aplicaciones complejas, como aplicaciones multimedia y de clase de servidor. Se pueden escribir rutinas simples para cada actividad, lo que hace que los programas complejos sean más fáciles de diseñar y codificar, y más adaptables a una amplia variación en las demandas de los usuarios.
  • Mejor comunicación. Las funciones de sincronización de subprocesos se pueden utilizar para proporcionar una comunicación mejorada de proceso a proceso. Además, compartir grandes cantidades de datos a través de subprocesos de ejecución separados dentro del mismo espacio de direcciones proporciona una comunicación de baja latencia y ancho de banda extremadamente alto entre tareas separadas dentro de una aplicación.

69. ¿Diferencia entre subprocesamiento múltiple y multitarea?

S. No. subprocesos múltiples multitarea
1. Múltiples subprocesos se ejecutan al mismo tiempo en la misma parte del programa o en una diferente. Varios programas se ejecutan simultáneamente.
2. La CPU cambia entre varios subprocesos. La CPU cambia entre múltiples tareas y procesos.
3.  Es un proceso de piezas ligeras.  Es un proceso pesado.
4. Es una característica del proceso.  Es una característica del sistema operativo.
5. Multi-threading es el intercambio de recursos informáticos entre subprocesos de un solo proceso. La multitarea es compartir recursos informáticos (CPU, memoria, dispositivos, etc.) entre procesos.

70.¿Cuáles son los inconvenientes de los semáforos?

  • La inversión de prioridad es una gran limitación de los semáforos.
  • Su uso no se impone, pero es sólo por convención.
  • El programador tiene que hacer un seguimiento de todas las llamadas a esperar y señalar el semáforo.
  • Con un uso inadecuado, un proceso puede bloquearse indefinidamente. Tal situación se llama punto muerto.

71. ¿Cuál es el enfoque de Peterson?

72. Defina el término ¿Espera limitada?

Se dice que un sistema sigue condiciones de espera acotadas si un proceso quiere entrar en una sección crítica que entrará en un tiempo finito.

73. ¿Cuáles son las soluciones al problema de la sección crítica?

Hay tres soluciones para el problema de la sección crítica:

  • Soluciones de software
  • Soluciones de hardware
  • Semáforos

74.¿Qué es el algoritmo de un banquero?

El algoritmo del banquero es un algoritmo de asignación de recursos y prevención de interbloqueos que prueba la seguridad simulando la asignación de cantidades máximas posibles predeterminadas de todos los recursos, luego realiza una verificación de «estado s» para probar posibles actividades, antes de decidir si se debe permitir la asignación. continuar.

75. ¿Qué es la concurrencia?

Un estado en el que un proceso existe simultáneamente con otro proceso de los que se dice que son concurrentes.

76.Escriba un inconveniente de la concurrencia?

  • Es necesario para proteger varias aplicaciones entre sí.
  • Se requiere coordinar múltiples aplicaciones a través de mecanismos adicionales.
  • Se requieren gastos generales de rendimiento adicionales y complejidades en los sistemas operativos para cambiar entre aplicaciones.
  • A veces, ejecutar demasiadas aplicaciones al mismo tiempo conduce a un rendimiento gravemente degradado.

77.¿Cuáles son los problemas relacionados con la concurrencia?

  • No atómico:
    las operaciones que no son atómicas pero que pueden ser interrumpidas por múltiples procesos pueden causar problemas.
  • Condiciones de carrera :
    se produce una condición de carrera del resultado que depende de cuál de varios procesos llega primero a un punto.
  • Bloqueo:
    los procesos pueden bloquear la espera de recursos. Un proceso podría estar bloqueado durante un largo período de tiempo esperando la entrada de una terminal. Si se requiere que el proceso actualice periódicamente algunos datos, esto sería muy indeseable.
  • Inanición
    Ocurre cuando un proceso no obtiene servicio para progresar.
  • Interbloqueo :
    ocurre cuando dos procesos están bloqueados y, por lo tanto, ninguno puede proceder a ejecutarse.

78.¿Por qué usamos gráficos de precedencia?

Un gráfico de precedencia es un gráfico acíclico dirigido que se utiliza para mostrar el nivel de ejecución de varios procesos en el sistema operativo. Tiene las siguientes propiedades también:

  • Los Nodes de gráficos corresponden a declaraciones individuales de código de programa.
  • Un borde entre dos Nodes representa el orden de ejecución.
  • Un borde dirigido del Node A al Node B muestra que la instrucción A se ejecuta primero y luego la instrucción B se ejecuta

79. Explique el gráfico de asignación de recursos.

El gráfico de asignación de recursos nos explica cuál es el estado del sistema en cuanto a procesos y recursos. Una de las ventajas de tener un diagrama es que a veces es posible ver un punto muerto directamente usando RAG.

80. ¿Cómo recuperarse de un punto muerto?

Podemos recuperarnos de un punto muerto mediante los siguientes métodos:

  • Terminación del proceso
    • Abortar todos los procesos de interbloqueo
    • Abortar un proceso a la vez hasta que se elimine el interbloqueo
  • preferencia de recursos
    • Retroceder
    • Selección de una víctima

 

81. ¿Cuál es el objetivo y la funcionalidad de la gestión de memoria?

El objetivo y la funcionalidad de la gestión de memoria son los siguientes;

  • Reubicación
  • Proteccion
  • Intercambio
  • organización lógica
  • Organización física

82. Escribe una diferencia entre dirección física y dirección lógica?

S. NO. Parámetros Dirección lógica Dirección física
1. Básico Es la dirección virtual generada por la CPU. La dirección física es una ubicación en una unidad de memoria.
2. Dirección El conjunto de todas las direcciones lógicas generadas por la CPU en referencia a un programa se conoce como espacio de direcciones lógicas. El conjunto de todas las direcciones físicas asignadas a las direcciones lógicas correspondientes se conoce como dirección física. 
3. Visibilidad El usuario puede ver la dirección lógica de un programa. El usuario nunca puede ver la dirección física del programa.
4. Acceso El usuario utiliza la dirección lógica para acceder a la dirección física. El usuario no puede acceder directamente a la dirección física
5. Generación La dirección lógica es generada por la CPU La dirección física es calculada por MMU

83. ¿Explicar el enlace de direcciones?

La asociación de la instrucción del programa y los datos con las ubicaciones reales de la memoria física se denomina enlace de direcciones.

84. ¿Escribe diferentes tipos de enlaces de direcciones?

Enlace de direcciones dividido en tres tipos de la siguiente manera.

85. Escriba una de las ventajas de los algoritmos de asignación dinámica.

  • Cuando no sabemos de antemano cuánta cantidad de memoria se necesitaría para el programa.
  • Cuando queremos estructuras de datos sin ningún límite superior de espacio de memoria.
  • Cuando desee utilizar su espacio de memoria de manera más eficiente.
  • Las inserciones y eliminaciones de listas creadas dinámicamente se pueden hacer muy fácilmente simplemente mediante la manipulación de direcciones, mientras que en el caso de las inserciones y eliminaciones de memoria asignada estáticamente conducen a más movimientos y desperdicio de memoria.
  • Cuando desee utilizar el concepto de estructuras y listas vinculadas en la programación, la asignación de memoria dinámica es imprescindible.

86. Escribe una diferencia entre fragmentación interna y fragmentación externa?

S.NO Fragmentación interna Fragmentación externa
1. En la memoria de tamaño fijo de fragmentación interna, los bloques miden cuadrados designados para procesar. En la fragmentación externa, la memoria de tamaño variable bloquea la medida cuadrada asignada al método.
2. La fragmentación interna ocurre cuando el método o proceso es más grande que la memoria. La fragmentación externa ocurre cuando se elimina el método o proceso.
3. La solución de la fragmentación interna es el bloque de mejor ajuste. La solución de la fragmentación externa es la compactación, paginación y segmentación.
4. La fragmentación interna ocurre cuando la memoria se divide en particiones de tamaño fijo. La fragmentación externa ocurre cuando la memoria se divide en particiones de tamaño variable según el tamaño de los procesos.
5. La diferencia entre la memoria asignada y el espacio o la memoria requerida se denomina fragmentación interna. Los espacios no utilizados formados entre fragmentos de memoria no contiguos son demasiado pequeños para servir a un nuevo proceso, se denomina fragmentación externa.

87. ¿Define la compactación?

El proceso de recopilar fragmentos de espacio de memoria disponible en bloques contiguos moviendo programas y datos en la memoria o el disco de una computadora.

88. Escriba sobre las ventajas y desventajas de una tabla de páginas con hash.

Ventajas

  • La principal ventaja es la sincronización.
  • En muchas situaciones, las tablas hash resultan más eficientes que los árboles de búsqueda o cualquier otra estructura de búsqueda de tablas. Por esta razón, se usan ampliamente en muchos tipos de software de computadora, particularmente para arrays asociativas, indexación de bases de datos, cachés y conjuntos.

Desventajas

  • Las colisiones hash son prácticamente inevitables. cuando hash un subconjunto aleatorio de un gran conjunto de claves posibles.
  • Las tablas hash se vuelven bastante ineficientes cuando hay muchas colisiones.
  • La tabla hash no permite valores nulos, como un mapa hash.

89. ¿Escribe una diferencia entre paginación y segmentación?

S.NO Paginación Segmentación
1. En la paginación, el programa se divide en páginas de tamaño fijo o montado. En la segmentación, el programa se divide en secciones de tamaño variable.
2. Para el sistema operativo de paginación es responsable. Para la segmentación, el compilador es responsable.
3. El tamaño de la página está determinado por el hardware. Aquí, el tamaño de la sección lo da el usuario.
4. Es más rápido en la comparación de segmentación. La segmentación es lenta.
5. La paginación podría resultar en una fragmentación interna. La segmentación podría resultar en una fragmentación externa.
6. En la paginación, la dirección lógica se divide en ese número de página y desplazamiento de página. Aquí, la dirección lógica se divide en número de sección y desplazamiento de sección.
7. La paginación comprende una tabla de páginas que encierra la dirección base de cada página. Mientras que la segmentación también comprende la tabla de segmentos que incluye el número de segmento y el desplazamiento del segmento.
8. Se emplea una tabla de páginas para mantener los datos de la página. La tabla de sección mantiene los datos de la sección.
9. En la paginación, el sistema operativo debe mantener una lista de marcos libres. En la segmentación, el sistema operativo mantiene una lista de huecos en la memoria principal.
10 La paginación es invisible para el usuario. La segmentación es visible para el usuario.
11 En la paginación, el procesador necesita el número de página, el desplazamiento para calcular la dirección absoluta. En la segmentación, el procesador usa el número de segmento, desplazamiento para calcular la dirección completa.

90. Escriba una definición de memoria asociativa y memoria caché. 

S. No. Memoria asociativa Memoria caché
1 Una unidad de memoria de acceso por contenido se denomina memoria asociativa. La memoria rápida y pequeña se llama memoria caché.
2 Reduce el tiempo necesario para encontrar el elemento almacenado en la memoria. Reduce el tiempo medio de acceso a la memoria.
3 Aquí se accede a los datos por su contenido. Aquí, se accede a los datos por su dirección.
4 Se utiliza cuando el tiempo de búsqueda es muy corto. Se utiliza cuando se accede repetidamente a un grupo particular de datos.
5 Su característica básica es su circuito lógico para emparejar su contenido. Su característica básica es su rápido acceso

91. ¿Qué es “Localidad de referencia”?

La localidad de referencia se refiere a un fenómeno en el que un programa de computadora tiende a acceder al mismo conjunto de ubicaciones de memoria durante un período de tiempo particular. En otras palabras, la Localidad de referencia se refiere a la tendencia del programa de computadora a acceder a instrucciones cuyas direcciones están cerca unas de otras.

92. Anota las ventajas de la memoria virtual?

  • Un mayor grado de multiprogramación.
  • Asignar memoria es fácil y económico
  • Elimina la fragmentación externa
  • Los datos (marcos de página) se pueden dispersar por todo el PM
  • Las páginas están mapeadas apropiadamente de todos modos
  • Se pueden escribir programas grandes, ya que el espacio virtual disponible es enorme en comparación con la memoria física.
  • Menos E/S requerida conduce a un intercambio de procesos más rápido y fácil.
  • Hay más memoria física disponible, ya que los programas se almacenan en la memoria virtual, por lo que ocupan mucho menos espacio en la memoria física real.
  • Intercambio más eficiente

93. ¿Cómo calcular el rendimiento en memoria virtual?

El rendimiento de la memoria virtual de un sistema de administración de memoria virtual depende del número total de fallas de página, que dependen de las «políticas de paginación» y la «asignación de marcos».

Tiempo de acceso efectivo = (1-p) x tiempo de acceso a memoria + px tiempo de fallo de página

94. Escriba el concepto básico del sistema de archivos?

Un archivo es una colección de información relacionada que se registra en un almacenamiento secundario. O archivo es una colección de entidades relacionadas lógicamente. Desde la perspectiva del usuario, un archivo es la asignación más pequeña de almacenamiento secundario lógico. 

95. ¿Escribe los nombres de diferentes operaciones en el archivo?

Operación en archivo:

  • Crear
  • Abierto
  • Leer
  • Escribe
  • Rebautizar
  • Borrar
  • Adjuntar
  • Truncar
  • Cerca

96. ¿Defina el término Bit-Vector?

Un Bitmap o Bit Vector es una serie o colección de bits donde cada bit corresponde a un bloque de disco. El bit puede tomar dos valores: 0 y 1: 0 indica que el bloque está asignado y 1 indica un bloque libre.

97. ¿Qué es una tabla de asignación de archivos?

FAT significa Tabla de asignación de archivos y se llama así porque asigna diferentes archivos y carpetas usando tablas. Esto fue diseñado originalmente para manejar pequeños sistemas de archivos y discos. Una tabla de asignación de archivos (FAT) es una tabla que un sistema operativo mantiene en un disco duro que proporciona un mapa del clúster (las unidades básicas de almacenamiento lógico en un disco duro) en el que se ha almacenado un archivo.

98. ¿Qué es la latencia rotacional?

Latencia de rotación: La latencia de rotación es el tiempo que tarda el sector deseado del disco en girar a una posición que le permita acceder a los cabezales de lectura/escritura. Por lo tanto, el algoritmo de programación del disco que proporciona una latencia de rotación mínima es mejor.

99. ¿Qué es el tiempo de búsqueda?

Tiempo de búsqueda: el tiempo de búsqueda es el tiempo necesario para ubicar el brazo del disco en una pista específica donde se leerán o escribirán los datos. Por lo tanto, el algoritmo de programación de disco que proporciona un tiempo de búsqueda promedio mínimo es mejor.

100. ¿Qué es el tampón?

Un búfer es un área de memoria que almacena datos que se transfieren entre dos dispositivos o entre un dispositivo y una aplicación .

Notas de última hora: sistemas operativos 

Pronto cubriremos más preguntas sobre el sistema operativo. Escriba comentarios si encuentra algo incorrecto o si desea compartir más información sobre el tema tratado anteriormente.
 

Publicación traducida automáticamente

Artículo escrito por GeeksforGeeks-1 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *