0% encontró este documento útil (0 votos)
9 vistas11 páginas

Resumen So

El documento aborda conceptos fundamentales sobre sistemas operativos, incluyendo su definición, componentes, diferencias entre kernels, y tipos de software. También se exploran procesos, hilos, gestión de memoria, y técnicas como paginación y segmentación. Se discuten aspectos como la creación y terminación de procesos, así como la fragmentación de memoria y su manejo.
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como DOCX, PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
9 vistas11 páginas

Resumen So

El documento aborda conceptos fundamentales sobre sistemas operativos, incluyendo su definición, componentes, diferencias entre kernels, y tipos de software. También se exploran procesos, hilos, gestión de memoria, y técnicas como paginación y segmentación. Se discuten aspectos como la creación y terminación de procesos, así como la fragmentación de memoria y su manejo.
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como DOCX, PDF, TXT o lee en línea desde Scribd

preguntas revolution OS

¿Que es un sistema operativo? que hace?


Un sistema operativo es un software fundamental que administra los recursos de hardware
y software de una computadora, proporcionando servicios esenciales para la ejecución de
programas de aplicación. Facilita la interacción del usuario con la computadora y sus
programas, controla la ejecución de procesos y garantiza la seguridad del sistema.

qué elementos componen un SO.


Gestor de procesos: Controla la ejecución de programas.
Gestor de memoria: Administra el uso de la memoria RAM.
Gestor de archivos: Organiza y gestiona los archivos en el almacenamiento.
Interfaz de usuario: Permite la interacción con la computadora.
Gestor de dispositivos: Facilita la comunicación con hardware.
Seguridad: Protege el sistema y controla el acceso.

¿Qué diferencias tienen los kernels linux y HURD?


Linux: Es monolítico, lo que significa que todas las funciones esenciales están
integradas en un solo núcleo.
Hurd: Es microkernel, donde las funciones principales se dividen en diferentes
servidores independientes.

que es software privado o propietario?


El software privativo o propietario es aquel cuyo código fuente no está disponible
públicamente y cuya distribución y uso están sujetos a términos y condiciones.
que es open source?
se refiere al software cuyo código fuente es público y está disponible para que
cualquiera lo pueda ver, modificar y distribuir libremente.

que diferencias hay entre el software libre y software de código abierto?

Software Libre: Enfatiza la libertad del usuario mediante cuatro libertades: usar, estudiar,
modificar y distribuir el software. Se centra en una filosofía ética y en el bien común.

Software de Código Abierto: se refiere al software cuyo código fuente es público y está
disponible para que cualquiera lo pueda ver, modificar y distribuir libremente.

que es el copyleft?
El copyleft es una estrategia que garantiza que el trabajo y sus modificaciones
permanezcan libres y abiertas para su uso, modificación y distribución.

fcfs: tiempo de finalizacion, tiempo de espera y tiempo de retorno


Estas dos características son tratadas de manera independiente por los sistemas modernos.
En estos sistemas a la unidad de procesamiento se la conoce como hilo(thread),
mientras que a la unidad de propiedad de los recursos se le llama proceso.
Un hilo es una unidad básica de utilización de la cpu.
comparten con otros hilos la sección de código,la sección de datos, y los otros recursos del
so.

tp procesos e hilos

defina proceso:es un programas q esta corriendo o en ejecución dentro de un SO

Cuando una interrupción o una llamada al sistema transfiere el control al sistema


operativo, por lo general se utiliza un área de la pila distinta a la pila del proceso.
Explique cuál es la razón.
Se utiliza una pila separada para el sistema operativo durante interrupciones o llamadas al
sistema porque esto permite proteger la integridad y seguridad de los datos del proceso en
ejecución. Así se evita que el sistema operativo sobrescriba o interfiera con el estado del
proceso, preservando sus datos y manteniendo un control seguro de los permisos y
operaciones a nivel de sistema.

¿Cuáles son las actividades principales que el SO realiza en la gestión de procesos?


El sistema operativo es el encargado de decidir qué procesos entran en la CPU cuando
ésta queda libre, y en qué momento sale de la CPU el proceso que está en ejecución.

Un proceso está en estado suspendido, cuales son sus características y cómo pudo
haber llegado a dicho estado
Un proceso en estado suspendido está temporalmente detenido y no utiliza recursos del
sistema. Puede llegar a este estado por solicitud del usuario, espera de recursos
externos, interrupciones del sistema operativo, etc.

Explique detalladamente qué es el intercambio de procesos.


En términos simples, el intercambio consiste en mover procesos entre la memoria
principal y la memoria secundaria (como el disco duro) para liberar espacio en la RAM y
permitir que otros procesos puedan ejecutarse.

Cuando se puede producir un intercambio de procesos.

● Interrupción de reloj. El sistema operativo determina si el proceso en ejecución ha


excedido o no la unidad máxima de tiempo de ejecución, denominada rodaja de
tiempo (time slice).
● Interrupción de E/S. El sistema operativo determina qué acción de E/S ha ocurrido.
Si la acción de E/S constituye un evento por el cual están esperando uno o más
procesos, el sistema operativo mueve todos los procesos correspondientes al
estado de Listos (y los procesos en estado Bloqueado/Suspendido al estado
Listo/Suspendido).
● Fallo de memoria. El procesador se encuentra con una referencia a una dirección
de memoria virtual, a una palabra que no se encuentra en memoria principal.

tp proceso e hilos parte 2

¿A que se le llama traza de un proceso? ¿y traza combinada?

La traza de un proceso es la secuencia completa de instrucciones o eventos que un


proceso sigue durante su ejecución en un sistema operativo

La traza combinada es la integración de los registros de actividades y eventos de múltiples


procesos o sistemas. Permite analizar cómo interactúan y se relacionan estos procesos
entre sí

¿Cuáles son los eventos que producen la creación de procesos? De un ejemplo de


cada uno.
Nuevo proceso de lotes: el SO dispone de un flujo de control de lotes de trabajo. Cuando el
SO está listo para un nuevo trabajo llega la siguiente secuencia de mandatos de control de
trabajos.

sesión interactiva: un usuario entra al sistema desde un terminal.

creado por el SO para un servicio: el SO puede crear un proceso para realizar una función
en representación de un programa de usuario sin que el usuario tenga que esperar.

creado por un proceso existente: un programa de usuario puede ordenar la creación de un


número de procesos.

¿Cómo se llama al hecho de que un proceso sea creado por otro? ¿Qué nombre
recibe el proceso creador y el proceso creado?

El hecho de que un proceso sea creado por otro se denomina creación de procesos o
forking. el creador se llama padre y el creado hijo.

De ejemplos de terminación de procesos


finalización normal, limite de tiempo excedido, memoria no disponible, violaciones de
frontera error de proteccion, error aritmético, limite de tiempo, fallo e/s, instrucción no valida
instrucción privilegiada, uso inapropiado de datos, terminación del proceso padre, solicitud
del proceso padre.

Al pasar de un modelo de dos estados a uno de 5 estados uno de los estados se


divide en dos Listo y Bloqueado. ¿Cuál es ese estado? ¿Cuál es la razón por la cual
se divide este estado en dos?

El estado “No Ejecutando” se divide en “Listo” y ” Bloqueado” al pasar de un modelo de dos


estados a uno de cinco estados ya que dividir “No Ejecutando” en “Listo” y “Bloqueado”
mejora la gestión de procesos.
Explique la razón de incorporar un estado suspendido a un modelo de estados de
procesos

Es importante porque optimiza la memoria al liberar recursos, mejora el rendimiento al


reducir la contención de recursos, facilita la gestión de recursos y aumenta la flexibilidad del
sistema operativo.

¿Cuáles son las estructuras de control más importantes del SO? ¿Para que se
utilizan cada una de ellas?

PCB (Process Control Block) es una estructura de datos que permite al sistema operativo
controlar diferentes aspectos de la ejecución de un proceso. (es un grafico asi q no lo toma.
Si llegaron hasta acá (no creo) y lo quieren me lo piden y se los paso).

¿Cómo está formada la “información del estado del proceso”?


La información del estado del proceso está formada por todos los datos necesarios para
describir completamente el estado de un proceso en un momento dado. Esta información es
crucial para que el sistema operativo pueda gestionar el proceso de manera [Link]
datos se almacenan en una estructura de datos llamada Bloque de Control de Proceso

¿Qué realiza el SO cuando crea un proceso?


Cuando se va a añadir un nuevo proceso, el sistema operativo construye las estructuras de
datos que se usan para manejar el proceso y reservar el espacio de direcciones en memoria
principal para el proceso.

¿Cuál es la diferencia entre un proceso y un hilo?


Un proceso es una instancia de un programa en ejecución con su propio espacio de
direcciones y recursos del sistema, lo que implica una mayor sobrecarga para su creación.
En cambio, un hilo es una unidad de ejecución dentro de un proceso que comparte el
mismo espacio de direcciones y recursos del proceso, siendo más eficiente de crear.

¿Qué son “unidad propietaria de recursos” y “unidad de ejecución”?

Unidad Propietaria de Recursos:


Esta es una unidad básica de asignación de recursos que se utiliza para garantizar que un
proceso tenga acceso exclusivo a un recurso específico durante un período determinado.

Unidad de Ejecución:
Esta es una unidad que Stallings utiliza para referirse al concepto más general de una
secuencia de instrucciones que se ejecutan de manera coherente.

¿Qué significa multihilo? ¿Cuáles son las diferencias entre modelo multihilo y
monohilo?

Multihilo se refiere a la capacidad de un sistema operativo de dar soporte a múltiples hilos


de ejecución en un solo proceso. Por otro lado, en un modelo monohilo, solo puede
ejecutarse un hilo a la vez, lo que puede limitar la capacidad de manejar múltiples tareas
concurrentemente y su eficiencia general.

¿Un hilo puede estar en estado suspendido? Explique.


Un hilo puede estar suspendido cuando se detiene temporalmente su ejecución. Esto puede
ocurrir cuando el hilo espera recursos, cuando el sistema reorganiza la prioridad de los
procesos, o en respuesta a señales del sistema.
Durante la suspensión, el contexto del hilo se guarda para su posterior reanudación.

¿Qué tipos de hilos existen? Detalle cada uno (a nivel de núcleo y a nivel de usuario)

A nivel de núcleo, los hilos son gestionados directamente por el sistema operativo, lo que
implica un mayor control y supervisión.
Los hilos a nivel de usuario son gestionados por una biblioteca de hilos en el espacio de
usuario, sin intervención del sistema operativo. Los primeros tienen cambios de contexto
más costosos, mientras que los segundos son más eficientes en este aspecto.

ejercicios planificación de procesos

tp gestion de memoria
¿Cómo se divide la memoria en un sistema monoprogramado, y en uno
multiprogramado?

En un sistema monoprogramado, la memoria se divide en dos partes: una parte para el


sistema operativo (monitor residente, núcleo) y una parte para el programa
actualmente en ejecución.
En un sistema multiprogramado, la parte del usuario de la memoria se debe subdividir
posteriormente para acomodar múltiples procesos.

¿Quién se encarga de la subdivisión de la memoria? ¿Cómo se denomina esta tarea?

La subdivisión de la memoria es responsabilidad del sistema operativo, y la tarea


específica de dividir la memoria en partes más manejables se denomina gestión de la
memoria. Esta tarea es fundamental para asegurar que los recursos de memoria se utilicen
de manera eficiente y que los procesos tengan acceso a la memoria que necesitan sin
interferir entre sí.

¿Cuáles son los requisitos que debe satisfacer la gestión de memoria? Explique cada
uno de ellos.

reubicación:
Mientras que se está ejecutando el programa, puede que se descargue en el disco y que
vuelva a la memoria principal pero en una ubicación distinta(reubicación).

protección:
El código de un proceso no puede hacer referencia a posiciones de memoria de otros
procesos sin permiso.
Es imposible comprobar las direcciones absolutas de los programas, puesto que se
desconoce la ubicación de un programa en la memoria principal.

comportamiento:
Permite el acceso de varios procesos a la misma zona de la memoria principal.
Es mejor permitir a cada proceso(persona) que acceda a la misma copia del programa en
lugar de una copia para cada uno.

organización lógica:
La mayoría de los programas se organizan en módulos. Los módulos pueden escribir y
compilar independientemente. Se le pueden otorgar distintos grados de protección.

organización física: la memoria disponible para un programa y sus datos puede ser
insuficiente. el programador no conoce cuánto espacio queda disponible.

¿En qué consiste el particionamiento fijo de memoria? Explique las dos alternativas
que existen.
El particionamiento fijo de memoria es una técnica de gestión de memoria en la que la
memoria principal se divide en particiones de tamaño fijo. Cada partición puede contener un
solo proceso. Este método es simple, pero puede provocar fragmentación interna si los
procesos no ocupan toda la partición asignada.
Las 2 alternativas son particiones del mismo tamaño o particiones de diferente tamaño.

¿Qué dificultades existen con el uso de particiones fijas del mismo tamaño?

Con particiones del mismo tamaño, la ubicación de los procesos en memoria es trivial. En
cuanto haya una partición disponible, un proceso se carga en dicha partición sin importar
su tamaño. esto da un uso muy ineficiente de la memoria.

Explique cómo funcionaría el algoritmo de ubicación en particiones fijas y en


particiones de diferente tamaño.

fijas: puesto que todas las particiones son de igual tamaño, no importa qué partición se use.

diferente tamaño: pueden asignar cada proceso a la partición más pequeña en la que
quepa. Hace falta una cola para cada partición. los procesos están asignados de forma que
se minimiza la memoria desaprovechada dentro de cada partición.

¿En qué consiste la técnica de particionamiento dinámico?

Con particionamiento dinámico, las particiones son de longitud y número variable. Cuando
se lleva un proceso a la memoria principal, se le asigna exactamente tanta memoria como
requiera y no más.

¿Cuántos algoritmos de ubicación se consideran en el particionamiento


dinámico? Explique cada uno de ellos.

algoritmo del mejor ajuste(best-fit): elige el bloque de tamaño más próximo al solicitado.
puesto que este algoritmo busca el hueco más pequeño para el proceso, garantiza que el
fragmento que se deja es lo más pequeño y, por lo tanto, se debe compactar más
frecuentemente. proporciona en general los peores resultados

algoritmo de peor ajuste (worst fit): elige el bloque de tamaño lo más grande posible
respecto del solicitado. Puesto que este algoritmo busca el hueco más grande posible para
el proceso, deja espacios de mayor tamaño que reducen la fragmentación externa.
Proporciona, en general, mejores resultados que el algoritmo de mejor ajuste.

algoritmo del primer ajuste(first-fit): busca el primer bloque de tamaño más próximo al
solicitado. puede tener varios procesos cargados en el extremo inicial de la memoria que es
necesario recorrer cuando se intente encontrar un bloque libre. Es más rápido

algoritmo del siguiente ajuste(next-fit):Lleva frecuentemente a la asignación de un


bloque de memoria de la última ubicación,donde se encuentra el bloque más grande.
El bloque de memoria más grande se divide en fragmentos pequeños. Hará falta la
compactación para obtener un bloque de memoria grande al final del espacio de memoria

La fragmentación externa ocurre cuando la memoria tiene suficientes espacios libres, pero
están divididos en bloques pequeños y dispersos, impidiendo que los procesos los usen
eficientemente.

Solución: Se puede reducir mediante compactación (reorganizar la memoria para juntar


los bloques libres) o usando paginación y segmentación, técnicas que asignan bloques no
contiguos de memoria, evitando la necesidad de grandes bloques contiguos.

La fragmentación interna ocurre cuando se asigna un bloque de memoria de tamaño fijo a


un proceso que necesita menos espacio, generando "huecos" inutilizables dentro del bloque
asignado.

Solución: Se reduce usando paginación (bloques pequeños ajustados a las necesidades


del proceso) o segmentación dinámica, que asigna solo la cantidad de memoria que el
proceso realmente requiere.

¿Cuál es la diferencia entre dirección lógica y física?

La dirección lógica es la dirección generada por la CPU que un proceso utiliza para
acceder a la memoria. Es independiente de la memoria física y forma parte del espacio de
direcciones del proceso, siendo traducida por el sistema operativo a una dirección física real
en la RAM. Mientras que la dirección física es la dirección absoluta o la posición real en la
memoria principal.

Explique cómo funciona la paginación de memoria

La paginación de memoria divide la memoria en marcos y los procesos en páginas del


mismo tamaño. Cada proceso tiene una tabla de páginas que mapea sus páginas a
marcos en la memoria. La dirección de memoria se compone del número de página y un
desplazamiento dentro de esta.
Explique cómo funciona la segmentación de memoria.
Un programa de usuario se puede subdividir utilizando segmentación, en la cual el
programa y sus datos asociados se dividen en un número de segmentos. No se requiere
que todos los programas sean de la misma longitud, aunque hay una longitud máxima de
segmento

ejercicios de memoria con particiones

tp memoria virtual
¿Cuáles son las claves más importantes de los esquemas de paginación y
segmentación sencilla?virtual

Paginación sencilla: memoria ppal particionada en fragmentos pequeños de un tamaño fijo


llamados marcos, programas divididos en páginas, fragmentación interna dentro de los
marcos, sin fragmentación externa, el SO debe mantener una lista de marcos libres.

Segmentación sencilla: memoria ppal no particionada, los segmentos de programa se


especifican por el programador al compilador, sin fragmentación interna, fragmentación
externa, el SO debe mantener una lista de huecos en la memoria ppal.

¿Qué es el conjunto residente del proceso? ¿Qué beneficios trae gestionar la carga
de procesos de esta manera?

Supongamos que se tiene que traer un nuevo proceso de memoria. El sistema operativo
comienza trayendo únicamente una o dos porciones, que incluye la porción inicial del
programa y la porción inicial de datos sobre la cual acceden las primeras instrucciones. Esta
parte del proceso que se encuentra realmente en la memoria principal para, cualquier
instante de tiempo, se denomina conjunto residente del proceso.
● Pueden mantenerse un mayor número de procesos en memoria principal.
● Un proceso puede ser mayor que toda la memoria principal.

¿Para qué se utiliza la región de swap? ¿Qué es el thrashing?

La región de swap es un área del disco donde el sistema operativo almacena


temporalmente partes de procesos que no caben en la memoria RAM. Esta técnica es parte
de la administración de memoria virtual y permite que un sistema operativo simule una
mayor cantidad de memoria de la que físicamente tiene disponible en RAM.

El thrashing es un estado en el que el sistema operativo pasa la mayor parte del tiempo
intercambiando datos entre la memoria RAM y el área de swap, en lugar de ejecutar
procesos. Esto ocurre cuando la RAM está sobrecargada y el sistema constantemente
mueve datos entre RAM y disco, lo que ralentiza el rendimiento del sistema
considerablemente.

¿Qué es el principio de proximidad?

El principio de proximidad indica que las referencias al programa y a los datos dentro de un
proceso tienden a agruparse. Por tanto, se resume que sólo unas pocas porciones del
proceso se necesitarán a lo largo de un periodo de tiempo corto. También, es posible hacer
suposiciones inteligentes sobre cuáles son las porciones del proceso que se necesitarán en
un futuro próximo, para evitar este trasiego.

¿Dónde y cómo se almacena la tabla de paginas?

La tabla de páginas se almacena en la memoria RAM y contiene las traducciones de


direcciones virtuales a direcciones físicas. Para acelerar el acceso, las entradas más
utilizadas se guardan temporalmente en la TLB. Esto permite acceder a las traducciones de
direcciones sin consultar toda la tabla en la RAM, mejorando el rendimiento del sistema.

¿Qué es la paginación multinivel?

La paginación multinivel divide la tabla de páginas en niveles jerárquicos, usando menos


memoria y gestionando grandes espacios de direcciones virtuales de forma eficiente al
acceder solo a las partes necesarias.

¿Cómo funcionan las tablas de páginas invertidas?

Son una estructura alternativa a las tablas de páginas convencionales, diseñadas para
reducir el uso de memoria en sistemas con gran cantidad de procesos y direcciones
virtuales. La tabla de páginas invertida tiene una entrada por cada marco de página en la
memoria física.

¿Qué es la TLB? ¿Cuál es su utilidad? ¿Cómo funciona?

Caché especial de alta velocidad para las entradas de la tabla de página, habitualmente
denominada buffer de traducción anticipada (translation lookaside buffer).

Esta caché funciona de forma similar a una memoria caché general y contiene aquellas
entradas de la tabla de páginas que han sido usadas de forma más reciente.

Dada una dirección virtual, el procesador primero examina la TLB, si la entrada de la tabla
de páginas solicitada está presente (acierto en TLB), entonces se recupera el número de
marco y se construye la dirección real. Si la entrada de la tabla de páginas solicitada no se
encuentra (fallo en la TLB), el procesador utiliza el número de página para indexar la tabla
de páginas del proceso y examinar la correspondiente entrada de la tabla de páginas.

¿Qué es necesario considerar a la hora de definir el tamaño de página?

Al definir el tamaño de página en memoria virtual, es importante equilibrar la fragmentación


interna, el tamaño de la tabla de páginas y la eficiencia en los accesos,

¿Qué implicancias tiene el esquema de segmentación de memoria?

La segmentación permite dividir el espacio de memoria en segmentos lógicos de diferente


tamaño según la funcionalidad del código. Facilita el manejo de memoria de forma eficiente,
permite el uso compartido de segmentos entre procesos y mejora la protección y acceso
controlado a la memoria.
¿Cómo se implementa?
En la segmentación, cada segmento tiene una dirección base y un límite. Al acceder a la
memoria, el sistema traduce direcciones lógicas a direcciones físicas usando estas
referencias. Los sistemas operativos mantienen una tabla de segmentos por proceso, lo que
facilita la asignación y administración de memoria.

¿Qué es la Segmentación paginada?


Este esquema combina segmentación y paginación, dividiendo la memoria en segmentos, y
cada segmento en páginas. Permite reducir la fragmentación externa (por paginación) y
mejorar el acceso estructurado a la memoria (por segmentación).

¿Qué diferencias hay entre paginación bajo demanda y prepaginación?:

● Paginación bajo demanda: Las páginas solo se cargan en memoria cuando se


necesitan, lo que ahorra recursos iniciales pero puede causar retrasos al cargar
páginas en tiempo real.
● Prepaginación: Carga de varias páginas anticipadamente, lo que reduce retrasos al
acceder a datos consecutivos pero usa más memoria desde el inicio.

¿Es importante la ubicación en un esquema de paginación?La ubicación de páginas


físicas no es relevante para la paginación porque las direcciones lógicas son traducidas a
físicas sin importar dónde se almacenen. Esto permite flexibilidad y eficiencia en la gestión
de memoria.

¿Por qué es necesario el bloqueo de marcos?

Bloquear marcos es crucial para asegurar que ciertas páginas críticas permanezcan en
memoria y no sean reemplazadas, garantizando la estabilidad y seguridad del sistema.

Compare los algoritmos básicos de reemplazo.

● FIFO (First In, First Out): Reemplaza la página más antigua en la memoria. Es
simple pero no siempre eficiente, ya que puede sacar páginas frecuentemente
usadas.
● LRU (Least Recently Used): Reemplaza la página menos recientemente utilizada.
Más eficiente que FIFO en muchos casos, pero requiere más recursos para rastrear
el uso.
● Optimal: Reemplaza la página que no será utilizada por el periodo más largo. Es el
más eficiente, pero impráctico en la práctica ya que requiere conocimiento futuro del
acceso.

ejercicios de memoria virtual con paginación

También podría gustarte