UNIDAD 1 Flashcards

1
Q

¿Qué es un programa?

A

Un conjunto de instrucciones que se ejecutan en una máquina física o virtual. Es estático y se almacena como un fichero binario en un soporte físico u óptico.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

¿Qué es un proceso?

A

Es una instancia dinámica de un programa que está en ejecución. El proceso utiliza recursos del sistema como la memoria, la CPU y dispositivos de Entrada/Salida (E/S).

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

Cuál es la diferencia entre un programa y un proceso?

A

Un programa es estático y está almacenado en un disco como un archivo. Un proceso es la ejecución activa de un programa, y es dinámico porque usa recursos del sistema.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

¿Qué es la memoria principal (RAM)?

A

La memoria donde se cargan temporalmente los programas que están en ejecución. Los programas deben estar en la RAM para ser ejecutados.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

¿Qué es el contador de programa (PC)?

A

Es un registro en la CPU que almacena la dirección de la próxima instrucción a ejecutar en un proceso.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

Qué función tiene la CPU en la ejecución de un proceso?

A

La CPU ejecuta las instrucciones del proceso almacenadas en la memoria, utilizando registros como el contador de programa (PC) y la Unidad Aritmético-Lógica (ALU).

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

¿Qué son los dispositivos de Entrada/Salida (E/S)?

A

Son dispositivos que permiten la interacción del proceso con el mundo exterior. Ejemplos de entrada incluyen el teclado, y ejemplos de salida incluyen la pantalla.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

¿Qué es el PCB (Process Control Block)?

A

Es el Bloque de Control de Proceso, donde se almacena la información necesaria para gestionar un proceso, como su estado, los recursos asignados y los registros en uso.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

¿Por qué es importante el PCB?

A

Porque permite al sistema operativo gestionar múltiples procesos, almacenando información clave de cada proceso para que pueda suspenderse y reanudarse.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

¿Qué recursos necesita un proceso para ejecutarse?

A

Memoria principal (RAM), Procesador (CPU), y Dispositivos de Entrada/Salida (E/S).

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

¿Qué es la multitarea en un sistema operativo?

A

La multitarea es la capacidad del sistema operativo para ejecutar múltiples procesos de forma simultánea. Aunque solo un proceso está en ejecución en un instante de tiempo, el sistema alterna entre procesos rápidamente para dar la sensación de que todos se ejecutan a la vez.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

¿Cómo logra el sistema operativo la multitarea?

A

El sistema operativo alterna la ejecución de procesos de forma cíclica, deteniendo un proceso temporalmente y pasando a otro. Esto se conoce como cambio de contexto, donde se guarda el estado del proceso actual para que pueda reanudarse más tarde en el mismo punto.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

Qué es el cambio de contexto?

A

El cambio de contexto es el proceso mediante el cual el sistema operativo guarda el estado de un proceso en ejecución (incluyendo el contador de programa y los registros), para luego cargar otro proceso. Esto permite la alternancia rápida entre procesos en un sistema multitarea.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

¿Qué es un sistema multiprocesador?

A

Un sistema multiprocesador es aquel que tiene varias CPU o procesadores, lo que permite ejecutar procesos en paralelo, mejorando el rendimiento del sistema.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

¿Qué es el tiempo de ejecución en un sistema multitarea?

A

Es el tiempo en que un proceso está activo utilizando la CPU. En cada momento, solo un proceso está en ejecución, pero el sistema alterna rápidamente entre varios, de forma que el usuario percibe que todos los procesos se ejecutan al mismo tiempo.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

¿Qué son los “tiempos muertos” de la CPU?

A

Son los momentos en los que la CPU está esperando, por ejemplo, la finalización de operaciones de entrada/salida. Estos tiempos muertos se pueden aprovechar para ejecutar otros procesos o realizar operaciones de mantenimiento en la CPU

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
17
Q

¿Qué justifica el uso de sistemas multitarea en sistemas interactivos?

A

En sistemas interactivos, el usuario realiza varias tareas a la vez (como escribir texto y mover el ratón). Aunque la CPU está alternando entre procesos, la multitarea asegura que ninguna tarea se queda estancada, proporcionando una fluidez en la interacción.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
18
Q

¿Qué ventaja tiene un sistema multiprocesador sobre uno con una sola CPU?

A

En un sistema multiprocesador, los procesos se pueden ejecutar en paralelo en varias CPUs, lo que aumenta el rendimiento total del sistema y permite una multitarea más eficiente.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
19
Q

¿Qué sucede si un sistema multitarea tiene solo una CPU?

A

Con una sola CPU, el sistema operativo realiza la multitarea alternando rápidamente entre los procesos, pero nunca se ejecutan varios procesos al mismo tiempo. Sin embargo, la alternancia es lo suficientemente rápida como para que el usuario perciba que las tareas se ejecutan simultáneamente.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
20
Q

¿Qué es un sistema monoprocesador?

A

Es un sistema que tiene un único procesador (CPU) y solo puede ejecutar un proceso a la vez. Utiliza la multiprogramación para alternar rápidamente entre procesos y dar la sensación de multitarea.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
21
Q

¿Qué es un sistema multiprocesador?

A

Es un sistema que tiene varios procesadores (CPU), lo que permite ejecutar varios procesos de manera paralela, mejorando el rendimiento del sistema.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
22
Q

¿Qué es la concurrencia?

A

La concurrencia es la ejecución simultánea o solapada de varios procesos en un sistema durante un periodo de tiempo. Permite que varios procesos se ejecuten al mismo tiempo en un sistema multiprocesador o alternadamente en un monoprocesador.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
23
Q

¿Qué es la multiprogramación en un sistema monoprocesador?

A

Es la técnica que permite ejecutar varios procesos alternadamente en una única CPU. El sistema operativo realiza un cambio de contexto entre los procesos, aprovechando los tiempos muertos de la CPU.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
24
Q

¿Qué es el cambio de contexto?

A

Es el proceso mediante el cual el sistema operativo guarda el estado de un proceso en ejecución y carga el estado de otro proceso en la CPU. Esto permite alternar entre varios procesos en un sistema.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
25
Q

¿Qué son los sistemas fuertemente acoplados?

A

Son sistemas multiprocesadores en los que los procesadores comparten la misma memoria y los dispositivos de entrada/salida (E/S). Los procesadores están conectados por un bus de conexión común.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
26
Q

¿Qué son los sistemas débilmente acoplados?

A

Son sistemas multiprocesadores donde cada procesador tiene su propia memoria y su propio sistema de entrada/salida (E/S). Los procesadores se comunican entre sí a través de una red de comunicación.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
27
Q

¿Qué son los sistemas multiprocesadores simétricos (SMP)?

A

Son sistemas en los que todos los procesadores tienen igual acceso a la memoria compartida y los dispositivos de E/S. Cada procesador puede realizar cualquier tarea sin diferencias en su funcionamiento.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
28
Q

¿Qué son los sistemas multiprocesadores asimétricos (master-slave)?

A

Son sistemas en los que un procesador maestro controla y asigna tareas a los procesadores esclavos, que actúan bajo sus instrucciones. El maestro coordina todas las operaciones.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
29
Q

¿Cuál es la diferencia principal entre un sistema monoprocesador y uno multiprocesador?

A

Un monoprocesador tiene solo una CPU y alterna entre procesos usando multiprogramación. Un multiprocesador tiene varias CPUs que pueden ejecutar varios procesos en paralelo, mejorando el rendimiento.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
30
Q

¿Cómo se comunican los procesadores en un sistema débilmente acoplado?

A

Los procesadores se comunican a través de una red de comunicación, ya que no comparten la misma memoria ni los dispositivos de entrada/salida (E/S).

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
31
Q

¿Qué ventaja ofrecen los sistemas multiprocesadores sobre los monoprocesadores?

A

Los sistemas multiprocesadores permiten la ejecución paralela de procesos, mejorando el rendimiento al distribuir la carga de trabajo entre varias CPUs. Los monoprocesadores solo pueden alternar entre procesos, lo que limita su capacidad.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
32
Q

¿Cuál es una de las principales ventajas de la programación concurrente?

A

Mejora el rendimiento del sistema al permitir la ejecución simultánea de varios procesos, aprovechando mejor el tiempo del procesador y mejorando el tiempo de respuesta.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
33
Q

¿Qué es la distribución dinámica de la carga de trabajo en un sistema concurrente?

A

Es la capacidad de asignar tareas a los procesadores que están disponibles en cada momento, lo que mejora el uso de los recursos y la eficiencia.

34
Q

¿Qué significa la tolerancia a fallos en un sistema concurrente?

A

Es la capacidad del sistema para seguir funcionando incluso si algunos procesadores fallan o se sobrecargan, ya que otros procesadores pueden asumir sus tareas.

35
Q

¿Cuál es uno de los principales inconvenientes de la programación concurrente?

A

La dificultad de sincronizar correctamente los procesos, lo que puede llevar a conflictos en el acceso a recursos compartidos y causar errores.

36
Q

¿Qué es la sobrecarga en la programación concurrente?

A

Ocurre cuando el número de procesos concurrentes excede los recursos disponibles del sistema, lo que reduce el rendimiento en lugar de mejorarlo.

37
Q

¿Qué es un cuello de botella en la red en un sistema concurrente?

A

Es una limitación en la capacidad de la red para manejar el tráfico de datos entre procesos concurrentes, lo que puede ralentizar el sistema.

38
Q

¿Qué es el kernel en un sistema operativo?

A

El kernel es el núcleo del sistema operativo que gestiona los recursos del sistema y responde a los eventos mediante interrupciones. Actúa como supervisor entre el hardware y el software.

39
Q

¿Qué son las interrupciones de hardware?

A

Son señales generadas por dispositivos físicos, como el teclado o el ratón, para informar al sistema operativo de que un evento necesita ser atendido.

40
Q

¿Qué es una llamada al sistema?

A

Es una solicitud que hace una aplicación al sistema operativo para que realice una tarea, como acceder a un archivo o gestionar la memoria.

41
Q

¿Qué son las interrupciones periódicas?

A

Son interrupciones planificadas que ocurren regularmente para asegurar que los procesos se gestionen de forma adecuada y que el sistema opere de manera eficiente.

42
Q

¿Qué hace el kernel cuando ocurre una interrupción?

A

El kernel detiene el proceso actual, ejecuta la rutina correspondiente a la interrupción, y luego reanuda el proceso desde el punto donde fue interrumpido.

43
Q

¿Cuál es la diferencia entre el modo kernel y el modo usuario?

A

El modo kernel permite al sistema operativo tener acceso total al hardware, mientras que el modo usuario es donde operan las aplicaciones, sin acceso directo al hardware.

44
Q

¿Por qué es importante la separación entre modo kernel y modo usuario?

A

Es crucial para garantizar la seguridad y la estabilidad del sistema, evitando que las aplicaciones puedan dañar el sistema operativo.

45
Q

¿Qué es la planificación de procesos?

A

Es el proceso mediante el cual el sistema operativo decide qué procesos se ejecutarán y en qué orden, para maximizar el rendimiento de los recursos del sistema, como la CPU.

46
Q

¿Cuáles son los estados por los que pasa un proceso durante su ciclo de vida?

A

Los estados son: Nuevo, Listo, En ejecución, Bloqueado, Suspendido y Terminado.

47
Q

¿Qué hace la planificación a largo plazo?

A

Decide qué procesos serán admitidos para su ejecución en el sistema, en sistemas como servidores. No ocurre en sistemas interactivos donde los procesos ya están cargados.

48
Q

¿Qué es la planificación a corto plazo (CPU scheduler)?

A

Decide qué proceso en la cola de listos será asignado a la CPU para ejecutarse, optimizando el uso del procesador.

49
Q

¿Qué es la planificación a medio plazo?

A

Gestiona la suspensión de procesos moviéndolos a la memoria secundaria (swap) para liberar memoria principal y reorganizar recursos.

50
Q

¿Qué sucede cuando un proceso está en estado bloqueado?

A

El proceso está esperando que se complete una operación de entrada/salida (E/S) o algún otro recurso necesario para continuar su ejecución.

51
Q

¿Qué es la memoria secundaria (swap)?

A

Es el espacio de almacenamiento donde los procesos suspendidos son movidos temporalmente para liberar memoria principal y gestionar mejor los recursos del sistema.

52
Q

¿Qué es un proceso?

A

Un proceso es una instancia de un programa en ejecución, que consume memoria y recursos del sistema, y necesita mecanismos de comunicación con otros procesos.

53
Q

¿Qué es un hilo?

A

Un hilo, también llamado proceso ligero, es una subunidad de un proceso que comparte la misma memoria y se ejecuta de manera paralela dentro del proceso principal.

54
Q

¿Cómo se gestionan los hilos?

A

La planificación a corto plazo se encarga de gestionar los hilos, asegurando su ejecución correcta y evitando conflictos al acceder a la memoria compartida.

55
Q

¿Qué ventaja tienen los hilos frente a los procesos?

A

Los hilos son más eficientes porque permiten ejecutar múltiples tareas simultáneamente dentro de un mismo proceso, sin necesidad de reservar más memoria.

56
Q

¿Qué es un servicio en un sistema operativo?

A

Un servicio es un proceso que se ejecuta en segundo plano, proporcionando funcionalidades a otros procesos o aplicaciones sin interacción directa con el usuario.

57
Q

¿Cómo funcionan los servicios multihilo?

A

Los servicios multihilo utilizan varios hilos para atender múltiples solicitudes simultáneamente, mejorando el rendimiento y la eficiencia del servicio.

58
Q

¿Qué tipo de tareas gestionan los servicios?

A

Los servicios gestionan tareas como conexiones de red (TCP/UDP), gestión de archivos y otras funcionalidades del sistema que no requieren interacción directa con el usuario.

59
Q

¿Qué es un servicio en segundo plano?

A

Un servicio en segundo plano es un proceso que se ejecuta continuamente, sin que el usuario lo vea, y realiza tareas esenciales para el funcionamiento del sistema.

60
Q

¿Qué herramienta se utiliza en Windows para gestionar los servicios del sistema?

A

El Administrador de servicios en Windows permite gestionar los servicios del sistema, permitiendo iniciar, detener, reiniciar y consultar su estado.

61
Q

¿Qué acciones se pueden realizar desde el Administrador de servicios en Windows?

A

Se pueden iniciar, detener, reiniciar servicios y consultar su estado. Además, permite configurar el arranque de los servicios de manera automática o manual.

62
Q

¿Qué comando en Linux se utiliza para gestionar los servicios?

A

El comando systemctl se utiliza en Linux para gestionar los servicios del sistema.

63
Q

¿Qué hace el comando systemctl list-unit-file en Linux?

A

Muestra una lista de todos los servicios disponibles en el sistema, indicando si están habilitados o deshabilitados.

64
Q

¿Cómo se inicia un servicio en Linux con systemctl?

A

systemctl start [nombre_del_servicio]

65
Q

¿Cómo se consulta el estado de un servicio en Linux con systemctl?

A

systemctl status [nombre_del_servicio]

66
Q

¿Qué hacen los comandos enable y disable en systemctl?

A

enable: Habilita el inicio automático del servicio cuando arranca el sistema.
disable: Deshabilita el inicio automático del servicio.

67
Q

¿Qué permite la concurrencia en Java?

A

La concurrencia en Java permite ejecutar múltiples procesos o hilos simultáneamente, mejorando la eficiencia de la aplicación.

68
Q

¿Qué hace el método getRuntime() de la clase Runtime?

A

Devuelve el objeto Runtime asociado con la aplicación Java, proporcionando acceso al entorno de ejecución.

69
Q

¿Qué hace el método exec() de la clase Runtime?

A

Ejecuta un comando del sistema operativo desde la aplicación Java, como ls en Linux o dir en Windows.

70
Q

¿Qué hace el método exit() de la clase Runtime?

A

Finaliza la ejecución de la aplicación Java con el estado especificado.

71
Q

¿Qué hace el método destroy() de la clase Process?

A

Termina el proceso de manera controlada, liberando los recursos utilizados.

72
Q

¿Qué hace el método isAlive() de la clase Process?

A

Indica si el proceso sigue en ejecución o ya ha finalizado.

73
Q

¿Para qué se utiliza la clase ProcessBuilder?

A

La clase ProcessBuilder se utiliza para crear y gestionar procesos, permitiendo configurar el entorno, el directorio de trabajo y otros parámetros antes de iniciar el proceso.

74
Q

¿Qué hace el método start() de la clase ProcessBuilder?

A

Inicia el proceso configurado mediante el objeto ProcessBuilder.

75
Q

¿Qué método de ProcessBuilder establece el directorio de trabajo de un proceso?

A

El método directory(File directory) establece el directorio de trabajo del proceso.

76
Q

¿Qué hace el método inheritIO() de la clase ProcessBuilder?

A

El método inheritIO() hereda la entrada, salida y error del proceso actual para el nuevo proceso, permitiendo que ambos compartan el mismo flujo de E/S.

77
Q

¿Qué hace el método redirectInput(File file) en ProcessBuilder?

A

El método redirectInput() redirige la entrada estándar de un proceso para que provenga de un archivo en lugar de la consola.

78
Q

¿Qué hacen los métodos redirectOutput(File file) y redirectError(File file)?

A

Estos métodos redirigen la salida estándar y la salida de error de un proceso a un archivo, permitiendo que los resultados o los mensajes de error sean guardados.

79
Q

¿Qué hace el método getInputStream() de la clase Process?

A

Devuelve un InputStream que se puede utilizar para leer la salida estándar del proceso.

80
Q

¿Qué hace el método getOutputStream() de la clase Process?

A

Devuelve un OutputStream que se puede utilizar para enviar entrada al proceso.

81
Q

¿Qué hace el método getErrorStream() de la clase Process?

A

Devuelve un InputStream que permite leer la salida de error del proceso.

82
Q
A