SlideShare una empresa de Scribd logo
1 de 47
SISTEMAS OPERATIVOS
TENDENCIAS – HARDWARE – SOFTWARE – MEMORIA FIJA
Victor Quito – Mario Urgiles – Marjorie Reyna
Grupo #2
INTRODUCCIÓN
PRINCIPALES TENDENCIAS EN S. O.
Las principales tendencias en S. O. son las siguientes:
• Soporte generalizado para multiprocesamiento.
• Distribución del control entre procesadores localizados.
• Compatibilidad con nuevas generaciones de computadoras.
PRINCIPALES TENDENCIAS EN S. O.
• Desarrollos en la ingeniería de software para brindar S. O. más preservables,
confiables y comprensibles.
• Permanencia del concepto de almacenamiento virtual.
• Profundización del desarrollo de S. O. Con funciones distribuidas entre varios
procesadores a través de grandes redes de sistemas.
COMPAGINACIÓN DEL
ALMACENAMIENTO
• Generalmente, mientras cualquiera de las localidades de un banco de
almacenamiento primario, está siendo accedida, ninguna otra referencia
puede estar en curso.
• La compaginación del almacenamiento coloca localidades de memoria
adyacentes en diferentes bancos de almacenamiento, para permitir varias
referencias al mismo tiempo.
REGISTRO DE RELOCALIZACIÓN
• Permite relocalizar de forma dinámica los programas.
• La dirección base de un programa en la memoria principal se sitúa en el
registro de relocalización.
• Permite al programa residir en localizaciones diferentes a aquellas para las
cuales fue traducido.
INTERRUPCIONES
Permiten a una unidad obtener la inmediata atención de otra, de manera
que la primera pueda informar de un cambio de estado:
• Permite salvar el “estado” de la unidad interrumpida antes de procesar la
interrupción.
ESCRUTINIO
Técnica que permite que una unidad verifique el estado de otra unidad de
funcionamiento Independiente.
BUFFER
• Un “buffer” es un área de almacenamiento primario destinada a contener
datos durante transferencias de E / S.
• Cuando concluye la transferencia los datos pueden ser accedidos por el
procesador.
ESQUEMA DE “ENTRADAS DE
BUFFER SIMPLE”
• El canal deposita datos en el buffer.
• El procesador procesa estos datos.
• El canal deposita nuevos datos, etc.
• No puede haber simultaneidad entre operaciones de colocar datos en el
buffer y procesarlos: Afecta la performance.
ESQUEMA DE “ENTRADAS DE
BUFFER DOBLE”
• Permite la sobreposición de operaciones de e / s con el
procesamiento: Mejora la performance.
• Mientras el canal deposita datos en un buffer el procesador puede
estar procesando los datos del otro buffer.
• Cuando el procesador concluye el proceso de los datos del primer
buffer, puede continuar con los datos del segundo, mientras el canal
deposita nuevos datos en el primer buffer:
• Es la técnica de “buffer biestable (o en flip flop)”.
DISPOSITIVOS PERIFÉRICOS
• Permiten el almacenamiento de grandes cantidades de información fuera
del almacenamiento principal.
• Existen dispositivos secuenciales y de acceso directo.
• Las características y prestaciones son muy variadas.
PROTECCIÓN DEL
ALMACENAMIENTO
• Limita el número de direcciones que un programa puede referenciar.
• Es esencial en los sistemas multiusuario.
• Se implementa mediante los “registros de límites”, que definen las
direcciones superior e inferior del bloque de almacenamiento afectado a
un determinado programa.
• También se pueden utilizar “claves de protección del almacenamiento”
anexas a áreas de almacenamiento primario: Un programa solo puede
acceder a localidades de almacenamiento cuyas claves de protección
concuerdan con las del programa.
TEMPORIZADOR DE INTERVALOS
• Previene que un solo usuario monopolice el procesador en sistema
Multiusuario.
• El temporizador genera una interrupción al procesador cuando expira el
intervalo asignado a un usuario.
RELOJ HORARIO
• Permite al computador hacer un seguimiento de la “hora del reloj de
pared”, con una exactitud de millonésimas de segundo o mayor.
OPERACIÓN EN LÍNEA
• Los periféricos utilizados están conectados al procesador.
OPERACIÓN FUERA DE LÍNEA
• Los periféricos utilizados están conectados a unidades de control que no
están conectadas al sistema central o principal.
CANALES DE ENTRADA/SALIDA
• Son sistemas computacionales de propósito especial, dedicados al manejo
de la e / s con independencia del Procesador principal.
• Tienen acceso directo al almacenamiento principal para almacenar o
recuperar información.
• Evitan al procesador la mayor parte de la carga de manejar la e / s,
incrementando la concurrencia.
CANALES DE ENTRADA/SALIDA
Los principales tipos:
• Selectores.
• Multiplexores de bytes.
• Multiplexores de bloques.
ROBO DE CICLO
• Significa que en la competencia entre el procesador y los canales para
acceder a un determinado banco de Almacenamiento primario (memoria
principal), se da prioridad a los canales.
DIRECCIONAMIENTO DE BASE MÁS
DESPLAZAMIENTO
• Todas las direcciones son añadidas al contenido de un “registro de base”.
• Los programas son “independientes de la localización”: Especialmente
importante en ambientes Multiusuario.
ESTADO DE PROBLEMA O DE
USUARIO
Estado en que corren los programas de usuario:
• Tiene acceso a un subconjunto de instrucciones del conjunto de
instrucciones de la máquina.
ESTADO SUPERVISOR O DE
NÚCLEO
Generalmente el S. O. corre así con la categoría de “usuario de mayor
confianza o nivel”:
• Tiene acceso a todas las instrucciones del conjunto de instrucciones de la
máquina.
INSTRUCCIONES PRIVILEGIADAS
Son aquellas a las que no se tiene acceso en estado de problema.
ALMACENAMIENTO VIRTUAL
• Los sistemas de almacenamiento virtual permiten a los programas
referenciar direcciones que no necesitan corresponder con las direcciones
reales disponibles en el almacenamiento primario.
PAGINACIÓN Y SEGMENTACIÓN
• “Paginación”: bloques de datos de tamaño fijo van o vienen entre el
almacenamiento primario y el secundario.
• “Segmentación”: identifica las unidades lógicas de los programas y datos
para facilitar el control de acceso y participación
MULTIPROCESAMIENTO
• Varios procesadores comparten un almacenamiento primario común y un
solo s. O.
• Es necesario “secuencializar” el acceso a una localización (dirección) de
almacenamiento compartido para que dos o más procesadores no
intenten:
• Modificarla al mismo tiempo.
• Modificarla uno(s) mientras otro(s) intenta(n) leerla.
ACCESO DIRECTO A LA MEMORIA
(DMA)
• Requiere una sola interrupción al procesador por cada bloque de
caracteres transferidos durante la operación de e / s:
• Mejora significativamente la performance (rendimiento).
• Es como si el procesador, en vez de interrumpido fuera retrasado.
• Muy útil para altos requerimientos de e / s.
CANALIZACIÓN
• Técnica de hardware utilizada para explotar ciertos tipos de paralelismo
durante el procesamiento de instrucciones.
• Varias instrucciones pueden estar simultáneamente en diferentes estados
de ejecución.
JERARQUÍA DE ALMACENAMIENTO
• Los niveles de almacenamiento incluyen:
• Almacenamiento primario: memoria principal.
• Almacenamiento secundario: discos, cintas, etc.
• Almacenamiento “cache”: memoria muy veloz diseñada para aumentar la
velocidad de ejecución de los programas:
• • Aloja la parte (instrucciones y datos) en ejecución de un programa.
JERARQUÍA DE ALMACENAMIENTO
Los niveles de almacenamiento crean “jerarquías de almacenamiento”:
cache, almacenamiento Primario, almacenamiento Secundario.
• Al bajar en la jerarquía:
• Descienden el costo y la velocidad.
• Aumenta la capacidad.
SOFTWARE
• Consiste en los programas de
instrucciones y datos que definen
para el hardware los algoritmos
necesarios para la resolución de
problemas.
PROGRAMACIÓN EN LENGUAJE DE MÁQUINA:
• “Lenguaje de maquina”: lenguaje
de programación que un
computador puede comprender
directamente. Es “dependiente
de la máquina”: un programa en
lenguaje de máquina escrito en el
computador de un fabricante,
generalmente no puede ser
ejecutado en el de otro, salvo que
su lenguaje de máquina sea
compatible. Muy poco usado
actualmente.
ENSAMBLADORES Y MACROPROCESADORES:
Los “lenguajes ensambladores” se desarrollaron para:
• Incrementar la velocidad de programación.
• Reducir los errores de codificación.
Los programas deben ser traducidos al “lenguaje de
máquina” mediante un programa ensamblador que
también es dependiente de la máquina.
Los “macroprocesadores”: se desarrollaron para acelerar la
codificación de un programa ensamblador. Se incorporaron en los
ensambladores.
Una “macroinstrucción” indica la ejecución de varias
instrucciones en lenguaje ensamblador. El “procesador de
macroinstrucciones” efectúa una “macroexpansión” cuando lee
una macro durante la traducción de un programa.
COMPILADORES:
• “Lenguajes de alto nivel”: resuelven el
problema de la dependencia respecto a la
máquina. Permiten el desarrollo de programas
“independientes de la maquina”. Se logra:
• Mayor velocidad de programación.
• Programas transportables entre sistemas
diferentes.
• Menores requerimientos de conocimientos de
hardware.
UTILIZACIÓN DEL SPOOL (SIMULTANEOUS PERIPHERAL
OPERATION ON LINE: OPERACIÓN SIMULTÁNEA DE
PERIFÉRICOS EN LÍNEA):
• En el modo spool, un dispositivo de
alta velocidad como un disco
duro se interpone entre un
programa en ejecución y un
dispositivo de baja velocidad
relacionado con la entrada y
salida del programa.
COMPILADORES RÁPIDOS Y SUCIOS
VERSUS COMPILADORES
OPTIMIZADORES:
• Rápidos y sucios: producen rápidamente un programa objeto que puede
ser ineficiente respecto de almacenamiento y velocidad de ejecución:
útiles para el desarrollo y prueba de sistemas.
• Optimizadores: producen con mayor lentitud un código de máquina
altamente eficiente en almacenamiento y ejecución: útiles en etapa de
producción de los sistemas.
INTERPRETADORES:
• No producen un programa objeto.
• Ejecutan directamente un programa fuente.
• Son útiles en ambientes de desarrollo de
programas.
• Son más lentos que los códigos
compilados.
CARGADORES DE ENLACE Y
EDITORES DE ENLACE:
• “cargador de enlace”: en el
momento de carga, combina
cualesquiera programas
requeridos y los carga
directamente en el
almacenamiento primario.
• “editor de enlace”: ejecuta la
combinación de programas
mencionada y además crea una
imagen de carga a memoria que
preserva en el almacenamiento
secundario (disco), para usos futuros: es
muy útil en ambientes de producción,
ya que la carga inmediata de la
imagen de memoria previamente
producida evita un nuevo proceso de
combinación de programas previo a
cada ejecución.
MEMORIA FIJA
“Microprogramación dinámica”: permite
cargar fácilmente los nuevos
“microprogramas” (“microcódigo”) dentro
del “almacenamiento de control”, desde
donde son ejecutados: Permite variar
dinámica y frecuentemente los conjuntos de
instrucciones de máquina.
La “microprogramación” introduce una
capa de programación por debajo del
lenguaje de maquina: hace posible definir
las instrucciones del lenguaje de máquina.
Los “microprogramas” están formados por
“microinstrucciones” individuales que en
relación a las instrucciones de los lenguajes
de maquina son de:
Naturaleza mucho más elemental.
Función más dispersa.
DECISIÓN DE QUÉ FUNCIONES
IMPLEMENTAR EN MICROCÓDIGO:
• Una importante cuestión de diseño
es decidir qué funciones del sistema
computacional se implementaran
en microcódigo.
• El microcódigo permite mejorar el
rendimiento en la ejecución de un
sistema computacional. El criterio
frecuentemente es colocar en la
memoria fija (en vez de en el
software) las secuencias de
instrucciones utilizadas con más
frecuencia.
• El programa BIOS de una computadora es
un ejemplo de firmware (microcódigo),
cuyo propósito es activar una máquina
desde su encendido y preparar el entorno
para cargar un sistema operativo en la
memoria RAM.
EMULACIÓN:
Es una técnica por medio de la cual se hace que
una máquina aparente ser otra.
El conjunto de instrucciones de lenguaje de
máquina que va a ser emulada se
microprograma en la “maquina anfitriona”. Los
programas de lenguaje de máquina de la
maquina emulada pueden ejecutarse
directamente en la anfitriona
MICRODIAGNOSTICOS:
• Los microprogramas tienen más
acceso al hardware que los
programas de lenguaje de
maquina: es posible efectuar
detección y corrección de errores
más amplia a un nivel más fino. Se
puede intercalar el
“microdiagnóstico” con las
instrucciones de programas de
lenguaje de máquina.
COMPUTADORES
PERSONALIZADOS:
MICROPROGRAMACIÓN Y
SISTEMAS OPERATIVOS
Funciones implementadas frecuentemente en microcódigo:
Manejo de interrupciones.
Mantenimiento de varios tipos de estructuras de datos.
Primitivas de sincronización que controlan el acceso a los datos compartidos
y otros recursos.
Operaciones de palabras parciales que permiten que las operaciones de
manipulación de bits sean manejadas en forma eficiente.
Intercambio de contexto, por ej., intercambio rápido del procesador entre
los usuarios de un sistema de usuarios múltiples.
Secuencias de regreso y llamada al procedimiento.
BIBLIOGRAFÍA
• Martinez, M. D. (2001). Sistemas Operativos. Argentina: Universidad Nacional
de Argentina.
Sistemas Operativos: Tendencias, Hardware, Software, Memoria Fija

Más contenido relacionado

La actualidad más candente

Tendencias en los sistemas operativos.
Tendencias en los sistemas operativos.Tendencias en los sistemas operativos.
Tendencias en los sistemas operativos.Absner Anaya
 
Trabajo de Sistemas Operativos
Trabajo de Sistemas OperativosTrabajo de Sistemas Operativos
Trabajo de Sistemas OperativosLilianaTimaure79
 
Arquitectura de computadoras
Arquitectura de computadorasArquitectura de computadoras
Arquitectura de computadorasfarmero
 
Mapa Conceptual procesos concurrentes
Mapa Conceptual procesos concurrentesMapa Conceptual procesos concurrentes
Mapa Conceptual procesos concurrentesFrangelys Perez
 
Funciones de administracion de memoria
Funciones de administracion de memoriaFunciones de administracion de memoria
Funciones de administracion de memoriaMiguel Magaña
 
Estructura+del+sistema+mac+os+x
Estructura+del+sistema+mac+os+xEstructura+del+sistema+mac+os+x
Estructura+del+sistema+mac+os+xSophia Galarraga
 
Gestion del almacenamiento secundario
Gestion del almacenamiento secundarioGestion del almacenamiento secundario
Gestion del almacenamiento secundarioMarielita Carlos
 
Buses de datos, de direcciones y de control
Buses de datos, de direcciones y de controlBuses de datos, de direcciones y de control
Buses de datos, de direcciones y de controlkellykatherineescobar
 
Arquitectura Del Computador
Arquitectura Del ComputadorArquitectura Del Computador
Arquitectura Del Computadorivan
 
Mapa conceptual sobre
Mapa conceptual sobre Mapa conceptual sobre
Mapa conceptual sobre Juan Anaya
 

La actualidad más candente (20)

Tendencias en los sistemas operativos.
Tendencias en los sistemas operativos.Tendencias en los sistemas operativos.
Tendencias en los sistemas operativos.
 
Cargadores
CargadoresCargadores
Cargadores
 
Gestion de procesos Android
Gestion de procesos AndroidGestion de procesos Android
Gestion de procesos Android
 
La BIOS
La BIOSLa BIOS
La BIOS
 
Trabajo de Sistemas Operativos
Trabajo de Sistemas OperativosTrabajo de Sistemas Operativos
Trabajo de Sistemas Operativos
 
Arquitectura de computadoras
Arquitectura de computadorasArquitectura de computadoras
Arquitectura de computadoras
 
Tipos de Memoria
Tipos de MemoriaTipos de Memoria
Tipos de Memoria
 
Mapa Conceptual procesos concurrentes
Mapa Conceptual procesos concurrentesMapa Conceptual procesos concurrentes
Mapa Conceptual procesos concurrentes
 
Funciones de administracion de memoria
Funciones de administracion de memoriaFunciones de administracion de memoria
Funciones de administracion de memoria
 
Memoria cache
Memoria cacheMemoria cache
Memoria cache
 
Gestion de Memoria
Gestion de MemoriaGestion de Memoria
Gestion de Memoria
 
Estructura+del+sistema+mac+os+x
Estructura+del+sistema+mac+os+xEstructura+del+sistema+mac+os+x
Estructura+del+sistema+mac+os+x
 
Tecnicas de Administracion de Memoria
Tecnicas de Administracion de MemoriaTecnicas de Administracion de Memoria
Tecnicas de Administracion de Memoria
 
Procesos
ProcesosProcesos
Procesos
 
Gestion del almacenamiento secundario
Gestion del almacenamiento secundarioGestion del almacenamiento secundario
Gestion del almacenamiento secundario
 
sistemas de numeración que maneja el computador
sistemas de numeración que maneja el computadorsistemas de numeración que maneja el computador
sistemas de numeración que maneja el computador
 
Buses de datos, de direcciones y de control
Buses de datos, de direcciones y de controlBuses de datos, de direcciones y de control
Buses de datos, de direcciones y de control
 
Arquitectura Del Computador
Arquitectura Del ComputadorArquitectura Del Computador
Arquitectura Del Computador
 
Mapa conceptual sobre
Mapa conceptual sobre Mapa conceptual sobre
Mapa conceptual sobre
 
Arquitectura harvard y von neumann
Arquitectura harvard y von neumannArquitectura harvard y von neumann
Arquitectura harvard y von neumann
 

Similar a Sistemas Operativos: Tendencias, Hardware, Software, Memoria Fija

Similar a Sistemas Operativos: Tendencias, Hardware, Software, Memoria Fija (20)

Hardware y Software (S.O)
Hardware y Software (S.O)Hardware y Software (S.O)
Hardware y Software (S.O)
 
Sistemas operativos software
Sistemas operativos softwareSistemas operativos software
Sistemas operativos software
 
Sistemas operativos
Sistemas operativosSistemas operativos
Sistemas operativos
 
Sistemas operativos
Sistemas operativosSistemas operativos
Sistemas operativos
 
Presentacion sistemas operativos
Presentacion sistemas operativosPresentacion sistemas operativos
Presentacion sistemas operativos
 
Unidad 1 interfaz
Unidad 1 interfazUnidad 1 interfaz
Unidad 1 interfaz
 
Apuntes de-sistemas-operativos-ii-e2
Apuntes de-sistemas-operativos-ii-e2Apuntes de-sistemas-operativos-ii-e2
Apuntes de-sistemas-operativos-ii-e2
 
Arquitecturas del harvard y von noumann edson
Arquitecturas del harvard y von noumann edsonArquitecturas del harvard y von noumann edson
Arquitecturas del harvard y von noumann edson
 
Arqui hardware
Arqui hardwareArqui hardware
Arqui hardware
 
Cuarto blog de arquitectura de hardware tercer corte
Cuarto blog de arquitectura de hardware tercer corteCuarto blog de arquitectura de hardware tercer corte
Cuarto blog de arquitectura de hardware tercer corte
 
sistemas distribudos Semana 1
sistemas distribudos Semana 1sistemas distribudos Semana 1
sistemas distribudos Semana 1
 
Los 10 Gestores de Base de Datos mas potentes
Los 10 Gestores de Base de Datos mas potentesLos 10 Gestores de Base de Datos mas potentes
Los 10 Gestores de Base de Datos mas potentes
 
Base expo
Base expoBase expo
Base expo
 
JONATHAN JOEL CRUZ
JONATHAN JOEL CRUZJONATHAN JOEL CRUZ
JONATHAN JOEL CRUZ
 
JONATHAN JOEL CRUZ
JONATHAN JOEL CRUZJONATHAN JOEL CRUZ
JONATHAN JOEL CRUZ
 
Categorias sistemas operativos
Categorias sistemas operativosCategorias sistemas operativos
Categorias sistemas operativos
 
Sistema operativo
Sistema operativoSistema operativo
Sistema operativo
 
Majitop
MajitopMajitop
Majitop
 
Majitop
MajitopMajitop
Majitop
 
Sistema operativo
Sistema operativoSistema operativo
Sistema operativo
 

Más de Student A

CAPACIDAD DE CANAL DE COMUNICACIÓN DE DATOS
CAPACIDAD DE CANAL DE COMUNICACIÓN DE DATOSCAPACIDAD DE CANAL DE COMUNICACIÓN DE DATOS
CAPACIDAD DE CANAL DE COMUNICACIÓN DE DATOSStudent A
 
Medios de comunicación: No Guiados
Medios de comunicación: No GuiadosMedios de comunicación: No Guiados
Medios de comunicación: No GuiadosStudent A
 
Teléfonos inteligentes
Teléfonos inteligentesTeléfonos inteligentes
Teléfonos inteligentesStudent A
 
C++ y sus utilidades
C++ y sus utilidadesC++ y sus utilidades
C++ y sus utilidadesStudent A
 
Aplicaciones de las matemáticas en la informática
Aplicaciones de las matemáticas en la informáticaAplicaciones de las matemáticas en la informática
Aplicaciones de las matemáticas en la informáticaStudent A
 
Calentamiento global presentacion
Calentamiento global   presentacionCalentamiento global   presentacion
Calentamiento global presentacionStudent A
 
Tipos de cable para una red
Tipos de cable para una redTipos de cable para una red
Tipos de cable para una redStudent A
 

Más de Student A (8)

CAPACIDAD DE CANAL DE COMUNICACIÓN DE DATOS
CAPACIDAD DE CANAL DE COMUNICACIÓN DE DATOSCAPACIDAD DE CANAL DE COMUNICACIÓN DE DATOS
CAPACIDAD DE CANAL DE COMUNICACIÓN DE DATOS
 
ADO.NET
ADO.NETADO.NET
ADO.NET
 
Medios de comunicación: No Guiados
Medios de comunicación: No GuiadosMedios de comunicación: No Guiados
Medios de comunicación: No Guiados
 
Teléfonos inteligentes
Teléfonos inteligentesTeléfonos inteligentes
Teléfonos inteligentes
 
C++ y sus utilidades
C++ y sus utilidadesC++ y sus utilidades
C++ y sus utilidades
 
Aplicaciones de las matemáticas en la informática
Aplicaciones de las matemáticas en la informáticaAplicaciones de las matemáticas en la informática
Aplicaciones de las matemáticas en la informática
 
Calentamiento global presentacion
Calentamiento global   presentacionCalentamiento global   presentacion
Calentamiento global presentacion
 
Tipos de cable para una red
Tipos de cable para una redTipos de cable para una red
Tipos de cable para una red
 

Sistemas Operativos: Tendencias, Hardware, Software, Memoria Fija

  • 1. SISTEMAS OPERATIVOS TENDENCIAS – HARDWARE – SOFTWARE – MEMORIA FIJA Victor Quito – Mario Urgiles – Marjorie Reyna Grupo #2
  • 3. PRINCIPALES TENDENCIAS EN S. O. Las principales tendencias en S. O. son las siguientes: • Soporte generalizado para multiprocesamiento. • Distribución del control entre procesadores localizados. • Compatibilidad con nuevas generaciones de computadoras.
  • 4. PRINCIPALES TENDENCIAS EN S. O. • Desarrollos en la ingeniería de software para brindar S. O. más preservables, confiables y comprensibles. • Permanencia del concepto de almacenamiento virtual. • Profundización del desarrollo de S. O. Con funciones distribuidas entre varios procesadores a través de grandes redes de sistemas.
  • 5. COMPAGINACIÓN DEL ALMACENAMIENTO • Generalmente, mientras cualquiera de las localidades de un banco de almacenamiento primario, está siendo accedida, ninguna otra referencia puede estar en curso. • La compaginación del almacenamiento coloca localidades de memoria adyacentes en diferentes bancos de almacenamiento, para permitir varias referencias al mismo tiempo.
  • 6. REGISTRO DE RELOCALIZACIÓN • Permite relocalizar de forma dinámica los programas. • La dirección base de un programa en la memoria principal se sitúa en el registro de relocalización. • Permite al programa residir en localizaciones diferentes a aquellas para las cuales fue traducido.
  • 7. INTERRUPCIONES Permiten a una unidad obtener la inmediata atención de otra, de manera que la primera pueda informar de un cambio de estado: • Permite salvar el “estado” de la unidad interrumpida antes de procesar la interrupción.
  • 8. ESCRUTINIO Técnica que permite que una unidad verifique el estado de otra unidad de funcionamiento Independiente.
  • 9. BUFFER • Un “buffer” es un área de almacenamiento primario destinada a contener datos durante transferencias de E / S. • Cuando concluye la transferencia los datos pueden ser accedidos por el procesador.
  • 10. ESQUEMA DE “ENTRADAS DE BUFFER SIMPLE” • El canal deposita datos en el buffer. • El procesador procesa estos datos. • El canal deposita nuevos datos, etc. • No puede haber simultaneidad entre operaciones de colocar datos en el buffer y procesarlos: Afecta la performance.
  • 11. ESQUEMA DE “ENTRADAS DE BUFFER DOBLE” • Permite la sobreposición de operaciones de e / s con el procesamiento: Mejora la performance. • Mientras el canal deposita datos en un buffer el procesador puede estar procesando los datos del otro buffer. • Cuando el procesador concluye el proceso de los datos del primer buffer, puede continuar con los datos del segundo, mientras el canal deposita nuevos datos en el primer buffer: • Es la técnica de “buffer biestable (o en flip flop)”.
  • 12. DISPOSITIVOS PERIFÉRICOS • Permiten el almacenamiento de grandes cantidades de información fuera del almacenamiento principal. • Existen dispositivos secuenciales y de acceso directo. • Las características y prestaciones son muy variadas.
  • 13. PROTECCIÓN DEL ALMACENAMIENTO • Limita el número de direcciones que un programa puede referenciar. • Es esencial en los sistemas multiusuario. • Se implementa mediante los “registros de límites”, que definen las direcciones superior e inferior del bloque de almacenamiento afectado a un determinado programa. • También se pueden utilizar “claves de protección del almacenamiento” anexas a áreas de almacenamiento primario: Un programa solo puede acceder a localidades de almacenamiento cuyas claves de protección concuerdan con las del programa.
  • 14. TEMPORIZADOR DE INTERVALOS • Previene que un solo usuario monopolice el procesador en sistema Multiusuario. • El temporizador genera una interrupción al procesador cuando expira el intervalo asignado a un usuario.
  • 15. RELOJ HORARIO • Permite al computador hacer un seguimiento de la “hora del reloj de pared”, con una exactitud de millonésimas de segundo o mayor.
  • 16. OPERACIÓN EN LÍNEA • Los periféricos utilizados están conectados al procesador.
  • 17. OPERACIÓN FUERA DE LÍNEA • Los periféricos utilizados están conectados a unidades de control que no están conectadas al sistema central o principal.
  • 18. CANALES DE ENTRADA/SALIDA • Son sistemas computacionales de propósito especial, dedicados al manejo de la e / s con independencia del Procesador principal. • Tienen acceso directo al almacenamiento principal para almacenar o recuperar información. • Evitan al procesador la mayor parte de la carga de manejar la e / s, incrementando la concurrencia.
  • 19. CANALES DE ENTRADA/SALIDA Los principales tipos: • Selectores. • Multiplexores de bytes. • Multiplexores de bloques.
  • 20. ROBO DE CICLO • Significa que en la competencia entre el procesador y los canales para acceder a un determinado banco de Almacenamiento primario (memoria principal), se da prioridad a los canales.
  • 21. DIRECCIONAMIENTO DE BASE MÁS DESPLAZAMIENTO • Todas las direcciones son añadidas al contenido de un “registro de base”. • Los programas son “independientes de la localización”: Especialmente importante en ambientes Multiusuario.
  • 22. ESTADO DE PROBLEMA O DE USUARIO Estado en que corren los programas de usuario: • Tiene acceso a un subconjunto de instrucciones del conjunto de instrucciones de la máquina.
  • 23. ESTADO SUPERVISOR O DE NÚCLEO Generalmente el S. O. corre así con la categoría de “usuario de mayor confianza o nivel”: • Tiene acceso a todas las instrucciones del conjunto de instrucciones de la máquina.
  • 24. INSTRUCCIONES PRIVILEGIADAS Son aquellas a las que no se tiene acceso en estado de problema.
  • 25. ALMACENAMIENTO VIRTUAL • Los sistemas de almacenamiento virtual permiten a los programas referenciar direcciones que no necesitan corresponder con las direcciones reales disponibles en el almacenamiento primario.
  • 26. PAGINACIÓN Y SEGMENTACIÓN • “Paginación”: bloques de datos de tamaño fijo van o vienen entre el almacenamiento primario y el secundario. • “Segmentación”: identifica las unidades lógicas de los programas y datos para facilitar el control de acceso y participación
  • 27. MULTIPROCESAMIENTO • Varios procesadores comparten un almacenamiento primario común y un solo s. O. • Es necesario “secuencializar” el acceso a una localización (dirección) de almacenamiento compartido para que dos o más procesadores no intenten: • Modificarla al mismo tiempo. • Modificarla uno(s) mientras otro(s) intenta(n) leerla.
  • 28. ACCESO DIRECTO A LA MEMORIA (DMA) • Requiere una sola interrupción al procesador por cada bloque de caracteres transferidos durante la operación de e / s: • Mejora significativamente la performance (rendimiento). • Es como si el procesador, en vez de interrumpido fuera retrasado. • Muy útil para altos requerimientos de e / s.
  • 29. CANALIZACIÓN • Técnica de hardware utilizada para explotar ciertos tipos de paralelismo durante el procesamiento de instrucciones. • Varias instrucciones pueden estar simultáneamente en diferentes estados de ejecución.
  • 30. JERARQUÍA DE ALMACENAMIENTO • Los niveles de almacenamiento incluyen: • Almacenamiento primario: memoria principal. • Almacenamiento secundario: discos, cintas, etc. • Almacenamiento “cache”: memoria muy veloz diseñada para aumentar la velocidad de ejecución de los programas: • • Aloja la parte (instrucciones y datos) en ejecución de un programa.
  • 31. JERARQUÍA DE ALMACENAMIENTO Los niveles de almacenamiento crean “jerarquías de almacenamiento”: cache, almacenamiento Primario, almacenamiento Secundario. • Al bajar en la jerarquía: • Descienden el costo y la velocidad. • Aumenta la capacidad.
  • 32.
  • 33. SOFTWARE • Consiste en los programas de instrucciones y datos que definen para el hardware los algoritmos necesarios para la resolución de problemas.
  • 34. PROGRAMACIÓN EN LENGUAJE DE MÁQUINA: • “Lenguaje de maquina”: lenguaje de programación que un computador puede comprender directamente. Es “dependiente de la máquina”: un programa en lenguaje de máquina escrito en el computador de un fabricante, generalmente no puede ser ejecutado en el de otro, salvo que su lenguaje de máquina sea compatible. Muy poco usado actualmente.
  • 35. ENSAMBLADORES Y MACROPROCESADORES: Los “lenguajes ensambladores” se desarrollaron para: • Incrementar la velocidad de programación. • Reducir los errores de codificación. Los programas deben ser traducidos al “lenguaje de máquina” mediante un programa ensamblador que también es dependiente de la máquina. Los “macroprocesadores”: se desarrollaron para acelerar la codificación de un programa ensamblador. Se incorporaron en los ensambladores. Una “macroinstrucción” indica la ejecución de varias instrucciones en lenguaje ensamblador. El “procesador de macroinstrucciones” efectúa una “macroexpansión” cuando lee una macro durante la traducción de un programa.
  • 36. COMPILADORES: • “Lenguajes de alto nivel”: resuelven el problema de la dependencia respecto a la máquina. Permiten el desarrollo de programas “independientes de la maquina”. Se logra: • Mayor velocidad de programación. • Programas transportables entre sistemas diferentes. • Menores requerimientos de conocimientos de hardware.
  • 37. UTILIZACIÓN DEL SPOOL (SIMULTANEOUS PERIPHERAL OPERATION ON LINE: OPERACIÓN SIMULTÁNEA DE PERIFÉRICOS EN LÍNEA): • En el modo spool, un dispositivo de alta velocidad como un disco duro se interpone entre un programa en ejecución y un dispositivo de baja velocidad relacionado con la entrada y salida del programa.
  • 38. COMPILADORES RÁPIDOS Y SUCIOS VERSUS COMPILADORES OPTIMIZADORES: • Rápidos y sucios: producen rápidamente un programa objeto que puede ser ineficiente respecto de almacenamiento y velocidad de ejecución: útiles para el desarrollo y prueba de sistemas. • Optimizadores: producen con mayor lentitud un código de máquina altamente eficiente en almacenamiento y ejecución: útiles en etapa de producción de los sistemas.
  • 39. INTERPRETADORES: • No producen un programa objeto. • Ejecutan directamente un programa fuente. • Son útiles en ambientes de desarrollo de programas. • Son más lentos que los códigos compilados.
  • 40. CARGADORES DE ENLACE Y EDITORES DE ENLACE: • “cargador de enlace”: en el momento de carga, combina cualesquiera programas requeridos y los carga directamente en el almacenamiento primario. • “editor de enlace”: ejecuta la combinación de programas mencionada y además crea una imagen de carga a memoria que preserva en el almacenamiento secundario (disco), para usos futuros: es muy útil en ambientes de producción, ya que la carga inmediata de la imagen de memoria previamente producida evita un nuevo proceso de combinación de programas previo a cada ejecución.
  • 41. MEMORIA FIJA “Microprogramación dinámica”: permite cargar fácilmente los nuevos “microprogramas” (“microcódigo”) dentro del “almacenamiento de control”, desde donde son ejecutados: Permite variar dinámica y frecuentemente los conjuntos de instrucciones de máquina. La “microprogramación” introduce una capa de programación por debajo del lenguaje de maquina: hace posible definir las instrucciones del lenguaje de máquina. Los “microprogramas” están formados por “microinstrucciones” individuales que en relación a las instrucciones de los lenguajes de maquina son de: Naturaleza mucho más elemental. Función más dispersa.
  • 42. DECISIÓN DE QUÉ FUNCIONES IMPLEMENTAR EN MICROCÓDIGO: • Una importante cuestión de diseño es decidir qué funciones del sistema computacional se implementaran en microcódigo. • El microcódigo permite mejorar el rendimiento en la ejecución de un sistema computacional. El criterio frecuentemente es colocar en la memoria fija (en vez de en el software) las secuencias de instrucciones utilizadas con más frecuencia. • El programa BIOS de una computadora es un ejemplo de firmware (microcódigo), cuyo propósito es activar una máquina desde su encendido y preparar el entorno para cargar un sistema operativo en la memoria RAM.
  • 43. EMULACIÓN: Es una técnica por medio de la cual se hace que una máquina aparente ser otra. El conjunto de instrucciones de lenguaje de máquina que va a ser emulada se microprograma en la “maquina anfitriona”. Los programas de lenguaje de máquina de la maquina emulada pueden ejecutarse directamente en la anfitriona
  • 44. MICRODIAGNOSTICOS: • Los microprogramas tienen más acceso al hardware que los programas de lenguaje de maquina: es posible efectuar detección y corrección de errores más amplia a un nivel más fino. Se puede intercalar el “microdiagnóstico” con las instrucciones de programas de lenguaje de máquina. COMPUTADORES PERSONALIZADOS:
  • 45. MICROPROGRAMACIÓN Y SISTEMAS OPERATIVOS Funciones implementadas frecuentemente en microcódigo: Manejo de interrupciones. Mantenimiento de varios tipos de estructuras de datos. Primitivas de sincronización que controlan el acceso a los datos compartidos y otros recursos. Operaciones de palabras parciales que permiten que las operaciones de manipulación de bits sean manejadas en forma eficiente. Intercambio de contexto, por ej., intercambio rápido del procesador entre los usuarios de un sistema de usuarios múltiples. Secuencias de regreso y llamada al procedimiento.
  • 46. BIBLIOGRAFÍA • Martinez, M. D. (2001). Sistemas Operativos. Argentina: Universidad Nacional de Argentina.