0% encontró este documento útil (0 votos)
107 vistas179 páginas

1er Parcial

El documento presenta un curso de Sistemas Operativos I de la Facultad de Defensa Nacional, abordando conceptos fundamentales de hardware, software y arquitectura de computadoras. Se define la computadora como una máquina programable que procesa datos para generar información, y se explican las diferencias entre datos e información, así como los componentes de un sistema informático. Además, se introduce el modelo de Von Neumann como base para la mayoría de las computadoras modernas.
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 PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
107 vistas179 páginas

1er Parcial

El documento presenta un curso de Sistemas Operativos I de la Facultad de Defensa Nacional, abordando conceptos fundamentales de hardware, software y arquitectura de computadoras. Se define la computadora como una máquina programable que procesa datos para generar información, y se explican las diferencias entre datos e información, así como los componentes de un sistema informático. Además, se introduce el modelo de Von Neumann como base para la mayoría de las computadoras modernas.
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 PDF, TXT o lee en línea desde Scribd

Facultad de Defensa Nacional

Carrera: Lic. en Ciberdefensa

Materia
Sistemas Operativos I

Año: 2025

Página 1 de 23
CONTENIDOS

Concepto de hardware, software, periféricos. Modelo Von Neumann. Memoria principal: RAM,
Memoria secundaria. Procesador: partes componentes. Frecuencia. Arquitectura de procesadores de
32 bits y 64 bits. Placa base: componentes. Módulos de Entrada/Salida. Unidades de procesamiento
gráfico. Ejecución de programas. Software base y software de aplicación.

ÍNDICE

1. CONCEPTOS FUNDAMENTALES​ 3
1.1 SISTEMAS INFORMÁTICOS, HARDWARE Y SOFTWARE​ 5
2. ARQUITECTURA DE COMPUTADORAS​ 7
2.1 MODELO DE VON NEUMANN​ 8
2.2 UNIDAD CENTRAL DE PROCESO (CPU)​ 10
2.3 BUSES​ 13
2.4 MÓDULOS DE ENTRADA / SALIDA (E/S)​ 13
2.5 PERIFÉRICOS​ 14
2.6 PLACAS BASE (MOTHERBOARDS)​ 15
2.7 UNIDAD DE PROCESAMIENTO GRÁFICO​ 19
3. SOFTWARE (SOPORTE LÓGICO)​ 19
3.1 PROGRAMA DE COMPUTADORA​ 20
3.2 EJECUCIÓN DE LAS INSTRUCCIONES DE UN PROGRAMA​ 20
3.3 CLASIFICACIÓN DEL SOFTWARE SEGÚN SU FUNCIÓN​ 21
4. SÍNTESIS DE LA UNIDAD​ 22

Página 2 de 23
SISTEMAS OPERATIVOS I
UNIDAD 1 – SEMANA 2
1. Conceptos fundamentales

Empezaremos por definir algunos conceptos clave que facilitarán la comprensión de


ciertas ideas que usted pueda tener sobre las computadoras y la informática.

Las computadoras tienen una cualidad que las hace


diferentes y superiores a otra forma de manejo de
información: son máquinas programables. Los datos son
procesados por medio de instrucciones (los programas), que
permiten realizar las tareas para las cuales el programa fue
escrito. Las computadoras pueden ejecutar varias tareas en
forma simultánea, con rapidez y eficacia.

Definición de computadora según William Stallings1


Máquina digital electrónica programable para el tratamiento automático de la información,
capaz de recibirla, operar sobre ella mediante procesos determinados y suministrar los
resultados de tales operaciones.

Otra definición puede ser:

Es un sistema electrónico dedicado al proceso de datos, con gran capacidad para


almacenar datos y elevada velocidad de cálculo. Podría decirse también que es un sistema
capaz de procesar datos adecuadamente tratados y de obtener soluciones a determinados
problemas.

En esencia, una computadora es un dispositivo electrónico diseñado para procesar datos.


Estos datos son elementos brutos, como números, símbolos o texto sin un significado
específico por sí solos. Al ser procesados por la computadora, estos datos se transforman
en información, que es el resultado organizado y significativo que puede ser interpretado y
utilizado por un ser humano. Si bien a menudo se utilizan los términos de manera
intercambiable en el lenguaje cotidiano, en el contexto técnico de la informática, datos e
información representan etapas distintas: los datos son la materia prima, mientras que la
información es el producto elaborado.

Estos datos, una vez convertidos en información, son susceptibles de ser comprendidos y
procesados por un ser humano. Sin embargo, la verdadera potencia de una computadora
reside en su capacidad para manejar grandes volúmenes de datos con una velocidad
asombrosa. De esta manera, tareas que implicarían el procesamiento de cantidades
masivas de información o la ejecución de cálculos complejos (labores que podrían llevar
meses o incluso años a una persona) pueden ser completadas por una computadora en
cuestión de segundos.

Físicamente, toda computadora se compone de numerosos componentes electrónicos y


electromecánicos interconectados. Además, cualquier computadora requiere de dispositivos
de entrada para recibir datos (como un teclado o mouse) y dispositivos de salida para
mostrar los resultados del procesamiento, es decir, la información (como un monitor o una
impresora).

1
William Stallings es un informático norteamericano ampliamente conocido gracias a sus libros de texto sobre materias
como sistemas operativos, realizó estudios de ingeniería eléctrica en la University of Notre Dame [ND] y se doctoró en
informática en el Massachusetts Institute of Technology [MIT]. Trabaja actualmente como consultor independiente y una
muestra de su brillante trabajo docente y divulgativo puede consultarse en su Computer Science Student Resource Site.
Página 3 de 23
SISTEMAS OPERATIVOS I
UNIDAD 1 – SEMANA 2
Si bien la imagen tradicional de una computadora suele evocar el clásico equipo de
escritorio con su gabinete, monitor, teclado y mouse, en la actualidad las computadoras
adoptan formas muy variadas. Las computadoras portátiles (notebooks) son claros ejemplos
de esto. Además, las tablets, los teléfonos móviles inteligentes e incluso los relojes
inteligentes son también formas de computadoras. Cada una de estas presenta
características particulares, no obstante, todas ellas comparten la función fundamental de
procesar datos para generar información útil y, por lo tanto, son consideradas computadoras.

Definición de dato e información


Dato: es un elemento aislado, que representa alguna medición o estado, recabado para un
cierto fin, pero que no ha pasado por un proceso que los interrelacione con otros.

Información: Conjunto de datos procesados y relacionados, estructurados dentro de un


contexto específico que les otorga significado. Su propósito es reducir la incertidumbre,
enriquecer el conocimiento sobre un tema y servir como base para la toma de decisiones.

Diferencia entre dato e información: por ejemplo, una empresa recaba los siguientes
datos entre varios documentos de un posible cliente:

De este modo, cada dato por sí solo no nos dice nada, por ello tienen que pasar por un
proceso (análisis, ordenamiento, agregado, u otros), el cual trabajará con ellos y los
transformará para mostrar la información de salida que necesita el usuario. Por ejemplo,
teniendo los datos ingresados, se puede pedir información sobre un cliente ingresando
solamente el DNI:

DNI: 20.100.200

Nombre: Pablo

Apellidos: Gutierrez

Edad: 45 años

Dirección Moreno 740

Localidad: Olivos

Banco: Ciudad

Cuenta: 001-343434

Por lo tanto, la diferencia radica en que la información se compone de datos que ya han sido
procesados de algún modo para que tengan un sentido y un objetivo al momento de tomar
decisiones.

Página 4 de 23
SISTEMAS OPERATIVOS I
UNIDAD 1 – SEMANA 2
En resumen, las computadoras procesan datos, y obtienen información. Puede ocurrir que
la información que sale de un proceso dado se alimente como dato en el proceso siguiente,
encadenando así varios procesos.

El siguiente esquema muestra la relación entre datos, proceso e información:

Definición de informática y computación

Informática: conjunto de conocimientos científicos y técnicas que hacen posible el


tratamiento automático de la información por medio de computadoras.2

En la actualidad es impensado obtener información de grandes cantidades de datos sin


utilizar las computadoras. Es decir, informática se refiere a la automatización de
actividades a través de una computadora.

La palabra informática está formada por la contracción de dos vocablos:

INFORmación y autoMÁTICA

Computación: la palabra no está registrada en el Diccionario de la Real Academia


Española. Podemos encontrar su significado desde el término cómputo (cuenta o cálculo3).
Con lo cual, computación se refiere a los procesos e instrucciones que realiza la
computadora (cálculos matemáticos y operaciones lógicas)

Como conclusión, podemos decir que la informática hace uso de la computación para la
automatización de procesos que obtienen información.

1.1 Sistemas informáticos, hardware y software

Un sistema informático es un conjunto de elementos que hace posible el tratamiento


automático de la información y está constituido por tres componentes:

2
Fuente: Diccionario de la Real Academia Española. Accesible [en línea] en [Link]
3
Fuente: Diccionario de la Real Academia Española. Accesible [en línea] en [Link]
Página 5 de 23
SISTEMAS OPERATIVOS I
UNIDAD 1 – SEMANA 2
●​ Componente físico: se trata del hardware del sistema informático. Es decir las
computadoras, sus componentes internos como memorias, CPU y entre otros, los
periféricos de entrada y salida como módems, impresoras, monitores, y todo aquel
dispositivo que se conecte a este hardware. Los componentes lógicos son los que
proporcionan la capacidad y la potencia de proceso para que el sistema informático
funcione.
●​ Componente lógico: conformado por el software del sistema informático, es decir los
programas que le indican qué hacer a la computadora. Es la parte intangible del
sistema informático.
●​ Componente humano: está conformado por los usuarios, es decir quienes utilizan
los dos componentes anteriores. En este sentido, también deben considerarse a
todos aquellos que han participado en el desarrollo del mismo, es decir ingenieros,
programadores y analistas de sistemas. El componente humano de un sistema
informático es sumamente importante, ya que además de operar dicho sistema,
también son los encargados del soporte y mantenimiento técnico.

Definimos previamente a la computadora como una máquina digital programable. El ser


programable es la clave y la diferencia de otros artefactos electrónicos. Por lo tanto, para
poder cumplir con sus funciones la computadora requiere de dos partes principales, una que
es física, tangible, la maquinaria, a la que se le llama hardware; y otra que es intangible,
pero que hace que la computadora cumpla las funciones para la que la necesitemos y está
formada por los programas, llamados software.

Para que un componente de hardware, como una tarjeta de sonido, funcione


correctamente en tu computadora, necesita un software especial llamado controlador
o driver. Este software actúa como un traductor, permitiendo que el sistema operativo
y el hardware se comuniquen entre sí. Cuando conectas un nuevo dispositivo a tu
computadora, como una impresora o una cámara web, el sistema operativo necesita
el controlador adecuado para poder utilizarlo. Generalmente, el fabricante del
dispositivo proporciona este controlador en un CD/DVD o lo puedes descargar de su
sitio web. En algunos casos, el sistema operativo puede detectar automáticamente el
nuevo dispositivo y buscar un controlador compatible en su propia base de datos. Si
lo encuentra, lo instala automáticamente, permitiéndote usar el dispositivo de
inmediato. Cuando esto sucede, es posible que veas una notificación en la parte
inferior derecha de la pantalla, en la barra de tareas de Windows, indicándote que el
nuevo hardware está listo para usar.

Continuemos profundizando el tema…

Página 6 de 23
SISTEMAS OPERATIVOS I
UNIDAD 1 – SEMANA 2
El hardware está regido por una CPU (Central Process Unit) o unidad central de
procesamiento (microprocesador), que a su vez está constituida por:

●​ Unidad de control CU (control Unit)


●​ Unidad aritmético-lógica ALU (Arithmetic-Logic Unit)
●​ Una pequeña cantidad de memoria denominada registros del procesador, por
ejemplo el contador de programa (PC, por sus siglas en inglés).

Luego trataremos los conceptos anteriores con mayor detalle.

Por otro lado, se encuentra la memoria principal, también conocida como memoria
primaria o RAM (Random Access Memory), la cual es esencial para el funcionamiento
dinámico del sistema, ya que actúa como memoria de trabajo. Además, existe una cantidad
limitada de memoria destinada a la inicialización y configuración del sistema, llamada ROM
(Read Only Memory), que almacena datos esenciales que no pueden ser modificados. En la
actualidad, tecnologías como la memoria flash han surgido como alternativas más flexibles y
eficientes a la ROM tradicional, permitiendo actualizaciones y modificaciones del firmware.

Por su parte, los dispositivos de almacenamiento secundario o memoria secundaria,


permiten guardar grandes volúmenes de información de forma permanente, de manera
organizada de forma tal que puedan ser recuperadas posteriormente. Entre ellos se incluyen
los medios magnéticos, como los discos duros tradicionales (HDD) o las unidades de estado
sólido (SSD), y los medios ópticos, como las grabadoras y reproductoras de CD, DVD o
Blu-ray, ya casi en desuso.

Recordemos que las computadoras se comunican con el entorno que las rodea para que se
puedan ingresar datos y luego de procesarlos puedan brindar información. Esto lo realizan
a través de un conjunto de dispositivos externos llamados periféricos. Algunos ejemplos
de estos dispositivos son el teclado, la impresora, el módem, el escáner y la pantalla,
también conocida como monitor. Según su función, los periféricos se clasifican en
dispositivos de entrada (input), de salida (output) o mixtos (E/S), que pueden funcionar en
ambas formas. Por ejemplo, el módem y las pantallas táctiles son periféricos de este tipo

2. Arquitectura de computadoras
La arquitectura de computadoras corresponde a la estructura, organización, e interconexión
de las diversas partes de una computadora. En otras palabras, atañe al diseño conceptual y
la estructura operacional fundamental de un sistema de computación. Se refiere a cómo se
seleccionan e interconectan los componentes de hardware (como la CPU, la memoria y los
dispositivos de entrada/salida).

Aclararemos dos puntos importantes de la definición planteada:

1. Diseño conceptual: se refiere a la creación de un modelo abstracto de cómo funcionará


la computadora. Es como el plano de un edificio, pero en lugar de paredes y ventanas, se
definen los componentes esenciales y sus relaciones.

Este diseño se enfoca en las características y funcionalidades que la computadora debe


tener, sin entrar en los detalles de cómo se implementarán físicamente.

Página 7 de 23
SISTEMAS OPERATIVOS I
UNIDAD 1 – SEMANA 2
En este diseño, se decide qué componentes serán los más adecuados para cumplir las
funciones que se le exijan a la computadora.

Ejemplos:

●​ Decidir qué tipo de procesador (CPU) se utilizará y qué conjunto de instrucciones


soportará.
●​ Definir la cantidad y tipo de memoria (RAM) necesaria para el rendimiento deseado.
●​ Establecer cómo se conectarán los dispositivos de entrada/salida (teclado, monitor,
etc.) al sistema.

2. Estructura operacional fundamental: describe cómo los componentes de la


computadora trabajan juntos para ejecutar tareas. Es el esqueleto que sostiene el
funcionamiento del sistema.

Esta estructura define el flujo de datos e instrucciones dentro de la computadora, desde la


entrada de datos hasta la salida de resultados.

Esta parte es más técnica y está relacionada con cómo se implementa el diseño conceptual.
Aquí se consideran aspectos como:

●​ El flujo de datos entre la CPU, la memoria y otros componentes.


●​ La ejecución de instrucciones en el procesador (ciclo de instrucción: búsqueda,
decodificación, ejecución).
●​ La comunicación interna a través de buses y registros.
●​ La jerarquía de memoria: cómo la computadora organiza y accede a la memoria para
optimizar el rendimiento.
●​ La coordinación entre hardware y software para realizar operaciones de manera
eficiente.

En resumen:

La arquitectura de computadoras es el proceso de crear un modelo (diseño conceptual) que


define cómo los componentes de una computadora se organizan y trabajan juntos
(estructura operacional fundamental) para realizar tareas. Es la base sobre la que se
construye el hardware de la computadora.

Existen dos modelos fundamentales que definen la organización de la arquitectura de


computadoras: la arquitectura de Von Neumann, que utiliza una memoria única para datos
e instrucciones, y la arquitectura Harvard, que emplea memorias separadas para cada
uno.

A continuación estudiaremos el modelo Von Neumann.

2.1 Modelo de Von Neumann

La arquitectura de von Neumann, propuesta por el matemático John von Neumann en la


década de 1940, es un diseño de computadora que sirve como base para la mayoría de las
computadoras modernas.

Página 8 de 23
SISTEMAS OPERATIVOS I
UNIDAD 1 – SEMANA 2
Un sistema informático que implementa la arquitectura Von Neumann consta de tres
componentes básicos: Unidad central de proceso, memoria principal y módulos de
entrada/salida (E/S). Estos componentes básicos se encuentran interconectados para
llevar a cabo la función principal de una computadora, la cual consiste en la ejecución de
instrucciones que indican los programas.

Componentes básicos del modelo

Unidad central de proceso: controla la operación de la computadora y es la encargada de


ejecutar las instrucciones de los programas que se almacenan en la memoria. También se lo
llama procesador o con las siglas CPU (Central Processing Unit).

Está compuesta por:

1)​ Unidad de Control (CU):


a)​ Interpreta las instrucciones del programa en ejecución almacenadas en la
memoria principal.

b)​ Coordina todas las operaciones, enviando señales de tiempo para sincronizar los
componentes.

c)​ Controla el flujo de datos, decidiendo si se leen o escriben en la memoria o en los


dispositivos de entrada/salida (E/S).

2)​ Unidad Aritmético-Lógica (ALU):


a)​ Es la calculadora de la CPU.

b)​ Realiza operaciones matemáticas (suma, resta, multiplicación, división) y lógicas


(comparaciones, etc.) con los datos.

3)​ Registros:
a)​ Son pequeñas áreas de memoria de alta velocidad dentro de la CPU.

b)​ Almacenan temporalmente datos e instrucciones que la CPU necesita acceder


rápidamente.

c)​ Existen dos tipos principales:

1)​ Registros visibles: Los programadores de bajo nivel (lenguaje ensamblador)


pueden utilizarlos para optimizar el rendimiento. Los compiladores de
lenguajes de alto nivel también los utilizan para mejorar la eficiencia del
código.

2)​ Registros de control y estado: Son utilizados por la CPU y el sistema


operativo para gestionar las operaciones y el flujo de los programas.
Generalmente, no son accesibles para los usuarios.

Memoria principal o RAM: cumple la función de guardar temporalmente instrucciones para


su ejecución por parte del procesador y también contener los datos relacionados con dichos
programas. Esta memoria es volátil, es decir que su contenido se pierde cuando el cuando
se apaga el sistema. A estas memorias también se las conoce como memoria de trabajo.

Página 9 de 23
SISTEMAS OPERATIVOS I
UNIDAD 1 – SEMANA 2
Otra característica importante de estas memorias es la velocidad de acceso, son muy
rápidas ya que permiten trabajar sincronizadamente con el procesador (CPU).

Módulos de entrada y salida (E/S): son responsables de transportar datos entre la


computadora y los dispositivos externos. Entre estos dispositivos se incluyen la memoria
secundaria, los equipos de comunicación, las terminales, las impresoras, entre otros.

Los tres componentes fundamentales del sistema (procesador, memoria y módulos de E/S)
se comunican entre sí mediante una arquitectura basada en buses: el bus de datos, el bus
de direcciones y el bus de control. Estos buses están compuestos por líneas eléctricas
que transmiten señales binarias, representadas por un '0' (cero voltios) o un '1' (un valor
mayor a cero voltios).

El procesador utiliza el bus de datos para transferir información entre diferentes


componentes del sistema, como la memoria principal, los dispositivos externos y el propio
procesador. Además, emplea el bus de direcciones para especificar la ubicación en la
memoria o el dispositivo externo donde se desea realizar una operación de lectura o
escritura. Por último, el bus de control se encarga de activar el dispositivo correspondiente y
de indicar si se llevará a cabo una operación de lectura o escritura.

Retomaremos el tema de los buses en el punto 2.3 del presente material.

La siguiente figura muestra esquemáticamente la arquitectura Von Neumann.

2.2 Unidad central de Proceso (CPU)

La CPU o procesador es el componente de hardware que


permite la ejecución de instrucciones. Esto quiere decir que
es el único componente que puede procesar (ejecutar) las
instrucciones de un programa.

Página 10 de 23
SISTEMAS OPERATIVOS I
UNIDAD 1 – SEMANA 2
Funcionamiento del procesador

La tarea del procesador es ejecutar instrucciones. Por lo


tanto, cuanto más rápido pueda hacerlo, mayor será su
velocidad de procesamiento y en consecuencia la de la
computadora.

El procesador (denominado CPU, por Central Processing


Unit) es un circuito electrónico que funciona a la velocidad
de un reloj interno, gracias a un cristal de cuarzo que,
sometido a una corriente eléctrica, envía pulsos,
denominados "picos”.

Existen muchos factores que afectan al funcionamiento del procesador y su rendimiento


global dependerá de varios factores simultáneamente. Por eso es complicado decidir en
algunas ocasiones cuál es el procesador más adecuado para realizar tareas específicas de
acuerdo a unas necesidades concretas.

A continuación veremos una de las características importantes de un procesador:

Frecuencia

Cuando nos referimos a la potencia de un procesador normalmente tendemos a dar una


medida en gigahertz (GHz). Pero, ¿qué significa realmente que un procesador
funcione a 2,8 GHz?

La respuesta la tenemos en uno de los componentes internos: el reloj.

Todos los procesadores funcionan con un reloj interno que marca el ritmo de trabajo; este
ritmo se mide en ciclos por segundo (Hertz).

Pero recordemos que los hertzios no son una medida de velocidad, sino de Frecuencia. El
Hertzio (o hercio, o hertz) es una medida que equivale a un ciclo por segundo. Es decir,
dado un evento que se repite en el tiempo, si ocurre con una frecuencia de 1 vez por
segundo tiene una frecuencia de 1 hertzio. Con lo cual, llevando esto a un ejemplo de un
procesador, podríamos decir que si un procesador trabaja a un ciclo por segundo (es decir, 1
Hertz), sólo podrá procesar una instrucción por segundo.

Para entender mejor el concepto de la frecuencia de un procesador, podemos usar la


siguiente analogía:

Imagina que estás en un concierto de música y el baterista en el escenario marca el


ritmo de la canción. Cada golpe en el tambor representa un pulso en la música. Si el

Página 11 de 23
SISTEMAS OPERATIVOS I
UNIDAD 1 – SEMANA 2
baterista golpea el tambor una vez por segundo, el ritmo sería de 60 golpes por
minuto (BPM), lo cual sería bastante lento.

Ahora, imagina que la frecuencia de un procesador de computadora es como un


baterista increíblemente rápido. En lugar de golpear el tambor una vez por segundo,
este baterista es capaz de hacerlo miles de millones de veces por segundo. Por
ejemplo, un procesador con una frecuencia de 3 GHz golpea el tambor 3 mil millones
de veces cada segundo.

En resumen, si el ritmo de la música en un concierto se asemeja al ritmo de un


tambor, la frecuencia de un procesador es como el ritmo de un baterista ultrarrápido,
capaz de alcanzar una velocidad inimaginable para nosotros. Esta increíble rapidez es
esencial para que nuestras computadoras funcionen de manera eficiente y rápida.

Si aplicamos a la unidad Hertz los prefijos del sistema internacional para indicar los
múltiplos, tenemos que una frecuencia de 1 kilohertzio (KHz) indica algo que realiza 1.000
ciclos por segundo, 1 MHz 1.000.000 de ciclos por segundo y 1 GHz [Link] ciclos
por segundo. Así, un procesador que funcione a 2,8 GHz quiere decir que su reloj interno
oscila [Link] de veces por segundo, es decir, 2,8x109. Y como las operaciones
dentro del procesador se sincronizan con los tics del reloj, la velocidad máxima de la
computadora vendrá marcada por el ritmo de oscilación del reloj interno.

La implicación que esto tiene en la velocidad del procesador es inmediata. Si funciona a 1,8
GHz quiere decir que es capaz de ejecutar 1,8x109 instrucciones por segundo (casi 2 mil
millones). Si aumentamos la frecuencia del reloj a 3,6 GHz resulta que, instantáneamente,
ahora el procesador es capaz de ejecutar 3,6x109 instrucciones por segundo.

Actividad S2-A1

Realice la actividad identificada como S2-A1 (Semana 2, Actividad 1) en la


sección de actividades del campus.

Núcleos de un procesador

Núcleo o Core es un término de hardware que describe el número de


unidades de procesamiento central independientes de un solo componente
informático (chip). Con lo cual, un procesador multinúcleo combina dos o
más procesadores (llamados núcleos) en una única pieza de silicio.
Típicamente cada núcleo consiste de todos los componentes de un
procesador independiente e incluye memoria caché.

La memoria caché la veremos un poco más adelante, pero una definición breve es la
siguiente:

La memoria caché es un tipo de memoria de alta velocidad que almacena datos de


uso frecuente para acelerar el acceso a ellos. Actúa como un intermediario entre la
CPU y la memoria principal (RAM), permitiendo que la CPU acceda a la información
más rápidamente, lo que mejora el rendimiento general del sistema.

Página 12 de 23
SISTEMAS OPERATIVOS I
UNIDAD 1 – SEMANA 2
2.3 Buses

Los buses son sistemas formados por un conjunto de conductores eléctricos, que consisten
en pistas de circuitos integrados. Su función es establecer conexiones eléctricas entre la
CPU y otros componentes de la computadora, como la memoria y las unidades de entrada y
salida. Cada vez que un dato se transfiere de un componente a otro, lo hace a través del
bus. Los buses están compuestos por líneas eléctricas que transmiten señales
representadas como un '0' (cero voltios) o un '1' (más de cero voltios).

Existen tres tipos principales de buses: el bus de datos, el bus de direcciones y el bus de
control.

Repase el esquema de la arquitectura Von Neumann descrita en la presente unidad.

Descripción de los buses

●​ Bus de Datos: es el portador de los datos; por él fluyen los datos a procesar desde la
CPU a la memoria o hacia alguna unidad de entrada-salida y viceversa.
●​ Bus de Direcciones: es el que indica la dirección o lugar de la memoria donde se
encuentra el dato a procesar o donde colocar el resultado de alguna operación.
●​ Bus de Control: la CPU indica al componente direccionado (por el bus de
direcciones) si debe suministrar un dato al bus de datos o si debe recibirlo de éste.

2.4 Módulos de entrada / salida (E/S)

Para que las computadoras puedan ser utilizadas y cumplir infinidad de funciones deben
poder comunicarse con el mundo exterior. Es decir, el usuario debe poder ingresar datos al
sistema, crear o utilizar programas para procesar esos datos y obtener información.

Los módulos de entrada/salida (E/S) tienen las siguientes funciones básicas:

●​ Conectar con la CPU y memoria a través de los buses del sistema.


●​ Conectar los periféricos a la computadora.

El siguiente esquema muestra de forma simplificada las comunicaciones de los módulos de


entrada y salida con el resto de los componentes.

Página 13 de 23
SISTEMAS OPERATIVOS I
UNIDAD 1 – SEMANA 2
2.5 Periféricos

Son todos aquellos dispositivos externos que se conectan a una CPU a través de los
módulos de entrada/salida (E/S). La principal función de los periféricos es comunicar a
la computadora con el mundo exterior y permitir el almacenamiento de datos o
información.

Importante:

Es importante recordar que, sin los periféricos, las computadoras no podrían recibir
órdenes ni datos, ni tampoco proporcionarnos información.

Monitor, teclado y mouse son tres ejemplos de periféricos, es decir, dispositivos externos

Clasificación de periféricos

La computadora es una máquina que no tendría sentido si no se pudiera comunicar con el


exterior, es decir, si careciera de periféricos. Éstos se clasifican en:

●​ Periféricos de entrada, los cuales podemos ingresar los programas que queramos
que se ejecuten y los datos correspondientes para que cumplan su función. Son
ejemplos, teclado, ratón, lápiz óptico, escáner, micrófono, entre otros.
●​ Periféricos de salida, con los cuales la computadora nos brinda los resultados de la
ejecución de los programas, es decir, la información. Son ejemplos, monitor,
impresora, plotter, parlantes, entre otros.
●​ Unidades de almacenamiento o memoria secundaria, que permiten guardar
programas, datos e información en forma permanente. Estas unidades tienen una
gran capacidad de almacenamiento.

También existen los periféricos de entrada y salida (E/S), como por ejemplo un módem, el
cual permite comunicar una computadora con otra o una pantalla táctil.

Página 14 de 23
SISTEMAS OPERATIVOS I
UNIDAD 1 – SEMANA 2
2.6 Placas base (motherboards)

La placa base es sobre la que se conectan todos los demás elementos que conforman la
computadora, y por lo tanto se trata de un elemento fundamental. Por otra parte, es un
componente que se encuentra en continua evolución. La placa base es la encargada de
interconectar todos los dispositivos internos de la computadora.

Es importante destacar que su función no es sólo de soporte físico –es decir,


conectar mecánicamente placas, conectores, microprocesador y memorias–, sino
lograr que todos estos elementos, con sus características y señales diferentes, se
puedan poner de acuerdo e intercambiar esos datos.

Componentes

A grandes rasgos, los componentes principales de la placa base son los que se han
esquematizado en la siguiente figura:

a.​ Soporte para el microprocesador (socket)


b.​ BIOS
c.​ Chipset. Juego de chips auxiliares
d.​ Zócalos para conectar memoria RAM
e.​ Ranuras de expansión
f.​ Conectores de E/S
g.​ Conectores de suministro de energía

Página 15 de 23
SISTEMAS OPERATIVOS I
UNIDAD 1 – SEMANA 2
A continuación describiremos brevemente la función de cada uno de los
componentes indicados, recordando que solamente son los más destacados, ya que
las placas base tienen un número mayor de componentes.

a. Socket: es el zócalo donde se coloca el


microprocesador. Las medidas y la cantidad de
contactos varían según el tipo de procesador que
pueda instalarse en ese tipo de zócalo. Además, del
microprocesador, posee los anclajes necesarios para la
colocación del cooler o ventilador para reducir el
extremo calor que genera el procesador en
funcionamiento. También se utilizan disipadores
metálicos sobre el procesador para que pueda
eliminarse más rápido el exceso de temperatura y bajar
la misma para que el procesador pueda seguir funcionando normalmente.

El presente esquema es parte de un manual de instalación de un microprocesador y


puede observarse cómo debe colocarse en el socket que dispone la placa base.

Continuando con el ejemplo del manual de


instalación, ahora podemos ver que una vez
instalado el microprocesador y cerrado el socket, se
procede a la instalación del disipador con su
correspondiente ventilador (cooler).

b. BIOS: este chip aloja el software básico del motherboard, que le permite al sistema
operativo comunicarse con el hardware. Entre otras cosas, el BIOS controla la forma en que
el motherboard maneja la memoria y los discos duros, y mantiene el reloj en hora.

c. Chipset. Juego de chips auxiliares: el chipset es el componente de la motherboard que


coordina el intercambio de toda la información que circula por los buses. El chipset es el
soporte vital del procesador en su tarea de intercambiar información entre los diferentes
componentes del sistema (reduce muchísimo su carga de trabajo). Hoy en día, un chipset
está básicamente conformado por dos chips, Puente norte (Northbridge) y el Puente sur
(Southbridge). El puente norte controla la comunicación entre el procesador, la memoria
RAM y los puestos de expansión (PCI-express), por lo tanto tiene una velocidad de
transferencia mayor, mientras que el puente sur gestiona la comunicación con los
dispositivos de entrada y salida a una velocidad de transferencia menor.

Página 16 de 23
SISTEMAS OPERATIVOS I
UNIDAD 1 – SEMANA 2
d. Zócalos para memoria RAM: aquí es donde se conectan los módulos de memoria RAM
indispensables para el funcionamiento de la PC. Generalmente, los distintos tipos de
zócalos reciben el nombre correspondiente al tipo de memoria que aceptan. Por ejemplo,
slot DIMM, SIMM o RIMM.

La siguiente imagen muestra el zócalo para insertar memoria RAM dentro de una placa
base:

e. Ranuras de expansión: son espacios diseñados para insertar tarjetas de expansión,


también conocidas como placas. Estas tarjetas permiten añadir nuevas funcionalidades o
mejorar el rendimiento de la computadora. Algunos ejemplos de tarjetas de expansión son:

1. Placa de video (GPU)​ ​ 2. Placa de red​ ​ 3. Placa de sonido


Página 17 de 23
SISTEMAS OPERATIVOS I
UNIDAD 1 – SEMANA 2
f. Conectores de E/S: son interfaces para conectar dispositivos mediante cables.
Son ejemplos:

●​ Conector VGA: permite conectar el monitor.


●​ Puerto paralelo: permite conectar impresoras antiguas.
●​ Puerto LAN: permite conectar la computadora a una red. Corresponde a una tarjeta
de red integrada a la placa madre.
●​ Puertos USB: permiten conectar periféricos de todo tipo.
●​ Puerto de audio: permite conectar parlantes, o bien un sistema de sonido de alta
fidelidad y un micrófono.
●​ Puerto serie: permite conectar periféricos antiguos
●​ Puertos de mouse y teclado

La siguiente imagen muestra la parte posterior de un gabinete donde se pueden


apreciar distintos conectores de E/S:


En la imagen de la derecha
podemos visualizar dos puertos
USB pertenecientes a una
notebook:

g. Conectores de suministro de energía: a través uno de ellos se proporciona a la placa


base corriente eléctrica, proveniente de la fuente de alimentación y existe otro (no en todas
las placas base) que suministra energía al procesador.
Página 18 de 23
SISTEMAS OPERATIVOS I
UNIDAD 1 – SEMANA 2
Actividad (S2-A2)

Realice la actividad identificada como S2-A2 (Semana 2, Actividad 2) en la


sección de actividades del campus.

2.7 Unidad de procesamiento gráfico

Las siglas GPU hacen referencia, en inglés, a


unidad de procesamiento gráfico y se trata de un
elemento que se ocupa de las tareas gráficas del
sistema.

Es importante diferenciar una GPU o Graphics


Processing Unit que es básicamente un procesador
construido para manejar gráficos y el término CPU,
que como vimos anteriormente, se trata de la unidad
central de proceso o procesador, los cuales están
diseñados para ejecutar una secuencia de instrucciones en orden, lo que los hace ideales
para tareas que requieren lógica compleja y
operaciones de entrada/salida.

También es necesario discriminar entre GPU y tarjeta


gráfica. GPU es el acrónimo de Graphics Processing
Unit como vimos y representa precisamente el corazón
de una tarjeta gráfica. Es decir que la tarjeta gráfica
contiene la GPU y ésta se especializa en tareas que
pueden ser realizadas en paralelo. Originalmente
diseñada para manejar los gráficos de los videojuegos,
la GPU es capaz de realizar muchos cálculos
simultáneamente. Esto la hace ideal para tareas que requieren un alto grado de
procesamiento paralelo, como la renderización de gráficos 3D o la edición de vídeo.

Tarjeta gráfica que se conecta a la placa base de la computadora y que reemplaza a la


tarjeta gráfica onboard (incluida de fábrica) que pudiera o no contener la placa base.

3. Software (soporte lógico)

Como mencionamos anteriormente, el software es el elemento que permite que la


computadora realice las funciones para las cuales la necesitamos. Está compuesto por
programas, que consisten en conjuntos de instrucciones que le indican al procesador las
acciones que debe ejecutar.

Página 19 de 23
SISTEMAS OPERATIVOS I
UNIDAD 1 – SEMANA 2
Cuando se construye hardware, el proceso creativo humano (análisis, diseño, construcción,
prueba) se traduce finalmente en una forma física. Si construimos una nueva computadora,
nuestro boceto inicial, diagramas generales de diseño y prototipo de prueba, evolucionan
hacia un producto físico (tarjetas de circuitos impresos, fuentes de potencia, etc.). El
software es un elemento del sistema que es lógico, en lugar de físico.4

Por otra parte, podemos agregar que el software se desarrolla, no se fabrica en un sentido
clásico.

En resumen:

Existen diversas definiciones de software, pero seguramente la más formal es el establecido


por el Instituto de Ingenieros Eléctricos y Electrónicos (IEEE): “Conjunto de los programas
de cómputo, procedimientos, reglas, documentación y datos asociados que forman parte de
las operaciones de un sistema de computación”.

El software es la parte “inteligente” de la computadora. No es tangible, pero indica al


hardware lo que debe hacerse, de acuerdo con las instrucciones establecidas. Dicho de otro
modo, el software se integra con las aplicaciones (programas) que usamos en la
computadora.

3.1 Programa de computadora

Un programa informático es una secuencia ordenada de instrucciones que una computadora


interpreta y ejecuta para llevar a cabo una tarea específica. Estas instrucciones, escritas en
un lenguaje de programación por un programador, definen las operaciones que la
computadora debe realizar con los datos. Cuando el procesador ejecuta el programa, sigue
estas instrucciones paso a paso, lo que resulta en la realización de la tarea deseada.

3.2 Ejecución de las instrucciones de un programa

Para que un programa pueda ejecutarse en el procesador, primero debe cargarse en la


memoria principal de la computadora. ​
El procesamiento de estas instrucciones sigue un ciclo de dos fases:

-​ el procesador extrae cada instrucción desde la memoria


-​ y la ejecuta conforme a su lógica de operación

La ejecución del programa consiste en la repetición de este ciclo.​


Dependiendo de la complejidad de cada instrucción, puede requerir múltiples operaciones
internas para completar su ejecución.

4
Pressman Roger Andrew S. (2007), Ingeniería del software. Un enfoque práctico, cuarta edición, pág 7-8

Página 20 de 23
SISTEMAS OPERATIVOS I
UNIDAD 1 – SEMANA 2
La ejecución de un programa se detiene solamente si se apaga el equipo, se produce un
error irrecuperable o se encuentra una instrucción en el programa que detiene a la
computadora.

Al comienzo de cada ciclo de instrucción, el procesador lee una instrucción de la memoria y


cuenta con un registro llamado contador de programa (PC, Program Counter), que se utiliza
para llevar la cuenta de cuál es la próxima instrucción a leer. A menos que se indique otra
cosa, el procesador siempre incrementará el PC después de leer cada instrucción. De esta
forma se irán leyendo secuencialmente todas las instrucciones del programa.

La instrucción leída se carga en un registro del procesador llamado registro de instrucción


(IR, Instruction Register). El procesador interpreta la instrucción y realiza la acción
requerida.

3.3 Clasificación del software según su función

a.​ Software de Base o Sistema operativo: consiste en un conjunto de programas


destinado a gestionar los recursos de la computadora de forma eficiente. El sistema
operativo se encarga de administrar el hardware y brinda una interfaz para que el
usuario pueda comunicarse con la computadora. Esta materia se centra en el
conocimiento de los sistemas operativos, por ello, trabajaremos sus características
durante todo el cuatrimestre.

Página 21 de 23
SISTEMAS OPERATIVOS I
UNIDAD 1 – SEMANA 2
b.​ Software de aplicación: son los programas que permiten realizar tareas específicas
con la computadora a los usuarios. Los ejemplos más comunes de este tipo de
software son las aplicaciones ofimáticas, las cuales
proveen diferentes programas para realizar
determinadas tareas. Podemos citar: procesador de
textos, planilla de cálculo, creador de presentaciones,
administrador de bases de datos, entre otros.
Podemos encontrar paquetes que contienen las
aplicaciones de oficina más utilizadas. Hay paquetes
de software con licencia de uso libre como LibreOffice,
o con licencia paga como es caso de Microsoft Office.
Además, dentro de las aplicaciones podemos
mencionar; clientes de correo electrónico, aplicaciones gráficas o multimedia, entre
muchas otras.

c.​ Software para programación: son un conjunto de herramientas que permiten


desarrollar software. Entre los software de programación encontramos: compiladores,
intérpretes, depuradores, entornos de desarrollo, entre otros.

Actividad (S2-A3)

Realice la actividad identificada como S2-A3 (Semana 2, Actividad 3) en


la sección de actividades del campus.

4. Síntesis de la unidad

La computadora nos permite procesar grandes cantidades de datos y brindarnos la


información que necesitamos. Para que las computadoras realicen las tareas que
necesitamos debemos programarlas, es decir paso a paso lo que se debe realizar. Los
programadores crean los programas que serán ejecutados por el procesador de la
computadora. Previamente, las instrucciones del programa deben situarse en la memoria de
trabajo (principal) de la computadora para que el procesador pueda tomarlas y ejecutarlas.
El procesador es el encargado de ejecutar las instrucciones que le indican los programas.

Los componentes de un computador (CPU, Memoria, Módulos de E/S) se conectan entre sí


mediante un conjunto de líneas que transmiten señales con funciones específicas. El
sistema de bus como ya hemos visto, se trata de grupos de conductores de cobre que
interconectan eléctricamente a la CPU con todos los demás componentes de la
computadora: memoria, unidades de entrada-salida, etc. Toda vez que un dato pasa de un
componente a otro, lo hace "viajando" por el bus. Tienen también tres clases de buses: de
datos, de direcciones y de control.

Página 22 de 23
SISTEMAS OPERATIVOS I
UNIDAD 1 – SEMANA 2
Si analizamos la PC desde el punto de vista de su funcionamiento y aplicaciones, no
quedarán dudas de que el elemento central del equipo es el microprocesador. Pero si la
mirada la ponemos en la computadora personal como concepto, entonces seguramente el
componente a destacar es el motherboard, ya que es la encargada de interconectar todos
los dispositivos internos de la computadora.

El hardware es la parte física de la computadora con todos sus componentes y dispositivos,


pero no realiza ninguna función sin un software que le indique las acciones a ejecutar. Por
lo tanto, una computadora que no tiene instalado el software pertinente no puede cumplir
ninguna función. Con lo cual, los programas hacen que la computadora cumpla las
funciones para la que la necesitemos. Un programa consiste en una serie de instrucciones
que le indica al procesador las órdenes que debe ejecutar.

El sistema operativo es el software necesario para poder instalar y ejecutar aplicaciones en


la computadora. Esto quiere decir que para que podamos ejecutar programas (aplicaciones)
como un procesador de textos o una planilla de cálculo debemos disponer de una
plataforma donde estas aplicaciones puedan correr. El sistema operativo está compuesto
por un conjunto de programas y es el encargado de controlar el hardware de la computadora
y brindar una interfaz al usuario para que éste pueda comunicarse y darle órdenes a la
computadora. Utilizando un determinado sistema operativo se puede instalar y ejecutar
software de aplicación. Es decir, todos aquellos programas que nos permitan realizar una
tarea específica. Son ejemplos de software de aplicación un procesador de textos, planilla
de cálculos, administrador de base de datos, graficadores, entre muchos otros.

Página 23 de 23
SISTEMAS OPERATIVOS I
UNIDAD 1 – SEMANA 2
11/4/25, 10:52 a.m. Puertos de una PC: conócelos y aprende para qué sirven | Digital Trends Español

CAS A C OM PU TAC IÓ N

Published 14 de abril de 2021 Save

Casi cualquier necesidad de comunicación moderna es posible manejarla con una


solución inalámbrica. Transferencias de archivos, transmisión de video, conexiones
periféricas: todo esto se puede lograr sin una conexión física. Sin embargo, los
puertos de una PC persisten, y con mucha razón. Echa un vistazo y probablemente
encontrarás cables de todo tipo que conducen a varias conexiones: USB, HDMI,
Thunderbolt y más. ¿Por qué están ahí? ¿Para qué sirven? ¿Son necesarios o
determinantes al momento de comprar una nueva computadora?

miguelangelortega/Getty Images

[Link] 1/13
11/4/25, 10:52 a.m. Puertos de una PC: conócelos y aprende para qué sirven | Digital Trends Español

¿Aún no sabes qué es Thunderbolt?

Comparamos USB-C vs. Thunderbolt 3

USB 3.1: qué es y cuáles son sus ventajas

Las conexiones físicas siguen siendo la forma más rápida y confiable de transferir
datos. Siempre es importante saber qué cable o enchufe va a dónde y qué versión
de cables puedes necesitar para aprovechar al máximo tu computadora. Limpiemos
las cosas y hagamos espacio para algunos conocimientos modernos de la
conectividad antigua.

El Universal Serial Bus (USB), sería un buen modelo para seguir para los
supervillanos. Prometió conquistar el mundo y lo hizo. Tomó más de una década,
pero sucedió. FireWire es básicamente obsoleto. El SATA externo está casi extinto.
Solo Thunderbolt puede representar un desafío serio, aunque faltan algunos años
para ser una adopción generalizada.

[Link] 2/13
11/4/25, 10:52 a.m. Puertos de una PC: conócelos y aprende para qué sirven | Digital Trends Español

wavemovies/Getty Images

Los puertos USB vienen en una variedad de formas, aunque las más comunes son
USB-A y USB-C. USB-A es el conector oblongo de un solo lado con esquinas en
ángulo recto, mientras que USB-C es la alternativa más nueva y reversible con
esquinas redondeadas.

Cómo conectar el PC a la TV y disfrutar de una gran pantalla


Los mejores accesorios para la Chromebook que debes tener

Ambos pueden funcionar a diferentes velocidades, dependiendo de la generación de


tecnología USB que admitan. El USB 2.0 es el más lento que se encuentra
normalmente en la actualidad, con solo 480 Mbps.

Los USB 3.0, oficialmente conocidos ahora como USB 3.2 gen 1 (lo sabemos, es
confuso), a menudo son de tipo USB-A y son azules para que sean distintos de los
USB 2.0 y otros puertos. Los USB 3.2 Gen 1 pueden operar a hasta 5,000 Mbps o 5
Gbps.

[Link] 3/13
11/4/25, 10:52 a.m. Puertos de una PC: conócelos y aprende para qué sirven | Digital Trends Español

USB 3.1 (oficialmente USB 3.2 Gen 2) es aún más rápido y funciona a hasta 10 Gbps,
mientras que USB 3.2 (oficialmente 3.2 Gen 2 × 2) puede funcionar a hasta 20
Gbps en determinadas circunstancias.

Debes conectar un dispositivo USB 3.x en un puerto USB 3.x, ambos compatibles
para aprovechar al máximo sus velocidades generacionales. USB es totalmente
compatible con versiones anteriores, pero está limitado por la velocidad de la
generación más antigua en la cadena de dispositivos y conectores.

USB 4.0, ahora oficialmente conocido como USB4, también está en el horizonte, y
aunque probablemente no será más rápido que USB 3.2 2 × 2, unificará los
estándares para hacer que el esquema de nombres sea menos confuso y mejorar la
compatibilidad del dispositivo. Los fabricantes de dispositivos tendrán la opción de
ser compatibles con Thunderbolt 3.

Es un nuevo tipo de conexión que fue desarrollado por Intel con el nombre en clave
Light Peak. Como sugiere ese nombre, Thunderbolt estaba inicialmente destinado a
ser una conexión de fibra óptica con capacidad de 10 Gb/s (casi el doble del ancho
de banda de USB 3.0).

[Link] 4/13
11/4/25, 10:52 a.m. Puertos de una PC: conócelos y aprende para qué sirven | Digital Trends Español
PansLaos/Getty Images

Aun así, los ingenieros de Intel descubrieron cómo lograr este objetivo utilizando
solo alambre de cobre. Esto hizo que Thunderbolt fuera menos costoso y le dio la
capacidad de entregar energía, un rasgo crítico para cualquier conexión que sueñe
con una adopción generalizada.

La generación común actual, Thunderbolt 3.0, utiliza la interfaz física USB-C y es


capaz de velocidades de transferencia de datos de 40 Gbps. Este tipo de enlace
también funciona como una conexión A/V compatible con DisplayPort 1.2.

Es posible conectar en cadena hasta siete dispositivos diferentes (tanto pantallas


como periféricos), desde un puerto Thunderbolt, aunque existen limitaciones
basadas en los tipos de dispositivos conectados.

Puedes usar Thunderbolt para conectarte a cualquier dispositivo USB, pantalla o


producto compatible, y ha demostrado ser competitivo con la tecnología USB
gracias a su velocidad y versatilidad. Sin embargo, USB 4.0 podría incorporar la
tecnología Thunderbolt, por lo que es posible que veamos los estándares unificados
en el futuro.

Imagen utilizada con permiso del titular de los derechos de autor

Apple fue el primero en incluirlo en sus computadoras. Otros fabricantes están


comenzando a seguir este ejemplo, pero solo en productos de alta gama. Incluso, si

[Link] 5/13
11/4/25, 10:52 a.m. Puertos de una PC: conócelos y aprende para qué sirven | Digital Trends Español

tiene el puerto, no hay mucho que conectar a él, además de monitores compatibles
con DisplayPort y una pequeña (pero creciente), selección de discos duros externos.

Thunderbolt 3 está programado para ser reemplazado por la nueva versión 4, que
seguirá siendo una conexión patentada que se enfrentará directamente a USB4.
Thunderbolt 3 y 4 son muy similares, pero esta última actualiza los requisitos
mínimos de video y mejora los límites en las velocidades de datos de límite superior.

También hace que sea un poco más fácil para los fabricantes incluir puertos
Thunderbolt en sus dispositivos, lo que permite accesorios con puertos adicionales.

DisplayPort (DP), fue una de las dos conexiones de A/V (la otra es HDMI),
desarrolladas a mediados de la última década. Esta conexión se desarrolló
específicamente teniendo en cuenta los monitores de computadora y está
destinada a ser el reemplazo totalmente digital de DVI.

Pornphol/Getty Images

Sobre el papel, DP es una obra maestra técnica. Combina video y audio en una sola
conexión y ofrece mucho más ancho de banda que HDMI en generaciones
[Link] 6/13
11/4/25, 10:52 a.m. Puertos de una PC: conócelos y aprende para qué sirven | Digital Trends Español

comparables. Al igual que su hermano, Thunderbolt, DisplayPort permite


configuraciones de conexión en cadena.

DisplayPort 1.2 tiene la capacidad de manejar conexiones 4K a 60 Hz en 2010,


mientras que HDMI estaba luchando por administrar incluso 30 Hz. Hoy en día, la
versión de DP más capaz es la 2.0, con una velocidad de datos de hasta 77.3 Gb/s a
la capacidad máxima, suficiente para varios monitores 4K en una conexión o una
pantalla de 16K con compresión habilitada.

La Interfaz multimedia de alta definición (HDMI) comenzó a producirse en 2003


como reemplazo de todas las conexiones A/V anteriores. Fue construido para ser un
cable que lo hace todo, combinando audio y video sin comprimir para una calidad de
imagen máxima.

MyImages_Micha/Getty Images

Con ese fin, tuvo un éxito masivo, convirtiéndose en la conexión más común para
computadoras y consolas de juegos en todo el mundo. Esta conexión puede manejar
audio y video con un cable. Mejor aún, el conector es delgado y plano, lo que hace
que HDMI sea ideal para laptops y otros sistemas pequeños.
[Link] 7/13
11/4/25, 10:52 a.m. Puertos de una PC: conócelos y aprende para qué sirven | Digital Trends Español

A pesar de ser técnicamente inferior a DisplayPort en algunos aspectos, HDMI es


más que adecuado para la mayoría de los usuarios. Es un enchufe simple y fácil que
puede manejar altas resoluciones de pantalla.

Sus desventajas, como la imposibilidad de conectar en cadena y las longitudes de


cable más cortas, no suelen ser motivo de preocupación. La generación más
reciente, HDMI 2.1, también logró grandes avances para cerrar la brecha de
rendimiento con DisplayPort, haciendo que los dispositivos HDMI 2.1 de nueva
generación sean más que capaces de manejar contenido de alta resolución y
frecuencia de actualización.

Wifi puede ser la forma más popular de conectarse, pero para una mejor velocidad y
confiabilidad, Ethernet sigue siendo el rey. Este simple conector, que se parece un
poco a una toma de teléfono, ha servido a las necesidades de las redes durante tres
décadas.

VisualField/Getty Images

Ethernet se usa con mayor frecuencia para conectarse a internet, pero no hará que
tu conexión sea más rápida si tienes una conexión wifi decente. Sin embargo, lo que
[Link] 8/13
11/4/25, 10:52 a.m. Puertos de una PC: conócelos y aprende para qué sirven | Digital Trends Español

sí puede hacer es que las transferencias de datos de tu red local sean mucho más
rápidas, con soporte en algunos dispositivos de hasta 10 Gbps.

Ethernet es más confiable, lo que facilita la conexión al otro lado de paredes gruesas
o cuando hay varias otras redes wifi saturando sus ondas de radio. También es más
privado. Es mucho más difícil espiar una conexión Ethernet que una inalámbrica.

Los cables Ethernet de hoy en día se conocen generalmente como Gigabit Ethernet,
lo que significa que están clasificados para velocidades de al menos 1 Gbps (y, a
menudo, mucho más altas).

Los cables Ethernet se dividen por tipo Cat o Categoría, por lo que cuando los
busques, verás opciones como Cat 6, Cat 6a, Cat 7, etc. Los estándares de Ethernet
se volvieron un poco confusos alrededor de Cat 6 y Cat 7, pero si estás por comprar
un nuevo cable, debes seguir con el último estándar Cat 8, un cable blindado con
velocidades máximas de hasta 40 Gbps en 30 metros y un ancho de banda máximo
de 2,000 MHz.

Con DisplayPort 2.1, los cables más largos no reducirán el rendimiento


Cosas que debes tener en cuenta para saber qué monitor comprar

Guías Homepage

Con especialidad en computación,


Ex escritor de Digital Trends en laptops y televisores, José Luis
Español Plascencia tiene más de 25 años
de experiencia en el…

COM PUTACIÓ N

[Link] 9/13
Facultad de Defensa Nacional
Carrera: Lic. en Ciberdefensa

Materia
Sistemas Operativos I

Unidad 1 / Semana 3

Año: 2025

Página 1 de 20
CONTENIDOS

Unidades de medida de información: bit, Byte. Sistemas de numeración: decimal, binario y


hexadecimal. Conversión entre sistemas de numeración. Tabla ASCII.

ÍNDICE

1. UNIDADES DE MEDIDA DE INFORMACIÓN​ 3


2. REPRESENTACIÓN DIGITAL DE DATOS​ 5
2.1 SISTEMAS DE NUMERACIÓN​ 7
2.1.1 SISTEMA DE NUMERACIÓN DECIMAL​ 7
2.1.2 SISTEMA DE NUMERACIÓN BINARIO​ 8
2.1.3 SISTEMA DE NUMERACIÓN HEXADECIMAL​ 9
2.2 CONVERSIÓN ENTRE SISTEMAS DE NUMERACIÓN​ 10
2.2.1 CONVERSIÓN DE DECIMAL A BINARIO​ 10
2.2.2 CONVERSIÓN DE BINARIO A DECIMAL​ 11
2.2.3 CONVERSIÓN DE DECIMAL A HEXADECIMAL​ 12
2.2.4 CONVERSIÓN DE HEXADECIMAL A DECIMAL​ 13
2.2.5 CONVERSIÓN DE BINARIO A HEXADECIMAL​ 13
2.2.6 CONVERSIÓN DE HEXADECIMAL A BINARIO​ 14
3. SISTEMAS DE CODIFICACIÓN​ 14
3.1 EVOLUCIÓN DE LOS SISTEMAS DE CODIFICACIÓN​ 15
3.2 REPRESENTACIÓN DE DATOS NUMÉRICOS​ 16
3.2.1 NÚMEROS ENTEROS SIN SIGNO​ 16
3.2.2 NÚMEROS ENTEROS CON SIGNO​ 16
[Link] SIGNO/MAGNITUD​ 16
[Link] COMPLEMENTO A 1 (CA1)​ 17
[Link] COMPLEMENTO A 2 (CA2)​ 17
[Link] EXCESO A Z​ 18
[Link] FORMATO BCD (BINARY CODED DECIMAL)​ 18
3.2.3 NÚMEROS REALES​ 18
[Link] PUNTO DECIMAL FIJO​ 18
[Link] PUNTO DECIMAL FLOTANTE​ 18
[Link] ESTÁNDAR IEEE-754 32 Y 64 BITS​ 19
4. RESUMEN DE LA UNIDAD​ 20

Página 2 de 20
SISTEMAS OPERATIVOS I
UNIDAD 1 – SEMANA 3
1. Unidades de medida de información

Las unidades de medida de información son aquellas que se utilizan para


cuantificar la cantidad de información que se almacena o se transmite en un
sistema informático. Al igual que medimos la distancia en metros o el peso en
kilogramos, necesitamos unidades para medir la información digital.

Una computadora no entiende palabras, números, dibujos ni notas


musicales, ni incluso letras del alfabeto. De hecho, sólo entienden
información que ha sido descompuesta en bits. Un bit, o dígito binario, es la
unidad más pequeña de información que una computadora puede procesar.1

Unidades básicas:

Bit: acrónimo de Binary Digit (dígito binario), que adquiere el valor 1 o 0 en el


sistema numérico binario. En el ámbito de la informática, específicamente en el
procesamiento y almacenamiento de datos, el bit es la unidad mínima de
información. Imagina un interruptor que solo puede estar encendido (1) o
apagado (0); eso es un bit. Físicamente, un bit puede representarse de diversas
formas, como un pulso eléctrico que viaja por un circuito o un punto diminuto en
un disco magnético.

apagada encendida

Byte: en el mundo de las computadoras, la información se almacena y se maneja


en unidades llamadas Bytes. Un Byte es como una pequeña caja que puede
contener un único carácter, como una letra, un número o un signo de puntuación.
Para formar un Byte, se combinan 8 bits, que son las unidades más pequeñas de
información, como si fueran 8 interruptores diminutos que pueden estar
encendidos (1) o apagados (0).

Dado que un Byte individual solo puede contener una cantidad limitada de
información, la capacidad de almacenamiento de las computadoras, como la

1
Joyanes Aguilar, Luis (2008): Fundamentos de Programación. Algoritmos, estructura de datos y objetos. Cuarta edición,
página 17.
Página 3 de 20
SISTEMAS OPERATIVOS I
UNIDAD 1 – SEMANA 3
memoria RAM o los discos duros, se suele medir en otras unidades que son
múltiplos de Bytes.

Para tener en cuenta….

Cuando en las unidades de almacenamiento utilizamos la B (mayúscula) significa


Bytes y cuando utilizamos la b (minúscula) hace referencia a bits. Por ejemplo:

MB significa megabytes, pero si se escribe Mb se está indicando megabits.

Múltiplos del Byte

A medida que se manejan cantidades más grandes de datos, se utilizan múltiplos


del Byte para simplificar las medidas. Estos múltiplos permiten expresar de
manera más sencilla las cantidades de datos que se manejan en memoria
principal, discos duros o memorias USB, entre otros tipos de memorias
secundarias.

En la siguiente tabla podemos observar varias medidas a partir del Byte. Existen
más grandes pero con estas podemos trabajar en la mayoría de los casos:

Medida Símbolo Equivalente

Byte B 8 bits

Kilobyte KB 1024 Bytes

Megabyte MB 1024 KB

Gigabyte GB 1024 MB

Terabyte TB 1024 GB

Petabyte PB 1024 TB

Página 4 de 20
SISTEMAS OPERATIVOS I
UNIDAD 1 – SEMANA 3
Exabyte EB 1024 PB

Zettabyte ZB 1024 EB

Recordemos que la computadora trabaja en sistema binario, pero es mucho más


rápido y sencillo que nosotros como usuarios ingresar los datos en sistema decimal
o hexadecimal y que la computadora realice la conversión a binario. Luego nos
brinda la salida de información, por supuesto después de su conversión nuevamente
a decimal o hexadecimal.

Son ejemplo de uso del sistema hexadecimal, la notación de las direcciones de


memoria, codificación de colores para páginas web, entre muchos otros.

2. Representación digital de datos


Las computadoras funcionan con electricidad y por lo tanto los datos y la
información que circula en ellas son transmitidos eléctricamente.
El sistema binario es un sistema de numeración en el que los números se
representan utilizando solamente las cifras cero y uno (0 y 1). Es el que se utiliza
en las computadoras, pues trabajan internamente con dos niveles de voltaje,
por lo que su sistema de numeración natural es el sistema binario (encendido 1,
apagado 0 ). Cuando no circula electricidad equivale un “0” y cuando circula
electricidad equivale un “1”. Imaginen que la computadora tiene una lamparita
que cuando está encendida indica “1” y cuando está apagada indica “0”.
Podemos imaginarnos un bit como una lamparita que puede estar en uno de los
siguientes dos estados:

Con 1 bit solamente se pueden representar el 0 y el 1. Pero con 2 bits ya podemos


representar 4 números debido a que disponemos de 4 combinaciones diferentes
de ceros y unos. Vea la siguiente tabla:

Página 5 de 20
SISTEMAS OPERATIVOS I
UNIDAD 1 – SEMANA 3
Por ejemplo, se requieren cuatro bits para representar los números decimales del
0 al 15. Es decir que dispondremos de 16 combinaciones de unos y ceros (24)

Con 6 bits podemos obtener 64 combinaciones, es decir 26, con valores de 0 al 63.

¿Por qué utilizamos el Byte?


Para poder representar todos los caracteres que utilizamos en
las computadoras (letras en mayúscula y minúscula, números,
signos y símbolos), estos unos y ceros se agrupan de a ocho,
conformando un Byte. Significa entonces que con 8 bits se
pueden representar 28 (256) diferentes elementos, por ejemplo,
los números decimales (0 al 9), las letras mayúsculas del alfabeto
(A - Z), las letras minúsculas del alfabeto (a - z), caracteres
gráficos, caracteres especiales y caracteres de control.

1 Byte contiene 8 bits y si por cada bit tenemos 2 valores posibles, entonces,

la cantidad de valores posibles del Byte : 2 x 2 x 2 x 2 x 2 x 2 x 2 x 2 = 28 = 256

Página 6 de 20
SISTEMAS OPERATIVOS I
UNIDAD 1 – SEMANA 3
Aquí tenemos un ejemplo:

S I S T E M A S O P E R A T I V O S

Ocupa 19 Bytes, que equivalen a 152 bits, es decir 152 unos y ceros combinados.

Observación: Notar que el espacio en blanco ocupa un byte, es decir tiene un


valor asignado que se debe representar al momento de ser usado.

Actividad S3-A1

Realice la actividad identificada como S3-A1 en la sección de actividades


del campus.

2.1 Sistemas de numeración


Un sistema de numeración es el conjunto de símbolos y reglas que se utilizan para
la representación de datos numéricos o cantidades. Un sistema de numeración se
caracteriza por su base, que es el número de símbolos distintos que utiliza y
además es el coeficiente que determina cuál es el valor de cada símbolo
dependiendo de la posición que ocupe.

Como en todo sistema de numeración, el valor de un dígito depende de su


posición relativa en el número. Por ejemplo, en el sistema decimal de base diez, el
número 3 vale tres, treinta, trescientos o tres mil dependiendo de su posición en el
número. Por ejemplo:

3542= 3000 + 500 + 40 + 2

2.1.1 Sistema de numeración decimal

El sistema decimal utiliza un conjunto de símbolos, cuyo significado depende de


su posición relativa al punto decimal, que en caso de ausencia se supone
colocado implícitamente a la derecha.

El hombre ha utilizado el sistema numérico decimal, basado en diez símbolos (0, 1,


2, 3, 4, 5, 6, 7, 8, 9), que, al combinarlos, permiten representar las cantidades. Es por
esto que se dice que utiliza la base 10.

El valor de cada dígito está asociado al de una potencia de la base 10, número que
coincide con la cantidad de símbolos o dígitos del sistema decimal, y un
Página 7 de 20
SISTEMAS OPERATIVOS I
UNIDAD 1 – SEMANA 3
exponente igual a la posición que ocupa el dígito menos uno, contando desde la
derecha.

Por ejemplo:

3 * 103 + 5*102 + 4*101 + 2*100

3000 + 500 + 40 + 2 = 3542

Recordemos que todo número (distinto de cero) elevado a la potencia cero da


siempre 1. (X0 = 1)

Podemos generalizar esto al decir que cualquier número puede ser expresado en
forma de polinomio de potencias de su base, lo que se conoce como su forma
polinomial.

2.1.2 Sistema de numeración binario

Este sistema de base 2 es el más sencillo de todos por poseer solamente dos
dígitos, es el sistema que internamente utilizan los circuitos digitales que
configuran el hardware de las computadoras.

En una cifra binaria, cada dígito tiene distinto valor dependiendo de la posición
que ocupe. El valor de cada posición es el de una potencia de su base (2), elevada
a un exponente igual a la posición del dígito menos uno. Se puede observar que,
tal y como ocurría con el sistema decimal, la base de la potencia coincide con la
cantidad de dígitos utilizados (2) para representar los números.

Por ejemplo, el número binario 1101 se convierte a decimal de la siguiente forma:

1*23 + 1*22 + 0*21 + 1*20

8 + 4 + 0 + 1 = 13

y para expresar que ambas cifras describen la misma cantidad lo escribimos así:

11012 = 1310
Página 8 de 20
SISTEMAS OPERATIVOS I
UNIDAD 1 – SEMANA 3
2.1.3 Sistema de numeración hexadecimal

El sistema hexadecimal emplea la base 16. Así, tiene 16 posibles símbolos digitales.
Utiliza los dígitos del 0 al 9, más las letras A, B, C, D, E y F como sus 16 símbolos
digitales. Es importante recordar que los dígitos hex (abreviatura de hexadecimal)
de A a F son equivalentes a los valores decimales de 10 a 15.

Este sistema de numeración es muy utilizado en informática porque simplifica la


expresión binaria de los objetos. La siguiente tabla muestra las equivalencias entre
el sistema decimal, binario y hexadecimal:

Equivalencias

Sistema
Sistema decimal Sistema Binario
Hexadecimal

0 0000 0

1 0001 1

2 0010 2

3 0011 3

4 0100 4

5 0101 5

6 0110 6

7 0111 7

8 1000 8

9 1001 9

10 1010 A

11 1011 B

12 1100 C

13 1101 D

Página 9 de 20
SISTEMAS OPERATIVOS I
UNIDAD 1 – SEMANA 3
14 1110 E

15 1111 F

Como se puede verificar en la tabla, cada dígito hexadecimal representa un grupo


de cuatro dígitos binarios, esto es porque 16 es potencia de 2, dado que 24 es 16.

2.2 Conversión entre sistemas de numeración


La conversión de números es esencial para la informática y electrónica, ya que
permite que las computadoras, diseñadas para procesar información binaria, se
comuniquen con los humanos de manera más comprensible.

Hemos visto que podemos representar números en diferentes sistemas de


numeración, usando diferentes bases. Ahora vamos a explorar cómo se pueden
convertir números expresados en una base a otra, es decir la conversión entre
sistemas de numeración.

Los sistemas de numeración más utilizados en informática son: el decimal (base


10), binario (base 2) y hexadecimal (base 16).

Cada sistema de numeración tiene su propia utilidad:

●​ Decimal: El sistema estándar que usamos en la vida cotidiana.


●​ Binario: Fundamental en la informática, ya que los computadores trabajan
con 0 y 1.
●​ Hexadecimal: Muy empleado en informática, especialmente en
programación y representación de direcciones de memoria.

2.2.1 Conversión de decimal a binario

Para realizar esta conversión el método de división por dos es muy utilizado y se
puede generalizar para cualquier otra base.

Debemos realizar los siguientes pasos:

1.​ Dividir el número decimal por dos


2.​ Guardar el cociente y el resto.
3.​ Tomar el cociente anterior y repetir paso 1 hasta que el cociente sea menor
que la base.
4.​ Escribir (concatenar) el último cociente y los restos empezando por el
último.

Página 10 de 20
SISTEMAS OPERATIVOS I
UNIDAD 1 – SEMANA 3
Ejemplo:

Con lo cual, el número 25 en decimal, corresponde a 11001 en binario.

2.2.2 Conversión de binario a decimal


En este caso trabajaremos con la expresión polinómica del número binario a
convertir, multiplicando los dígitos por las potencias de 2, desde 20 hasta 2n-1 en
base 10, siendo n el número de dígitos. Luego obtener el resultado del polinomio.


Existen infinitos tamaños de agrupamientos, cada uno el doble que el anterior.

El siguiente procedimiento permite realizar la conversión:

●​ Escribir sobre cada posición binaria su peso decimal (potencia de 2).


●​ Sumar los pesos de las posiciones cuyos bits valen uno.

Página 11 de 20
SISTEMAS OPERATIVOS I
UNIDAD 1 – SEMANA 3
Ejemplos de conversión a decimal de los números binarios 10110, 111101 y 10000

16 8 4 2 1
1 0 1 1 0 = 16 + 4 + 2 = 22 (decimal)

32 16 8 4 2 1
1 1 1 1 0 1 = 32 + 16 + 8 + 4 + 0 + 1 = 61 (decimal)

32 16 8 4 2 1
1 0 0 0 0 0 = 32 + 0 + 0 + 0+ 0 + 0 = 32 (decimal)

2.2.3 Conversión de decimal a hexadecimal

Para realizar esta conversión usaremos el procedimiento ya visto anteriormente


para binario, el método de la división por dieciséis en este caso.

Debemos realizar los siguientes pasos:

1.​ Dividir el número decimal por dieciséis


2.​ Guardar el cociente y el resto.
3.​ Tomar el cociente anterior y repetir paso 1 hasta que el cociente sea menor
que la base.
4.​ Escribir (concatenar) el último cociente y los restos empezando por el
último.

Ejemplo:

Conversión del número 95 decimal a hexadecimal

Tomamos el último cociente y los sucesivos


restos, 5 y 15 en ese caso. Sabiendo que el 15 es
el dígito F en hexadecimal, el resultado final es
5F

El número 95 decimal es 5F en hexadecimal.

Página 12 de 20
SISTEMAS OPERATIVOS I
UNIDAD 1 – SEMANA 3
2.2.4 Conversión de hexadecimal a decimal
En este caso también usaremos la expresión polinómica del número hexadecimal
a convertir, multiplicando los dígitos por las potencias de 16, desde 160 hasta 16n-1
en base 10, siendo n el número de dígitos. Luego obtener el resultado del
polinomio.

4096 256 16 1
5 F = 5x16 + 15 = 95 = 95 (decimal)

4096 256 16 1
2 1 D = 2x256 + 1x16 +13 = 541 (decimal)

4096 256 16 1
1 2 F = 1x256 + 2x16 + 15 = 303 (decimal)

2.2.5 Conversión de binario a hexadecimal


Para realizar esta conversión, dividimos el número binario en grupos de 4 bits,
comenzando por la derecha y luego se convierte cada grupo en un dígito
hexadecimal.

El siguiente procedimiento permite realizar la conversión:

●​ Dividir el número binario en grupos de 4 dígitos, comenzando desde la


derecha. Es posible que el último grupo de la izquierda tenga menos de 4
dígitos.
●​ Convertir cada grupo en un número hexadecimal según la tabla

Ejemplo

16 8 4 2 1 (22 decimal) 1 0 1 1 0
1 0 1 1 0 = 1 6 = 16 (hexadecimal)

32 16 8 4 2 1 (61 decimal) 1 1 1 1 0 1
1 1 1 1 0 1 = 3 13 = 3D (hexadecimal)

32 16 8 4 2 1 (32 decimal) 1 0 0 0 0 0
1 0 0 0 0 0 = 2 0 = 20 (hexadecimal)

Página 13 de 20
SISTEMAS OPERATIVOS I
UNIDAD 1 – SEMANA 3
2.2.6 Conversión de hexadecimal a binario

Para realizar esta conversión, el procedimiento es convertir cada dígito


hexadecimal en binario, según la tabla, si son menos de 4 dígitos se completan
con ceros a derecha.

El siguiente procedimiento permite realizar la conversión:

●​ Tomar cada dígito hexadecimal, comenzando por la derecha


●​ Convertir dígito hexadecimal en el número binario según la tabla o
calculando su valor en decimal y reemplazar por letras cuando el dígito se
mayor a 9.
Ejemplo

(63 decimal) 3 F(15)


3F = 0011 1111 = 111111 (binario)

(161 decimal) A(10) 1


A1 = 1010 0001 = 10100001 (binario)

(211 decimal) D (13) 3


D3 = 1101 0011 = 11010011 (binario)

Actividad S3-A2

Realice la actividad identificada como S3-A2 en la sección de


actividades del campus.

3. Sistemas de Codificación
Los sistemas de representación de caracteres son fundamentales en la
informática y las comunicaciones, ya que permiten la conversión de letras,
números y símbolos en un formato que las computadoras pueden procesar y
entender. Su evolución ha sido clave en el desarrollo de la informática y las
telecomunicaciones.

Desde los primeros días de la computación, se han desarrollado distintos


estándares para la representación de caracteres, adaptándose a las necesidades
tecnológicas y lingüísticas de cada época. Algunos de los sistemas más
importantes incluyen:

●​ ASCII
●​ EBCDIC
●​ ISO-8859
●​ Unicode
●​ UTF-8

Página 14 de 20
SISTEMAS OPERATIVOS I
UNIDAD 1 – SEMANA 3
3.1 Evolución de los sistemas de codificación
En 1963, la ASA (American Standards Association) desarrolló el sistema ASCII
(American Standard Code for Information Interchange), un estándar de
codificación basado en 7 bits, capaz de representar hasta 127 caracteres. En su
versión inicial, sólo incluía letras mayúsculas, números, caracteres especiales y de
control.

En 1967, se amplió el estándar con la incorporación de letras minúsculas y algunos


caracteres adicionales, dando origen al US-ASCII, diseñado exclusivamente para
el idioma inglés. En 1969, la ASA pasó a denominarse ANSI (American National
Standards Institute).

Mientras tanto, IBM había desarrollado entre 1963 y 1964 el sistema EBCDIC
(Extended Binary Coded Decimal Interchange Code) para sus computadoras
mainframe. Sin embargo, a diferencia de ASCII, este sistema no logró una
adopción masiva y se utilizó únicamente en el segmento de computadoras de
gran porte , con el objetivo de mantener compatibilidad con sistemas anteriores
que empleaban el BCD (Binary Coded Decimal).

Durante los años ‘80, ASCII fue ampliado a 8 bits, lo que permitió incorporar
caracteres especiales de distintos idiomas, dando origen al ASCII extendido.

En 1991, se creó el Unicode Consortium con el propósito de desarrollar un


estándar que pudiera representar todos los idiomas y garantizar la compatibilidad
entre sistemas.

El estándar Unicode se destaca por su amplitud y flexibilidad, ya que permite


codificar caracteres de múltiples idiomas, incluidos los asiáticos, así como
símbolos matemáticos. Además, emplea una codificación variable, utilizando 8,
16 o 32 bits por carácter, dependiendo del formato.

Dentro de sus diferentes representaciones, UTF-8 es el formato más utilizado,


especialmente en la web y en aplicaciones modernas, debido a su compatibilidad
con ASCII y eficiencia en el almacenamiento de caracteres.

Comparación de formatos Unicode

Formato Tamaño Compatibilidad Utilización


por
carácter

UTF-8 1 a 4 bytes Compatible con UTF-8 es el más usado en la web porque es


ASCII compacto y compatible con ASCII

UTF-16 2 o 4 bytes No compatible UTF-16 es eficiente para idiomas como chino y


con ASCII japonés, pero menos común en la web.

UTF-32 4 bytes No compatible UTF-32 usa más espacio, pero permite acceso
con ASCII directo a cualquier carácter Unicode

Página 15 de 20
SISTEMAS OPERATIVOS I
UNIDAD 1 – SEMANA 3
3.2 Representación de datos numéricos
Los sistemas informáticos procesan números utilizando diferentes métodos de
codificación. Si bien los caracteres pueden representarse con sistemas como ASCII
o Unicode, estos no permiten realizar operaciones matemáticas directamente en
la Unidad Aritmético-Lógica (ALU). Por ello, es necesario una codificación
específica para los números, y existen varias formas según el tipo de dato
numérico.

3.2.1 Números enteros sin signo


Los números enteros sin signo representan únicamente valores positivos,
comenzando desde 0 hasta un máximo determinado por el número de bits
disponibles. En este caso, cada bit contribuye a la magnitud del número. El
esquema es el ya visto en sistemas de numeración binario.

Ejemplo con 4 bits:

•​ 0000 = 0

•​ 0001 = 1

•​ 0010 = 2

•​ 1111 = 15

El valor máximo se obtiene con la fórmula:

2ⁿ - 1, donde n es la cantidad de bits.

con 1 Byte ​ : 0 a 255

con 2 Bytes : 0 a 65.535

3.2.2 Números enteros con signo


Los números enteros con signo incluyen tanto valores positivos como negativos.
Para representarlos internamente se emplean diferentes métodos.

[Link] Signo/Magnitud
Este esquema usa el bit más significativo (MSB) para indicar el signo:

•​ 0 → número positivo

•​ 1 → número negativo

El resto de los bits representan el valor absoluto del número.

Ejemplo con 4 bits:

•​ 0110 → +6

•​ 1110 → -6

Página 16 de 20
SISTEMAS OPERATIVOS I
UNIDAD 1 – SEMANA 3
Este sistema no suele utilizarse porque tiene algunas desventajas:

•​ Tiene dos representaciones para el cero (+0=0000 y -0=1000).

•​ Tanto para la suma y la resta requieren tener en cuenta el signo de los


números antes y esto es costoso a nivel de ALU

[Link] Complemento a 1 (ca1)


Este método invierte todos los bits del número positivo para obtener su versión
negativa.

Ejemplo con 4 bits:

•​ +6 → 0110

•​ -6 → 1001

Aunque simplifica la inversión de signo, también tiene dos ceros posibles


(+0=0000 y -0=1111), lo que genera ciertas dificultades en cálculos.

[Link] Complemento a 2 (ca2)


El complemento a 2 es el sistema más utilizado en computación para representar
números negativos, ya que permite operar directamente sin realizar ajustes
adicionales.

Reglas:

1.​ Se invierten todos los bits del número positivo.

2.​ Se suma 1 al resultado.

Ejemplo con 4 bits:

•​ +6 → 0110

•​ -6 →1001 +1 →1010

Este método soluciona el problema de tener dos representaciones del cero y


simplifica las operaciones matemáticas.

Características

●​ El intervalo es asimétrico (hay un número negativo más), va desde -2n-1 a +


2n-1-1
●​ Los n bits representan al nro
●​ Los positivos comienzan con cero
●​ Los negativos comienzan con uno
●​ Hay un solo cero
●​ Se pueden representar 2n números distintos (n=número de bits)

con 1 Byte ​ : -128 a +127

con 2 Bytes : -32.768 a +32.767

Página 17 de 20
SISTEMAS OPERATIVOS I
UNIDAD 1 – SEMANA 3
[Link] Exceso a Z
En este método, los valores se almacenan sumando un desplazamiento fijo Z. Es
común en representaciones de exponentes en IEEE 754.

Ejemplo con exceso a 8 en 4 bits:

•​ -2 → 0110 (porque -2 + 8 = 6)

•​ 5 → 1101 (porque 5 + 8 = 13)

•​ 0 → 1000 (porque 0 + 8 = 8) El cero es el exceso Z

[Link] Formato BCD (Binary Coded Decimal)


En este formato, cada dígito decimal se guarda en 4 bits, es decir 2 por cada byte.

Ejemplo:

•​ 53 en BCD → 0101 0011 (cada bloque representa un dígito decimal).

Es útil en aplicaciones financieras donde se requiere exactitud decimal, sin errores


de conversión del sistema binario.

3.2.3 Números reales


Los números reales tienen una parte entera y otra parte fraccionaria separadas por
el punto o coma decimal. Existen 2 métodos para representarlos en una
computadora: coma o punto decimal fijo y flotante.

[Link] Punto decimal fijo


En los métodos de representación de coma fija se establece un número de bits
para la parte entera y número de bits para la parte fraccionaria. Esto limita mucho
el rango de números que se pueden representar.

Por ejemplo, se puede decidir que se dediquen 4 bits a la parte entera y 4 para la
parte flotante.

En este caso no podría representarse el número 10011 (overflow o


desbordamiento) ni tampoco el 0,10011 (underflow o desbordamiento a cero).

[Link] Punto decimal flotante


Este sistema representa números con una mantisa y un exponente, permitiendo
una escala flexible de valores.

Ejemplo de precisión simple (32 bits):

•​ Signo (1 bit): 0 → positivo

•​ Exponente (8 bits): 01111111 (exceso a 127)

Página 18 de 20
SISTEMAS OPERATIVOS I
UNIDAD 1 – SEMANA 3
•​ Mantisa (23 bits): Los valores fraccionarios del número

Permite representar valores pequeños y grandes sin perder precisión.

Sin embargo, esta representación no cubre toda la recta de números reales


porque aparecen 4 zonas que no están cubiertas.

●​ Números muy grandes (positivos o negativos) generan un desbordamiento


(overflow) positivo o negativo según el signo del número.
●​ Números muy pequeños (positivos o negativos) que generan un
desbordamiento a cero (positivo o negativo) y se asume cero

Fuente: Organización y Arquitectura de Computadores, 5ta edición, William Stallings

[Link] Estándar IEEE-754 32 y 64 bits


La representación en coma flotante más importante es la definida en la norma o
estándar 754 del IEEE [IEEE85]. Este estándar se desarrolló para facilitar la
portabilidad del software de un procesador a otro y para alentar el desarrollo de
programas numéricos sofisticados. Este estándar ha sido ampliamente adoptado
y se utiliza prácticamente en todos los procesadores y coprocesadores aritméticos
actuales.

El estándar del IEEE define, tanto el formato simple de 32 bits como el doble de 64
bits, con exponentes de 8 y 11 bits respectivamente. La base implícita siempre es 2.

El exponente está sesgado (exceso) a 127 en 32 bits y a 1023 para 64 bits.

Tiene doble representación del cero, exponente en cero y mantisa en cero pero
puede ser positivo o negativo.

Utiliza siempre números normalizados, esto es con el bit de la parte entera de la


mantisa o fracción siempre con valor 1, que se omite por conveniencia.

Cuando el exponente está conformado por todos unos y tiene una fracción
distinta de cero, se le da el nombre de NaN (Not a Number) para denotar alguna
condición de excepción.

Página 19 de 20
SISTEMAS OPERATIVOS I
UNIDAD 1 – SEMANA 3
Fuente: Organización y Arquitectura de Computadores, 5ta edición, William Stallings

4. Resumen de la unidad

Las unidades de medida de la información permiten cuantificar la cantidad de


datos en los sistemas informáticos, abarcando desde el bit, la unidad mínima de
información, hasta escalas más grandes como el petabyte y el exabyte, que aún no
tienen un uso masivo en el mercado de tecnología.

Comprender cómo se representa la información dentro de una computadora es


esencial. Es importante conocer la existencia y el funcionamiento de los diferentes
sistemas de numeración usados en informática y los diversos mecanismos que
existen para convertir números entre distintas bases, lo que facilita el trabajo y
análisis de datos en diferentes sistemas.

Los estándares internacionales han sido fundamentales en la globalización de los


sistemas informáticos y continúan evolucionando, integrando nuevos idiomas con
alfabetos muy distintos a los occidentales.

Reconocer la presencia de errores sistemáticos en la representación de datos nos


ayuda a interpretar mejor los resultados, especialmente cuando las magnitudes se
acercan al límite de las capacidades de representación utilizadas en nuestros
sistemas.

Página 20 de 20
SISTEMAS OPERATIVOS I
UNIDAD 1 – SEMANA 3
¿Cuál es la función principal de la memoria caché en una computadora?

Pregunta 1Seleccione una:

Almacenar las instrucciones de arranque del sistema.

Acelerar el acceso a los datos de la memoria principal.

Gestionar la comunicación entre la CPU y los periféricos.

Almacenar permanentemente los archivos del usuario.

Retroalimentación

Respuesta correcta
La respuesta correcta es:

Acelerar el acceso a los datos de la memoria principal.

Pregunta 2

Correcta

S e p untúa 1,00 sobre 1,00


Marcar p reg unta

Enunciado de la pregunta

¿QUÉ MEMORIA SE ENCARGA DE ALMACENAR TEMPORALMENTE LOS


DATOS DURANTE LA EJECUCIÓN DE PROGRAMAS?

Pregunta 2Respuesta

a.

ROM

b.

RAM

c.
Flash

d.

CMOS

Retroalimentación

La respuesta correcta es: RAM

Pregunta 3

Correcta

S e p untúa 1,00 sobre 1,00

Marcar p reg unta

Enunciado de la pregunta
¿CUÁL DE LAS SIGUIENTES MEMORIAS ES UTILIZADA PARA ALMACENAR
INSTRUCCIONES QUE EL PROCESADOR NECESITA FRECUENTEMENTE?

Pregunta 3Respuesta

a.

Flash

b.

RAM

c.

CMOS

d.

Caché

Retroalimentación

La respuesta correcta es: Caché

Pregunta 4

Correcta

S e p untúa 1,00 sobre 1,00


Marcar p reg unta

Enunciado de la pregunta

¿CUÁL ES LA PRINCIPAL DIFERENCIA ENTRE LA MEMORIA RAM Y LA


MEMORIA ROM?

Pregunta 4Respuesta

a.

La ROM tiene mayor velocidad de acceso que la RAM.

b.

La RAM se encuentra en discos de almacenamiento, mientras que la ROM está


en la CPU.

c.
La ROM se usa para ejecutar programas, mientras que la RAM almacena
configuraciones del sistema.

d.

La RAM es volátil, mientras que la ROM almacena datos de forma permanente.

Retroalimentación

La respuesta correcta es: La RAM es volátil, mientras que la ROM almacena


datos de forma permanente.

Pregunta 5

Correcta

S e p untúa 1,00 sobre 1,00

Marcar p reg unta

Enunciado de la pregunta
¿Qué factor influye directamente en la cantidad de programas y datos que una
computadora puede tener abiertos simultáneamente sin disminuir
significativamente su rendimiento?

Pregunta 5Seleccione una:

La capacidad del disco rígido.

El tamaño de la memoria RAM.

La velocidad del procesador (CPU).

La velocidad de la conexión a internet.

Retroalimentación

Respuesta correcta
La respuesta correcta es:

El tamaño de la memoria RAM.

Pregunta 6

Correcta

S e p untúa 1,00 sobre 1,00


Marcar p reg unta

Enunciado de la pregunta

¿Qué método de acceso permite acceder a cualquier ubicación de memoria


directamente en el mismo tiempo, independientemente de su posición física?

Pregunta 6Seleccione una:

Acceso secuencial

Acceso aleatorio

Acceso directo

Acceso indexado
Retroalimentación

Respuesta correcta
La respuesta correcta es:

Acceso aleatorio

Pregunta 7

Correcta

S e p untúa 1,00 sobre 1,00

Marcar p reg unta

Enunciado de la pregunta

¿Dónde se localiza principalmente la memoria RAM en una computadora de


escritorio?

Pregunta 7Seleccione una:


Dentro de la unidad de procesamiento central (CPU).

En el disco rígido.

En la placa madre (motherboard).

En los módulos de E/S.

Retroalimentación

Respuesta correcta
La respuesta correcta es:

En la placa madre (motherboard).

Pregunta 8

Incorrecta

S e p untúa 0,00 sobre 1,00


Marcar p reg unta

Enunciado de la pregunta

¿Qué característica de la memoria se refiere a la cantidad de datos que se pueden


transferir hacia o desde ella en un período de tiempo determinado?

Pregunta 8Seleccione una:

Capacidad.

Frecuencia

Incorrecto. La frecuencia se refiere a los ciclos de procesamiento. La respuesta


correcta es el tiempo de acceso.

Tiempo de acceso.
Voltaje.

Retroalimentación

Respuesta incorrecta.
La respuesta correcta es:

Tiempo de acceso.

Pregunta 9

Incorrecta

S e p untúa 0,00 sobre 1,00

Marcar p reg unta

Enunciado de la pregunta

¿En qué tipo de memoria se almacena el software del BIOS?


Pregunta 9Seleccione una:

Memoria volátil

Memoria no volátil (ROM, EPROM, EEPROM, FLASH)

CMOS

RAM

Retroalimentación

Respuesta incorrecta.
La respuesta correcta es:

Memoria no volátil (ROM, EPROM, EEPROM, FLASH)

Pregunta 10

Correcta

S e p untúa 1,00 sobre 1,00


Marcar p reg unta

Enunciado de la pregunta

¿Cuál es la función principal de la CMOS?

Pregunta 10Seleccione una:

Actuar como la memoria principal del sistema operativo.

Ejecutar el proceso de arranque de la computadora.

Almacenar temporalmente los datos de los programas en ejecución.

Almacenar los valores y ajustes configurables de la BIOS.


La CMOS guarda las opciones que el usuario puede modificar de la BIOS.

Retroalimentación

Respuesta correcta
La respuesta correcta es:

Almacenar los valores y ajustes configurables de la BIOS.

Pregunta 11

Correcta

S e p untúa 1,00 sobre 1,00

Marcar p reg unta

Enunciado de la pregunta

¿Qué tecnología corresponde al reemplazo más moderno para el BIOS tradicional?

Pregunta 11Seleccione una:


RAM

CMOS

Caché

UEFI

Retroalimentación

Respuesta correcta
La respuesta correcta es:

UEFI

Pregunta 12

Correcta

S e p untúa 1,00 sobre 1,00


Marcar p reg unta

Enunciado de la pregunta

¿QUÉ COMPONENTE SE ENCARGA DE LA CONFIGURACIÓN INICIAL DEL


HARDWARE ANTES DE CARGAR EL SISTEMA OPERATIVO?

Pregunta 12Respuesta

a.

Disco duro

b.

BIOS/UEFI

c.
Caché L3

d.

Memoria RAM

Retroalimentación

La respuesta correcta es: BIOS/UEFI


Facultad de Defensa Nacional
Carrera: Lic. en Ciberdefensa

Materia
Sistemas Operativos I

Unidad 1 / Semana 4

Año: 2025

Página 1 de 13
CONTENIDOS

Tipos de memorias. Esquema jerárquico de memorias. Capacidad y métodos de acceso de las


memorias.

ÍNDICE

1. LA MEMORIA EN UNA COMPUTADORA​ 3


1.1 CARACTERÍSTICAS DE LA MEMORIA​ 4
1.2 MÉTODOS DE ACCESO A LA MEMORIA​ 6
1.3 LOCALIZACIÓN DE LA MEMORIA​ 7
2. TIPOS DE MEMORIA INTERNA​ 8
2.1 RAM (RANDOM ACCESS MEMORY)​ 8
2.2 CACHÉ​ 8
2.3 ROM​ 9
2.4 FLASH MEMORY​ 10
2.5 DIFERENCIA ENTRE BIOS Y CMOS​ 10
2.6 BIOS VS UEFI​ 11
4. TIPOS DE MEDIOS DE ALMACENAMIENTO (MEMORIA EXTERNA)​ 11
6. SÍNTESIS DEL MÓDULO​ 12

Página 2 de 13
SISTEMAS OPERATIVOS I
UNIDAD 1 – SEMANA 4
1. La memoria en una computadora
La memoria constituye un componente fundamental en la arquitectura de
cualquier sistema computacional, actuando como el almacén transitorio o
persistente de los datos e instrucciones que posibilitan su operación. No es
una memoria única, la memoria en una computadora se organiza en una
jerarquía donde cada nivel está basado en diferentes tecnologías y diseñado
para optimizar aspectos cruciales como la velocidad de acceso, la capacidad
de almacenamiento y el costo por bit.

Esta jerarquía se distingue principalmente en dos categorías: la memoria


interna (o primaria) y la memoria externa (o secundaria). La memoria interna
se caracteriza por su velocidad de acceso por parte de la unidad central de
procesamiento (CPU), siendo esencial para la ejecución de programas y el
manejo inmediato de datos. Por otro lado, la memoria externa ofrece una
capacidad de almacenamiento significativamente mayor a un costo inferior,
aunque su acceso requiere la intervención de módulos de entrada/salida, lo
que implica una latencia mayor.

La comprensión de esta jerarquía y las características distintivas de cada


nivel de memoria (como la caché, la memoria principal o RAM, y los
dispositivos de almacenamiento masivo) es muy importante para entender el
rendimiento, las limitaciones y las posibilidades de los sistemas informáticos
modernos. El diseño y la gestión eficiente de esta jerarquía de memoria son,
por lo tanto, temas centrales en el estudio de la arquitectura de
computadoras y el desarrollo de software.

Es importante diferenciar entre el almacenamiento y la memoria.

Memoria

El término memoria se refiere al componente dentro de su computadora que le


permite acceder a los datos que están almacenados en su computadora a corto
plazo. Usted puede reconocer este componente como RAM (memoria de acceso
aleatorio). Su computadora realiza muchas operaciones accediendo a los datos
almacenados en su memoria a corto plazo. Algunos ejemplos de estas
operaciones incluyen editar un documento, cargar aplicaciones, y navegar por
internet. La velocidad y rendimiento de su sistema dependen de la cantidad de
memoria que esté instalada en su computadora. Como analogía, si usted tiene un
escritorio y un archivador, el escritorio representa la memoria de su computador.
Los elementos que necesitará a la mano se guardan en su escritorio para un fácil
acceso. Sin embargo no se puede almacenar mucho en un escritorio, debido a las
restricciones de tamaño.

Página 3 de 13
SISTEMAS OPERATIVOS I
UNIDAD 1 – SEMANA 4
Escritorio y archivador

Almacenamiento

Mientras la memoria se refiere a la ubicación de los datos a corto plazo, el


almacenamiento es el componente de su computadora que le permite almacenar
y acceder a datos a largo plazo. Usualmente, el almacenamiento se da en forma
de una unidad de estado sólido o un disco duro. El almacenamiento le permite
acceder y almacenar sus aplicaciones, sistema operativo y archivos por un tiempo
indefinido.

Mientras que el escritorio representa la memoria de la computadora, el archivador


representa el almacenamiento de su computadora. Los elementos que se deben
guardar, pero no necesariamente acceder en ese momento, se guardan en el
archivador. Éste dispone de una capacidad para almacenar datos e información.

1.1 Características de la memoria


Analizaremos tres características de las memorias:

●​ Capacidad de almacenamiento: se denomina capacidad de una memoria


a la cantidad total de información que puede almacenar, ya sea de forma
temporal (como en la memoria principal o RAM) o de forma persistente
(como en el almacenamiento secundario). Dado que la información digital
se representa mediante el sistema binario, la unidad fundamental para
medir esta capacidad es el bit. Pero en la práctica, la información se
organiza y almacena en grupos de bits. En la memoria principal, estos
grupos se denominan palabras o posiciones de memoria a las que la
unidad central de procesamiento (CPU) accede simultáneamente para una
mayor eficiencia. ​
En el almacenamiento secundario, aunque la base sigue siendo el bit, la
capacidad se expresa comúnmente en unidades más grandes como Bytes,
Kilobytes, Megabytes, Gigabytes, Terabytes, etc., para facilitar su
comprensión y manejo. ​
Página 4 de 13
SISTEMAS OPERATIVOS I
UNIDAD 1 – SEMANA 4
Resumiendo, la capacidad de almacenamiento, ya sea en la memoria
principal o secundaria, define la cantidad de datos que se pueden contener
en un momento dado. Mientras que la memoria principal se enfoca en el
acceso rápido a los datos que se están utilizando activamente, el
almacenamiento secundario proporciona un espacio más grande y
persistente para guardar la información.​

●​ Velocidad (tiempo de acceso): Se refiere al lapso que transcurre desde que


se solicita la lectura de un dato hasta que ese dato está disponible para ser
utilizado. Un menor tiempo de acceso implica una mayor velocidad de la
memoria.​

●​ Costo (generalmente se usa el costo por bit).

Estas características compiten entre sí, por lo cual se utilizarán memorias cuyas
características sean compatibles con la función que desempeñarán en la
computadora. Se cumplen las siguientes relaciones:

●​ A mayor velocidad, mayor costo por bit.


●​ A mayor capacidad, menor costo por bit.
●​ A mayor capacidad, el tiempo de acceso es mayor, es decir, más lento.

En la siguiente pirámide se muestra una jerarquía de la memoria según su tipo y


donde se cumplen las siguientes condiciones a medida que se desciende por ella:

●​ Disminución del costo por bit.


●​ Aumento de la capacidad.
●​ Aumento del tiempo de acceso.
●​ Disminución de la frecuencia de acceso a la memoria por parte del
procesador.

Página 5 de 13
SISTEMAS OPERATIVOS I
UNIDAD 1 – SEMANA 4
En resumen, las memorias más rápidas y cercanas al procesador (como la caché y
la memoria principal o RAM) tienden a ser más costosas por unidad de
almacenamiento. A medida que descendemos en la jerarquía hacia memorias
más lentas y de mayor capacidad (como el almacenamiento secundario, ya sean
SSD o HDD), el costo por bit disminuye significativamente. Esta relación
costo-velocidad es una de las razones fundamentales por las que se implementa
una jerarquía de memorias: se busca un equilibrio entre el rendimiento necesario
y el costo total del sistema.

1.2 Métodos de acceso a la memoria


Las memorias, tanto internas como externas, permiten guardar datos en una
computadora. La forma en que la computadora accede a estos datos se conoce
como método de acceso y podemos clasificar los tipos de memoria según esta
característica.

Los métodos de acceso varían según el tipo de memoria en:

1.​ Acceso secuencial​


En este método, se accede a las posiciones de memoria en un orden
determinado, comenzando desde la última posición consultada y
avanzando progresivamente hasta alcanzar la posición deseada. El tiempo
de acceso depende tanto de la posición objetivo como de la posición previa
a la que se accedió. Este tipo de acceso se utiliza principalmente en
dispositivos de almacenamiento con cinta magnética.​

2.​ Acceso directo​


La memoria se organiza en bloques, cada uno con una dirección única. Para
acceder a una posición específica, primero se localiza el bloque
correspondiente y, dentro de él, se recorre de manera secuencial hasta
llegar a la ubicación deseada. El tiempo de acceso depende de la distancia
entre la última posición consultada y la nueva posición objetivo. Los discos
rígidos (HDD) son ejemplos de este método de acceso, así como las
unidades de CD/DVD o disquetes, ya en desuso.​

3.​ Acceso aleatorio​


En este caso, la memoria se estructura como un conjunto de celdas, donde
cada posición cuenta con una dirección única. Se puede acceder
directamente a cualquier posición, proporcionando su dirección, sin
importar la posición previa consultada. El tiempo de acceso es constante,
independientemente de la ubicación dentro de la memoria. El principal
ejemplo de este método de acceso es la memoria RAM.​

4.​ Acceso Asociativo​


En este método se usa principalmente en las memorias caché. Cada celda
es recuperada en función de su contenido en lugar de una dirección, es
decir, que se busca un determinado patrón de bits (clave) en un conjunto de
bits de cada celda, haciendo comparaciones simultáneas. El tiempo de
acceso siempre es constante.
Página 6 de 13
SISTEMAS OPERATIVOS I
UNIDAD 1 – SEMANA 4
1.3 Localización de la memoria

Podemos clasificar los tipos de memoria según su localización dentro de la


computadora. Básicamente, se pueden distinguir:

●​ Memoria dentro del chip del procesador. Habitualmente están los


registros y uno o varios niveles de memoria caché.​

●​ Memoria interna. Memoria situada


físicamente en la placa base de la
computadora y corresponde a la
memoria principal (memoria RAM de
la computadora) y adicionalmente un
nivel de memoria caché o varios. ​

También se encuentra en esta categoría la llamada memoria ROM, donde
actualmente cubren la función las memorias de tipo flash con la ventaja de
poder reescribirse.

●​ Memoria externa. Corresponde a los dispositivos de almacenamien​


o memoria secundaria, como discos duros, unidades ópticas (CD-ROM,
DVD, o Blu-ray), unidades de cinta, memorias flash (pendrive), etc.

Unidad de estado sólido

Importante:

El principal objetivo de un sistema de computación es ejecutar programas. Estos


programas, junto con los datos a los que acceden, deben encontrarse en memoria
principal durante la ejecución. En una situación ideal, nos gustaría que todos los
programas y datos se encontrarán permanentemente en la memoria principal.
Esto no es posible por dos razones:

1. La memoria principal generalmente es demasiado pequeña para contener


en forma permanente todos los programas y datos necesarios.

Página 7 de 13
SISTEMAS OPERATIVOS I
UNIDAD 1 – SEMANA 4
2. La memoria principal es un componente que permite el acceso a datos a
corto plazo. Es volátil, es decir, que pierde su contenido al apagar o perder la
energía.

El objetivo del almacenamiento secundario (principalmente corresponde a discos


rígidos y discos de estado sólido) es contener permanentemente grandes
cantidades de datos. Con lo cual, desde el almacenamiento secundario se
cargarán a la memoria principal del equipo los programas para su ejecución por
parte del procesador y también contener los datos relacionados con dichos
programas.

2. Tipos de memoria interna

2.1 RAM (random access memory)


La memoria RAM consiste de
chips de memoria que el
procesador y otros componentes
pueden escribir o leer. Cuando la
computadora se enciende,
ciertos programas del sistema
operativo se cargan a la memoria principal desde el disco duro y permanecen en
ella mientras la computadora esté encendida. Igualmente, los programas de
aplicación y los datos que se utilizan se cargan y mantienen en memoria mientras
se estén usando.

La mayoría del RAM es volátil; pierde su contenido cuando la


computadora se desconecta de la electricidad. Por esta razón, se
debe guardar lo que se esté realizando en la computadora para
poder usarlo en el futuro. Guardar es el proceso de copiar de la
RAM a un dispositivo de almacenamiento persistente, como el
disco duro.

Los chips de RAM son generalmente más pequeños que el


procesador. Usualmente residen en una tarjeta de circuito, llamada módulo de
memoria, que se inserta en el motherboard, como muestra la imagen anterior.

2.2 Caché
La mayoría de las computadoras actuales
mejoran su tiempo de procesamiento con el
“cache”. Hay dos tipos de caché: ​
caché de memoria (memory cache) y caché

Página 8 de 13
SISTEMAS OPERATIVOS I
UNIDAD 1 – SEMANA 4
de disco (disk cache). El caché de memoria, también llamado RAM caché, ayuda a
acelerar los procesos de la computadora porque guarda instrucciones y datos
usados frecuentemente. Dado que la
memoria caché dispone de una tecnología
más rápida de acceso se acelera el acceso a
los datos. Cuando el procesador necesita
instrucciones o datos, primero busca en el caché. Si no localiza lo que busca,
entonces examina la RAM.

La mayoría de las computadoras tienen dos o tres niveles de caché. El nivel 1 (Level
1 – L1), también llamado cache primario o interno, está creado directamente en el
procesador. Usualmente tiene poca capacidad, desde 8 a 64 KB. El segundo nivel
(Level 2 – L2), conocido también como caché externo, es un poco más lento que el
L1, pero tiene mucha más capacidad, desde 64 KB hasta 4 MB. Aunque en las
computadoras de hace varios años el caché L2 no era parte del procesador, en la
actualidad los procesadores incluyen un tipo de cache L2, llamado “advanced
transfer cache”.

Si los procesadores tienen el cache L2 – “advanced transfer cache” – también


pueden tener el nivel tres (Level 3 – L3). El caché L3 está separado del procesador y
se encuentra en la motherboard. Sólo existe en computadoras que pueden usar el
L2 “advanced transfer cache”.

Cuando el procesador necesita una instrucción o datos, realiza la búsqueda en


este orden: cache L1, cache L2, cache L3 (si existe), RAM. Si la instrucción o dato no
se encuentra en la memoria, entonces debe buscar en un medio de
almacenamiento como el disco rígido o SSD.

2.3 ROM
El “Read-only memory” (ROM) se refiere a chips de memoria que guardan datos
que solamente pueden ser leídos. Los datos en el ROM no pueden modificarse. El
ROM es no-volátil; su contenido no se pierde cuando la computadora se apaga.
Los chips de ROM contienen datos, instrucciones o información que ha sido
guardada permanentemente. Por ejemplo, ROM contiene el BIOS (basic
input/output system), que es un programa que indica la secuencia de
instrucciones que la computadora sigue para cargar el sistema operativo y otros
archivos cuando se enciende la computadora. Los chips de ROM, llamados
firmware, contienen datos, instrucciones o información escrita permanentemente.

Normalmente este software, el BIOS, viene grabado en un chip de memoria no


volátil de sólo lectura ROM (Read Only Memory), situado en la placa base, de ahí el
nombre ROM BIOS. Esto garantiza que no se perderá al apagar el Sistema y que
no dependerá para su actuación de la existencia o buen funcionamiento de
ningún disco, por lo que estará siempre disponible. Esto último es importante,
porque como veremos a continuación, posibilita el arranque inicial del equipo sin
necesitar de ningún recurso externo.

Desde los primeros tiempos de las PC, el ROM-BIOS dio problemas en los equipos
existentes, dado que los avances técnicos eran constantes; lo que suponía
Página 9 de 13
SISTEMAS OPERATIVOS I
UNIDAD 1 – SEMANA 4
aumentar las capacidades de disco y de los dispositivos conectados a los equipos.
Esto exigía nuevas BIOS, con lo que había que cambiar la placa base, o cuando
mínimo, en los modelos posteriores, cambiar el integrado que contenía la ROM
BIOS. Para resolver el problema se comenzó a utilizar memorias regrabables tipo
EPROM ("Erasable programmable read-only memory") y EEPROM ("Electrically
erasable programmable read-only memory").

En la actualidad se utiliza un tipo de memoria no volátil flash (Flash BIOS) que


puede ser regrabada sin utilizar ningún dispositivo de borrado o grabación
especial, lo que permite actualizarla muy fácilmente. Por lo general solo es
necesario descargar de Internet la versión adecuada (normalmente del sitio del
fabricante de la placa base) y seguir las instrucciones que acompañan al
programa.

Debido a que el BIOS es usado constantemente en el funcionamiento normal del


PC, y que la memoria RAM es de acceso más rápido que la ROM, muchos
fabricantes disponen que el contenido de la ROM BIOS sea copiado a memoria
RAM como parte del proceso de arranque inicial. Esto se conoce como
"Shadowing", y tiene el efecto de acelerar el rendimiento del sistema. La versión
de la BIOS cargada en RAM se denomina shadow BIOS

El sistema BIOS de un PC estándar desempeña cuatro funciones independientes:

●​ Proceso de carga inicial del software.


●​ Programa de inventario y comprobación del hardware.
●​ Inicialización de los dispositivos hardware que lo requieren, carga de cierto
software básico e inicio del Sistema Operativo.
●​ Soporte para ciertos dispositivos hardware del sistema

2.4 Flash Memory


Flash memory es un tipo de memoria no-volátil que puede ser borrada
electrónicamente y reprogramada. Las computadoras actuales usan flash BIOS,
de forma tal que se pueda actualizar fácilmente el contenido del BIOS de la
computadora, si es necesario. El flash memory se utiliza también en
computadoras y equipos de mano, como teléfonos celulares digitales, impresoras,
entre otros.

Vamos a aclarar algunos conceptos...

2.5 Diferencia entre BIOS y CMOS

La BIOS y la CMOS no son lo mismo. La CMOS (Complementary Metal Oxide


Semiconductor) es una porción de Bytes encargada de almacenar los valores y
ajustes de la BIOS (aquellos que el usuario podrá cambiar). Podemos almacenar
datos como por ejemplo, la fecha y la hora, los parámetros que definen nuestro
Página 10 de 13
SISTEMAS OPERATIVOS I
UNIDAD 1 – SEMANA 4
disco rígido o unidad de estado sólido, la secuencia de arranque o la configuración
de nuestros puertos.

El BIOS (software) está guardado en memoria


de tipo ROM, EPROM, EEPROM o actualmente
FLASH. En cambio la CMOS es una memoria de
tipo RAM y los datos que se guardan se pueden
alterar pero también se borrarán en caso de
existir algún corte de energía. Para prevenir que
se dé esta situación, es decir, que se borren los
datos definidos por el usuario, hace uso de una
pila que alimenta esta memoria siempre que
nuestra computadora esté apagada.

2.6 BIOS vs UEFI

BIOS (Basic Input-Output System) es un programa tipo firmware1 escrito en


lenguaje ensamblador que reside en un chip de memoria no volátil situado en las
placas base.

Es el primer programa que se ejecuta en el arranque de una computadora y tiene


el objetivo de proporcionar la comunicación de bajo nivel, el funcionamiento y la
configuración básica del hardware del sistema.

BIOS es uno de los componentes que durante más tiempo se ha mantenido en las
computadoras ya que existe desde los primeros IBM PC. Aunque ha sido mejorado
con algunas funciones, no ha variado sustancialmente en décadas y por ello tiene
múltiples limitaciones.

Para superar estas limitaciones, en 2007 Intel, AMD, Microsoft y los grandes
fabricantes de PCs, acordaron promover la nueva especificación Unified
Extensible Firmware Interface (UEFI). La gran mayoría de las computadoras que
se venden hoy en día utilizan UEFI en lugar del BIOS tradicional, aunque suelen
añadir un modo de compatibilidad con ellos para permitir el uso de software o
hardware que podría no ser totalmente compatible con UEFI.

4. Tipos de medios de
almacenamiento
(Memoria externa)
Se los conoce como memorias
secundarias (unidad de discos
magnéticos, Lecto-grabadora de DVD,
Blu-ray, unidades de estado sólido,
entre otros). Estos dispositivos se

1
Software alojado en memorias no volátiles como ROM / EPROM / Flash.
Página 11 de 13
SISTEMAS OPERATIVOS I
UNIDAD 1 – SEMANA 4
pueden encontrar físicamente dentro o fuera de la computadora. Las unidades de
almacenamiento se entienden como aquellas que permiten almacenar de forma
permanente los datos o programas para ser utilizados en el momento adecuado y
poder ser modificados, vueltos a guardar y recuperados cuando sea necesario. Son
por tanto dispositivos que guardan permanentemente la información en ausencia
de alimentación, siendo muchos de ellos capaces de ser transportables, es decir,
poder llevarse la información a otro equipo o guardarla como copia de seguridad.

Es muy importante tener en cuenta la diferencia entre el dispositivo o unidad de


almacenamiento y el medio o soporte de almacenamiento donde se guardarán
realmente los datos.

Por ejemplo: el HDD es el dispositivo o unidad llamada “disco rígido”. Pero el medio o
soporte donde se guardan los datos son los platos magnéticos.

Posteriormente, profundizaremos en el tema de medios de almacenamiento.

6. Síntesis del módulo


La memoria juega un rol esencial en el funcionamiento de una computadora, ya
que los programas deben cargarse en la memoria principal (RAM) para su
ejecución. El procesador es el encargado de ejecutar secuencialmente las
instrucciones que obtiene directamente de esta memoria principal.

Existen diversos tipos de memoria, caracterizados principalmente por su


capacidad, velocidad (o tiempo de acceso) y costo por bit.

El método de acceso es otra característica distintiva, clasificándose en: secuencial,


directo y aleatorio.

Según su ubicación dentro del sistema, podemos distinguir las siguientes


categorías:

Página 12 de 13
SISTEMAS OPERATIVOS I
UNIDAD 1 – SEMANA 4
●​ Memoria dentro del chip del procesador: Aquí se encuentran los registros y
uno o varios niveles de memoria caché.
●​ Memoria interna (o principal): Localizada físicamente en la placa base,
corresponde a la memoria RAM del sistema. Adicionalmente, puede incluir
uno o varios niveles de memoria caché. También se incluye en esta
categoría la memoria ROM, cuya función actualmente está cubierta por
memorias de tipo flash, que ofrecen la ventaja de ser reescribibles.
●​ Memoria externa (o secundaria): Constituida por dispositivos de
almacenamiento secundario, como unidades de discos magnéticos, ssd,
lecto-grabadoras de DVD, Blu-ray, entre otros. Estos dispositivos pueden
estar ubicados tanto dentro como fuera de la computadora y se denominan
memoria secundaria o de almacenamiento. Un caso especial es el sistema
RAID (Redundant Array of Independent Disks o Conjunto Redundante de
Discos Independientes), que consiste en un conjunto de discos que el
sistema operativo reconoce como una única unidad lógica.

Página 13 de 13
SISTEMAS OPERATIVOS I
UNIDAD 1 – SEMANA 4
Facultad de Defensa Nacional
Carrera: Lic. en Ciberdefensa

Materia
Sistemas Operativos I

Unidad 2 / Semana 5

Año: 2025

Página 1 de 18
CONTENIDOS

Sistemas operativos: clasificación, tipos y estructura. Interfaz de usuario. Evolución


histórica de los sistemas operativos.
ÍNDICE

1. INTRODUCCIÓN​ 3
1.1 LOS SISTEMAS OPERATIVOS​ 3
1.2 RELACIÓN DEL SISTEMA OPERATIVO CON EL HARDWARE Y EL USUARIO​ 3
1.2.1 ADMINISTRACIÓN DE RECURSOS EN SISTEMAS OPERATIVOS​ 4
[Link] MULTIPLEXACIÓN EN EL TIEMPO​ 4
ANALOGÍA PARA COMPRENDER LA MULTIPLEXACIÓN​ 4
1.3 EJEMPLOS​ 4
1.4 OBJETIVOS DE UN SISTEMA OPERATIVO​ 5
1.5 FUNCIONES DEL SISTEMA OPERATIVO​ 5
1.6 INTERFACES DE USUARIO​ 6
2. CLASIFICACIÓN DE LOS SISTEMAS OPERATIVOS​ 6
2.1 SEGÚN SU ESTRUCTURA​ 7
2.1.1 MONOLÍTICOS​ 7
2.1.2 SISTEMAS JERÁRQUICOS O DE CAPAS​ 7
2.1.3 MICROKERNELS​ 8
2.1.4 CLIENTE / SERVIDOR​ 9
2.1.4 MÁQUINAS VIRTUALES​ 9
2.1.5 EXOKERNEL​ 10
2.2 SEGÚN LOS SERVICIOS QUE OFRECEN​ 10
2.2.1 MONOUSUARIOS​ 11
2.2.2 MULTIUSUARIOS​ 11
2.2.3 MONOTAREAS​ 11
2.2.4 MULTITAREAS​ 11
2.2.5 UNIPROCESO​ 12
2.2.6 MULTIPROCESO​ 12
[Link] SIMÉTRICO​ 12
[Link] ASIMÉTRICO​ 12
2.3 SEGÚN LA FORMA EN QUE ENTREGA SUS SERVICIOS​ 12
2.3.1 SISTEMAS OPERATIVOS DE RED​ 12
2.3.2 SISTEMAS OPERATIVOS DISTRIBUÍDOS​ 13
2.4 SEGÚN LA INTERACCIÓN CON EL SISTEMA​ 13
2.4.1 SISTEMAS BATCH O POR LOTES​ 13
2.4.2 SISTEMAS INTERACTIVOS O TIME SHARING​ 14
2.4.3 SISTEMAS OPERATIVOS DE TIEMPO REAL (RTOS)​ 15
[Link] RTOS DE TIEMPO REAL DURO​ 15
[Link] RTOS DE TIEMPO REAL SUAVE​ 16
2.5 TIPOS DE SISTEMAS OPERATIVOS​ 16
2.5.1 MAINFRAME​ 16
2.5.2 SERVIDORES​ 16
2.5.3 MÚLTIPLES PROCESADORES / PARALELO​ 16
2.5.4 COMPUTADORAS PERSONALES​ 16
2.5.5 COMPUTADORAS DE BOLSILLO​ 17
2.5.6 EMBEBIDOS O INTEGRADOS​ 17
2.5.7 SENSORES​ 17
2.5.8 SISTEMAS OPERATIVOS DE TIEMPO REAL​ 17
Página 2 de 18
SISTEMAS OPERATIVOS I
UNIDAD 2 – SEMANA 5
2.5.9 SISTEMAS OPERATIVOS DE TARJETAS INTELIGENTES​ 17
3. EVOLUCIÓN HISTÓRICA DE LOS SISTEMAS OPERATIVOS​ 17
4. SÍNTESIS DEL MÓDULO​ 18

1. Introducción
Comenzaremos definiendo qué es un sistema operativo, así como sus objetivos y
funciones. También exploraremos las diferentes clasificaciones, su evolución
histórica, relacionándola directamente con los avances en el hardware que
hicieron posible la creación de sistemas operativos con capacidades cada vez más
avanzadas. Este enfoque nos permitirá no solo comprender por qué surgieron
ciertas características y patrones de diseño, sino también cómo los sistemas
existentes se han adaptado a entornos en constante cambio.

Se destacarán las características más relevantes de los sistemas operativos


modernos y se presentarán conceptos fundamentales, con el objetivo de clarificar
las relaciones entre las distintas funciones de un sistema operativo.

Además, introduciremos conceptos clave para entender cómo funcionan los


sistemas operativos, tales como monoprogramación, multiprogramación,
multiprocesamiento y procesamiento distribuido.

Finalmente, cerraremos esta primera clase describiendo los principales logros


alcanzados por los sistemas operativos modernos.

1.1 Los sistemas operativos


Un sistema operativo está constituido por un conjunto de programas que actúan
como intermediarios entre el usuario y el hardware del sistema informático.
Además, controla la ejecución de los programas de aplicación proporcionando un
entorno para su ejecución. Estos programas utilizan las facilidades que brinda el
sistema operativo para acceder a recursos del sistema informático como el
procesador, la memoria disponible, archivos y dispositivos de E/S. De esta manera,
el sistema operativo constituye la base sobre la que se escriben los programas de
aplicación.

En otras palabras, un sistema operativo es el conjunto de programas encargados


de administrar los recursos de un sistema de cómputo, tales como la CPU,
memoria y los dispositivos de Entrada y Salida (E/S) a fin de satisfacer los
requerimientos de los usuarios.

1.2 Relación del sistema operativo con el hardware y el


usuario
El sistema operativo se relaciona directamente con el hardware del sistema
informático y sirve de plataforma para la ejecución de los programas de
aplicación. En la figura se muestra el nivel que ocupa en un sistema informático:

Página 3 de 18
SISTEMAS OPERATIVOS I
UNIDAD 2 – SEMANA 5
En el sistema operativo se encuentra una capa de software que permite
relacionarse directamente con el hardware (capa inferior o kernel) y, por otra
parte, otra que permite instalar y ejecutar aplicaciones (capa superior).

El kernel o núcleo del sistema operativo es el componente fundamental y se


encarga de gestionar (compartir) los principales recursos del sistema como
procesador, memoria principal, etc.

1.2.1 Administración de recursos en sistemas operativos


La administración de recursos en un sistema operativo se basa en la
multiplexación, que es una técnica para compartir recursos de manera eficiente.
Esta multiplexación puede ocurrir de dos maneras: en el tiempo y en el espacio.

[Link] Multiplexación en el tiempo

Cuando un recurso es indivisible y no puede ser compartido simultáneamente, se


multiplexa en el tiempo, permitiendo que diferentes programas o usuarios lo
utilicen por turnos.

Por ejemplo, en un sistema con una sola CPU y múltiples programas en ejecución,
el sistema operativo asigna la CPU a un programa durante un período
determinado. Luego, cambia la asignación a otro programa y repite el proceso.

[Link] Multiplexación en el espacio

Por el contrario, cuando un recurso es divisible o fraccionable, se multiplexa en el


espacio, lo que significa que varios programas o usuarios pueden utilizarlo
simultáneamente, pero asignándose porciones independientes del recurso.

A diferencia de la multiplexación en el tiempo, aquí no hay turnos, sino una


distribución física del recurso entre los diferentes programas. Ejemplo:
Multiplexación de la memoria RAM o del almacenamiento en disco.

[Link] Analogía para comprender la multiplexación

Para visualizar mejor este concepto, podemos utilizar dos ejemplos cotidianos:
una bicicleta y una pizza.

•​ Bicicleta (Multiplexación en el tiempo): No podemos dividir una bicicleta a la


mitad sin inutilizarla, por lo que la mejor solución es asignar intervalos de tiempo
de uso entre los usuarios.

•​ Pizza (Multiplexación en el espacio): Al ser divisible, basta con cortarla en


porciones y distribuirlas entre varias personas, permitiendo el consumo
simultáneo sin necesidad de esperar turnos.
Página 4 de 18
SISTEMAS OPERATIVOS I
UNIDAD 2 – SEMANA 5
1.3 Ejemplos
Son algunos ejemplos de sistemas operativos:

●​ CP/M
●​ Unix
●​ MS-DOS
●​ OS/2
●​ GNU/Linux
●​ FreeBSD
●​ Microsoft Windows
●​ Macintosh OS
●​ Android

1.4 Objetivos de un sistema operativo


Según Stallings1, puede considerarse que un sistema operativo tiene tres objetivos:​

A.​ Comodidad: ​debe permitir que un sistema informático sea más fácil de utilizar.
B.​ Eficiencia: ​ debe permitir una administración eficiente de los recursos del sistema
informático.
C.​ Capacidad de evolución: ​debe permitir su evolución en el tiempo debido a
actualizaciones del hardware, nuevos tipos de hardware o la necesidad de dar ​
respuesta a las necesidades de nuevos servicios por parte de los usuarios.

1.5 Funciones del sistema operativo


Algunas de las funciones básicas son:

●​ Administrar los recursos. Un sistema computacional dispone de múltiples


recursos, como memoria, almacenamiento y tiempo de procesamiento,
entre otros. Los procesos que se ejecutan dentro de este sistema compiten
por dichos recursos, lo que requiere una gestión eficiente para garantizar un
funcionamiento óptimo. El sistema operativo desempeña un papel
fundamental en esta tarea, implementando políticas que asignan los
recursos de manera efectiva y en función de las necesidades específicas del
sistema.
●​ Proporcionar una interfaz con el usuario. El sistema operativo facilita la
interacción entre el usuario y el hardware del dispositivo, ofreciendo

1
Stallings, William (2005), Sistemas operativos. Aspectos internos y principios de diseño, ​Quinta edición, pág.
54.

Página 5 de 18
SISTEMAS OPERATIVOS I
UNIDAD 2 – SEMANA 5
entornos gráficos o de línea de comandos que permiten ejecutar
programas, administrar archivos y configurar el sistema de manera intuitiva.
●​ Gestionar los procesos, para que los programas puedan ejecutarse de
manera correcta.
●​ Administrar y controlar los dispositivos externos, por ejemplo: micrófonos,
altavoces, impresoras o el monitor.
●​ Gestionar el sistema de archivos.
●​ Garantizar la seguridad del sistema informático, impidiendo el acceso a
ciertos archivos o programas para el correcto funcionamiento del equipo.
●​ Detectar errores y mantener la operatividad.

Es importante comprender que las funciones del sistema operativo están


enfocadas en regular y gestionar la ejecución de cada aplicación, programa y
recurso del sistema informático.

1.6 Interfaces de usuario


La interfaz de usuario, IU (del inglés User Interface, UI) es el medio por el cual las
personas nos comunicamos con las máquinas. Esta interacción está mediada por
controles y comandos, nos permite utilizar dispositivos como smartphones,
computadoras, cajeros automáticos o vehículos.

Según la forma de interactuar del usuario existen diferentes tipos de interfaces de


usuario. Entre ellas:

●​ Interfaz de línea de comandos (del inglés Command-Line Interface, CLI):


Este tipo de interfaz sólo permite el uso de texto. El usuario deberá escribir
comandos que interactúen con el sistema operativo o software de
aplicación de un equipo.
●​ Interfaces gráficas de usuario (del inglés Graphic User Interface, GUI): Es
una evolución de la línea de comandos que permite al usuario comunicarse
con la computadora o dispositivo de forma rápida e intuitiva, normalmente
con el ratón a través de ventanas y botones, representando gráficamente
todos los elementos de control y medida necesarios para la comunicación
usuario/computadora.

Actividad S5-A1

Realice la actividad identificada como S5-A1 en la sección de


actividades del campus. Verá ejemplos históricos de interfaces de
usuario de sistemas operativos y preguntas guía para investigar y
profundizar el tema.

Página 6 de 18
SISTEMAS OPERATIVOS I
UNIDAD 2 – SEMANA 5
2. Clasificación de los sistemas operativos
Los sistemas operativos pueden clasificarse usando diferentes criterios, según su
estructura interna, los servicios que ofrecen, la forma en que proporcionan dichos
servicios y la forma de interacción con estos sistemas entre otros.

Esta clasificación permite entender su arquitectura y funcionalidad en distintos


entornos computacionales.

2.1 Según su estructura


2.1.1 Monolíticos
Los sistemas operativos monolíticos están compuestos por un único programa
con múltiples rutinas interconectadas. Aunque ofrecen eficiencia en ejecución,
presentan problemas de modularidad y seguridad debido a la falta de aislamiento
entre componentes. Sin embargo se pueden organizar en su desarrollo de forma
tal que tenga una estructura básica que facilite su comprensión y mantenimiento.

Ejemplos clásicos incluyen MS-DOS y versiones tempranas de Unix, donde el


núcleo del sistema operativo contenía todas las funciones esenciales sin
separación clara entre módulos.

Un modelo de estructuración simple para un sistema monolítico2


2
Tanenbaum, Andrew S. (2009). Sistemas Operativos Modernos. 3era edición. Pearson Educación, México
Página 7 de 18
SISTEMAS OPERATIVOS I
UNIDAD 2 – SEMANA 5
2.1.2 Sistemas Jerárquicos o de capas
La evolución de los sistemas operativos llevó a la organización en niveles, donde
cada capa tiene una función específica.

El primer ejemplo de esta estructura fue el sistema THE (1968, [Link])


construido en Holanda en el Technische Hogeschool Eindhoven, de ahí su
nombre.

Otros ejemplos incluyen Multics y Unix, que implementan una arquitectura


multicapa para mejorar la modularidad y seguridad.

Los sistemas operativos modernos, como Linux, han adoptado una estructura
modular que permite la carga dinámica de componentes, mejorando la
estabilidad y flexibilidad.

Estructura del sistema operativo THE3

2.1.3 Microkernels
Los microkernels han ganado relevancia debido a su diseño modular, donde sólo
las funciones esenciales residen en el núcleo, mientras que los servicios
adicionales se ejecutan en espacio de usuario. Esto genera una mayor estabilidad
al sistema, limitando que una falla menor, por ejemplo en un driver, no detenga al
sistema completo.

Ejemplos clásicos de esta estructura son Minix 3, Symbian y más modernos


incluyen seL4, Fuchsia y QNX, que ofrecen mayor seguridad y estabilidad.

Los microkernels modernos han mejorado la comunicación entre procesos


mediante técnicas avanzadas de Inter-Process Communication (IPC), reduciendo
la latencia y mejorando la eficiencia en sistemas embebidos y de tiempo real.

3
Tanenbaum, Andrew S. (2009). Sistemas Operativos Modernos. 3era edición. Pearson Educación, México
Página 8 de 18
SISTEMAS OPERATIVOS I
UNIDAD 2 – SEMANA 5
Estructura del sistema MINIX 34

2.1.4 Cliente / Servidor


El modelo cliente / servidor es una ligera variación del concepto de microkernel
diferenciando dos clases de procesos, los servidores, que proveen cierto servicio y
los clientes, que los consumen o utilizan. La comunicación entre ambos es a través
de mensajes.

Una generalización de esta idea es que los clientes y los servidores pudieran estar
en distintas computadoras, conectadas a través de una red local o internet, como
es el caso del acceso de una computadora personal a un sitio en Internet.

Modelo cliente / servidor sobre una red de computadoras5

2.1.4 Máquinas virtuales


Los sistemas operativos de máquina virtual permiten la ejecución simultánea de
múltiples instancias de sistemas operativos sobre un mismo hardware físico,
proporcionando una abstracción completa del entorno subyacente. Estas
instancias virtualizadas pueden replicar el sistema operativo anfitrión o ejecutar
sistemas operativos distintos, dependiendo de la configuración y los
requerimientos del usuario.

4
Tanenbaum, Andrew S. (2009). Sistemas Operativos Modernos. 3era edición. Pearson Educación, México
5
Tanenbaum, Andrew S. (2009). Sistemas Operativos Modernos. 3era edición. Pearson Educación, México
Página 9 de 18
SISTEMAS OPERATIVOS I
UNIDAD 2 – SEMANA 5
En este contexto, cada máquina virtual (VM) opera de manera independiente, con
su propio sistema de gestión de recursos, procesador virtual, memoria asignada y
almacenamiento virtualizado. Para el software que se ejecuta dentro de cada
máquina virtual, el entorno es indistinguible de una máquina física real, lo que
permite la ejecución de aplicaciones sin modificaciones y con total
compatibilidad.

Esta tecnología no es nueva, IBM ya la usaba hace más de 40 años en su modelo


VM/370 en 1979. El corazón del sistema era su monitor de máquina virtual, quien
proporcionaba las máquinas virtuales, aunque en esa época todas eran réplicas
del hardware real.

Estructura de la IBM VM/370 con CMS6

En los últimos años se produjo un redescubrimiento de la tecnología de


virtualización, donde empresas como Sun Microsystems y HP incluyeron a esta
tecnología dentro de la línea de sus productos de servidores.

Luego, la tecnología de virtualización ha avanzado significativamente, hasta el


punto en que cualquier usuario puede crear y gestionar máquinas virtuales en su
computadora personal con facilidad. Este desarrollo ha facilitado el acceso a
entornos virtualizados, permitiendo la ejecución de múltiples sistemas operativos
sin necesidad de hardware adicional dedicado.

Más recientemente, la virtualización ha evolucionado hacia una arquitectura más


ligera con el uso de contenedores, como Docker y Kubernetes. Estas tecnologías
permiten la ejecución de aplicaciones en entornos completamente aislados, sin
necesidad de virtualizar un sistema operativo completo, optimizando el uso de
recursos y mejorando la escalabilidad en entornos de desarrollo y producción.

2.1.5 Exokernel
Un exokernel es un tipo de arquitectura de sistema operativo que minimiza las
abstracciones impuestas por el núcleo del SO, permitiendo que las aplicaciones
accedan directamente al hardware con el menor nivel de intervención posible, a
diferencia de las máquinas virtuales que proporcionan servicios como gestión de
memoria o sistemas de archivos, el exokernel simplemente multiplexa los
recursos físicos y deja que las aplicaciones o bibliotecas definan sus propias
abstracciones.

2.2 Según los servicios que ofrecen


Esta clasificación es la más comúnmente usada y conocida desde el punto de
vista del usuario final.

6
Tanenbaum, Andrew S. (2009). Sistemas Operativos Modernos. 3era edición. Pearson Educación, México
Página 10 de 18
SISTEMAS OPERATIVOS I
UNIDAD 2 – SEMANA 5
Se puede comprender fácilmente con el cuadro sinóptico que a continuación se
muestra:

2.2.1 Monousuarios
Los sistemas operativos monousuarios son aquéllos que soportan a un usuario a la
vez, sin importar el número de procesadores que tenga la computadora o el
número de procesos o tareas que el usuario pueda ejecutar en un mismo instante
de tiempo. Las computadoras personales típicamente se han clasificado en este
renglón.

2.2.2 Multiusuarios
Los sistemas operativos multiusuarios son capaces de dar servicio a más de un
usuario a la vez, ya sea por medio de varias terminales conectadas a la
computadora central o por medio de sesiones remotas en una red de
comunicaciones. No importa el número de procesadores en la máquina ni el
número de procesos que cada usuario puede ejecutar simultáneamente.

2.2.3 Monotareas
Los sistemas monotarea son aquellos que sólo permiten una tarea a la vez por
usuario. Puede darse el caso de un sistema multiusuario y monotarea, en el cual
se admiten varios usuarios al mismo tiempo pero cada uno de ellos puede estar
haciendo solo una tarea a la vez.

2.2.4 Multitareas
Un sistema operativo multitarea es aquél que le permite al usuario estar
realizando varias labores al mismo tiempo. Por ejemplo, puede estar editando un
documento mientras actualiza una planilla de cálculo y a la vez que está
recibiendo correo electrónico en un proceso en background. Es común encontrar
Página 11 de 18
SISTEMAS OPERATIVOS I
UNIDAD 2 – SEMANA 5
en ellos interfaces gráficas orientadas al uso de menús, mouse o pantalla táctil
para facilitar el rápido intercambio entre las tareas para el usuario, mejorando su
productividad.

2.2.5 Uniproceso
Un sistema operativo uniproceso es aquél que es capaz de manejar solamente un
procesador de la computadora, de manera que si la computadora tuviese más de
uno no podría utilizarlo de ninguna forma. El ejemplo más típico de este tipo de
sistemas es el MS-DOS y versiones antiguas de MacOS.

2.2.6 Multiproceso
Es un sistema operativo capaz de gestionar múltiples procesadores, distribuyendo
la carga de trabajo entre ellos para mejorar el rendimiento del sistema.

Existen aplicaciones que fueron hechas para correr en sistemas monoproceso que
no toman ninguna ventaja a menos que el sistema operativo o el compilador
detecte secciones de código paralelizable, los cuales son ejecutados al mismo
tiempo en procesadores diferentes.

Por otro lado, el programador puede tomar en cuenta esta ventaja y aprovecharla
incorporando en sus programas esta capacidad, que debe estar disponible
previamente en el lenguaje de programación utilizado, ejemplo C, C++, Python
etc.

Generalmente estos sistemas trabajan de dos formas: simétrica o asimétrica.

[Link] Simétrico
Cuando el sistema trabaja de manera simétrica, los procesos o partes de ellos
(threads) son enviados indistintamente a cualquiera de los procesadores
disponibles, teniendo, teóricamente, una mejor distribución y equilibrio en la
carga de trabajo bajo este esquema.

[Link] Asimétrico
Cuando se trabaja de manera asimétrica, el sistema operativo selecciona a uno de
los procesadores el cual jugará el papel de procesador maestro y servirá como
pivote para distribuir la carga a los demás procesadores, que reciben el nombre de
esclavos (master / slave).

2.3 Según la forma en que entrega sus servicios


2.3.1 Sistemas operativos de red
Los sistemas operativos de red están diseñados para facilitar la comunicación y la
interacción entre los sistemas operativos de múltiples computadoras
independientes, permitiendo la transferencia de información, el intercambio de
archivos, la ejecución de comandos remotos y una amplia variedad de
operaciones distribuidas. Estos sistemas son fundamentales en entornos
colaborativos y empresariales, donde varios usuarios requieren acceso simultáneo
a recursos compartidos.

Página 12 de 18
SISTEMAS OPERATIVOS I
UNIDAD 2 – SEMANA 5
Actualmente, los sistemas operativos de red cuentan con herramientas y
protocolos avanzados como SSH, FTP, NFS y SMB entre otros, que simplifican la
gestión de recursos compartidos y mejoran la seguridad en la comunicación entre
estos dispositivos.

Ejemplos: windows server, linux, Unix, Novell netware (fue uno de los primeros
sistemas operativos de red, muy popular en los años 90, ahora en desuso).

2.3.2 Sistemas operativos distribuídos


Los sistemas operativos distribuidos son aquellos que gestionan múltiples
computadoras interconectadas, permitiendo que trabajen como una única
entidad lógica. Optimizan el uso de los recursos compartidos, mejoran la
tolerancia a fallos y facilitan la ejecución de procesos en paralelo, facilitando el
acceso a recursos remotos como si fueran locales en forma transparente.

Ejemplos: Google Fuschia, Amoeba, Plan 9.

2.4 Según la interacción con el sistema


2.4.1 Sistemas Batch o por Lotes
Los sistemas batch o por lotes en su modalidad exclusiva por lotes, fueron de los
primeros en ser utilizados en la historia. En estos sistemas el procesamiento de los
trabajos se ejecuta de manera secuencial, sin intervención directa del usuario. Se
utilizan principalmente para procesar grandes volúmenes de datos de manera
automatizada, optimizando el uso de recursos computacionales. ​
Los grandes sistemas actuales aún conservan esa modalidad (ya no exclusiva) de
trabajo para procesar grandes volúmenes de datos, normalmente en horarios
nocturnos.

Ejemplo: IBM OS/360 de IBM, VAX/VMS de Digital Equipment Corp. en su


modalidad batch, AOS/VS de Data General en modalidad batch.

Página 13 de 18
SISTEMAS OPERATIVOS I
UNIDAD 2 – SEMANA 5
2.4.2 Sistemas Interactivos o time sharing
Con la llegada de los monitores y las terminales, surgieron los sistemas operativos
interactivos y de tiempo compartido (time-sharing). Estos sistemas fueron
diseñados para permitir que múltiples usuarios o procesos accedan
simultáneamente a los recursos de una computadora de manera eficiente,
maximizando el uso del procesador y la capacidad del sistema.

El modelo de conexión se basa en la interacción de varios usuarios mediante sus


terminales, las cuales están conectadas a una computadora central que gestiona
las solicitudes y distribuye el tiempo de procesamiento equitativamente. Este
esquema permitió una mejor utilización de los recursos computacionales, dando
lugar a entornos multiusuario en los que cada usuario percibe que tiene control
exclusivo sobre el sistema, aunque en realidad se comparte entre varios procesos.

Ejemplos: Unix, Linux, Solaris, IBM z/OS, AOS/VS de Data General en modalidad
interactiva, Bull GCOS7

Página 14 de 18
SISTEMAS OPERATIVOS I
UNIDAD 2 – SEMANA 5
2.4.3 Sistemas operativos de tiempo real (RTOS)
Los sistemas operativos de propósito general (GPOS, General-Purpose Operating
System) pueden operar en modalidad batch (por lotes) o de forma interactiva,
cuando permiten la interacción directa con el usuario. Sin embargo, su diseño no
es adecuado para la gestión de procesos críticos, ni para la interacción eficiente
con máquinas y sensores, como ocurre en el control de procesos industriales.

En estos entornos, la ejecución de tareas no depende de un usuario, sino de


dispositivos y sistemas que se comunican a velocidades y niveles de precisión
mucho mayores. La respuesta del sistema debe generarse dentro de un tiempo
predefinido, con mínimas variaciones, ya que cualquier retraso o inconsistencia
puede comprometer la operación y la seguridad del proceso.

Para abordar estos desafíos, se desarrollaron los sistemas operativos de tiempo


real (RTOS, Real-Time Operating System), diseñados específicamente para
garantizar tiempos de respuesta predecibles, permitiendo la ejecución precisa de
tareas en automatización industrial, robótica, telecomunicaciones y otros sistemas
donde la determinación temporal es crítica.

Existen 2 categorías:

[Link] RTOS de tiempo real duro


Son sistemas operativos diseñados para garantizar que todas las tareas se
ejecuten dentro de un tiempo límite estricto, sin excepciones. En estos sistemas,
cualquier retraso en la ejecución de una tarea se considera un fallo crítico, ya que
pueden estar involucrados en aplicaciones donde la seguridad y la precisión son
fundamentales.

Ejemplo: Integrity, QNX, RTEMS usados en aeronautica, aplicaciones espaciales y


militares

Página 15 de 18
SISTEMAS OPERATIVOS I
UNIDAD 2 – SEMANA 5
[Link] RTOS de tiempo real suave
Estos sistemas priorizan la ejecución de tareas dentro de un tiempo determinado,
pero se admite cierta flexibilidad en los plazos. A diferencia de los RTOS de tiempo
real duro, donde cualquier retraso es inaceptable, en los RTOS suaves los tiempos
de respuesta pueden variar ligeramente sin afectar de manera crítica el
funcionamiento del sistema.

Ejemplo: FreeRTOS, QNX, TinyOS (usado en IoT).

2.5 Tipos de Sistemas Operativos


En su libro Sistemas Operativos Modernos, el autor Andrew Tanenbaum propone
una clasificación adicional de los sistemas operativos, tomando como criterio el
ambiente en el que se ejecutan. Esta categorización permite analizar los
diferentes tipos de sistemas según su aplicación y entorno operativo, facilitando
una mejor comprensión de sus características y funciones.

2.5.1 Mainframe
Un mainframe es una computadora de alto rendimiento y gran capacidad de
procesamiento y, sus sistemas operativos, están diseñados para manejar grandes
volúmenes de datos y múltiples procesos simultáneamente, principalmente en
centros de datos corporativos y/o gubernamentales.

2.5.2 Servidores
En el siguiente nivel hacia abajo se encuentran los sistemas operativos de
servidores. Se ejecutan en servidores, que son computadoras de gran capacidad
de procesamiento pero con otros objetivos diferentes de los mainframes. Dan
servicio a varios usuarios a la vez a través de una red y les permiten compartir los
recursos de hardware y de software. Los servidores pueden proporcionar diversos
servicios como: de impresión, de archivos o Web.

2.5.3 Múltiples procesadores / paralelo


El uso de múltiples CPU en un solo sistema se ha vuelto común para aumentar la
potencia de cómputo, formando computadoras en paralelo, multicomputadoras o
multiprocesadores. Estos requieren sistemas operativos especiales, generalmente
basados en versiones modificadas de sistemas operativos de servidores, con
optimizaciones para comunicación, conectividad y procesamiento en paralelo..

La llegada de los chips multinúcleo ha hecho que incluso los sistemas operativos
de computadoras personales deban adaptarse a la ejecución en
multiprocesadores. Aunque el conocimiento sobre estos sistemas está bien
desarrollado, el desafío sigue siendo optimizar las aplicaciones para aprovechar al
máximo su capacidad. Sistemas operativos como Windows y Linux ya están
diseñados para operar en entornos multiprocesador.

2.5.4 Computadoras personales


Los sistemas operativos de computadoras personales están diseñados para
proporcionar soporte eficiente a un solo usuario, permitiendo la ejecución de
múltiples programas simultáneamente mediante multiprogramación. Son
ampliamente utilizados en tareas como procesamiento de texto, hojas de cálculo
y acceso a Internet y son los que utilizamos a diario.

Página 16 de 18
SISTEMAS OPERATIVOS I
UNIDAD 2 – SEMANA 5
2.5.5 Computadoras de bolsillo
En este segmento teníamos los dispositivos conocidos como PDA (Personal
Digital Assistant) que se fusionaron con los teléfonos celulares y dieron paso a los
smartphones. Una característica distintiva es la interfaz que es gráfica y con una
pantalla táctil.

2.5.6 Embebidos o integrados


En este caso los sistemas operativos son adaptados o diseñados especialmente
para funcionar en algún dispositivo, por ejemplo un cajero automático.

2.5.7 Sensores
El uso de sensores se hace cada vez más más frecuente y se usan para distintos
fines. Estos sensores son pequeñas computadoras que tienen CPU, RAM y
conectividad normalmente inalámbrica para comunicarse y enviar los datos que
recolectan.

2.5.8 Sistemas operativos de tiempo real


Estos tipos de sistemas ya fueron mencionados anteriormente, no ahondaremos
en este tema en esta oportunidad.

2.5.9 Sistemas operativos de tarjetas inteligentes


Los sistemas operativos de tarjetas inteligentes son un tipo de software específico,
diseñado para gestionar la seguridad, el almacenamiento y la ejecución de
aplicaciones en tarjetas inteligentes. Estas tarjetas contienen un chip de CPU,
memoria y protocolos de comunicación, lo que les permite realizar funciones
como autenticación, pagos electrónicos y almacenamiento seguro de datos.

3. Evolución Histórica de los Sistemas Operativos


La historia de los sistemas operativos está estrechamente ligada a la evolución de
la informática, desde las primeras computadoras hasta los sistemas modernos de
alto rendimiento. En sus inicios, las computadoras no contaban con un sistema
operativo como lo conocemos hoy; cada programa debía comunicarse
directamente con el hardware, lo que hacía el proceso lento y complicado.

Actividad S5-A2

Realice la actividad indicada como S5-A2 en el campus.

Página 17 de 18
SISTEMAS OPERATIVOS I
UNIDAD 2 – SEMANA 5
4. Síntesis del módulo
Un sistema operativo es un conjunto de programas que actúan como
intermediarios entre el usuario y el hardware, facilitando la ejecución de
aplicaciones y administrando los recursos del sistema. Se explica la relación entre
el sistema operativo y el hardware, destacando la importancia del kernel o núcleo
que se encarga de la gestión de recursos críticos como la CPU y la memoria.

Se explica la técnica de multiplexación por tiempo o espacio como forma de


compartir en forma eficiente estos recursos.

Se abordan los objetivos y las funciones de los sistemas operativos.

Se vieron las principales clasificaciones abarcando diferentes criterios:

●​ Por su estructura: monolíticos, sistemas jerárquicos, microkernels,


cliente/servidor, máquinas virtuales y exokernel.
●​ Por los servicios que ofrecen: monousuarios, multiusuarios, monotareas,
multitareas, uniproceso y multiproceso (simétrico y asimétrico).
●​ Por la forma de entregar los servicios: sistemas operativos de red y
distribuidos.
●​ Por interacción: sistemas por lotes (Batch), interactivos (Time Sharing) y
sistemas de tiempo real (RTOS).

También se mencionan los tipos de sistemas operativos, una clasificación


adicional, incluyendo aquellos diseñados para mainframes, servidores,
computadoras personales, dispositivos embebidos, sensores y tarjetas
inteligentes.

Con la ayuda de un material adicional publicado en el campus, se aborda la


evolución histórica de los sistemas operativos para entender qué características
tenían en sus inicios y cómo fueron evolucionando en el tiempo y su relación con
el desarrollo de la industria del hardware.

Página 18 de 18
SISTEMAS OPERATIVOS I
UNIDAD 2 – SEMANA 5
Chapter 3. Historia de los sistemas
operativos
 Tiempo de lectura: 23 minutos

La historia de los sistemas operativos se puede dividir en cinco grandes etapas o generaciones,
obviamente conectadas con las generaciones de los ordenadores donde funcionaban.

3.1. 1ª Generación (1945-55)


En la primera generación de ordenadores no se utilizaban sistemas operativos.

Sus principales características son:

• Computadoras construidas con electrónica de válvulas de vacío.

• Sin sistema operativo.

• Sin lenguajes de programación. Se programaban directamente en lenguaje máquina.

Algunos ejemplos de ordenadores destacables fueron:

ENIAC (1945)
Se le considera el primer ordenador electrónico digital de propósito general, aunque existe
cierta polémica sobre este punto. Lo cierto es que se construyeron otros ordenadores antes que
este, pero o no eran de propósito general —como las famosas computadoras Colossus (1944), que
fueron diseñadas para ayudar en criptoanálisis— o no eran electrónicos sino electromecánicos
—como la computadora Z3 (1941), que usaba relés—.

No era un producto comercial sino un proyecto experimental de defensa que principalmente se


diseñó y utilizó para calcular tablas de tiro de artillería destinadas al Laboratorio de
Investigación Balística del Ejército de los Estados Unidos.

Z4 (1945) fue el primer ordenador digital comercial, pero era electro-mecánico.

IBM 701 (1953)


Fue el primer mainframe de la serie IBM 700, que a la larga se convertiría en un éxito de ventas.
Utilizaba tubos de vacío y tarjetas perforadas.

El IBM 7090 —versión transistorizada del 709, que utilizaba válvulas de vacío,
como todos los de la serie 700— y el posterior 7094, fueron usados por la NASA
 para los cálculos de control de las misiones de los programas espaciales Mercury y
Gemini y durante la primera etapa del programa Apolo.
3.2. 2ª Generación (1955-64)
En la segunda generación de ordenadores los transistores reemplazaron a las válvulas de vacío.

En lo que respecta a los sistemas operativos:

• Aparecen los monitores del sistema, que se pueden considerar un predecesor de los
sistemas operativos.

• Sistema de procesamiento por lotes.

• Se comienzan a utilizar lenguajes de programación, como: ensamblador, FORTRAN y


COBOL.

GM-NAA I/O (General Motors and North American Aviation Input/Output system) fue el primer
sistema operativo. Fue desarrollado por General Motors Research Laboratory en 1956 para el
mainframe IBM 704 con el fin de automatizar la carga y ejecución de un nuevo trabajo una vez
había terminado el anterior. Para su desarrollo se basaron en un monitor del sistema creado en
1955 por programadores de General Motors para el IBM 701.

Figura 8. Instalación de un mainframe IBM 702 — Fuente: Wikipedia

3.3. 3ª Generación (1965-1968)


En la tercera generación se comenzaron a utilizar los circuitos integrados, que fue una invención
de finales de la década de 1950.

En lo que respecta a los sistemas operativos:

• Aparecen los sistemas operativos multiprogramados.

• Aparecen más lenguajes de programación.

El ejemplo más destacado de esta época es el IBM OS/360 Fue un sistema operativo desarrollado por
IBM para su mainframe IBM System/360 (S/360) (véase la Figura 9). Su versión DOS/360 (Disk
Operating System/360) fue el primer sistema operativo en hacer los discos magnéticos un requisito
para poder operar.

Figura 9. Instalación de un mainframe IBM System/360 — Fuente: IBM

Se anunció en 1964, pero fue lanzado en 1966, con un año de retraso respecto a la fecha prevista
originalmente. Los motivos fundamentales fueron ciertos problemas de organización interna de la
compañía y la falta de experiencia en proyectos de esa envergadura. Las previsiones iniciales eran
de 1 millón de líneas de código y miles de componentes de software.

Algunos autores fechan los inicios de la ingeniería del software en la publicación


del libro «The Mythical Man-Month: Essays on Software Engineering», escrito por
 Frederick Brooks y publicado en 1975. Frederick Brooks se basó en la experiencia
adquirida mientras administraba el desarrollo del IBM OS/360, donde era jefe de
proyecto.

3.4. 4ª Generación (1965-1980)


La cuarta generación abarca desde mediados de los años 60 hasta finales de la década de los 70.
Respecto a los ordenadores, es el resultado del desarrollo de los microprocesadores.

En lo que respecta a los sistemas operativos:

• Aparecen los sistemas operativos de tiempo compartido.

• Aparecen los terminales, los programas interactivos y las máquinas virtuales.

A continuación veremos los ejemplos más representativos de esta época.


3.4.1. MULTICS

MULTICS fue anunciado en 1964, fruto de la colaboración entre el MIT, General Electrics y Bell Labs,
como el primer sistema operativo de propósito general.

Figura 10. Mainframe GE-6180 con sistema MULTICS, en torno a 1976 en el MIT — Fuente: Multicians

Fue el primer sistema operativo en proporcionar un sistema de archivos jerárquico, intérprete de


comandos implementado como programa de usuario, listas de control de acceso individuales para
cada archivo y enlazado dinámico, entre otras características novedosas.

Además experimentó con eliminar la separación entre el espacio de direcciones de los procesos y
los archivos. Es decir, como si los archivos estuvieran mapeados en memoria, permitiendo a los
procesos acceder al contenido de los archivos directamente, sin tener que ordenar manualmente
operaciones de lectura desde el disco a la memoria (véase el Apartado 17.3).

3.4.2. VM/CMS

VM/CMS es un sistema de IBM utilizado en los mainframes IBM System/360, System/370, System/390
y zSeries. VM es un hipervisor que se encarga de virtualizar el hardware para crear múltiples
máquinas virtuales, dando la sensación de que cada una es un mainframe independiente.

Como sistema operativo de las máquinas virtuales, una opción común es CMS, un sistema
interactivo y monousuario muy ligero, diseñado para operar fundamentalmente en una máquina
virtual de VM. Gracias a VM/CMS, cada usuario tiene la sensación de trabajar en un sistema
completamente independiente y seguro.

El desarrollo de VM/CMS comenzó en 1965 y la primera versión estuvo disponible a primeros de


1966. Las versiones actuales se denominan IBM z/VM.

3.4.3. UNIX

UNIX fue desarrollado originalmente por Bell Labs en 1970 para los sistemas PDP-11/20 (véase la
Figura 11). La autoría de este se le atribuye a un grupo de programadores, liderados por Ken
Thompson, que decidieron rehacer el trabajo de MULTICS, pero a menor escala, después de que Bell
Labs abandonara el proyecto MULTICS en 1969. Inicialmente se llamó UNICS y fue desarrollado
para los sistemas PDP-7 —una minicomputadora de la serie PDP de Digital Equipment Corporation
(DEC)—.

Figura 11. Dennis Ritchie (de pie) y Ken Thompson (sentado) frente a un PDP-11 y sus dos terminales
Teletype 33 — Fuente: Dennis Ritchie

Los sistemas UNIX se caracterizan por ofrecer un gran número de pequeñas herramientas
especializadas diseñadas para trabajar unidas —a través de la línea de comandos usando
tuberías— y por usar la E/S salida de archivos como modelo universal de E/S. Es decir, que los
dispositivos, ciertos mecanismos de comunicación entre procesos y hasta algunos aspectos de la
configuración e información del sistema son gestionados como archivos.

La primera versión de UNIX fue implementada en ensamblador, como era común en la época.
Posteriormente, Dennis Ritchie y Brian Kernighan diseñaron un nuevo lenguaje de programación
llamado «C», especialmente pensado para que UNIX fuera escrito con él. Eso facilitó que UNIX
pudiera ser portado a ordenadores diferentes. Además, gracias al lenguaje C, el código era más
conciso y compacto, lo que se tradujo en que se pudieron desarrollar nuevas funcionalidades más
rápidamente.

AT&T, la compañía matriz de Bell Labs, no podía competir en la industria de los ordenadores, por lo
que puso el código fuente de UNIX a disposición de universidades, compañías privadas y del
gobierno de los Estados Unidos. Eso aumentó su difusión y dio resultados inesperados. Por ejemplo,
una de las variantes más importantes de UNIX fue BSD, desarrollada por la Universidad de
California en Berkeley.

La versión 4.2BSD (Berkeley Software Distribution) de esta variante de UNIX fue la


primera que incluyó la interfaz de sockets para facilitar la comunicación entre
procesos a través de Internet y otras redes. Esta interfaz se ha convertido en
estándar en prácticamente cualquier sistema operativo.
 También implementó y ayudó a difundir el estándar de comunicaciones TCP/IP,
base de la actual Internet. Muchos sistemas operativos actuales, tanto libres como
privativos, utilizan código de UNIX BSD en sus implementaciones de los protocolos
TCP/IP y de diversas utilidades de red.

Familias

Los sistemas UNIX siguieron evolucionando hasta adaptarse a la 5ª generación de sistemas, la de los
sistemas de escritorio y los ordenadores personales. En la actualidad se considera que hay dos
grandes familias de UNIX y las distintas variantes pertenecen a una u otra en función del UNIX del
que derivaron originalmente:

• La familia derivada de AT&T UNIX System V, en la que se incluyen sistemas operativos no


libres, tales como: SCO OpenServer, Oracle/Sun Microsystems Solaris Operating Environment y
SCO UnixWare.

• La familia derivada de UNIX BSD, en la que se incluyen sistemas libres como: FreeBSD, NetBSD,
OpenBSD, Darwin y DragonFly BSD, entre muchos otros.

FreeBSD es el sistema base de algunos sistemas no libres. Por ejemplo, Darwin es


el sistema operativo en el que se basan los sistemas operativos de Apple: macOS,
IOS, watchOS, tvOS e iPadOS. A su vez Darwin utiliza múltiples elementos de
 FreeBSD (véase el Apartado 3.5.8).

Otro ejemplo destacable es Orbis OS —el sistema operativo de PlayStation 4— que


también está basado en FreeBSD.

Estandarización

En 1988 el IEEE publicó el primer estándar POSIX, un intento de crear un estandarizar mínimo de
las características que debería soportar cualquier sistema operativo. Este estándar se basó en las
características de las principales variantes de UNIX en el momento.

A principios de los 90, como las distintas variantes de UNIX estaban divergiendo —haciendo muy
difícil desarrollar programas compatibles con todas ellas— se inició un esfuerzo para desarrollar
una especificación común; de tal forma que solo aquellas variantes que la cumplieran pudieran
denominarse como «UNIX». En 1994 se publicó la Single UNIX Specification (SUR), gestionada por
The Open Group.

En 1998, las organizaciones IEEE, The Open Group y la International Organization for
Standardization (ISO) comenzaron a trabajar en una nueva especificación que integrara POSIX y
SUR. En 2002 se publicó como la «Single UNIX Specification, Version 3», cuya base es idéntica al
estándar POSIX.1-2001 IEEE. Los sistemas operativos certificados por su cumplimiento reciben la
marca «UNIX 03», como es el caso de macOS. Pero hay que tener en cuenta que la mayoría de los
sistemas basados en UNIX BSD y Linux no han pasado nunca por el proceso de certificación, por lo
que no pueden usar la marca UNIX, aunque cumplan con el estándar POSIX, que es la base de la
especificación SUR.

Desde 2002 se han publicado otras versiones de SUR, siempre sobre la base de nuevas versiones de
la especificación POSIX.

Sucesores

Sistemas UNIX y estilo UNIX hay muchos, pero Plan 9 —también de Bell Labs— fue desarrollado
para llevar los conceptos de UNIX un poco más lejos, sustituyendo a UNIX en Bell Labs como
plataforma principal de investigación en sistemas operativos.

Plan 9 es un sistema operativo distribuido, diseñado para que una red heterogénea de ordenadores
separados geográficamente funcionara como un único sistema informático. En Plan 9, cada proceso
tiene su propia vista del sistema de archivos, a través de la cual los procesos pueden acceder a
distintos recursos o comunicarse con otros procesos. Es decir, Plan 9 generalizó el modelo universal
de E/S de UNIX —basado en la E/S de archivos— porque todo a lo que puede tener acceso un
proceso —incluidos los canales de comunicación con otras aplicaciones y servicios— son archivos
en la vista privada que del sistema de archivos tiene cada proceso.

Los procesos en equipos diferentes pueden comunicarse de forma transparente. Solo hace falta que
un proceso exponga parte de su sistema de archivos en la vista de los procesos que quieren
comunicarse con él. Esto ocurre de forma transparente, gracias al protocolo de comunicación 9P de
Plan 9. Este protocolo es el que usan actualmente Windows Subsystem for Linux (WSL), QEMU y
otras herramientas de virtualización, para ofrecer acceso a los archivos de una máquina virtual
desde el sistema operativo anfitrión.

El desarrollo de Plan 9 dejo otras aportaciones. Por ejemplo, el estándar de


 codificación Unicode UTF-8 nació para ser usado en Plan 9 como formato de
cadenas nativo.

En 1996, el desarrollo de Plan 9 pasó a un segundo plano para dar prioridad a Inferno, con el que
Bell Labs intentó usar su experiencia con Plan 9 para desarrollar un sistema operativo distribuido
que al mismo tiempo fuera una plataforma con la que competir con Java. Las aplicaciones se
desarrollaban en un lenguaje llamado Limbo y se ejecutaban en una máquina virtual —similar a la
de Java— que venía incluida con Inferno. De esta manera las aplicaciones podían ejecutarse
independientemente de la arquitectura del hardware.
3.4.4. VMS

VMS es un sistema operativo de 32 bits diseñado originalmente por Digital Equipment Corporation
(DEC) —ahora propiedad de HP— en 1978 para usarlo en minicomputadoras VAX. Posteriormente
fue portado a sistemas DEC Alpha e Intel Itanium.

Figura 12. Instalación de VAX 11/780 en 1980 — Fuente: Science and Technology Facilities Council

Las siglas VMS vienen de Virtual Memory System, ya que una de sus principales características era
explotar el concepto de memoria virtual. Este concepto también es muy utilizado en los sistemas
operativos modernos. Permite que los procesos se ejecuten aislados, unos de otros, en la memoria
principal y sin tener que ser cargados completamente, lo que permite que cada uno consuma
menos memoria.

VMS era un sistema multiusuario y multiprocesador que podía distribuir el trabajo entre varias
máquinas, lo que le permitía ser tolerante a fallos.

VMS es en cierta medida un ancestro de Microsoft Windows NT (véase el Apartado


3.5.6). Para desarrollar Windows NT, Microsoft contrató a un grupo de
 desarrolladores de Digital Equipment Corporation. Muchos aspectos del diseño de
Windows NT reflejan la experiencia de DEC en VMS.
3.4.5. IBM OS/400

El IBM OS/400 es un sistema utilizado en la familia de minicomputadoras IBM AS/400 —llamada


iSeries desde 2006—. Fueron introducidos en el mercado en 1988, pero aún es posible verlos en
algunas organizaciones. En 2008 el sistema operativo IBM OS/400 pasó a llamarse IBM i y siguen
publicándose nuevas versiones en la actualidad.

3.5. 5ª Generación (desde 1980):


Esta última generación abarca desde la década de 1980 hasta la actualidad.

Respecto a los sistemas operativos:

• Incluye a los sistemas operativos de escritorio y ordenadores personales (PC).

• Aparecen múltiples conceptos nuevos: monousuario, multitarea, distribuidos, paralelos,


tiempo real, etc.

Se puede observar una muestra de la interfaz gráfica de usuario de algunos de


 estos sistemas en el artículo «Operating System Interface Design Between 1981-
2009».

3.5.1. CP/M

CP/M (1974) fue el sistema operativo estándar en la primera generación de microcomputadoras.


Fue creado por Digital Research, Inc. —fundada por Gary Kildall— para ser el sistema operativo de
los microordenadores basados en Intel 8080/85 y Zilog Z80.

Con la elección de MS-DOS por parte de IBM para su IBM PC, CP/M fue perdiendo mercado
paulatinamente hasta desaparecer. Sin embargo, la influencia de CP/M en MS-DOS es indudable, en
tanto en cuanto 86-DOS, el predecesor de MS-DOS, estaba basado en las ideas de CP/M.

3.5.2. MS-DOS

MS-DOS fue el sistema operativo estándar en la segunda generación de microcomputadoras. No era


ni multitarea ni multiusuario. Fue el primer sistema operativo del IBM PC —lanzado en 1981— y
durante mucho tiempo fue ampliamente utilizado en toda la plataforma «PC compatible».

MS-DOS fue creado por Seattle Computer Products (SCP) con el nombre de 86-DOS en 1979. Se
basaron en ideas de CP/M, pues pretendían ofrecer una versión de CP/M para procesadores Intel
8086. Inicialmente era conocido como QDOS (Quick and Dirty Operating System) pero SCP le cambió
el nombre en 1980, cuando comenzaron a licenciarlo. Posteriormente Microsoft adquirió el sistema
y lo vendió a IBM en 1981 con el nombre de MS-DOS.

Tanto IBM como Microsoft lanzaron versiones de DOS, aunque originalmente IBM solamente
validaba y empaquetaba el software de Microsoft. Microsoft lanzaba sus versiones bajo el nombre
de MS-DOS, mientras IBM las lanzaba bajo el nombre de IBM PC-DOS.
En PCjs se pueden probar de forma sencilla sistemas operativos y aplicaciones
 antiguas del IBM PC. Solo hace falta acceder con el navegador y elegir la
experiencia que más nos llame la atención.

3.5.3. OS/2

OS/2 fue un sistema operativo creado por Microsoft e IBM para aprovechar las nuevas
características de la segunda generación de ordenadores personales de IBM, equipados con
procesador Intel 80286. Pero al final terminó siendo desarrollado en exclusiva por IBM.

OS/2 fue pensado como un sucesor con operación en modo dual de MS-DOS y de Microsoft
Windows 2.0. Fue anunciado en abril y lanzado en diciembre de 1987 como un sistema operativo
en modo texto. En la versión 1.1, lanzada en noviembre de 1988, se le añadió interfaz gráfica.

Figura 13. Panel de control de Microsoft-IBM OS/2 1.1 — Fuente: Michal Necasek

En los sistemas con operación en modo dual se distingue entre dos modos de
ejecución, de tal forma que solo en el modo en el que se ejecuta el código del
 sistema operativo se pueden realizar operaciones peligrosas. En el otro modo y con
menos privilegios, se ejecutan las aplicaciones de usuario. Para más información,
véase el Apartado 7.2

La colaboración entre IBM y Microsoft terminó en 1990, entre el lanzamiento de Windows 3.0 y la
de OS/2 1.3. El aumento de popularidad de Windows llevó a Microsoft a dejar de centrarse en el
desarrollo de OS/2, lo que hizo que IBM se preocupara por los continuos retrasos en el desarrollo de
OS/2 2.0. Inicialmente ambas compañías acordaron que IBM tomaría el mantenimiento de OS/2 1.0
y el desarrollo de OS/2 2.0, mientras Microsoft continuaría desarrollando OS/2 3.0, que entonces era
conocido como «NT OS/2». Sin embargo, Microsoft finalmente decidió renombrar NT OS/2 como
Windows NT, dejando el futuro desarrollo de OS/2 en manos de IBM.

OS/2 Warp 3 fue un sistema completo de 32 bits lanzado en 1994. Le seguiría OS/2 Warp 4, en 1996.
Poco después, IBM anunció que OS/2 desaparecería.

3.5.4. Windows 3.x

La familia Windows 3.x de Microsoft Windows fue desarrollada desde 1990 hasta 1994. Windows
3.0 fue la primera versión de éxito de Windows, permitiendo a Microsoft competir con el Macintosh
de Apple Computer y el Commodore Amiga.

Figura 14. Administrador de programas de Microsoft Windows 3.0 — Fuente: Guidebook

En 1983, Microsoft anunció el desarrollo de Windows, una interfaz gráfica de usuario para su
sistema MS-DOS, que se usaba en los IBM PC y compatibles desde 1981. Windows requería una
instalación previa de MS-DOS y era iniciado como un programa más, que podía ser terminado en
cualquier momento, devolviendo al usuario a la línea de comandos de MS-DOS.

MS-DOS le proporcionaba a Windows controladores de dispositivo para ciertas tareas, como el


acceso al CD-ROM o a la interfaz de red. Sin embargo Windows ejecutaba aplicaciones específicas
de Windows, almacenadas en un formato ejecutable mucho más complejo que el de los programas
de MS-DOS. Además, debido a que MS-DOS no aislaba a las aplicaciones del hardware y no se
protegía así mismo de los errores en dichas aplicaciones, Windows disponía de controladores de
dispositivo propios, así como sus propios sistemas de gestión de procesos y de memoria. En
realidad Windows no se ejecutaba sobre MS-DOS, si no que hacía uso de él. Por ello puede ser
considerado como un sistema operativo.

3.5.5. Windows 95, 98, Me

La familia Windows 3.x fue sustituida por una serie de sistemas operativos gráficos híbridos de
16/32 bits.

Figura 15. Escritorio de Microsoft Windows 95 — Fuente: Guidebook

Windows 95 fue lanzado en 1995. Fue el primer Windows unido a una versión de MS-DOS
específica, aunque este hecho se intentaba mantener oculto. Entre las características de Windows
95 destacan: mejoras significativas en la interfaz de usuario (véase la Figura 15), nombres de
archivo de hasta 256 caracteres con conservación de mayúsculas y minúsculas —en MS-DOS el
límite era de 8 caracteres para el nombre más 3 de extensión— y multitarea expropiativa para las
aplicaciones de 32 bits.

Como veremos en el Apartado 14.1, la planificación expropiativa es una técnica


que permite al sistema operativo expulsar de la CPU a los procesos en ciertas
circunstancias; como, por ejemplo, que llevan demasiado tiempo utilizando la CPU
de forma ininterrumpida.

En la familia Windows 3.x la planificación era cooperativa, es decir, los procesos
abandonaban la CPU voluntariamente. Esto ocasionaba problemas con programas
que no devolvía la CPU al sistema con la suficiente frecuencia, ya que así el resto
de procesos no tenía ocasión de ejecutarse para hacer su trabajo o responder al
usuario.

Windows 98 fue lanzado el 25 de junio de 1998. Le siguió Windows Me, el 14 de septiembre de 2000.
Windows Me fue la última versión de la familia de sistemas operativos híbridos de 16/32 bits que
sucedió a la familia Windows 3.x.

3.5.6. Windows NT, 2000, XP, Vista, 7, 8 y 10

Windows NT fue un sistema operativo de 32 bits. El primero de la familia de sistemas operativos


Microsoft Windows actuales.

Su desarrollo empezó en 1988 con el nombre de OS/2 3.0. Cuando Windows 3.0 fue lanzado en mayo
de 1990, tuvo tanto éxito que Microsoft decidió cambiar la API del aún en desarrollo NT OS/2 —que
era como Microsoft lo llamaba entonces— pasando de ser una versión extendida de la API de OS/2 a
una versión extendida de la API de Windows 3.0. Esta decisión causó tensión entre Microsoft e IBM
y provocó que finalmente terminara la colaboración.

Una interfaz de programación de aplicaciones o API (del inglés Application


 Programming Interface) es el conjunto de funciones, procedimientos o métodos
que ofrece el sistema operativo para ser utilizado por las aplicaciones.

Como hemos comentado anteriormente, Microsoft contrató a un grupo de desarrolladores de


Digital Equipment Corporation para crear Windows NT. Por lo que muchos de sus elementos
reflejan la experiencia anterior de DEC en VMS.

Windows NT soportaba varias API de distintos sistemas operativos —por ejemplo Win32, POSIX y
OS/2 2.1— que eran implementadas como subsistemas encima de una API nativo no documentado
públicamente. Esta estructura en subsistemas, fue lo que permitió la adopción tardía de la API de
Windows 3.0 como API principal, tal y como hemos comentado.

La primera versión —Windows NT 3.1— lanzada el 13 de julio de 1993, era un sistema operativo
microkernel (véase el Apartado 3.5.8 un poco más adelante) multiplataforma que corría sobre
procesadores x86, DEC Alpha, MIPS 4000 y PowerPC.

Windows NT 4.0 —lanzado en 1996— fue la última versión en soportar plataformas distintas a Intel
IA-32. Aunque el desarrollo de Windows 2000 para procesador Alpha continuó un poco más, hasta
1999, cuando Compaq dejó de soportar Windows NT en esa arquitectura. Además Windows NT 4.0
integró en el núcleo más funciones —por ejemplo, parte del subsistema gráfico— para obtener un
rendimiento más próximo al de Windows 95 en ese apartado.

Windows 2000 —o Windows NT 5.0— fue lanzado el 17 de febrero de 2000 y fue el primer sistema
operativo de la familia NT al que se le eliminaron las siglas del nombre. Fue por motivos de
marketing, para favorecer la unificación de las dos familias de sistemas operativos Microsoft
Windows de entonces —Windows 9x y Windows NT— alrededor de la tecnología NT.

Windows XP —o Windows NT 5.1— completó en 2001 el proceso de unificación de las dos familias
de sistemas operativos Windows. Con su aparición forzó la extinción de la familia Windows 9x, al
sustituirla con una versión de Windows XP denominada Windows XP Home Edition, específica para
la informática doméstica.

3.5.7. GNU/Linux

GNU/Linux es un sistema operativo libre y, tal vez, el más famoso proyecto de software libre.

El proyecto GNU se inició en 1983, con el fin de desarrollar un sistema operativo estilo UNIX
enteramente libre. El proyecto incluía la creación de herramientas de desarrollo de software y
aplicaciones de usuario.

Mucho tiempo después, el estudiante universitario finés Linus Torvalds comenzó a desarrollar el
núcleo Linux como hobby, mientras estudiaba en la Universidad de Helsinki. Torvalds
originalmente usaba Minix, un sistema operativo simplificado escrito por Andrew Tanenbaum para
enseñar diseño de sistemas operativos. Sin embargo, el hecho de que Tanenbaum no diera soporte
a las mejoras del sistema operativo que eran propuestas por otros desarrolladores, llevó a Torvalds
a escribir un sustituto de MINIX.

En 1991, cuando se liberó la primera versión del núcleo Linux, el proyecto GNU había desarrollado
todos los componentes necesarios del sistema operativo excepto el núcleo. Torvalds y otros
desarrolladores rápidamente adaptaron Linux para que funcionara con los componentes de GNU,
creando un sistema operativo completamente funcional que se denomina GNU/Linux.

El núcleo Linux fue licenciado bajo la GNU General Public License (GPL), como el resto del proyecto
GNU. Pero Linux no es parte de dicho proyecto. El proyecto GNU tiene su propio núcleo,
denominado GNU/Hurd, que lleva 30 años en desarrollo y parece que aún está muy lejos de estar
listo.

GNU no es el único sistema operativo que utiliza el núcleo Linux. Android, por
 ejemplo, es un sistema operativo que usa el núcleo Linux, pero no es GNU.

3.5.8. Mach

Mach es un núcleo de sistema operativo desarrollado en la Universidad Carnegie-Mellon (CMU). El


proyecto en la CMU se desarrolló desde 1985 hasta 1994.

Mach explora el concepto que denominamos microkernel. En los sistemas operativos microkernel
solo se implementa en el núcleo del sistema un conjunto mínimo de servicios básicos. El resto de los
servicios proporcionados por el sistema operativo se implementan como procesos con menos
privilegios.

Por sus ventajas en cuanto a seguridad y fiabilidad, en algún momento se pensó que los microkernel
dominarían el universo de los sistemas operativos. Sin embargo, el mayor esfuerzo hasta la fecha
para conseguirlo es GNU/Hurd, que lleva varias décadas de retraso. Por fortuna, otros sistemas
operativos microkernel han tenido algo más éxito, como es el caso de QNX o MINIX 3. Mientras que
Google parece que lo va a intentar con Google Fuchsia, el posible sustituto de Android.

A mediados de los 90, Apple Computers seleccionó OpenStep como base para el sucesor de su
clásico Mac OS. OpenStep es realmente una versión actualizada de NeXTSTEP que era un sistema
basado en un núcleo Mach 2.5 con porciones del sistema UNIX BSD de la Universidad de Berkeley.
Por tanto, la mezcla de Mach con UNIX BSD de OpenStep es la base del sistema operativo macOS
actual de Apple.

Figura 16. Entorno gráfico de OpenStep 4.2 — Fuente: Guidebook

Para ser exactos, la base del sistema operativo macOS es un sistema operativo libre
 denominado Darwin y desarrollado por Apple. Se trata de un sistema FreeBSD
adaptado para correr sobre el núcleo Mach.
1956: GM-NAA I/O, el
1981: Nace MS-DOS, tras la
primer sistema operativo,
alianza de Microsoft con IBM.
desarrollado por General
Fue el SO dominante en PC.
Motors para el IBM 704.
1983: Inicia el Proyecto GNU
Aparecen los lenguajes de
con Richard Stallman. Se
programación
gestaba el software libre.
(ensamblador, FORTRAN,
1987: Microsoft e IBM lanzan
COBOL) y procesamiento
OS/2, pero después se
por lotes.
separan.
"Ya no hacía falta estar
"La compu llegó a casa. Y con
pegado a la máquina. Los
programas se cargaban de a ella, el sistema operativo que
tandas, como se hacía en las todos aprendimos a amar y
viejas fábricas." odiar: el DOS."

1945: Se crea el ENIAC,


considerado el primer
ordenador electrónico
digital. No tenía sistema 1966: IBM lanza el OS/360,
operativo. pionero en multiprogramación
1953: IBM lanza el IBM y diseñado para el mainframe
1991: Linus Torvalds lanza Linux,
701, sin SO, pero con System/360.
inspirado en MINIX (de
tarjetas perforadas. Base 1965–1969: Se desarrollan Tanenbaum).
para sistemas futuros. MULTICS, VM/CMS y UNIX 1993–2001: Microsoft lanza
"En esos años, el que (Bell Labs). Windows NT, 2000, XP,
quería usar la máquina "Sistemas que podían hacer consolidando su dominio.
tenía que programarla a varias cosas a la vez. El UNIX
puro código binario y fue el Messi de esa
esperar su turno." 2007: Apple migra a macOS,
generación." basado en Darwin (UNIX +
Mach).
Actualidad: Linux reina en
servidores, Android usa su
kernel, Windows 10 sigue fuerte,
y se viene Google Fuchsia.
"Hoy ya no hablamos de una
sola computadora, sino de un
ecosistema: la nube, el celu, el
smartwatch, todo conectado."
¿Cuál de las siguientes afirmaciones describe con mayor precisión un sistema operativo uniproceso?
Pregunta 1Respuesta

a.
Es capaz de gestionar múltiples usuarios a través de terminales remotas.

b.
Permite al usuario ejecutar múltiples tareas de forma concurrente.

c.
Solo puede utilizar un único procesador, ignorando cualquier otro presente en el sistema.

d.
Puede distribuir la carga de trabajo entre varios procesadores para mejorar el rendimiento.
Retroalimentación
La respuesta correcta es: Solo puede utilizar un único procesador, ignorando cualquier otro presente
en el sistema.
Pregunta 2
Correcta
Se puntúa 1,00 sobre 1,00
Marcar pregunta
Enunciado de la pregunta
En un sistema operativo multiproceso con arquitectura simétrica:
Pregunta 2Respuesta

a.
Un procesador maestro coordina la distribución de tareas a los procesadores esclavos.

b.
Solo un procesador puede ejecutar procesos del sistema operativo, mientras que los demás ejecutan
aplicaciones de usuario.

c.
Cada procesador se asigna a un usuario específico para garantizar la exclusividad de los recursos.

d.
Los procesos se asignan indistintamente a cualquier procesador disponible para equilibrar la carga.
Retroalimentación
La respuesta correcta es: Los procesos se asignan indistintamente a cualquier procesador disponible
para equilibrar la carga.
Pregunta 3
Correcta
Se puntúa 1,00 sobre 1,00
Marcar pregunta
Enunciado de la pregunta
Un tiempo de respuesta pequeño es muy importante para los sistemas:
Pregunta 3Respuesta

a.
de tiempo real

b.
Interactivos

c.
Batch
Retroalimentación
La respuesta correcta es: de tiempo real
Pregunta 4
Correcta
Se puntúa 1,00 sobre 1,00
Marcar pregunta
Enunciado de la pregunta
¿Cuál de las siguientes estructuras de sistema operativo busca minimizar el tamaño del núcleo,
ejecutando la mayoría de los servicios como procesos de usuario?
Pregunta 4Respuesta

a.
Por capas

b.
Monolítico

c.
Modular

d.
Microkernel
Retroalimentación
La respuesta correcta es: Microkernel
Pregunta 5
Parcialmente correcta
Se puntúa 0,50 sobre 1,00
Marcar pregunta
Enunciado de la pregunta
Un sistema operativo monousuario se caracteriza principalmente por:
Pregunta 5Respuesta

a.
Limitar el número de procesadores que la computadora puede utilizar.

b.
Gestionar múltiples procesos simultáneamente para varios usuarios.

c.
Permitir el acceso de un solo usuario al sistema en un momento dado.

d.
Soportar la ejecución de múltiples tareas por un único usuario a la vez.
Retroalimentación
Las respuestas correctas son: Soportar la ejecución de múltiples tareas por un único usuario a la vez.,
Permitir el acceso de un solo usuario al sistema en un momento dado.
Pregunta 6
Correcta
Se puntúa 1,00 sobre 1,00
Marcar pregunta
Enunciado de la pregunta
En el marco de la evolución de los sistemas operativos, ¿en qué generación aparece Microsoft
Windows?
Pregunta 6Respuesta

a.
Cuarta
b.
Segunda

c.
Tercera
Retroalimentación
La respuesta correcta es: Cuarta
Pregunta 7
Parcialmente correcta
Se puntúa 0,50 sobre 1,00
Marcar pregunta
Enunciado de la pregunta
La principal diferencia entre un sistema operativo monotarea y uno multitarea radica en:
Pregunta 7Respuesta

a.
La capacidad de ejecutar múltiples procesos en segundo plano.

b.
La cantidad de usuarios que pueden acceder al sistema simultáneamente.

c.
El número de procesadores que el sistema puede gestionar.

d.
La habilidad de un usuario para realizar varias labores al mismo tiempo.
Retroalimentación
Las respuestas correctas son: La capacidad de ejecutar múltiples procesos en segundo plano., La
habilidad de un usuario para realizar varias labores al mismo tiempo.
Pregunta 8
Correcta
Se puntúa 1,00 sobre 1,00
Marcar pregunta
Enunciado de la pregunta
¿Cuál es la definición de un sistema multitarea?
Pregunta 8Respuesta

a.
Un sistema que solo permite la ejecución de un único proceso en memoria a la vez.

b.
Un sistema que dispone de varios procesadores para realizar tareas.

c.
Un sistema capaz de ejecutar múltiples procesos en memoria.
Retroalimentación
La respuesta correcta es: Un sistema capaz de ejecutar múltiples procesos en memoria.
Pregunta 9
Correcta
Se puntúa 1,00 sobre 1,00
Marcar pregunta
Enunciado de la pregunta
Uno de los objetivos del sistema operativo es:
Pregunta 9Respuesta

a.
Que la computadora no consuma mucha energía.
b.
Que la computadora nunca se apague.

c.
Administrar los recursos del sistema en forma eficiente.
Retroalimentación
La respuesta correcta es: Administrar los recursos del sistema en forma eficiente.
Pregunta 10
Correcta
Se puntúa 1,00 sobre 1,00
Marcar pregunta
Enunciado de la pregunta
¿Qué es GUI?

Pregunta 10Seleccione una:

Administrador de memoria

Gestor de procesos de usuario

Interfaz de sólo texto de usuario

Interfaz gráfica de usuario

Retroalimentación
Respuesta correcta
La respuesta correcta es:
Interfaz gráfica de usuario

Pregunta 11
Correcta
Se puntúa 1,00 sobre 1,00
Marcar pregunta
Enunciado de la pregunta
¿Cuál de los siguientes tipos de sistemas operativos está diseñado principalmente para procesar
trabajos secuencialmente sin intervención del usuario una vez iniciados?
Pregunta 11Respuesta

a.
Interactivo

b.
Tiempo Compartido

c.
Tiempo Real

d.
Batch
Retroalimentación
La respuesta correcta es: Batch
Facultad de Defensa Nacional
Carrera: Lic. en Ciberdefensa

Materia
Sistemas Operativos I

Unidad 2 / Semana 6

Año: 2025

Página 1 de 20
CONTENIDOS

Sistemas de proceso por lotes. Monoprogramación. Multiprogramación. Sistema de tiempo


compartido. Servicios de un sistema operativo. Procesos y estados de los procesos. Modo núcleo y
usuario. Llamadas al sistema.

ÍNDICE

1. SISTEMAS DE PROCESO POR LOTES Y MONITORES​ 3


1.2 JCL​ 5
1.3 BUFFERING​ 6
1.4 SPOOLING​ 7
2. PROCESOS​ 8
2.1 REQUISITOS DEL SISTEMA OPERATIVO CON RESPECTO A LOS PROCESOS​ 8
3. MONOPROGRAMACIÓN Y MULTIPROGRAMACIÓN​ 9
3.1 MONOPROGRAMACIÓN​ 10
3.2 MULTIPROGRAMACIÓN​ 11
4. MULTIPROCESAMIENTO Y PROCESAMIENTO DISTRIBUIDO​ 12
5. SISTEMA DE TIEMPO COMPARTIDO​ 12
6. KERNEL DEL SISTEMA OPERATIVO​ 13
7. MODO NÚCLEO Y USUARIO​ 14
8. LLAMADAS AL SISTEMA​ 15
9. INTERRUPCIONES​ 17

Página 2 de 20
SISTEMAS OPERATIVOS I
UNIDAD 2 – SEMANA 6
1. Sistemas de proceso por lotes y monitores
Los sistemas operativos por lotes permiten procesar una gran cantidad de tareas
con mínima o nula interacción entre los usuarios y los programas en ejecución.
Dado el alto costo de los equipos, siempre se buscaban estrategias para optimizar
el tiempo de uso de las computadoras.

Este enfoque representó una mejora significativa, ya que reducía los tiempos de
preparación de los trabajos al ejecutarlos en serie. En lugar de procesar cada tarea
individualmente, los sistemas agrupaban múltiples trabajos y los ejecutaban en
conjunto, minimizando los períodos de inactividad y mejorando la eficiencia
operativa.

Se reúnen todos los trabajos comunes para realizarlos al mismo tiempo, evitando
la espera de dos o más trabajos como sucede en el procesamiento en serie.

Para ello se creó un lenguaje simplificado que les permite organizar y estructurar
la ejecución de esos trabajos llamado JCL (Job Control Language) que fue
evolucionando y aún se sigue usando en la actualidad.

Estos sistemas son de los más tradicionales y antiguos, y fueron introducidos


alrededor de 1956 para aumentar la capacidad de procesamiento de los
programas.

Un sistema de lotes es aquel cuyos trabajos (jobs) son reunidos con las
instrucciones necesarias para permitirles ser procesados sin intervención de un
operador.

El monitor residente (o monitor), es el software del sistema que es responsable de


interpretar y ejecutar las instrucciones en los trabajos por lotes.

Cuando el monitor comenzaba un trabajo, cedía el control completo de la


computadora al trabajo, el cual controlaba la computadora hasta su término.

Esquema básico de la memoria de una computadora con procesamiento por lotes con monitor

Página 3 de 20
SISTEMAS OPERATIVOS I
UNIDAD 2 – SEMANA 6
residente.

Un ejemplo de varios trabajos en lote podría verse así:

Por lo general se usaban cintas magnéticas o tambores para almacenar los datos
intermedios y programas compilados. Las ventajas y desventajas de este tipo de
sistemas son:

1. Ventajas

●​ reducción del tiempo ocioso del procesador entre cada trabajo


●​ mejora el desempeño, debido a que los trabajos inician inmediatamente
después que finalice el anterior
●​ disminuye la carga de trabajo del operador

2. Desventajas

●​ tiene una depuración complicada de programas


●​ sin un debido esquema de protección, un trabajo del lote puede afectar a
los demás trabajos pendientes
●​ un trabajo puede corromper al monitor, afectando también a los trabajos
pendientes
●​ un trabajo puede entrar en un ciclo infinito (loop)

Una de las mayores carencias de los sistemas por lotes era que no existía un
esquema de protección para prevenir que algún trabajo afecte adversamente a
otros.

Una solución a esto fue un simple esquema de protección, donde cierta memoria
([Link]. donde reside el monitor) era restringida a los programas de usuario. Esto
prevenía que los programas de usuario corrompieran al monitor.

Otra mejora fue adaptar el hardware para permitir a la computadora operar en


uno de dos modos:

●​ uno para el monitor, que realizaba todas las tareas de E/S


●​ uno para los programas de usuario

Página 4 de 20
SISTEMAS OPERATIVOS I
UNIDAD 2 – SEMANA 6
La entrada/salida (E/S) podría solo ser realizada en modo de monitor, teniendo un
mejor control de la ejecución de los trabajos.

Para prevenir un ciclo infinito, se agregaba un temporizador (timer) al sistema y la


tarjeta $JOB fue modificada para que el tiempo máximo de ejecución de un
trabajo fuera enviado al monitor. El sistema podría interrumpir el trabajo y
regresar el control al monitor si se excediera este tiempo.

Algunos ejemplos de Sistemas Operativos por lotes exitosos son el SCOPE, del
CDC6600, el cual está orientado a procesamiento científico pesado, y el EXEC II
para el UNIVAC 1107 y 1108, orientado a procesamiento académico.

Estos grandes sistemas llamados Mainframes existen actualmente y si bien se


usan en bancos y grandes corporaciones, pueden operar en un modo híbrido,
combinando procesamiento batch e interactivo para maximizar la eficiencia y la
disponibilidad del sistema.

Ejemplo de un sistema batch con spooling1

1.2 JCL
Este lenguaje de scripting comenzó en formato de tarjetas perforadas es hoy una
de las herramientas más importantes y significativas que todo aquel que trabaje
con Mainframe debe dominar.

JCL es el acrónimo de Jobs Control Language es un lenguaje de scripting


declarativo que permite a los desarrolladores de aplicaciones hablar literalmente
con el z/OS, el sistema operativo para mainframes de IBM.

Por lo general, un solo JCL la fila está estructurada con 5 columnas esenciales
llenas de orden fijo y las tres primeras obligatorias:

1) Doble barra (//) para el trabajo inicial.

2) Un nombre de trabajo.

3) Una instrucción de operación.

1
Tanenbaum, Andrew S. (2009). Sistemas Operativos Modernos. 3era edición. Pearson Educación, México
Página 5 de 20
SISTEMAS OPERATIVOS I
UNIDAD 2 – SEMANA 6
4) Instrucciones de parámetros.

5) Comentarios, indicados con el símbolo /* en la línea de salida también.

Un simple JCL script que imprime una cadena de Hello World usando el
programa de copia de IBM llamado IEBGENER se ve así:

JOB identifica el inicio del trabajo.

EXEC se utiliza para identificar el nombre de un programa o procedimiento de


unidad de ejecución a ejecutar (en nuestro caso el programa IEBGENER).

Data Definition (DD) se utiliza para conectar los nombres de archivo de programa
utilizados por el programa indicado en la operación EXEC.

En este caso, no se usan archivos, pero usamos la salida estándar con el parámetro
SYSOUT

El parámetro DUMMY significa que no se utilizarán datos de entrada para este


JOB.

Finalmente, tenemos otro "//" al final del script con instrucciones nulas que indica
el final de la ejecución del trabajo.

1.3 Buffering
El buffering consiste en almacenar temporalmente datos en la memoria antes de
enviarlos a un dispositivo de salida o recibirlos de uno de entrada. Su propósito es
atenuar la diferencia de velocidad entre el procesador y los periféricos.

Ejemplo:

●​ Cuando un programa lee datos de un disco, estos se cargan en un buffer


(área de memoria) para que el procesador pueda acceder a ellos más
rápidamente, evitando esperas innecesarias.​

Página 6 de 20
SISTEMAS OPERATIVOS I
UNIDAD 2 – SEMANA 6
●​ Cuando se reproduce un video en streaming, el sistema almacena algunos
segundos de contenido en un buffer para prevenir interrupciones si la
conexión se ralentiza.

El buffering es esencial para mantener el rendimiento del sistema operativo y


minimizar el impacto de las operaciones de E/S.

1.4 Spooling
Uno de los principales desafíos de los primeros sistemas de procesamiento por
lotes era que la computadora debía leer el bloque de tarjetas perforadas antes de
ejecutar un trabajo. Esto provocaba que el CPU permaneciera inactivo durante
estas operaciones, que eran relativamente lentas.

Para solucionar este problema, se comenzó a utilizar cintas magnéticas, cuya


lectura era mucho más rápida que la de las tarjetas perforadas. Así, los centros de
cómputo adoptaron una estrategia en la que una o más computadoras de menor
capacidad complementaban al mainframe principal.

Estas computadoras secundarias se encargaban de leer las tarjetas y transferir la


información a cintas, permitiendo que cada cinta almacene múltiples trabajos en
lote. Posteriormente, la cinta se cargaba en la computadora principal, que
ejecutaba los trabajos de manera eficiente. Una vez procesados, los resultados
podían guardarse en otra cinta, que luego era utilizada por una computadora de
menor capacidad para generar las salidas necesarias, como impresiones.

Una evolución lógica dentro de los sistemas por lotes fue la introducción de
temporizadores, que limitaban el tiempo de ejecución de los trabajos antes de
interrumpirlos para permitir operaciones de entrada/salida (E/S). Esto habilitaba la
ejecución en paralelo de procesos, permitiendo que la computadora leyera
tarjetas y almacene la información en cintas, tambores o discos, mientras seguía
procesando programas de usuario.

Este procedimiento se conoce como SPOOL o SPOOLing (Simultaneous


Peripheral Operation On-Line), y fue clave en la evolución de los sistemas de
procesamiento por lotes.

El SPOOL va más allá del buffering, ya que no solo almacena los datos
temporalmente, sino que los gestiona de manera autónoma en colas de trabajo,
permitiendo que el procesador continúe ejecutando otras tareas sin
interrupciones.

Los sistemas por lotes con spooling fueron los primeros y más simples sistemas de
multiprogramación, ya que permitían que los trabajos se procesen de manera
más eficiente. Una de sus principales ventajas era que la salida de un trabajo
estaba disponible inmediatamente después de su finalización, en lugar de esperar
a que todos los trabajos del lote se completaran.

Ejemplo:

Además del caso de la lectura de tarjetas en unidades de cinta ya mencionado,


también se usan en la impresión de documentos, cuando varios usuarios envían
trabajos a la misma impresora, el sistema almacena las solicitudes en un spool
(cola de impresión) y las procesa en orden, evitando que la CPU se detenga
esperando que cada impresión se complete.

Mientras que el buffering optimiza la transferencia de datos entre el CPU y los


periféricos, el spooling gestiona la ejecución de múltiples trabajos de manera más
organizada, liberando el procesador para realizar otras tareas.
Página 7 de 20
SISTEMAS OPERATIVOS I
UNIDAD 2 – SEMANA 6
Ambas técnicas mejoran la eficiencia del sistema operativo y optimizan la gestión
de recursos y fueron de gran ayuda para optimizar los sistemas de procesamiento
por lotes aumentando su eficiencia.

2. Procesos
En los sistemas operativos, un proceso es la instancia de un programa en
ejecución. Representa la unidad fundamental de trabajo dentro del sistema,
donde cada proceso incluye código ejecutable, datos, los recursos que se le
asignaron (como memoria y archivos abiertos) y su propio contexto de ejecución.

El contexto de ejecución incluye toda la información que el sistema operativo


necesita para administrar el proceso y que el procesador necesita para ejecutarlo
correctamente. Por lo tanto, el contexto incluye los contenidos de varios registros
del procesador, como el contador de programa y los registros de datos. También
incluye información útil para el SO, como la prioridad del proceso con respecto a
su ejecución y si el proceso está esperando la terminación de un suceso de E/S.

En resumen, cuando ejecutamos una aplicación, el sistema operativo crea un


proceso. Por ejemplo, cuando ejecutamos un procesador de textos, planilla de
cálculo, navegador web, gestor de tareas, antivirus o cualquier otra que abramos
para trabajar, el sistema operativo crea procesos para cada una de ellas y le asigna
un identificador único. Además, cada proceso incluirá los elementos antes
indicados.

Por otro lado, cada proceso puede estar en diferentes estados como activo,
suspendido o finalizado, dependiendo de su uso y administración por parte del
sistema operativo.

2.1 Requisitos del sistema operativo con respecto a los procesos


Los sistemas operativos modernos están construidos en torno al concepto de
proceso. Por tal motivo, la mayoría de los requisitos que debe cumplir un sistema
operativo están expresados haciendo referencia a los procesos:

●​ El sistema operativo debe intercalar la ejecución de múltiples procesos para


optimizar al máximo la utilización del procesador ofreciendo un tiempo de
respuesta razonable.
●​ El sistema operativo debe asignar los recursos a los procesos teniendo en
cuenta ciertas políticas, como por ejemplo la prioridad de ejecución de
algunas aplicaciones.
●​ El sistema operativo tendría que dar soporte a la comunicación entre
procesos.

Página 8 de 20
SISTEMAS OPERATIVOS I
UNIDAD 2 – SEMANA 6
3. Monoprogramación y Multiprogramación
Se refiere a la capacidad de un sistema operativo de ejecutar múltiples procesos,
también llamados tareas, dándole al usuario o los usuarios la impresión de que las
aplicaciones son ejecutados simultáneamente y sin interferir los unos con los
otros.

Cada proceso al ejecutarse, es como si fuera el único dentro del sistema que se
está ejecutando y con acceso a todos los recursos y servicios que nos brinda el
sistema operativo.

Los procesos que se ejecutan de forma concurrente (al mismo tiempo) pueden
representar:

●​ Programas diferentes
●​ Partes diferentes de un mismo programa
●​ Diferentes instancias de un mismo programa (cada instancia es una copia
en ejecución del mismo programa)

El número de procesos que pueden ejecutarse en un sistema depende de varios


factores entre los que se incluyen:

●​ El tamaño de la memoria
●​ La velocidad del procesador central (CPU)
●​ El tamaño de los programas
●​ La tecnología del procesador

Una característica importante del sistema operativo para poder soportar la


multitarea es que cada proceso esté protegido del resto de los procesos.
Protegido quiere decir que se ejecuta en un espacio físico y lógico que garantiza
su ejecución y que no es alcanzado accidentalmente por ningún otro proceso, no
quiere decir aislado completamente (existen formas de comunicar un proceso
con otro si es necesario).

El procesador o procesadores son demandados continuamente en el sistema


operativo por numerosos procesos que compiten por sus servicios. Pero como el
procesador solo puede ejecutar un proceso al mismo tiempo, la
multiprogramación es acompañada de una técnica de ranuras de tiempo (time
slices) que permiten alternar el uso del procesador entre varios procesos a una alta
velocidad.

Desde el punto de vista de la ejecución de procesos, los sistemas operativos se


dividen en dos grandes grupos:

Página 9 de 20
SISTEMAS OPERATIVOS I
UNIDAD 2 – SEMANA 6
3.1 Monoprogramación
Existe un único proceso, el procesador ejecuta las instrucciones hasta que alcanza
una de tipo E/S. Entonces debe esperar que la instrucción de E/S concluya antes
de continuar. Esto implica que el procesador tenga tiempos que no trabaja,
desperdiciando su velocidad de procesamiento mientras un dispositivo de E/S, por
ejemplo una impresora imprime un documento. El imprimir o guardar datos en
un disco son tareas muy lentas comparadas con la velocidad de procesamiento de
los procesadores. Por ejemplo, fue el MS-DOS.

Esquema de funcionamiento del procesador en un sistema operativo

En el esquema, se observa cómo el procesador alterna entre estar activo


(representado en gris) e inactivo (representado en blanco) mientras ejecuta
diferentes programas.
En la monoprogramación, solo se puede ejecutar un programa a la vez. Esto
significa que el procesador dedica su tiempo a un solo programa hasta que este
se completa y debe esperar por algún recurso, por ejemplo, imprimir un
documento. Esto implica que el procesador tendrá tiempos ociosos. Una vez
finalizado o en espera, el procesador puede pasar a ejecutar otro programa.

Procesador activo o inactivo


Con respecto, al procesador activo, indica que durante los períodos en que el
bloque está en gris, el procesador está ejecutando instrucciones del programa y
durante los períodos en que el bloque está en blanco, el procesador está inactivo,
posiblemente esperando la finalización de una operación de E/S o que el
programa termine su ejecución.

Programa 1 y Programa 2
En el esquema se muestra la ejecución secuencial de dos programas. Primero, el
Programa 1 se ejecuta con periodos de actividad e inactividad del procesador.

Página 10 de 20
SISTEMAS OPERATIVOS I
UNIDAD 2 – SEMANA 6
Luego, una vez finalizado el Programa 1, se ejecuta el Programa 2, también con sus
propios periodos de actividad e inactividad.
Como conclusión, podemos decir que la monoprogramación es un enfoque
simple pero ineficiente, ya que el procesador puede permanecer inactivo durante
largos periodos mientras espera, por ejemplo, la entrada o salida de datos. Los
sistemas operativos modernos utilizan técnicas más avanzadas como la
multiprogramación y la multitarea para optimizar el uso del procesador.

3.2 Multiprogramación
En un sistema con un solo procesador se pueden ejecutar simultáneamente
múltiples procesos. Esto se refiere a la gestión de varios procesos en un sistema
monoprocesador. Además, el usuario percibe que todos los procesos se están
ejecutando en paralelo. Prácticamente todos los sistemas operativos actuales
como Windows, Mac OS o UNIX/Linux permiten la multiprogramación.

Esquema de funcionamiento del procesador en un sistema operativo multiprogramado

El esquema muestra un ejemplo de multiprogramación donde se representan


dos programas, Programa 1 y Programa 2, ejecutándose de forma concurrente.
El programa 1, se ejecuta en tres bloques de tiempo, representados por los
rectángulos grises. El programa 2, se ejecuta en tres bloques de tiempo, también
representados por rectángulos grises.
Los espacios en blanco entre los bloques de tiempo representan los momentos en
que el programa no está en ejecución, posiblemente esperando una operación de
E/S o cediendo el procesador a otro programa.
La multiprogramación mejora la utilización de la CPU al reducir el tiempo de
inactividad. En un sistema monoprogramado, si un proceso se bloquea esperando
una operación de E/S, la CPU permanece inactiva. Con la multiprogramación, el
sistema operativo puede cambiar rápidamente entre procesos, asegurando
que la CPU siempre tenga trabajo que realizar.

Página 11 de 20
SISTEMAS OPERATIVOS I
UNIDAD 2 – SEMANA 6
4. Multiprocesamiento y procesamiento distribuido
●​ Multiprocesamiento: consiste en la gestión de varios procesos en un
sistema multiprocesador. Se define generalmente el
multiprocesamiento como el uso, en una misma computadora, de varios
procesadores operando simultáneamente sobre programas o partes de
programas diferentes. Se relaciona directamente con el concepto de
multiprocesador, que se define como un sistema informático en el que
varias CPU funcionan en paralelo, compartiendo un mismo conjunto de
memorias y unidades periféricas.

●​ Procesamiento distribuido: consiste en la gestión de varios procesos,


ejecutándose en sistemas de computadoras múltiples y distribuidas. Para
manejar este tipo de procesamiento en las aplicaciones la tendencia actual
es la arquitectura cliente-servidor. Una aplicación muy común del
procesamiento distribuido es en las bases de datos, donde el procesamiento
distribuido podría realizar la entrada/salida, la selección y la validación de los
datos en una computadora, y luego crear un reporte basado en esos datos o
una consulta en otra computadora.

5. Sistema de tiempo compartido


Durante la tercera generación de sistemas operativos, aunque se usaban para
cálculos científicos y procesamiento de datos comerciales, seguían funcionando
por lotes, lo que generaba largos tiempos de espera para los programadores.

Esto llevó al desarrollo de los sistemas de tiempo compartido (timesharing), un


sistema que permitía a múltiples usuarios interactuar con una computadora en
línea, asignando la CPU y otros recursos según la demanda.

El primer sistema de tiempo compartido fue CTSS, desarrollado en el MIT, pero la


tecnología no se popularizó hasta que la protección de hardware se hizo común.
Posteriormente, el MIT, Bell Labs y General Electric desarrollaron MULTICS, un
sistema ambicioso diseñado para dar servicio a cientos de usuarios
simultáneamente. Aunque no tuvo gran éxito comercial, introdujo ideas
fundamentales que influenciaron a sistemas posteriores.

Tras la salida de Bell Labs del proyecto MULTICS, Ken Thompson creó una versión
simplificada en una minicomputadora PDP-7, lo que dio origen a UNIX.

UNIX se expandió en distintas versiones como System V de AT&T y BSD de


Berkeley, lo que llevó a la creación del estándar POSIX para garantizar
compatibilidad.

Página 12 de 20
SISTEMAS OPERATIVOS I
UNIDAD 2 – SEMANA 6
Finalmente, MINIX, un clon de UNIX desarrollado con fines educativos, evolucionó
en MINIX 3, un sistema modular enfocado en la alta confiabilidad.

Aunque MULTICS no tuvo el éxito esperado, influyó enormemente en el desarrollo


de sistemas operativos modernos y su legado persiste en el diseño de servidores y
sistemas centralizados.

Sistema de tiempo compartido2

6. Kernel del sistema operativo

El kernel es el núcleo o componente central de un sistema operativo. Su función


principal es administrar los principales recursos de la computadora, para que
las aplicaciones puedan ejecutarse de manera eficiente y segura.

En esencia, el kernel se encarga de la gestión de la memoria, asignando y


liberando espacio para los procesos, y de la gestión del tiempo de la CPU,
decidiendo qué proceso se ejecuta en cada momento. Es un componente
fundamental e indispensable de cualquier sistema operativo.

El kernel actúa como una capa de abstracción entre las aplicaciones de usuario y
el hardware subyacente. Facilita esta interacción a través de dos mecanismos
principales: la comunicación entre procesos (IPC), que permite que diferentes
programas intercambien información, y las llamadas al sistema, que son
solicitudes que las aplicaciones hacen al kernel para acceder a los recursos del
hardware o realizar operaciones privilegiadas.

2
Diseño y Simulación de Sistemas Operativos, [Link]ández
Página 13 de 20
SISTEMAS OPERATIVOS I
UNIDAD 2 – SEMANA 6
7. Modo núcleo y usuario
Es necesario distinguir entre los modos de ejecución del procesador,
normalmente asociados con el sistema operativo (modo núcleo) y con los
programas de usuario (modo usuario).

Imaginemos que un usuario pudiera hacer cambios en tiempo real de las


instrucciones que rigen el funcionamiento del sistema operativo y que
interactúan con el hardware, que pudiera cambiar el controlador de
interrupciones de reloj, la forma en la que se produce la comunicación entre un
dispositivo E/S. Si esto sucediera, se podría hacer un uso indebido del sistema
operativo y del hardware, produciendo comportamientos inesperados y pudiendo
corromper su funcionamiento. Por eso, es necesario que determinadas
instrucciones del sistema operativo sólo puedan ser ejecutadas en modos
privilegiados. Éstas serían lectura y modificación de los registros de control,
instrucciones primitivas de E/S, instrucciones relacionadas con la memoria,
instrucciones sobre señales, planificación, interrupciones, controladores de
dispositivos, etc.

El modo más privilegiado de ejecución se conoce como modo núcleo o modo


kernel. El núcleo de un sistema operativo es la parte que engloba las funciones y
servicios más importantes del mismo. Es una parte relativamente pequeña del
sistema, pero es la más utilizada, por ello suele residir en memoria de forma
continua.

El motivo de que existan distintos modos de ejecución no es otro que proteger al


sistema operativo y programas de usuario de alguna de ellas que acceda a
funciones propias del sistema operativo en perjuicio del mismo y de otras
aplicaciones de usuario que se estén ejecutando. En modo núcleo, el software
tiene control completo del procesador y de sus instrucciones, registros y memoria.

Como solución a estos problemas, las aplicaciones de usuario se ejecutan en


modo usuario y cuando necesitan realizar funciones que no tienen permitidas,
realizan una llamada al sistema y como el sistema operativo tiene acceso a todas
las instrucciones del procesador, realiza las mismas cambiando previamente a
modo núcleo y cuando finaliza la ejecución del servicio, el modo se fija de nuevo a
modo usuario.

Modo protegido, ó modo de núcleo: permite el acceso directamente al hardware y hacer


operaciones de bajo nivel. Modo de usuario: no se permite acceder directamente al hardware,
sólo se permite utilizar las llamadas al sistema, que son funciones proporcionadas por el SO para
acceder al hardware.

Página 14 de 20
SISTEMAS OPERATIVOS I
UNIDAD 2 – SEMANA 6
En resumen....

Todas las tareas que necesitan realizar las aplicaciones no pueden realizarse sin la
ayuda del sistema operativo. En realidad, necesitamos siempre del sistema
operativo, ya que para poder ejecutar un proceso necesitamos del sistema
operativo, y sin un proceso ejecutándose no podemos hacer nada. Ahora,
supongamos que tenemos a un proceso ejecutándose en el sistema, qué es lo
que éste puede hacer sin emplear llamadas al sistema, la respuesta será muy
poco. Este podrá ejecutar todas las instrucciones que la arquitectura del
procesador permite que se ejecuten en modo usuario pero nada más. Si tenemos
en cuenta que toda comunicación entre el procesador y el mundo exterior se
hace mediante dispositivos periféricos (teclado, monitor, placa de red, etc.) y que
es el sistema operativo el encargado de administrarlos, y por lo tanto, el único que
puede comunicarse con ellos, nos daremos cuenta hasta qué punto somos
dependientes del sistema operativo para poder realizar cualquier tipo de tarea.
Con lo cual, todo lo que un usuario de un sistema operativo puede hacer se
encuentra acotado por las instrucciones que la arquitectura del sistema en que
estamos trabajando nos permite ejecutar en modo usuario, más las tareas que
pueden ser realizadas por medio de llamadas al sistema.

A grandes rasgos las diferencias entre modo kernel (Protected Mode) y modo
usuario son las siguientes:

●​ En modo kernel se encuentran disponibles todas las instrucciones y


funcionalidades que la arquitectura del procesador es capaz de brindar, sin
ningún tipo de restricciones. Es en este modo en el cual se ejecuta el kernel
(núcleo) del sistema operativo. Por lo general, es el kernel el único que se
ejecuta en este modo.
●​ En modo usuario se encuentran disponibles solamente un subconjunto de
las instrucciones y funcionalidades que la arquitectura del procesador
ofrece . En este modo se ejecutan los procesos de los usuarios de sistema.

8. Llamadas al sistema
Las llamadas al sistema son el mecanismo por medio del cual las aplicaciones
solicitan servicios al sistema operativo. Cuando un programa de usuario necesita
realizar alguna operación con algún objeto de la máquina (por ejemplo, acceder al
disco, impresora, pantalla, entre muchos otros) no puede hacerlo directamente y
lo hace a través de una llamada al sistema; invoca al sistema operativo y este
realiza la operación en su lugar.

Página 15 de 20
SISTEMAS OPERATIVOS I
UNIDAD 2 – SEMANA 6
¿Por qué son necesarias?

Los sistemas operativos modernos están diseñados con una separación clara entre
el modo usuario (donde se ejecutan las aplicaciones con privilegios limitados) y el
modo kernel (donde el SO tiene control total sobre el hardware y los recursos del
sistema). Esta división es fundamental para la estabilidad y seguridad del sistema,
ya que impide que las aplicaciones interfieran directamente con el hardware u
otros procesos de manera inadecuada.

Cuando una aplicación necesita realizar una operación que excede sus permisos,
como leer o escribir un archivo, crear un nuevo proceso, gestionar la memoria o
comunicarse con un dispositivo de hardware, debe recurrir al sistema operativo a
través del uso de las llamadas al sistema.

Tipos Comunes de Llamadas al Sistema

Los sistemas operativos ofrecen una amplia variedad de llamadas al sistema para
gestionar diferentes aspectos del sistema. Algunas categorías comunes incluyen:

●​ Gestión de Procesos: Creación (fork, CreateProcess), terminación (exit,


TerminateProcess), carga y ejecución (exec), espera de finalización (wait).
●​ Gestión de Archivos: Apertura (open), cierre (close), lectura (read), escritura
(write), obtención de atributos de archivo.
●​ Gestión de Dispositivos: Solicitud y liberación de dispositivos, lectura y
escritura en dispositivos.
●​ Gestión de Memoria: Asignación y liberación de memoria (brk,
mmap,malloc,free).
●​ Comunicación entre Procesos (IPC): Creación y gestión de tuberías (pipes),
semáforos, memoria compartida, envío y recepción de mensajes.
●​ Información del Sistema: Obtención de la hora, fecha, atributos del sistema.

Las llamadas al sistema son indispensables para el funcionamiento de cualquier


sistema operativo moderno. Proporcionan una capa de abstracción esencial que:

●​ Protege el sistema: Al centralizar las operaciones privilegiadas a través del


kernel, se previene que las aplicaciones corrompan el sistema o accedan a
recursos no autorizados.
●​ Gestiona los recursos: Permiten al SO administrar de manera eficiente y
ordenada los recursos compartidos como la CPU, la memoria y los
dispositivos de E/S.
●​ Simplifica el desarrollo de aplicaciones: Ofrecen una interfaz bien definida
y estandarizada para que los desarrolladores interactúen con el SO, sin
necesidad de conocer los detalles internos del hardware.
●​ Facilita la portabilidad: Aunque las implementaciones exactas de las
llamadas al sistema pueden variar entre diferentes SO, el uso de estándares
como POSIX ayudan a que las aplicaciones sean más portables entre
sistemas compatibles.

Página 16 de 20
SISTEMAS OPERATIVOS I
UNIDAD 2 – SEMANA 6
9. Interrupciones
Casi todos las computadoras tienen un mecanismo mediante el cual otros
módulos (E/S, memoria) pueden interrumpir la ejecución normal del procesador, a
este mecanismo se lo denomina interrupciones. Los sistemas operativos
modernos están controlados mediante interrupciones.

Las interrupciones permiten mejorar la eficiencia del procesamiento debido a


que la mayoría de los dispositivos externos son mucho más lentos que el
procesador y como consecuencia el procesador tendría un tiempo ocioso, por
ejemplo mientras espera que la impresora se ponga al corriente. La duración de la
pausa supone cientos e incluso miles de ciclos de instrucción donde el procesador
no ejecuta instrucciones. Con las interrupciones, el procesador se puede dedicar a
la ejecución de otras instrucciones mientras una operación de E/S está en proceso.
Cuando el dispositivo de E/S esté disponible, es decir, cuando esté preparado para
aceptar más datos del procesador, el módulo de E/S de dicho dispositivo enviará
una señal de solicitud de interrupción al procesador. El procesador responde
suspendiendo la operación del programa en curso y saltando a un programa que
da servicio al dispositivo de E/S en particular, conocido como rutina de
tratamiento de interrupciones (Interrupt handler), reanudando la ejecución
original después de haber atendido al dispositivo.

Desde el punto de vista del programa de usuario una interrupción solamente


plantea una suspensión de la secuencia normal de ejecución. Cuando el
tratamiento de la interrupción termina, la ejecución continúa. El programa no
tiene que disponer de ningún código especial para dar lugar a las interrupciones;
el procesador y el sistema operativo son los responsables de suspender el
programa de usuario y de reanudarlo después en el mismo punto. Para dar lugar a
las interrupciones, se añade un ciclo de interrupción al ciclo de instrucción. En el
ciclo de interrupción el procesador comprueba si ha ocurrido alguna interrupción,
lo que se indicará con la presencia de alguna señal de interrupción. Si no hay
interrupciones pendientes, el procesador continúa con el ciclo de lectura y trae la
próxima instrucción del programa en curso. Si hay una interrupción pendiente, el
procesador suspende la ejecución del programa en curso y ejecuta una rutina de
tratamiento de interrupción. Esta rutina, generalmente, forma parte del sistema
operativo y determina la naturaleza de la interrupción realizando cuantas acciones
sean necesarias.

Un ejemplo práctico

Un programa en ejecución consta de una secuencia de instrucciones en las que se


encuentran intercaladas llamadas a imprimir. Éstas son en realidad llamadas a un
programa de E/S que es una utilidad del sistema que realizará la operación
concreta de E/S y consta de:​

Página 17 de 20
SISTEMAS OPERATIVOS I
UNIDAD 2 – SEMANA 6
1.​ Secuencia ​ de instrucciones de preparación para la operación concreta de
E/S. Puede incluir copia de datos, etc. Luego viene la orden ​concreta de E/S.
Sin el uso de interrupciones el programa deberá esperar a que el dispositivo
de E/S (en este caso la impresora) termine la función pedida.
2.​ Otra ​ secuencia de instrucciones que permiten completar la operación de
E/S. Puede incluir la activación de un código de condición que indique el
éxito o fracaso de la operación.

Dado que la operación de E/S puede tardar un tiempo considerable debido al


dispositivo impresor, el programa de E/S puede quedar detenido esperando a que
se complete la operación. Entonces el programa de usuario se detendrá por un
tiempo considerable en cada llamada a impresión. Observe la figura 1, donde el
programa de usuario se encuentra indicado con rectángulos rojos que simbolizan
el conjunto de instrucciones que se encuentran intercaladas por llamadas a
imprimir. Por otra parte, el rectángulo “a” simboliza la secuencia de instrucciones
de preparación para la operación de E/S y el rectángulo “b” las instrucciones que
permiten completar la operación de E/S.

Figura 1

Con las interrupciones, el procesador se puede dedicar a la ejecución de otras


instrucciones mientras una operación de E/S está en proceso. Observe la figura 2,
cuando el programa de usuario realiza la llamada a Imprimir, se invoca al
programa de E/S que en este caso solamente tiene las instrucciones de
preparación y la orden de E/S. Después de ejecutarse estas pocas instrucciones, se
devuelve el control al programa de usuario. Mientras tanto el dispositivo externo
estará ocupado recibiendo datos de la memoria de la computadora e
imprimiéndolos. Esta operación se realiza concurrentemente con la ejecución de
las instrucciones del programa de usuario.

Página 18 de 20
SISTEMAS OPERATIVOS I
UNIDAD 2 – SEMANA 6
Cuando el dispositivo externo esté disponible, es decir, cuando esté preparado
para recibir más datos desde el procesador, el módulo de E/S de dicho dispositivo
enviará una señal de solicitud de interrupción al procesador. Entonces el
procesador suspenderá la operación del programa en curso y comenzará la
ejecución de un programa que dará servicio al dispositivo de E/S en particular.
Dicho programa se denomina rutina de tratamiento de interrupción. Por último,
el procesador reanudará la ejecución del programa original una vez que haya sido
atendido el dispositivo de E/S. En la figura 2, las interrupciones están indicadas
con un rombo.

Figura 2​

La siguiente tabla3 resume brevemente las clases de interrupciones que pueden


producirse:

3
Basado en Stallings, William (2005), Sistemas operativos. Aspectos internos y principios de diseño, quinta
edición, pág. 17.
Página 19 de 20
SISTEMAS OPERATIVOS I
UNIDAD 2 – SEMANA 6
De programa (se las conoce Producidas por alguna condición que se
también como Excepciones) genera como resultado de la ejecución de
una instrucción, normalmente por errores
del programa, como por ejemplo:

Desbordamiento aritmético.

División por cero.

Referencia a una dirección de memoria


fuera del espacio permitido al usuario.

Ejecución de una instrucción ilegal de la


máquina.

De E/S Producidas por un controlador de E/S,


indicando que una operación ha
terminado normalmente o para indicar
alguna condición de error.

De reloj Producidas por el reloj interno del


procesador. Permiten al sistema operativo
realizar determinadas funciones con
cierta regularidad.

Por falla de hardware Producidas por fallas como por ejemplo


un corte de corriente o un error en la
paridad de la memoria.

Página 20 de 20
SISTEMAS OPERATIVOS I
UNIDAD 2 – SEMANA 6
EstadoFinalizado
Comenzadosábado, 17 de mayo de 2025, 08:45
Completadosábado, 17 de mayo de 2025, 09:36
Duración50 minutos 30 segundos
Calificación10,00 de 10,00 (100%)
Pregunta 1

Correcta

S e p untúa 1,00 sobre 1,00

Marcar p reg unta

Enunciado de la pregunta

Los procesos que crea el sistema operativo incluyen:

Pregunta 1Respuesta

a.

Recursos, datos, código ejecutable y su contexto de ejecución.

b.

Recursos, código fuente, datos y su contexto de ejecución.

c.

Contexto de ejecución, código binario, datos y los recursos.

Retroalimentación

La respuesta correcta es: Recursos, datos, código ejecutable y su contexto de


ejecución.

Pregunta 2
Correcta

S e p untúa 1,00 sobre 1,00

Marcar p reg unta

Enunciado de la pregunta

La técnica de spooling se diferencia del buffering en que:

Pregunta 2Respuesta

a.

Spooling organiza y gestiona colas de trabajos para su procesamiento,


permitiendo que la CPU no quede inactiva durante operaciones de E/S, mientras
que el buffering solo retiene datos temporalmente.

b.

Spooling se utiliza únicamente para la impresión de documentos.

c.

Buffering y spooling realizan exactamente la misma función.

d.

Spooling almacena datos en memoria RAM mientras que el buffering los guarda
en disco.

Retroalimentación

La respuesta correcta es: Spooling organiza y gestiona colas de trabajos para su


procesamiento, permitiendo que la CPU no quede inactiva durante operaciones
de E/S, mientras que el buffering solo retiene datos temporalmente.

Pregunta 3
Correcta

S e p untúa 1,00 sobre 1,00

Marcar p reg unta

Enunciado de la pregunta

La cantidad de procesos que pueden ejecutarse en un sistema depende de:


(Seleccione las opciones que considere afirmaciones correctas).

Pregunta 3Respuesta

a.

La tecnología del procesador.

b.

El tamaño de los programas.

c.

La interfaz de usuario.

d.

El tamaño de la pantalla.

e.

El tamaño de la memoria.

f.

La memoria secundaria.
Retroalimentación

Las respuestas correctas son: El tamaño de la memoria., El tamaño de los


programas., La tecnología del procesador.

Pregunta 4

Correcta

S e p untúa 1,00 sobre 1,00

Marcar p reg unta

Enunciado de la pregunta

El siguiente esquema hace referencia a:

La parte de imagen con el identificador de relación rId6 no se encontró en el archiv o.

Pregunta 4Seleccione una:

El funcionamiento del procesador en un sistema operativo monoprogramado.

La gestión de varios procesos, ejecutándose en sistemas de computadoras


múltiples y distribuidas.

La gestión de un solo proceso, ejecutándose en sistemas de computadoras


múltiples y distribuidas.

El funcionamiento del procesador en un sistema operativo multiprogramado.

Retroalimentación
Respuesta correcta
La respuesta correcta es:

El funcionamiento del procesador en un sistema operativo multiprogramado.

Pregunta 5

Correcta

S e p untúa 1,00 sobre 1,00

Marcar p reg unta

Enunciado de la pregunta

Empareja el tipo de sistema operativo con su característica principal.

Prioriza la respuesta a eventos dentro de Respuesta 1


estrictos límites de tiempo. Pregunta 5
Múltiples usuarios interactúan Respuesta 2
simultáneamente con el sistema a través de
terminales. Pregunta 5
Procesa trabajos secuencialmente sin Respuesta 3
interacción del usuario durante la ejecución. Pregunta 5
Permite la comunicación continua entre el
Respuesta 4
usuario y el sistema durante la ejecución de
tareas. Pregunta 5

Retroalimentación

Respuesta correcta
La respuesta correcta es:

Prioriza la respuesta a eventos dentro de estrictos límites de tiempo. → Tiempo


Real,

Múltiples usuarios interactúan simultáneamente con el sistema a través de


terminales. → Tiempo Compartido,
Procesa trabajos secuencialmente sin interacción del usuario durante la
ejecución. → Batch,

Permite la comunicación continua entre el usuario y el sistema durante la


ejecución de tareas. → Interactivo

Pregunta 6

Correcta

S e p untúa 1,00 sobre 1,00

Marcar p reg unta

Enunciado de la pregunta

El buffering en un sistema operativo se implementa para:

Pregunta 6Respuesta

a.

Gestionar la prioridad en la ejecución de procesos.

b.

Realizar backups automáticos de la información.

c.

Almacenar datos de forma permanente en el disco duro.

d.

Mejorar la transferencia de datos entre la CPU y dispositivos de E/S


almacenando temporalmente información en memoria.

Retroalimentación
La respuesta correcta es: Mejorar la transferencia de datos entre la CPU y
dispositivos de E/S almacenando temporalmente información en memoria.

Pregunta 7

Correcta

S e p untúa 1,00 sobre 1,00

Marcar p reg unta

Enunciado de la pregunta

El JCL se utiliza principalmente para:

Pregunta 7Respuesta

a.

Configurar la interfaz gráfica del usuario.

b.

Administrar la memoria virtual de los procesos.

c.

Organizar y estructurar la ejecución de trabajos (jobs) en sistemas por lotes.

d.

Programar en lenguaje ensamblador para el kernel.

Retroalimentación

La respuesta correcta es: Organizar y estructurar la ejecución de trabajos (jobs)


en sistemas por lotes.
Pregunta 8

Correcta

S e p untúa 1,00 sobre 1,00

Marcar p reg unta

Enunciado de la pregunta

Seleccione las opciones que considere afirmaciones correctas.

Pregunta 8Respuesta

a.

Las aplicaciones de usuario se ejecutan en modo kernel.

b.

Modo kernel: se pueden ejecutar todas las instrucciones disponibles en la cpu.

c.

El Sistema Operativo se ejecuta en modo usuario.

d.

El Sistema Operativo se ejecuta en modo kernel.

e.

Modo usuario: se pueden ejecutar solamente las instrucciones no privilegiadas.

f.
Las aplicaciones de usuario se ejecutan en modo usuario.

Retroalimentación

Las respuestas correctas son: Modo kernel: se pueden ejecutar todas las
instrucciones disponibles en la cpu., El Sistema Operativo se ejecuta en modo
kernel., Modo usuario: se pueden ejecutar solamente las instrucciones no
privilegiadas., Las aplicaciones de usuario se ejecutan en modo usuario.

Pregunta 9

Correcta

S e p untúa 1,00 sobre 1,00

Marcar p reg unta

Enunciado de la pregunta

¿Cuál de las siguientes afirmaciones describe mejor un sistema de proceso por


lotes?

Pregunta 9Respuesta

a.

Ejecuta un único trabajo a la vez sin utilizar un monitor residente.

b.

Se utiliza exclusivamente para el procesamiento científico en sistemas mainframe.

c.

Permite la ejecución interactiva en tiempo real con intervención constante del


usuario.
d.

Agrupa múltiples trabajos y los ejecuta en conjunto sin requerir interacción


continua, optimizando el uso de la computadora.

Retroalimentación

La respuesta correcta es: Agrupa múltiples trabajos y los ejecuta en conjunto sin
requerir interacción continua, optimizando el uso de la computadora.

Pregunta 10

Correcta

S e p untúa 1,00 sobre 1,00

Marcar p reg unta

Enunciado de la pregunta

Tenemos un servidor empresarial de una empresa de telefonía móvil que se va a


dedicar exclusivamente a calcular las facturas mensuales a los clientes y hacer los
cargos en sus cuentas bancarias. ¿Cuál de estas modalidades de procesamiento le
viene mejor a este servidor?

Pregunta 10Respuesta

a.

Procesamiento de tiempo real.

b.

Procesamiento por lotes.

c.

Procesamiento por tiempo compartido.


Retroalimentación

La respuesta correcta es: Procesamiento por lotes.

También podría gustarte