Podcast
Questions and Answers
¿Cuál es la función principal del núcleo del sistema operativo?
¿Cuál es la función principal del núcleo del sistema operativo?
- Ejecutar programas de diagnóstico del sistema.
- Gestionar las aplicaciones de usuario directamente.
- Proporcionar una interfaz de alto nivel para el hardware. (correct)
- Facilitar la comunicación entre diferentes sistemas operativos.
En un sistema operativo, ¿qué facilita un 'SO'?
En un sistema operativo, ¿qué facilita un 'SO'?
- El acceso exclusivo a los recursos del sistema por una sola aplicación.
- La creación de conflictos entre aplicaciones y el sistema.
- El uso de un sistema informático. (correct)
- La manipulación directa del hardware por parte del usuario.
¿Qué caracteriza a una llamada al sistema?
¿Qué caracteriza a una llamada al sistema?
- Es una comunicación entre dos aplicaciones de usuario sin intervención del sistema operativo.
- Es una petición de un proceso al núcleo del sistema operativo para obtener un servicio. (correct)
- Es una solicitud directa al hardware sin intermediación del núcleo.
- Es una instrucción que el procesador ejecuta en modo usuario.
En un procesador con protección de memoria y modos supervisor y usuario, ¿cómo se implementan las llamadas al sistema?
En un procesador con protección de memoria y modos supervisor y usuario, ¿cómo se implementan las llamadas al sistema?
¿Cuál es una característica principal de los procesos en un sistema operativo?
¿Cuál es una característica principal de los procesos en un sistema operativo?
¿Qué abstracción proporciona el núcleo en relación a la memoria de los procesos?
¿Qué abstracción proporciona el núcleo en relación a la memoria de los procesos?
En el contexto de multiprogramación, ¿qué describe mejor una 'operación bloqueante'?
En el contexto de multiprogramación, ¿qué describe mejor una 'operación bloqueante'?
¿Cuál es el rol del planificador de procesos en un sistema operativo?
¿Cuál es el rol del planificador de procesos en un sistema operativo?
¿Cuál es una consecuencia de que el tiempo que tarda en ejecutarse un proceso no sea igual al tiempo consumido de CPU?
¿Cuál es una consecuencia de que el tiempo que tarda en ejecutarse un proceso no sea igual al tiempo consumido de CPU?
¿Cuál de las siguientes afirmaciones describe mejor el concepto de hilos en un sistema operativo?
¿Cuál de las siguientes afirmaciones describe mejor el concepto de hilos en un sistema operativo?
¿Por qué podría ser ventajoso dividir un proceso en múltiples hilos en lugar de múltiples procesos?
¿Por qué podría ser ventajoso dividir un proceso en múltiples hilos en lugar de múltiples procesos?
¿Qué encapsula un proceso, según la redefinición presentada?
¿Qué encapsula un proceso, según la redefinición presentada?
¿Qué componente del sistema planifica los hilos en lugar de los procesos?
¿Qué componente del sistema planifica los hilos en lugar de los procesos?
¿Qué es una interrupción en el contexto del sistema operativo?
¿Qué es una interrupción en el contexto del sistema operativo?
¿Cuál es el propósito de los modos de ejecución del procesador (supervisor y usuario)?
¿Cuál es el propósito de los modos de ejecución del procesador (supervisor y usuario)?
¿Qué ocurre si un proceso en modo usuario intenta ejecutar una instrucción privilegiada?
¿Qué ocurre si un proceso en modo usuario intenta ejecutar una instrucción privilegiada?
¿Cuál es el propósito de la memoria virtual?
¿Cuál es el propósito de la memoria virtual?
¿Cómo se traduce una dirección lógica a una dirección física en un sistema de memoria paginada?
¿Cómo se traduce una dirección lógica a una dirección física en un sistema de memoria paginada?
Si una entrada en la tabla de páginas tiene el bit P (de 'presente') en 0, ¿qué indica?
Si una entrada en la tabla de páginas tiene el bit P (de 'presente') en 0, ¿qué indica?
En un sistema de memoria virtual, ¿qué sucede cuando se intenta acceder a una página que no está presente en la memoria física?
En un sistema de memoria virtual, ¿qué sucede cuando se intenta acceder a una página que no está presente en la memoria física?
¿Cuál es la función de un 'adaptador' en el contexto del acceso a dispositivos?
¿Cuál es la función de un 'adaptador' en el contexto del acceso a dispositivos?
¿Cómo informa un dispositivo al sistema operativo sobre un cambio de estado?
¿Cómo informa un dispositivo al sistema operativo sobre un cambio de estado?
¿Qué implica la gestión de dispositivos por 'sondeo'?
¿Qué implica la gestión de dispositivos por 'sondeo'?
¿Qué es un PIC (Programable Interrupt Controller) en el contexto de las interrupciones?
¿Qué es un PIC (Programable Interrupt Controller) en el contexto de las interrupciones?
¿Qué tipo de interfaz utiliza la mayoría de las unidades magnéticas modernas para la conexión?
¿Qué tipo de interfaz utiliza la mayoría de las unidades magnéticas modernas para la conexión?
En una unidad de disco magnético, ¿qué representa un 'cilindro'?
En una unidad de disco magnético, ¿qué representa un 'cilindro'?
¿Cuál es la unidad mínima de transferencia en una unidad de disco magnético?
¿Cuál es la unidad mínima de transferencia en una unidad de disco magnético?
¿Qué tecnología es empleada en las unidades de estado sólido (SSD)?
¿Qué tecnología es empleada en las unidades de estado sólido (SSD)?
¿Cuál es la función del 'buffer' en una unidad de estado sólido (SSD)?
¿Cuál es la función del 'buffer' en una unidad de estado sólido (SSD)?
¿Qué protocolo es específicamente diseñado para acceso a discos duros SSD a través del bus PCI Express?
¿Qué protocolo es específicamente diseñado para acceso a discos duros SSD a través del bus PCI Express?
¿Qué problema aborda el comando TRIM en las unidades de estado sólido (SSD)?
¿Qué problema aborda el comando TRIM en las unidades de estado sólido (SSD)?
¿Qué función tiene el Wear Leveling en las unidades SSD?
¿Qué función tiene el Wear Leveling en las unidades SSD?
¿Cuál es la función principal del 'adaptador de pantalla' en un sistema informático?
¿Cuál es la función principal del 'adaptador de pantalla' en un sistema informático?
En el contexto de los terminales internos (consola), ¿cuál es la función del microcontrolador en el teclado?
En el contexto de los terminales internos (consola), ¿cuál es la función del microcontrolador en el teclado?
¿Cuál es la función principal del gestor de ratón en un sistema operativo?
¿Cuál es la función principal del gestor de ratón en un sistema operativo?
En terminales externos en modo texto, ¿qué tipo de información envía el cliente al servidor?
En terminales externos en modo texto, ¿qué tipo de información envía el cliente al servidor?
En clientes de terminal en modo gráfico, ¿qué significa 'orientados a píxeles' en términos de protocolos?
En clientes de terminal en modo gráfico, ¿qué significa 'orientados a píxeles' en términos de protocolos?
Flashcards
¿Qué es un Sistema Operativo (SO)?
¿Qué es un Sistema Operativo (SO)?
Software que facilita el uso de un sistema informático, sirviendo como interfaz entre usuarios, aplicaciones y el sistema operativo.
¿Qué es el Núcleo del Sistema Operativo?
¿Qué es el Núcleo del Sistema Operativo?
Capa de software sobre hardware que proporciona una interfaz de alto nivel para gestionar recursos del sistema.
¿Qué es una llamada al sistema?
¿Qué es una llamada al sistema?
Es una petición que realiza un proceso al núcleo del sistema operativo para obtener un servicio.
¿Que es un Proceso?
¿Que es un Proceso?
Signup and view all the flashcards
¿Qué es la Multiprogramación?
¿Qué es la Multiprogramación?
Signup and view all the flashcards
¿Qué es una Operación Bloqueante?
¿Qué es una Operación Bloqueante?
Signup and view all the flashcards
¿Qué es el Planificador de Procesos?
¿Qué es el Planificador de Procesos?
Signup and view all the flashcards
¿Qué es un Hilo?
¿Qué es un Hilo?
Signup and view all the flashcards
¿Qué es un Proceso (Redefinido)?
¿Qué es un Proceso (Redefinido)?
Signup and view all the flashcards
¿Qué es una Interrupción?
¿Qué es una Interrupción?
Signup and view all the flashcards
¿Qué es una Interrupción Hardware?
¿Qué es una Interrupción Hardware?
Signup and view all the flashcards
¿Qué es una Excepción?
¿Qué es una Excepción?
Signup and view all the flashcards
¿Qué es una Interrupción Software?
¿Qué es una Interrupción Software?
Signup and view all the flashcards
¿Qué es el modo Supervisor?
¿Qué es el modo Supervisor?
Signup and view all the flashcards
¿Qué es el Espacio de Memoria Paginado?
¿Qué es el Espacio de Memoria Paginado?
Signup and view all the flashcards
¿Para que sirve la tabla de paginas?
¿Para que sirve la tabla de paginas?
Signup and view all the flashcards
¿Qué es la Memoria Virtual?
¿Qué es la Memoria Virtual?
Signup and view all the flashcards
¿Qué hacen las cajas negras para el SO?
¿Qué hacen las cajas negras para el SO?
Signup and view all the flashcards
¿Qué es el Controlador (en acceso a dispositivos)?
¿Qué es el Controlador (en acceso a dispositivos)?
Signup and view all the flashcards
¿Qué es un Adaptador?
¿Qué es un Adaptador?
Signup and view all the flashcards
¿Qué son los Registros de Control?
¿Qué son los Registros de Control?
Signup and view all the flashcards
¿Que pasa si hay multiples dispositivos?
¿Que pasa si hay multiples dispositivos?
Signup and view all the flashcards
¿Arquitectura del subsistema de E/S?
¿Arquitectura del subsistema de E/S?
Signup and view all the flashcards
¿Qué son las Unidades Magnéticas?
¿Qué son las Unidades Magnéticas?
Signup and view all the flashcards
¿Organización de la información en discos?
¿Organización de la información en discos?
Signup and view all the flashcards
¿Consideraciones para el tiempo de lectura?
¿Consideraciones para el tiempo de lectura?
Signup and view all the flashcards
¿NAND Flash?
¿NAND Flash?
Signup and view all the flashcards
¿Que papel juega el controlador en SSD?
¿Que papel juega el controlador en SSD?
Signup and view all the flashcards
¿Que es NVMe, AHCI?
¿Que es NVMe, AHCI?
Signup and view all the flashcards
¿Que hace especiales a las unidades SSD?
¿Que hace especiales a las unidades SSD?
Signup and view all the flashcards
¿Wear leveling dinamico?
¿Wear leveling dinamico?
Signup and view all the flashcards
¿Weal leveling estatico?
¿Weal leveling estatico?
Signup and view all the flashcards
¿Sirve para algo el comando TRIM?
¿Sirve para algo el comando TRIM?
Signup and view all the flashcards
¿Tipos de terminales?
¿Tipos de terminales?
Signup and view all the flashcards
¿Adaptador para que?
¿Adaptador para que?
Signup and view all the flashcards
¿Donde puedo guardar la memoria de video?
¿Donde puedo guardar la memoria de video?
Signup and view all the flashcards
¿Como funciona el teclado?
¿Como funciona el teclado?
Signup and view all the flashcards
¿Como funcionan terminales externos?
¿Como funcionan terminales externos?
Signup and view all the flashcards
¿Cliente terminal texto?
¿Cliente terminal texto?
Signup and view all the flashcards
¿Como funciona cliente grafico?
¿Como funciona cliente grafico?
Signup and view all the flashcards
Study Notes
T1: Fundamentos
- Este resumen abarca los fundamentos de los sistemas operativos, procesos e hilos, hardware, memoria y acceso a dispositivos.
Sistema Operativo
- Es el software que facilita el uso de un sistema informático.
- Proporciona una interfaz entre usuarios y el sistema, y entre aplicaciones y el sistema.
- Simplifica el desarrollo de aplicaciones.
- El núcleo del sistema operativo es la capa de software que interactúa directamente con el hardware.
- Ofrece una interfaz con un alto grado de abstracción.
Núcleo del Sistema Operativo y Hardware
- El núcleo del sistema operativo se coloca sobre el hardware.
- Proporciona una interfaz con mayor grado de abstracción.
- Las herramientas del sistema incluyen configuración y administración, programas de ayuda y programas de órdenes.
Llamadas al sistema
- Una llamada al sistema es una petición de un proceso al núcleo del sistema operativo para obtener un servicio.
- En procesadores con protección de memoria y modos supervisor/usuario, se implementan mediante instrucciones específicas e interrupciones.
- Usar rutinas no es viable debido a las restricciones de protección y la falta de conmutación a modo supervisor.
Procesos e Hilos
- Un proceso es una secuencia de ejecución de instrucciones de un programa.
- Si un programa se ejecuta más de una vez, cada ejecución es un proceso distinto.
- Un proceso puede ejecutar otro programa.
Abstracciones del Núcleo
- Cada proceso tiene su propio espacio de memoria aislado.
- Las direcciones de memoria de los procesos son direcciones lógicas.
- El núcleo proporciona mecanismos de comunicación, sincronización e identificación.
- Un proceso puede crear otros procesos, donde el proceso "padre" tiene derechos especiales sobre su "proceso hijo".
Multiprogramación
- Es la capacidad de un programa para ejecutar múltiples procesos.
- Busca aprovechar al máximo los procesadores.
- Intel Core i7 6950X ejecuta 317.900 MIPS, con una instrucción ejecutándose en ~3.14x10^-12 segundos.
- Tiempo de transferencia típico de una unidad SSD: 0.2ms (2.0x10^-4s).
- Mientras el dispositivo transfiere datos, el procesador puede ejecutar millones de instrucciones.
Operaciones Bloqueantes
- Una operación bloqueante es aquella que tarda significativamente más que la ejecución de instrucciones en el procesador.
Abstracción vs. Comportamiento Real
- En la abstracción, se asume que cada proceso tiene un procesador virtual dedicado y ejecuta instrucciones a una velocidad uniforme.
- En la realidad, el tiempo del procesador se reparte entre los procesos, y los procesos alternan períodos de ejecución con inactividad.
Estados de un Proceso
- Los estados principales de un proceso son: Activo, Preparado, Bloqueado.
- La transición ocurre entre activación, bloqueo y apropiación.
- El planificador de procesos es el componente del núcleo que distribuye el tiempo de los procesadores entre los procesos.
Consecuencias de la Planificación
- Tiempo de ejecución de un proceso ≠ tiempo consumido de CPU.
- La misma actividad puede tardar diferente tiempo en distintas ejecuciones
- Las operaciones que dependen del tiempo se gestionan mediante primitivas del sistema.
- Las esperas activas están prohibidas.
Hilos
- ¿Debería un proceso que realiza dos actividades paralelizables convertirse en dos procesos?
- Siempre es interesante si hay más de un procesador.
- En un solo procesador, una actividad puede aprovechar los tiempos de bloqueo de la otra.
Problemas con Dependencias
- Las dependencias entre actividades pueden requerir la conversión de variables y estructuras de datos.
- El acceso a estos recursos mediante mecanismos de IPC puede ser complicado e ineficiente.
Solución: Implementar Actividades con Hilos
- Un hilo es una secuencia de ejecución dentro de un proceso.
- Comparte espacio de memoria y archivos abiertos.
- El sistema operativo proporciona primitivas para la creación, destrucción y sincronización.
- No se implementan mecanismos de protección entre hilos del mismo proceso.
Redefinición de Proceso
- Ahora objeto del sistema que encapsula:
- Uno o más hilos
- Un espacio de memoria compartido por todos sus hilos
- Conjunto de recursos hardware/software asignados
- El planificador ahora gestiona hilos, no procesos.
Conceptos Básicos sobre Hardware
- Organización básica de un ordenador.
- Interrupciones y Modos de ejecución del procesador.
- Memoria y Acceso a dispositivos.
Interrupción
- Es la alteración de la secuencia de ejecución de instrucciones provocada por un evento.
- Existen vectores de interrupción que indican la rutina a ejecutar.
- Los eventos que provocan interrupciones pueden ser: hardware, excepción o software.
Tipos de Interrupción
- Interrupción Hardware: Indica un cambio de estado en una entrada del procesador, usado para la gestión de dispositivos.
- Excepción: Imposibilidad de ejecutar una instrucción debido a varias razones (no es una instrucción, instrucción no válida, fallo de página, o nivel de privilegio insuficiente).
- Interrupción software: Es una instrucción que provoca deliberadamente una interrupción, como INT 21H.
Modos de Ejecución del Procesador
- El procesador tiene distintos modos de ejecución.
- Instrucciones para operaciones aritméticas, lógicas o de movimiento de datos.
- Instrucciones privilegiadas que acceden a recursos hardware o software externos.
- Al menos dos modos existen:
- Supervisor: Puede ejecutar cualquier instrucción, incluyendo las privilegiadas.
- Usuario: No puede ejecutar instrucciones privilegiadas.
- Si un modo usuario intenta ejecutar instrucción privilegiada causa EXCEPCIÓN.
- Utilidad → construcción de un sistema operativo robusto.
- El núcleo usa el procesador en modo supervisor y el resto en modo usuario.
Memoria
- Funciona como un array de bytes al que se accede mediante una dirección (índice).
- Primera dirección de memoria: 0.
- Última dirección de la memoria depende de la cantidad instalada
- Se puede transferir en cada acceso 1, 2, 4 u 8 bytes.
Espacio de Memoria Paginado
- Cada proceso tiene su espacio lógico de direcciones
- El procesador traduce del espacio lógico al espacio físico de direcciones
- El traductor divide las direcciones lógicas en:
- nº páginas y desplazamiento
Traducción de Direcciones Paginadas
- Usa una tabla de páginas.
- Tabla de páginas indexada por número de página y proporciona el número de marco.
- Independencia: cada proceso tiene su propia tabla de páginas, dando su propio espacio.
Beneficios de la Paginación
- Cada proceso solo ve su propio espacio lógico de direcciones.
- El espacio está compuesto por direcciones consecutivas.
- Los marcos asignados al proceso no sean consecutivos.
- Se puede ejecutar un proceso sin necesidad de tener todas sus páginas cargadas.
Memoria Virtual
- Los procesos comienzan su ejecución sin necesidad de transferir ninguna de sus páginas a memoria.
- Inicialmente, todas las páginas se marcan como "no presentes".
- Cuando falta una página, el núcleo la busca y la carga en cualquier marco libre.
- El bit P de "presente", indicando que marco cargado en memoria.
Reemplazo de Páginas
- Si no quedan marcos libres, se reescribe un marco usado para colocar la nueva página, hasta que dicho espacio necesite.
Acceso a Dispositivos
- Para el sistema operativo (S.O), los dispositivos son cajas negras capaces de:
- Recibir órdenes
- Transferir información
- Informar sobre su estado
- Controlador: Interfaz electrónica del dispositivo.
- Debe ser de la forma más simple: específico para ordenador y dispositivo.
Adaptador
- Es el componente que sirve como elemento de conexión a otros dispositivos.
- Proporciona una interfaz estándar que normaliza:
- Características mecánicas
- Características electrónicas
- Protocolos
Acceso a Dispositivos: Registros de Control
- Un dispositivo puede tener múltiples registros.
- Los tipos de registros son:
- Órdenes (de configuración o de comando).
- Estado
- Lectura/Escritura
- Los registros pueden estar mapeados en memoria o en espacio de E/S.
- Cada registro tiene asignada una dirección.
Información del Dispositivo
- Los dispositivos informan de sus cambios de estado cambiando el valor de su registro de estado o generando una interrupción.
- El manejo de dispositivos puede ser por sondeo, revisando el registro de estado, o por interrupciones.
Gestión de Dispositivos por Sondeo
- Consiste en leer el registro de estado hasta que cambie de valor.
- Se ordena la lectura, luego se lee repetidamente el estado hasta que indique "lectura OK", y finalmente se lee el dato.
Gestión de Dispositivos por Interrupciones
- El dispositivo tiene una salida de interrupción que se conecta a la entrada de interrupción del procesador.
- Cuando el dispositivo cambiala señal la interrupción.
- La subrutina de servicio a la interrupción trata el cambio de estado.
- Si hay múltiples dispositivos:Se necesita un programable interrupt controller (PIC), o message signalled interrupt (MSI)
Arquitectura del Subsistema de E/S:
- El software de E/S consta de:
- Espacio de usuario y bibliotecas de funciones.
- Software de E/S independiente del dispositivo y administración de archivos.
- Gestor de dispositivos y controladores (drivers).
Unidades de Almacenamiento: Unidades Magnéticas
- Estructura del dispositivo:
- Interfaz: SATA, SCSI, USB.
- Controlador.
- Buffer (RAM)
- Almacenamiento permanente (placas magnéticas).
- Las unidades magnéticas:
- Constan de una o más placas ferromagnéticas.
- Cada placa tiene dos caras.
- Cada cara está dividida en pistas concéntricas y cada pista en sectores.
- El sector es unidad mínima de transferencia, tiene un número de bits
- Cada cara tiene un cabezal de lectura/escritura y los cabezales se mueven de forma solidaria (peine)
Organización de la Información en Discos Magnéticos
- Cilindro: conjunto de pistas con el mismo número.
- Pistas: coronas concéntricas, divididas en sectores.
- Sector: unidad mínima de transferencia.
- Direccionamiento:
- CHS (Cylinder, Head, Sector): el disco es un array tridimensional de sectores
- LBA (Linear Block Address): el disco es un vector de sectores.
Unidades de Estados Solidos (SSD)
- SSD: tecnología de almacenamiento con tecnología NAND Flash.
- Software: controla las lecturas y escrituras al hardware.
- Las operaciones de escritura son más lentas.
Componentes del SSD
- Controlador: gestiona las operaciones de lectura y escritura, compatible SATA los discos magnéticos.
- Buffer: RAM actúa como almacenamiento intermedio entre controlador y array flash. _ Array Memorias Flash: Almacenamiento en sí del dispositivo
Notas sobre protocolos y conexión
- SATA usan protocolo AHCI (Advanced Host Controller Interface).
- PCIe: usan o bien protocolo AHCI (distingue por tener dos ranuras en conector) y protocolo NVMe (una única ranura en conector).
NVMe
- NVMe: protocolo especialmente diseñado para discos duros SSD a través bus PCI Express.
- La diferencia principal entre NVMe y AHCI es la Cola de Comandos (Command Queue), el NVMe soporta 65.000 colas con 65.000 mientras AHCI solo 32.
- Elimina cuello de botella.
Técnica de escritura y lectura
- Interfaz Flash: serie de 8/16 bits.
- Sector: escribe en paralelo, pero dispersoen celdas
- Escritura: celda, debe estra vacía
Particulariedades SSD
- Tamaño, el sector 4Kb y borrar previamente.
- celdas no borran agrupar.
- El borrado de un sector afecta a otros
Amplificación de la Escritura
- Tamaño típico del sector: 4KB.
- Para escribir, hay que borrar previamente.
- Las celdas no se pueden borrar individualmente, sino en unidades de borrado.
- Borrado de un sector puede afectar a otros.
- Escribir de datos es lectura+borrado+modificación+escritura.
- Celdas flash soportan número limitado de borrados.
- Número típico es de 100.000 ciclos de borrado/programación.
Wear Leveling
- Objetivo: distribuir el desgaste de las celdas de forma uniforma
- Tipos:
- Dinámico: se le asignan las celdas flash a usar en el momento de la escritura -Estático: al Dinámico, pero mueve periódicamente los sectores
Comando Trim
- El sistema archivos y indica a SSD sectores borren.
- Esto: mejora el escrituras y borrados.
Studying That Suits You
Use AI to generate personalized quizzes and flashcards to suit your learning preferences.