Está en la página 1de 39

Componentes de SO:

Muchos de nosotros al escuchar el término sistema operativo pensamos en


las interfaces/pantallas de nuestros ordenadores y teléfonos, como los
menús, botones y fondos. Técnicamente, estos son parte del sistema
operativo, pero es un poco más complicado que eso.
Un sistema operativo es el conjunto de programas que gestiona los recursos
de nuestro ordenador y nos permite interactuar con él.
Hay dos partes principales en un sistema operativo, el kernel y el espacio
de usuario.
● El kernel es el núcleo principal de un sistema operativo. Se comunica
directamente a nuestro hardware y gestiona los recursos del sistema.
Como usuarios, no interactuamos directamente con el kernel. En
cambio, interactuamos con la segunda parte del sistema operativo, el
espacio de usuario.

● El espacio de usuario está compuesto básicamente por todo aquello


fuera del kernel.
Cuando decimos sistema operativo, estamos hablando de los dos, kernel y
espacio de usuario.

Hay cientos de sistemas operativos, los más importantes usados en TI;


Windows, Mac y Linux.
● El sistema operativo Windows está desarrollado por Microsoft y es
usado ampliamente en el ámbito de negocios y doméstico. La
mayoría de los PCs que se compran vienen con Windows como
sistema operativo por defecto. PC significa Personal Computer, que
técnicamente significa un ordenador usado por una persona. Pero en
el mundo actual, PC es más comúnmente empleado para referirse a
un ordenador con Windows.

● El sistema operativo Mac de Apple, se utiliza principalmente en el


ámbito del consumidor. Si compras un ordenador Apple, vendrá con
Mac OS instalado.

● El último sistema Linux es un sistema de código abierto, lo que


significa que es un software libre para ser compartido, modificado y
distribuido. Linux está muy extendido en la infraestructura de
negocios y en el ámbito doméstico. Linux en sí mismo es realmente
un kernel desarrollado por Linus Torvalds. Por cómo ha evolucionado,
llamamos al kernel Linux el sistema operativo Linux. Hoy en día, Linux
se ha convertido en un gran esfuerzo comunitario con desarrolladores
de todo el mundo contribuyendo a su éxito. porque Linux es de código
abierto, gran cantidad de organizaciones diferentes compilan su
propia versión. Llamamos estos diferentes sistemas operativos Linux
distribuciones. Algunas distribuciones comunes de Linux son Ubuntu,
Debian y Red Hat.

Sistemas operativos como Windows o Macintosh por el contrario, son


desarrollados exclusivamente por sus respectivas compañías.

Los sistemas operativos de los teléfonos móviles están superando


rápidamente a sus homólogos de escritorio en términos de cantidad. El uso
del teléfono móvil en el mundo es más frecuente que el de los ordenadores
de escritorio. Puedes leer más sobre esto en las lecturas complementarias.

Un dato curioso a resaltar es que Chrome OS y Android OS corren ambos el


kernel de Linux debajo del capó. Así que existe la posibilidad de que ya
hayas trabajado con Linux y no lo sepas. Hay variedad de sistemas
operativos ahí fuera y todos ellos comparten características comunes. Si
eres capaz de entender los pilares básicos de un sistema operativo, los
puedes aplicar a cualquier sistema operativo y entender cómo funciona.

En el soporte TI es muy común trabajar con muchos sistemas operativos


distintos desde sistemas de escritorio a sistemas de teléfonos inteligentes y
más.

El kernel :

Efectúa el almacenamiento de archivos en la gestión de archivos. Puedes


compararlo con el archivo de una oficina física donde almacenamos los
datos en un formato de papel. Un archivo de ordenador es simplemente
datos que almacenamos y un archivo puede ser cualquier cosa, un
documento de word, una imagen, una canción, literalmente cualquier cosa.
Un sistema de archivos es cómo gestionamos estos archivos, tal y como en
una oficina utilizamos un sistema para almacenar nuestros archivos. No solo
ponemos todos nuestros archivos en un armario, eso sería extremadamente
desordenado. En su lugar, organizamos los archivos en carpetas o
directorios para hacerlos más fácil de encontrar. Hay gran variedad de
sistemas de archivos distintos,

1. Archivos y Sistemas de Archivos

Imagina si tuvieras que guardar un solo archivo dentro de un armario.


¿Eso no es tan malo, verdad? ¿Qué pasa si, en lugar de un archivo, tienes
que almacenar 100.000? ¿Puedes ver el problema?.

Pues bien, en nuestros ordenadores, nosotros fácilmente podemos


almacenar cientos de miles de archivos, si no es que más. ¿Problema
solucionado? No del todo, tenemos que ser capaces de hacer un
seguimiento de todos estos archivos.

El kernel del SO, se encarga del almacenamiento de los archivos y del


Sistema de archivos en nuestras máquinas.

Hay tres componentes principales para el manejo de archivos en un sistema


operativo, los datos de archivo, metadatos y el sistema de archivos.

El sistema de archivos. Cuando tenemos un disco duro nuevo que


queremos para almacenar datos tenemos que borrar y configurar el disco.
De esta manera nuestro sistema operativo puede leer y escribir datos en él.

Esto es importante, ya que así es como nuestro sistema operativo mantiene


un registro de archivos. Por lo que se debe saber qué tipo de sistema de
archivos es utilizado. Hay muchos sistemas de archivos, y ellos se utilizan
para diferentes propósitos. Algunos sistemas de archivos ofrecen el soporte
el almacenamiento de grandes cantidades de datos, otros sólo admiten
pequeñas cantidades. Los sistemas de archivos pueden operar a diferentes
velocidades, y tener diversa resiliencia hacia la corrupción de archivos y así
sucesivamente. Nosotros no entraremos en determinar cuál sistema es
mejor. Eso es para que usted decida.

Los principales fabricantes de sistema operativo tienen sus propios sistemas


de archivo único que ellos recomiendan. Para Windows, el sistema de
archivos principal que se utiliza es NTFS. Fue introducido en la versión
anterior del sistema operativo Windows, Windows NT. E incluye muchas
características, como la encriptación, velocidades más rápidas de acceso,
seguridad y mucho más.
Para Mac OS, el sistema de archivos predeterminado es HFS + (APFS
2017+). es transaccional lo que significa que hace un mejor trabajo
recuperando el estado del disco en caso de falla. Esta es una característica
en otros tipos de sistemas de archivos, como NTFS.
Para Linux, distribuciones diferentes utilizarán diferentes tipos de sistema de
archivo. Un estándar para sistemas de archivos para Linux es ext4, que es
compatible con los más viejos sistemas de archivo ext. En general, tipos de
sistema de archivos diferente no interactúan muy bien con los demás. Tal
vez no seas capaz de mover fácilmente archivos entre sistemas de archivos
diferentes, lo anterior está dependiendo del tipo de sistema de archivo.
Una buena pauta a seguir es solo utilizar el sistema de archivos que
recomiende tu sistema operativo.

Otra parte importante de la gestión de archivos es el almacenamiento de


datos del archivo. Escribimos los datos en nuestro disco duro en forma de
bloques de datos. Cuando salvamos algo en nuestros discos duros, no
siempre se aloja en una sola pieza. Puede ser dividida en muchas piezas y
escrita a diferentes partes del disco. El almacenamiento en bloque mejora el
manejo rápido de datos porque los datos no son almacenados en una larga
pieza y puede ser encontrada más rápido. También es mejor para la
utilización de espacio de almacenamiento.
Por último, tenemos que mantener los metadatos que contiene la
información de nuestro archivo. Hay mucha información acerca de nuestro
archivo que nosotros queremos saber, como que ha creado, cuando fue la
última modificación, quién tiene acceso a él y así sucesivamente. Los
metadatos de archivo nos dicen todo lo que necesitamos saber sobre
nuestro archivo. También nos dice qué tipo de archivo es. Una extensión de
archivo es la parte anexa de un nombre de archivo que nos dice Qué tipo de
archivo es, en ciertos sistemas operativos. Por ejemplo cool_image.jpeg.
JPEG es una extensión de archivo asociada con los archivos de imagen.
Conocimientos de sistemas de archivos y las diferencias entre ellos es una
gran habilidad que se debe tener, puede ser muy útil cuando necesitas
hacer cosas como recuperar datos de discos dañados. O explorar formas
para que el arranque desde dos tipos de sistemas operativos diferentes,
como Windows y Linux, en el mismo equipo.

2. Gestión de procesos.

Tenemos muchos programas que queremos ejecutar en nuestro


sistema. Para ejecutarlos, gestionamos el orden en que se ejecutan,
Cuántos recursos utilizan, Cuánto se ejecutan, etcétera. Nuestro kernel nos
ayuda a hacer esto con sus capacidades de gestión de proceso.

Por ejemplo, probablemente has usado tu ordenador para hacer


varias tareas a la vez. Tal vez escribes en un documento de texto mientras
escuchas música o reproduces un vídeo. El planificador de proceso es la
parte del kernel que hace posible esta multitarea. Él cambia la ejecución de
cada proceso diferente en la CPU más rápido de lo que puedes parpadear,
y te da la ilusión de que las cosas están sucediendo simultáneamente.
Una de las tareas más importantes que realiza nuestro kernel es la Gestión
de Procesos. Un proceso es un programa que se está ejecutando, como
nuestro navegador o editor de texto.

Un programa es una aplicación que podemos ejecutar, como Chrome.

Podemos tener muchos procesos del mismo programa funcionando al


mismo tiempo. Piensa en cuántas ventanas de Chrome puedes abrir. Todas
son diferentes procesos para el mismo programa. Cuando queremos
ejecutar nuestros programas, tenemos que dedicarles recursos
informáticos, como RAM y CPU. Solo tenemos una cantidad finita de
recursos y queremos ser capaces de ejecutar varios programas.

Un núcleo tiene que gestionar nuestros recursos de forma eficiente, de


forma que se puedan ejecutar todos los programas que queremos usar.

Nuestro kernel no solo dedica todos los recursos de nuestras computadoras


a un proceso.

Nuestro sistema está realmente ejecutando constantemente múltiples


procesos que son necesarios para su funcionamiento, así que nuestro
kernel tiene que preocuparse de todos estos procesos a la vez.

Lo que un programa quiere ejecutar, necesita un proceso que sea creado


para él. Este proceso necesita tener más recursos como memoria RAM y
CPU.

El kernel tiene que programar el tiempo de la CPU para ejecutar las


instrucciones del proceso.

Pero hay sólo una CPU y varios procesos.

¿Cómo hace a la CPU capaz de ejecutar varios procesos a la vez?

Realmente no lo hace, ejecuta uno por uno los procesos a través de algo
conocido como un segmento de tiempo.
Un segmento de tiempo es un muy breve intervalo de tiempo que es
asignado a un proceso para su ejecución por la CPU. Es tan corto que
incluso no te darías cuenta. Quiero decir, es súper corto.

La CPU ejecuta un proceso en milisegundos, luego ejecuta otro proceso,


luego otro.
Para el ojo humano todo parece ejecutarse al mismo tiempo, así es cómo
de rápido trabaja la CPU.

Si tu equipo se ejecuta lentamente y los recursos de tu CPU están al


máximo,
podría haber muchos factores en juego.

Es posible que un proceso esté ocupando más segmentos de tiempo de lo


debido.
Esto significa que el siguiente proceso no puede ser ejecutado.

Otra posibilidad es que haya demasiados procesos que quieran tiempo de


CPU y la CPU no pueda mantenerlos a todos.

En cualquiera caso, a pesar de que el núcleo hace todo lo posible para


gestionar procesos para nosotros, podríamos tener que intervenir
manualmente de vez en cuando.
Hablaremos acerca de cómo gestionar los procesos en un curso posterior.
El kernel crea procesos, los programa eficientemente y gestiona <br />cómo
se cancelan los procesos. Esto es importante ya que necesitamos una
manera de recoger todos los recursos previamente usados que procesos
activos fueron ocupando y reasignarlos a otro proceso.

3. La gestión de memoria. Nuestro núcleo optimiza el uso de la


memoria y asegura que nuestras aplicaciones tengan memoria
suficiente para ejecutarse.

Recuerda que cuando un proceso corre, éste necesita tiempo de CPU, pero
también necesita memoria.

Cuando los procesos corren, tienen que tomar más espacio en la


memoria, de tal forma que la computadora los pueda leer y cargar
rápidamente.
Sin embargo, comparado con nuestros discos duros, la memoria llega en
cantidades pequeñas.

Así que, para obtener más memoria como la que hay físicamente, usamos
algo llamado memoria virtual.

La memoria virtual es una combinación de espacio de disco duro y RAM


que actúan como memoria para que nuestros procesos la puedan usar.
Cuando ejecutamos un proceso, tomamos los datos del programa en
pedazos llamados páginas. almacenamos estas páginas en la memoria
virtual.

Si queremos leer y ejecutar estas páginas, éstas tienen que ser enviadas a
la memoria física o a la RAM.
¿Por qué no almacenar todo el programa en RAM tal que pueda
ejecutarse rápidamente?

Pues, se podría si éste fuera bastante pequeño, pero para aplicaciones


grandes, esto podría ser muy desperdiciado, ¿Alguna vez has trabajado
en un procesador de textos, ir a un menú que normalmente no usas, y
notar que la aplicación va un poco más despacio?

Esto es porque tu computadora tuvo que cargar la página para ese menú
desde la memoria virtual a la RAM. No usamos todas las características de
nuestra aplicación de una vez.

Así que ¿Por qué cargar todo de una vez?


Esto es parecido como cuando cocinamos una receta de un libro de
cocina. No necesitas leer todo el libro sólo para preparar una receta.

Sólo necesitas leer las páginas de la receta que estás preparando. Cuando
almacenamos la memoria virtual en el disco duro, llamamos al espacio
asignado, espacio de intercambio (swap space).

Cuando nos metemos en aplicaciones prácticas de partición de


disco, también asignaremos el espacio para intercambio. El kernel toma
cuidado de todo esto por nosotros, absolutamente.
Éste maneja el proceso de toma de página de datos y los intercambia entre
la RAM y la memoria virtual.

Pero, el kernel no hace todo el trabajo acerca de esto.


4. La última función importante que realiza un kernel es la entrada/salida
o administración de I/O. Se trata de cómo nuestro kernel habla con
dispositivos externos como discos, teclados, redes, conexiones,
dispositivos de audio y más. La administración de I/O es cualquier
cosa que nos puede dar entrada o que podemos utilizar para salida
de datos. Si alguna vez has guardado un archivo en un disco, haces
clic en el botón del ratón, usas un micrófono haciendo un vídeo chat
con un amigo, tienes que darle las gracias a la capacidad del kernel
para la gestión I/O.
Hasta aquí, aprendimos qué duro trabaja nuestro kernel al manejar
archivos, gestionar el almacenamiento de archivos, hacer malabares con los
diferentes procesos que se ejecutan en nuestra computadora, y asignar
memoria.

Otra tarea importante que nuestro kernel maneja, es la gestión de entrada y


salida.
Hablamos de los dispositivos que realizan entrada y salida de datos, como
dispositivos de E/S.

Entre ellos están nuestros monitores, teclados, mouse, discos


duros, altavoces, auriculares Bluetooth, cámaras web y adaptadores de
red.
Nuestro kernel administra estos dispositivos de E/S.

El kernel debe poder cargar los controladores que se usan para que
podamos reconocer y comunicarnos con estos diferentes tipos de
hardware.
Cuando el kernel es capaz de iniciar los controladores para comunicarse
con el hardware, también administra la transferencia de datos hacia y
desde los dispositivos.

E/S no solo implica la transferencia de datos entre nosotros y nuestros


dispositivos, los dispositivos también necesitan comunicarse entre sí.

Nuestro kernel maneja toda la intercomunicación entre dispositivos. También


determina cuál es el método de transferencia más eficiente y hace todo lo
posible para asegurarse de que no haya errores en los datos durante el
proceso. Cuando tengas que resolver un problema con una máquina
lenta, por lo general, es algún tipo de deficiencia de recursos de
hardware. Si no tienes suficiente RAM, no puedes cargar tantos
procesos. Si no tienes suficiente CPU, no puedes ejecutar programas con
suficiente velocidad. Si tienes demasiada entrada hacia el dispositivo o
demasiada salida en alguna parte, también se bloqueará el envío o la
recepción de otros datos. "¡Está lenta!" Es uno de los problemas más
comunes que resolverás en una función de soporte de TI. Conocer las
fuentes potenciales de esa lentitud es de gran ayuda cuando estás tratando
de reducir las causas de la latencia. La solución de problemas es una parte
muy importante de cualquier función de soporte de TI.

En resumen las funciones principales del kernel; gestión de archivos,


gestión de procesos, gestión de memoria y administración de I/O.
El espacio de usuario es todo fuera del kernel.

Estas son las cosas con las que nos relacionamos directamente,
como los programas, como editores de texto, reproductores de música,
configuración del sistema, interfaces de usuario, etcétera.
Cuando interactuamos con un sistema operativo, queremos hacer
ciertas funciones como crear archivos y carpetas, abrir aplicaciones,
eliminar elementos, captas la idea. Hay dos formas en que podemos
interactuar con nuestro SO: con una shell o con una interfaz gráfica de
usuario.
También hay algunas shells que usan interfaces gráficas de
usuario, pero, en su mayor parte, trabajaremos con la interfaz de línea de
comandos o shell CLI. Esto significa que usaremos comandos de texto.
Una interfaz gráfica de usuario, o GUI, es una forma visual de
interactuar con una computadora.

Usamos nuestro mouse para hacer clic y arrastrar, para abrir


carpetas, etc.
Podemos ver todo lo que hacemos con él.

Tal vez uses una GUI todos los días sin darte cuenta de que lo estás
haciendo.
Para hacer clic en los íconos y navegar por los menús, para abrir tu
navegador web y dirigirte a la plataforma de Classroom. La gente, por lo
general, reconoce un dispositivo o un producto por su GUI.

Quizás puedas detectar la diferencia entre una computadora que


ejecuta Microsoft Windows o MacOS por el diseño de las ventanas, los
menús y los íconos.
Probablemente viste más GUI en otros lugares también, como teléfonos
móviles y tablets, cajeros automáticos y quioscos de aeropuerto.

Una shell es, básicamente, un programa que interpreta comandos de texto y


los envía al SO para que los ejecute. Antes de que tuviéramos interfaces
visuales sofisticadas, tenías que escribir un comando para, por ejemplo,
crear un archivo.

Si bien actualmente tenemos las GUI, la shell todavía es utilizada para


ejecutar comandos, en especial por los "power users".

Los power users son usuarios de computadora por encima de la media.


Especialmente en Linux, es esencial que conozcas los comandos de
verdad, no solo una GUI.
Hay muchos tipos diferentes de shells. Algunas tienen características
diferentes, algunas tienen un desempeño diferente.

Es el mismo concepto que subyace a los diferentes sistemas operativos. La


shell más común, shell bash o "Bourne-again shell" en Linux. También hay
una shell para Windows llamada Powershell

LOGS
Imagina esta situación:

Estás jugando tu videojuego favorito y por fin llegas al jefe final. Te llevó
incontables horas encontrar a este jefe, y descuidaste todas tus demás
responsabilidades como el trabajo, la escuela, incluso tu higiene.

Es bastante desagradable, pero lo entiendo. Estás a punto de matar al jefe


final, cuando, de repente, tu consola de juego se apaga por completo.

Tal vez enloqueciste un segundo, pero entonces recuerdas, está


bien, habías guardado el juego antes de que apareciera el jefe.

Ahora puedes volver a encenderla y estarás en el mismo lugar. Pero,


entonces, tu consola se apaga de nuevo.

Esto sucede una y otra vez.

Al igual que la mayoría de las personas, estás devastado. Vuelas en un


ataque de rabia.
Pero entonces, justo antes de arrojar la consola, haces un esfuerzo
desesperado y gritas: "¡Dime qué te pasa!". De repente, escuchas una débil
voz que te dice lo que quieres escuchar. ¿No sería increíble?

Claro, esa situación era un poco exagerada, pero lo que quiero decir es que
nuestras computadoras realmente pueden hablarnos y decirnos qué está
mal.

Tal vez no nos susurren respuestas, pero nos hablan en forma de registros.

Los registros son archivos que, valga la redundancia, registran eventos del
sistema en nuestra computadora al igual que el diario de un sistema.
Nuestra computadora registrará eventos como cuándo se encendió, cuándo
se cargó un controlador, e incluso cuándo algo no funciona, en forma de
mensajes de error.

En todos los sistemas operativos, los registros se conservan para que


podamos consultarlos cuando necesitemos descubrir algo que sucedió.

Pero puede ser difícil navegar los registros, porque nuestra computadora,
esencialmente, registrará todo. Así es como se ve un registro.

Como ves, puede ser difícil moverse por un registro. Pero con un poco de
esfuerzo podemos averiguar qué sucedió en nuestra computadora y
concebir una solución.

Desafortunadamente, nuestras computadoras, nuestros autos, y nuestras


máquinas no tienen una pequeña voz que nos diga qué ocurre cuando hay
un problema.

PROCESO DE INICIO

Es importante que conozcas los pasos que toma un sistema operativo.


Así, podrás diagnosticar qué problema sufre. La palabra "boot", que en
inglés se usa para iniciar o encender una computadora, proviene de una
frase que se traduce como "reponerse gracias al esfuerzo
personal". Básicamente, significa empezar desde la nada y seguir una serie
de pasos para llegar a un sistema completamente operativo.
Cuando iniciamos una computadora, en inglés usamos el término
"boot". Para la mayoría de los sistemas operativos, el proceso de inicio
sigue un patrón general.
Es como los automóviles que, aun siendo diferentes, arrancan de la misma
manera: pones la llave, enciendes el arranque, etc.
A continuación, un resumen del proceso de arranque.
1. La computadora tiene que estar encendida.
BIOS/UEFI es un software de bajo nivel que inicializa el hardware de
nuestra computadora para asegurarnos de que todo esté listo.
2. El BIOS/UEFI ejecuta un proceso llamado autoprueba de encendido o
POST.
POST realiza una serie de pruebas de diagnóstico para asegurarse de que
la computadora funciona correctamente.
3. Se seleccionará un dispositivo de inicio, dependiendo de la
configuración de BIOS/UEFI,
Los dispositivos que están conectados a nuestro sistema, como discos
duros, unidades USB, unidades de CD, etc., se configuran en un cierto
orden de inicio.
La comprobación de los dispositivos se hará en este orden y la
computadora buscará lo que se conoce como un cargador de arranque.
El cargador de arranque es un pequeño programa que carga el sistema
operativo.
4. Ejecutar este programa,una vez que nuestra computadora encuentra
este cargador de arranque en un dispositivo, en el orden indicado.
Esto, a su vez, comenzará a cargar un programa más grande y complejo.
5. Carga nuestro sistema operativo.
6. El kernel se carga.
El kernel controla el acceso a nuestros recursos informáticos.
También carga controladores y más para que nuestro hardware pueda
comunicarse con nuestro software.
7. Se inician los procesos esenciales del sistema y los elementos del
espacio de usuario.
Esto incluye procesos como el acceso del usuario, el inicio de un entorno de
escritorio, y otras cosas que, básicamente, nos permiten interactuar con
nuestro sistema.

INTRODUCCIÓN A LOS SISTEMAS OPERATIVOS

Un sistema operativo actúa como intermediario entre el usuario de una


computadora y el hardware de la computadora. El propósito de un sistema
operativo es proporcionar un entorno en el que un usuario pueda ejecutar
programas de una manera conveniente y eficiente.
Un sistema operativo es un software que administra el hardware de la
computadora. El hardware debe proporcionar los mecanismos adecuados
para garantizar el correcto funcionamiento del sistema informático y evitar
que los programas de usuario interfieran con el correcto funcionamiento del
sistema.

Sistema operativo - Definición:


● Un sistema operativo es un programa que controla la ejecución de
programas de aplicación y actúa como una interfaz entre el usuario de
una computadora y el hardware de la computadora.
● Una definición más común es que el sistema operativo es el único
programa que se ejecuta en todo momento en la computadora
(generalmente llamado kernel), y todo lo demás son programas de
aplicación.
● Un sistema operativo se ocupa de la asignación de recursos y
servicios, como memoria, procesadores, dispositivos e información.

Diseño:

Los sistemas operativos de las Mainframes están diseñados principalmente


para optimizar la utilización del hardware.
Los sistemas operativos de computadora personal (PC) admiten juegos
complejos, aplicaciones, y demás.
Los sistemas operativos para dispositivos móviles proporcionan un entorno
en el que un usuario puede interactuar fácilmente para ejecutar programas.

Sistema operativo - conceptualización:

Un sistema informático se puede conformar en cuatro componentes: el


hardware, el sistema operativo, los programas de aplicación y los usuarios
(Ilustración 1).
El hardware: La unidad central de procesamiento (CPU), la memoria y los
dispositivos de entrada / salida (E / S): proporciona los recursos informáticos
básicos del sistema.
Los programas de aplicación, como procesadores de texto, hojas de cálculo,
compiladores y navegadores web: define las formas en que estos recursos
se utilizan para resolver los problemas informáticos de los usuarios.
El sistema operativo controla y coordina el uso del hardware entre los
diversos programas del sistema y programas de aplicación para varios
usuarios. Simplemente proporciona un entorno en el que otros programas
pueden realizar un trabajo útil.
Ilustración 1 Vista Conceptual de un Sistema Operativo

El sistema operativo es un conjunto de programas especiales


(controlador de tráfico, un planificador, un módulo de gestión de memoria,
programas de E / S y un sistema de archivos) que se ejecutan en un
sistema informático que le permite funcionar correctamente.

Realiza tareas básicas como reconocer la entrada del teclado, realizar


un seguimiento de los archivos y directorios en el disco, enviar la salida a la
pantalla y controlar los dispositivos periféricos.

Para comprender mejor la función del sistema operativo, a


continuación, exploramos sistemas operativos desde dos puntos de vista: el
del usuario y el del sistema.

El término sistema operativo cubre muchos roles y funciones. Ese es


el caso, al menos en parte, debido a la variedad de diseños y usos de las
computadoras. Las computadoras están presentes en tostadoras,
automóviles, barcos, naves espaciales, hogares y negocios. Son la base de
las máquinas de juego, la música, reproductores, sintonizadores de
televisión por cable y sistemas de control industrial.

Aunque las computadoras tienen una historia relativamente corta, han


evolucionado rápidamente. Comenzó la computación como un experimento
para determinar qué se podría hacer y trasladarse rápidamente a Sistemas
de propósito fijo para usos militares, como ruptura de códigos y trayectoria,
trazado y usos gubernamentales, como el cálculo del censo. Los primeros
las computadoras evolucionaron a mainframes multifunción de uso general,
y eso es cuando nacieron los sistemas operativos. En la década de 1960, la
Ley de Moore predijo que el número de transistores en un circuito integrado
se duplicaría cada dieciocho meses, y esa predicción se ha cumplido. Las
computadoras ganaron en funcionalidad y reducido en tamaño, lo que lleva
a una gran cantidad de usos y una gran número y variedad de sistemas
operativos.

En general, no se tiene completamente una adecuada definición de un


Sistema operativo. Existen porque ofrecen una forma razonable de resolver
el problema creando un sistema informático utilizable. Las funciones
incluidas, sin embargo, varían mucho entre sistemas.

Algunos sistemas ocupan menos de un megabyte de espacio y carecen


incluso de un editor de pantalla completa, mientras que otros requieren
gigabytes de espacio y se basan completamente en sistemas de ventanas
gráficas.

Hoy en día, se observa que los sistemas operativos para dispositivos


móviles con un número de características que constituyen el sistema
operativo está incrementándose. Por ejemplo los middleware
https://azure.microsoft.com/es-es/overview/what-is-middleware/.

Características y Funciones del sistema operativo:

1. Comodidad: Un sistema operativo hace que una computadora sea más


conveniente de usar.
2. Eficiencia: Un sistema operativo permite que los recursos del sistema
informático se utilicen de manera eficiente.
3. Capacidad de evolución: Un sistema operativo debe construirse de tal manera
que permita el desarrollo, prueba e introducción efectivos de nuevas funciones
del sistema al mismo tiempo sin interferir con el servicio.

Funciones:

1. Seguridad:
El sistema operativo es responsable de utilizar toda la información y
los recursos disponibles en la máquina de la forma más protegida. El
sistema operativo debe frustrar un intento de cualquier recurso
externo de obstaculizar cualquier tipo de datos o información. Utiliza
contraseña para proteger los datos del usuario y otras técnicas
similares, evita el acceso no autorizado a programas y datos del
usuario.
2. Control sobre el rendimiento del sistema:
Supervisa el estado general del sistema para ayudar a mejorar el
rendimiento. Registra el tiempo de respuesta entre las solicitudes de
servicio y la respuesta del sistema para tener una visión completa del
estado del sistema. Esto puede ayudar a mejorar el rendimiento al
proporcionar información importante necesaria para solucionar
problemas.
3. Contabilidad de trabajos:
Realiza un seguimiento del tiempo y los recursos utilizados por
diversas tareas y usuarios; esta información se puede utilizar para
realizar un seguimiento del uso de recursos para un usuario o grupo
de usuarios en particular.
4. Ayudas para la detección de errores:
Monitorea constantemente el sistema para detectar errores y evitar el
mal funcionamiento del sistema informático.
5. Coordinación entre otro software y usuarios:
Coordinan y asignan intérpretes, compiladores, ensambladores y
otros softwares a los diversos usuarios de los sistemas informáticos.
6. Gestión de memoria:
La memoria principal está formada por una gran variedad de bytes o
palabras donde a cada byte o palabra se le asigna una determinada
dirección. La memoria principal es un almacenamiento rápido y la
CPU puede acceder directamente a ella. Para que se ejecute un
programa, primero debe cargarse en la memoria principal.
Un sistema operativo realiza las siguientes actividades para la gestión de la
memoria:

Mantiene un registro de la memoria primaria, es decir, qué bytes de


memoria son utilizados por cada programa de usuario. Las direcciones de
memoria que ya se han asignado y las direcciones de memoria de la
memoria que aún no se ha utilizado. En la programación múltiple, el sistema
operativo decide el orden en el que se concede acceso a la memoria al
proceso y durante cuánto tiempo. Asigna la memoria a un proceso cuando
el proceso lo solicita y desasigna la memoria cuando el proceso ha
terminado o está realizando una operación de E / S.

7. Gestión del procesador:


En un entorno de programación múltiple, el sistema operativo decide
el orden en el que los procesos tienen acceso al procesador y cuánto
tiempo de procesamiento tiene cada proceso. Esta función del
sistema operativo se denomina programación de procesos. Un
sistema operativo realiza las siguientes actividades para la gestión del
procesador.
Realiza un seguimiento del estado de los procesos. El programa que realiza
esta tarea se conoce como controlador de tráfico. Asigna la CPU que es
procesador a un proceso. Desasigna procesador cuando un proceso ya no
es necesario.

8. Administración de dispositivos:
Administra la comunicación del dispositivo a través de sus respectivos
controladores. Realiza las siguientes actividades para la gestión de
dispositivos. Realiza un seguimiento de todos los dispositivos
conectados al sistema. designa un programa responsable de cada
dispositivo conocido como controlador de entrada / salida. Decide qué
proceso obtiene acceso a un dispositivo determinado y durante
cuánto tiempo. Asigna dispositivos de forma eficaz y
eficiente. Desasigna dispositivos cuando ya no son necesarios.

9. Administración de archivos:
Un sistema de archivos está organizado en directorios para una
navegación y uso eficiente o fácil. Estos directorios pueden contener
otros directorios y otros archivos. Un sistema operativo lleva a cabo
las siguientes actividades de gestión de archivos. Realiza un
seguimiento de dónde se almacena la información, la configuración
de acceso del usuario y el estado de cada archivo y más ... Estas
instalaciones se conocen colectivamente como el sistema de
archivos.

El Sistema Operativo es responsable de tomar decisiones sobre el


almacenamiento de todo tipo de datos o archivos, es decir, disquete / disco
duro / pen drive, etc. El Sistema Operativo decide cómo se deben manipular
los datos y almacenarlos

10. Ejecución de programas : el sistema operativo es responsable de


la ejecución de todo tipo de programas, ya sean programas de
usuario o programas del sistema. El sistema operativo utiliza varios
recursos disponibles para el funcionamiento eficiente de todo tipo de
funcionalidades.

11.Asignación de recursos: el sistema operativo garantiza el uso


adecuado de todos los recursos disponibles al decidir qué recurso
utilizará quién y durante cuánto tiempo. Todas las decisiones las toma
el Sistema Operativo.
Todos estos servicios están asegurados por el Sistema Operativo para
comodidad de los usuarios para facilitar la tarea de programación.

Historia del sistema operativo:

El sistema operativo ha ido evolucionando a lo largo de los años. La


siguiente tabla muestra la historia del SO.

GENERACIÓN AÑO DISPOSITIVO ELECTRÓNICO UTILIZADO TIPOS DE DISPOSITIVO DE SO

Primera 1945-1955 Tubos de vacío Tableros de enchufe

Segundo 1955-1965 Transistores Sistemas por lotes

Tercero 1965-1980 Circuitos integrados (IC) Multiprogramación

Desde
Cuarto 1980 Integración a gran escala Ordenador personal
Clasificación del sistema operativo:
● Sistema operativo por lotes: secuencia de trabajos en un programa en
una computadora sin intervenciones manuales.
● Sistema operativo de tiempo compartido: permite que muchos
usuarios compartan los recursos de la computadora (utilización
máxima de los recursos).
● Sistema operativo distribuido: administra un grupo de diferentes
computadoras y hace que parezca una sola computadora.
● Sistema operativo de red: las computadoras que se ejecutan en
diferentes sistemas operativos pueden participar en una red común
(se utiliza con fines de seguridad).
● Sistema operativo en tiempo real: aplicaciones pensadas para fijar los
plazos.
Sistema operativo existentes:
● Windows (basado en GUI, PC)
● GNU / Linux (personal, estaciones de trabajo, ISP, servidor de
archivos e impresión, cliente / servidor de tres niveles)
● macOS (Macintosh), utilizado para las computadoras personales y
estaciones de trabajo de Apple (MacBook, iMac).
● Android (sistema operativo de Google para teléfonos inteligentes /
tabletas / relojes inteligentes)
● iOS (sistema operativo de Apple para iPhone, iPad y iPod Touch)
Un sistema operativo realiza todas las tareas básicas como administrar
archivos, procesos y memoria. Por lo tanto, el sistema operativo actúa como
administrador de todos los recursos, es decir , administrador de
recursos . Por lo tanto, el sistema operativo se convierte en una interfaz
entre el usuario y la máquina.

Tipos de sistemas operativos: algunos de los sistemas operativos más


utilizados son los siguientes:

1. Sistema operativo por lotes:


Este tipo de sistema operativo no interactúa directamente con la
computadora. Hay un operador que toma trabajos similares con los mismos
requisitos y los agrupa en lotes. Es responsabilidad del operador clasificar
los trabajos con necesidades similares.

Ventajas del sistema operativo por lotes:

● Es muy difícil adivinar o saber el tiempo que requiere un trabajo para


completarlo. Los procesadores de los sistemas por lotes saben
cuánto tiempo durará el trabajo cuando está en cola
● Varios usuarios pueden compartir los sistemas por lotes
● El tiempo de inactividad del sistema por lotes es muy inferior
● Es fácil gestionar grandes trabajos repetidamente en sistemas por
lotes.

Desventajas del sistema operativo por lotes:


● Los operadores informáticos deben ser bien conocidos con los
sistemas por lotes.
● Los sistemas por lotes son difíciles de depurar
● A veces es costoso
● Los otros trabajos tendrán que esperar un tiempo desconocido si
alguno falla.
Ejemplos de sistema operativo basado en lotes: sistema de nómina,
extractos bancarios, etc.

2. Sistemas operativos de tiempo compartido:

Cada tarea tiene un tiempo para ejecutarse, de modo que todas las tareas
funcionen sin problemas. Cada usuario obtiene tiempo de CPU ya que usa
un solo sistema. Estos sistemas también se conocen como sistemas
multitarea. La tarea puede ser de un solo usuario o de diferentes usuarios
también. El tiempo que cada tarea llega a ejecutarse se llama cuántica. Una
vez finalizado este intervalo de tiempo, el sistema operativo cambia a la
siguiente tarea.

Ventajas del sistema operativo de tiempo compartido:


● Cada tarea tiene la misma oportunidad
● Menos posibilidades de duplicación de software
● El tiempo de inactividad de la CPU se puede reducir
Desventajas del sistema operativo de tiempo compartido:
● Problema de confiabilidad
● Hay que cuidar la seguridad y la integridad de los programas y los
datos del usuario.
● Problema de comunicación de datos
Ejemplos de sistemas operativos de tiempo compartido son: Multics, Unix,
etc.

3. Sistema operativo distribuido: Este tipo de sistema operativo es un


avance reciente en el mundo de la tecnología informática y está siendo
ampliamente aceptado en todo el mundo y, también, a un gran ritmo. Varias
computadoras autónomas interconectadas se comunican entre sí mediante
una red de comunicación compartida. Los sistemas independientes poseen
su propia unidad de memoria y CPU. Estos se conocen como sistemas
débilmente acoplados.o sistemas distribuidos. Los procesadores de estos
sistemas difieren en tamaño y función. El principal beneficio de trabajar con
este tipo de sistema operativo es que siempre es posible que un usuario
pueda acceder a los archivos o software que no están realmente presentes
en su sistema, pero en algún otro sistema conectado dentro de esta red, es
decir, el acceso remoto está habilitado dentro de los dispositivos conectados
en esa red.
Ventajas del sistema operativo distribuido:
● La falla de uno no afectará la comunicación de la otra red, ya que
todos los sistemas son independientes entre sí.
● El correo electrónico aumenta la velocidad del intercambio de datos
● Dado que los recursos se comparten, la computación es muy rápida y
duradera
● La carga en la computadora host reduce
● Estos sistemas son fácilmente escalables ya que muchos sistemas se
pueden agregar fácilmente a la red.
● El retraso en el procesamiento de datos reduce
Desventajas del sistema operativo distribuido:
● La falla de la red principal detendrá toda la comunicación.
● Para establecer sistemas distribuidos, el lenguaje que se utiliza aún
no está bien definido.
● Estos tipos de sistemas no están fácilmente disponibles ya que son
muy caros. No solo que el software subyacente es muy complejo y
aún no se comprende bien
Ejemplos de sistema operativo distribuido son: LOCUS, etc.

4. Sistema operativo de red:


Estos sistemas se ejecutan en un servidor y brindan la capacidad de
administrar datos, usuarios, grupos, seguridad, aplicaciones y otras
funciones de red. Este tipo de sistemas operativos permiten el acceso
compartido de archivos, impresoras, seguridad, aplicaciones y otras
funciones de red a través de una pequeña red privada. Un aspecto más
importante de los sistemas operativos de red es que todos los usuarios
conocen bien la configuración subyacente, de todos los demás usuarios
dentro de la red, sus conexiones individuales, etc. y es por eso que estas
computadoras se conocen popularmente como sistemas estrechamente
acoplados .
Ventajas del sistema operativo de red:
● Servidores centralizados altamente estables
● Los problemas de seguridad se manejan a través de servidores
● Las nuevas tecnologías y la actualización de hardware se integran
fácilmente al sistema
● El acceso al servidor es posible de forma remota desde diferentes
ubicaciones y tipos de sistemas
Desventajas del sistema operativo de red:
● Los servidores son costosos
● El usuario debe depender de la ubicación central para la mayoría de
las operaciones
● Se requieren mantenimiento y actualizaciones con regularidad
Ejemplos de sistemas operativos de red son: Microsoft Windows Server
2003, Microsoft Windows Server 2008, UNIX, Linux, Mac OS X, Novell
NetWare y BSD, etc.

5. Sistema operativo en tiempo real:

Estos tipos de sistemas operativos sirven a los sistemas en tiempo


real. El intervalo de tiempo necesario para procesar y responder a las
entradas es muy pequeño. Este intervalo de tiempo se llama tiempo de
respuesta .

Los sistemas en tiempo real se utilizan cuando existen requisitos de tiempo


muy estrictos, como sistemas de misiles, sistemas de control de tráfico
aéreo, robots, etc.
Dos tipos de sistema operativo en tiempo real que son los siguientes:
● Sistemas duros en tiempo real:
Estos sistemas operativos están diseñados para aplicaciones en las
que las limitaciones de tiempo son muy estrictas y ni siquiera el
retraso más breve posible es aceptable. Estos sistemas están
diseñados para salvar vidas, como paracaídas automáticos o bolsas
de aire que deben estar disponibles en caso de accidente. La
memoria virtual casi nunca se encuentra en estos sistemas.
● Sistemas blandos en tiempo real:
Estos sistemas operativos son para aplicaciones en las que la
limitación de tiempo es menos estricta.
Ventajas de RTOS:
● Consumo máximo: utilización máxima de dispositivos y sistema, por lo
tanto, más salida de todos los recursos
● Cambio de tareas: el tiempo asignado para el cambio de tareas en
estos sistemas es muy inferior. Por ejemplo, en los sistemas más
antiguos se necesitan aproximadamente 10 microsegundos para
cambiar una tarea a otra y en los sistemas más recientes se
necesitan 3 microsegundos.
● Enfoque en la aplicación: Concéntrese en ejecutar aplicaciones y
menos importancia para las aplicaciones que están en cola.
● Sistema operativo en tiempo real en sistema embebido: dado que el
tamaño de los programas es pequeño, RTOS también se puede
utilizar en sistemas embebidos como en transporte y otros.
● Sin errores: estos tipos de sistemas están libres de errores.
● Asignación de memoria: la asignación de memoria se administra
mejor en este tipo de sistemas.
Desventajas de RTOS:
● Tareas limitadas: muy pocas tareas se ejecutan al mismo tiempo y su
concentración es muy menor en pocas aplicaciones para evitar
errores.
● Utilice recursos pesados ​del sistema: a veces, los recursos del
sistema no son tan buenos y también son caros.
● Algoritmos complejos: los algoritmos son muy complejos y difíciles de
escribir para el diseñador.
● Controlador de dispositivo y señales de interrupción: necesita
controladores de dispositivo específicos y señales de interrupción
para responder lo antes posible a las interrupciones.
● Prioridad de subprocesos: no es bueno establecer la prioridad de
subprocesos, ya que estos sistemas son menos propensos a cambiar
de tarea.
Ejemplos de sistemas operativos en tiempo real son: experimentos
científicos, sistemas de imágenes médicas, sistemas de control industrial,
sistemas de armas, robots, sistemas de control de tráfico aéreo, etc.

Necesidad y funciones de los sistemas operativos

Objetivo de un sistema operativo:

El objetivo fundamental de un sistema informático es ejecutar programas de


usuario y facilitar las tareas. Se utilizan varios programas de aplicación junto
con el sistema de hardware para realizar este trabajo. El sistema operativo
es un software que administra y controla todo el conjunto de recursos y
utiliza eficazmente cada parte de una computadora.

La figura muestra cómo el sistema operativo actúa como un medio entre la


unidad de hardware y los programas de aplicación.
Necesidad de sistema operativo:
● Sistema operativo como plataforma para programas de aplicación: el
sistema operativo proporciona una plataforma, sobre la cual se
pueden ejecutar otros programas, llamados programas de
aplicación. Estos programas de aplicación ayudan a los usuarios a
realizar una tarea específica fácilmente. Actúa como una interfaz
entre la computadora y el usuario. Está diseñado de tal manera que
opera, controla y ejecuta varias aplicaciones en la computadora.
● Unidad de gestión de entrada-salida: el sistema operativo también
permite que la computadora gestione sus propios recursos, como la
memoria, el monitor, el teclado, la impresora, etc. La gestión de estos
recursos es necesaria para una utilización eficaz. El sistema operativo
controla los diversos recursos de entrada y salida del sistema. y los
asigna a los usuarios o programas según sus necesidades.
● Interfaz de usuario consistente: el sistema operativo proporciona al
usuario una interfaz de usuario fácil de trabajar, por lo que el usuario
no tiene que aprender una interfaz de usuario diferente cada vez y
puede concentrarse en el contenido y ser productivo lo más rápido
posible. El sistema operativo proporciona plantillas, componentes de
interfaz de usuario para hacer que el funcionamiento de una
computadora sea realmente fácil para el usuario.
● Multitarea: el sistema operativo administra la memoria y permite que
varios programas se ejecuten en su propio espacio e incluso se
comuniquen entre sí a través de la memoria compartida. La multitarea
brinda a los usuarios una buena experiencia, ya que pueden realizar
varias tareas en una computadora a la vez.

Funciones de un sistema operativo


Un sistema operativo tiene una variedad de funciones que realizar. Algunas
de las funciones destacadas de un sistema operativo pueden describirse en
términos generales como:
● Gestión del procesador : se ocupa de la gestión de la Unidad central
de procesamiento (CPU). El sistema operativo se encarga de la
asignación de tiempo de CPU a diferentes procesos. Cuando un
proceso finaliza su procesamiento de CPU después de ejecutarse
durante el período de tiempo asignado, esto se denomina
programación. Hay varios tipos de técnicas de programación que
utilizan los sistemas operativos:
1. El trabajo más corto primero (SJF ) : el proceso que necesita el
tiempo de CPU más corto se programa primero.
2. Programación Round Robin : A cada proceso se le asigna un
tiempo de ejecución de CPU fijo de forma cíclica.
3. Programación basada en prioridades (no preventiva) : en esta
programación, los procesos se programan de acuerdo con sus
prioridades, es decir, el proceso de mayor prioridad se
programa primero. Si las prioridades de dos procesos
coinciden, programe de acuerdo con la hora de llegada
● Administración de dispositivos:
El sistema operativo se comunica con el hardware y los dispositivos
conectados y mantiene un equilibrio entre ellos y la CPU. Esto es aún
más importante porque la velocidad de procesamiento de la CPU es
mucho mayor que la
de los dispositivos de E / S. Para optimizar el tiempo de la CPU, el
sistema operativo emplea dos técnicas: Buffering y Spooling.
● Almacenamiento en búfer : en esta técnica, los datos de entrada y
salida se almacenan temporalmente en el búfer de entrada y el búfer
de salida. Una vez que la señal de entrada o salida se envía hacia o
desde la CPU, respectivamente, el sistema operativo a través del
controlador del dispositivo mueve los datos del dispositivo de entrada
al búfer de entrada y del dispositivo de salida al búfer de salida. En
caso de entrada, si el búfer está lleno, el sistema operativo envía una
señal al programa que procesa los datos almacenados en el
búfer. Cuando el búfer se vacía, el programa informa al sistema
operativo que recarga el búfer y la operación de entrada continúa.
● Spooling (operación periférica simultánea en línea) :
Esta es una técnica de administración de dispositivos que se utiliza
para procesar diferentes tareas en el mismo dispositivo de entrada /
salida. Cuando hay varios usuarios en una red que comparten el
mismo recurso, puede existir la posibilidad de que más de un usuario
le dé un comando en el mismo momento. Entonces, el sistema
operativo almacena temporalmente los datos de cada usuario en el
disco duro de la computadora a la que está conectado el recurso. El
usuario individual no necesita esperar a que se complete el proceso
de ejecución. En cambio, el sistema operativo envía los datos del
disco duro al recurso uno por uno.
Ejemplo: impresora
● Gestión de la memoria :
En una computadora, tanto la CPU como los dispositivos de E / S
interactúan con la memoria. Cuando se necesita ejecutar un
programa, se carga en la memoria principal hasta que se completa la
ejecución. A partir de entonces, ese espacio de memoria se libera y
está disponible para otros programas. Las técnicas más comunes de
administración de memoria utilizadas por el sistema operativo son
Partición y Memoria virtual.
● Particionamiento:
La memoria total se divide en varias particiones del mismo tamaño o
de diferentes tamaños. Esto ayuda a acomodar varios programas en
la memoria. La partición puede ser fija, es decir, permanece igual para
todos los programas en la memoria o variable, es decir, la memoria se
asigna cuando se carga un programa en la memoria. El último
enfoque provoca un menor desperdicio de memoria pero, con el
tiempo, puede fragmentarse.
● Memoria virtual :
Es una técnica utilizada por los sistemas operativos que permite al
usuario cargar los programas que son más grandes que la memoria
principal de la computadora. En esta técnica, el programa se ejecuta
incluso si el programa completo no se puede cargar dentro de la
memoria principal, lo que conduce a una utilización eficiente de la
memoria.
● Administración de archivos:
El sistema operativo administra los archivos, carpetas y sistemas de
directorio en una computadora. Todos los datos en una computadora
se almacenan en forma de archivos y el sistema operativo mantiene
información sobre todos ellos mediante la tabla de asignación de
archivos (FAT). El FAT almacena información general sobre archivos
como nombre de archivo, tipo (texto o binario), tamaño, dirección de
inicio y modo de acceso (secuencial / indexado secuencial / directo /
relativo). El administrador de archivos del sistema operativo ayuda a
crear, editar, copiar, asignar memoria a los archivos y también
actualiza la FAT. El sistema operativo también se encarga de que los
archivos se abran con los derechos de acceso adecuados para
leerlos o editarlos.

Diferencia entre los sistemas operativos de 32 y 64 bits

En informática, existen dos tipos de procesadores, es decir, 32 bits y 64


bits. Este tipo de procesador nos dice cuánta memoria puede tener acceso
un procesador desde un registro de CPU. Por ejemplo,

Un sistema de 32 bits puede acceder a 2 32 direcciones de memoria, es


decir, 4 GB de RAM o memoria física idealmente, también puede acceder a
más de 4 GB de RAM.
Un sistema de 64 bits puede acceder a 2 direcciones de memoria de 64 , es
decir, 18 quintillones de bytes de RAM. En resumen, cualquier cantidad de
memoria superior a 4 GB puede manejarse fácilmente.

La mayoría de las computadoras fabricadas en la década de 1990 y


principios de la de 2000 eran máquinas de 32 bits. El registro de la CPU
almacena direcciones de memoria, que es la forma en que el procesador
accede a los datos de la RAM. Un bit en el registro puede hacer referencia a
un byte individual en la memoria, por lo que un sistema de 32 bits puede
direccionar un máximo de 4 GB (4.294.967.296 bytes) de RAM. El límite real
suele ser inferior a 3,5 GB, ya que parte del registro se utiliza para
almacenar otros valores temporales además de las direcciones de
memoria . La mayoría de las computadoras lanzadas en las últimas dos
décadas se construyeron con una arquitectura de 32 bits, por lo que la
mayoría de los sistemas operativos se diseñaron para ejecutarse en un
procesador de 32 bits.

Un registro de 64 bits puede, en teoría, hacer referencia a


18,446,744,073,709,551,616 bytes, o 17,179,869,184 GB (16 exabytes) de
memoria. Esto es varios millones de veces más de lo que necesitaría
acceder una estación de trabajo promedio. Lo importante es que una
computadora de 64 bits (lo que significa que tiene un procesador de 64 bits)
puede acceder a más de 4 GB de RAM. Si una computadora tiene 8 GB de
RAM, es mejor que tenga un procesador de 64 bits. De lo contrario, la CPU
no podrá acceder a al menos 4 GB de la memoria.

Una diferencia importante entre los procesadores de 32 bits y los de 64


bits es la cantidad de cálculos por segundo que pueden realizar, lo que
afecta la velocidad a la que pueden completar las tareas. Los procesadores
de 64 bits pueden venir en versiones de dos núcleos , cuatro núcleos , seis
núcleos y ocho núcleos para la informática doméstica. Varios núcleos
permiten una mayor cantidad de cálculos por segundo que se pueden
realizar, lo que puede aumentar la potencia de procesamiento y ayudar a
que una computadora funcione más rápido. Los programas de software que
requieren muchos cálculos para funcionar sin problemas pueden operar de
manera más rápida y eficiente en los procesadores de 64 bits de múltiples
núcleos, en su mayor parte.

Ventajas de 64 bits sobre 32 bits

● El uso de 64 bits se puede hacer mucho en la multitarea, el usuario


puede cambiar fácilmente entre varias aplicaciones sin problemas de
bloqueo de ventanas.

● Los jugadores pueden jugar fácilmente juegos gráficos de alta calidad


como Modern Warfare, GTA V, o usar software de alta gama como
Photoshop o CAD, que requiere mucha memoria, ya que hace que la
multitarea con un gran software sea fácil y eficiente para los
usuarios. Sin embargo , sería más beneficioso actualizar la tarjeta de
video en lugar de obtener un procesador de 64 bits.

Nota :

● Una computadora con un procesador de 64 bits puede tener instalada


una versión de 64 o 32 bits de un sistema operativo. Sin embargo,
con un sistema operativo de 32 bits, el procesador de 64 bits no
funcionaría a su máxima capacidad.
● En una computadora con un procesador de 64 bits, no podemos
ejecutar un programa heredado de 16 bits. Muchos programas de 32
bits funcionarán con un procesador y un sistema operativo de 64 bits,
pero es posible que algunos programas antiguos de 32 bits no
funcionen correctamente, o no funcionen en absoluto, debido a una
compatibilidad limitada o nula.

MICROKERNEL EN SISTEMAS OPERATIVOS


Última actualización: 14-08-2019
El kernel es la parte central de un sistema operativo que administra los
recursos del sistema. También actúa como un puente entre la aplicación y el
hardware de la computadora. Es uno de los primeros programas que se
cargan al iniciar (después del cargador de arranque).
Modo de núcleo y modo de usuario de la operación de la CPU

La CPU puede ejecutar ciertas instrucciones sólo cuando está en modo


kernel. Estas instrucciones se denominan instrucción privilegiada. Permiten
la implementación de operaciones especiales cuya ejecución por el
programa de usuario podría interactuar con el funcionamiento del sistema
operativo o la actividad de otro programa de usuario. Por ejemplo,
instrucciones para administrar la protección de la memoria.
● El sistema operativo pone la CPU en modo kernel cuando se ejecuta
en el kernel para que el kernel pueda ejecutar alguna operación
especial.
● El sistema operativo pone la CPU en modo de usuario cuando un
programa de usuario está en ejecución, por lo que el programa de
usuario no puede interactuar con el programa del sistema operativo.
● La instrucción a nivel de usuario no requiere privilegios
especiales. Los ejemplos son ADD, PUSH, etc.
El concepto de modos puede extenderse más allá de dos, requiriendo más
de un bit de modo único. Las CPU que admiten la virtualización utilizan uno
de estos bits adicionales para indicar cuándo el administrador de la máquina
virtual, VMM, tiene el control del sistema. El VMM tiene más privilegios que
los programas de usuario normales, pero no tantos como el kernel
completo.

Las llamadas al sistema se implementan típicamente en forma de


interrupciones de software, lo que hace que el manejador de interrupciones
del hardware transfiera el control a un manejador de interrupciones
apropiado, que es parte del sistema operativo, cambiando el bit de modo al
modo kernel en el proceso. El manejador de interrupciones verifica
exactamente qué interrupción se generó, verifica parámetros adicionales
(generalmente pasados ​a través de registros) si es apropiado, y luego llama
a la rutina de servicio del kernel apropiada para manejar el servicio
solicitado por la llamada al sistema.
Los intentos de los programas de usuario de ejecutar instrucciones ilegales
(instrucciones privilegiadas o inexistentes), o de acceder a áreas de
memoria prohibidas, también generan interrupciones de software, que son
atrapadas por el controlador de interrupciones y el control se transfiere al
sistema operativo, que emite un mensaje de error apropiado. , posiblemente
vuelca los datos a un archivo de registro (núcleo) para un análisis posterior
y luego finaliza el programa infractor.

¿Qué es Microkernel?

Microkernel es una de las clasificaciones del kernel. Al ser un núcleo,


gestiona todos los recursos del sistema. Pero en un microkernel,
los servicios del usuario y los servicios del kernel se implementan en
diferentes espacios de direcciones. Los servicios de usuario se mantienen
en el espacio de direcciones del usuario y los servicios del kernel se
mantienen en el espacio de direcciones del kernel , por lo que también
reduce el tamaño del kernel y el tamaño del sistema operativo.

Proporciona servicios mínimos de gestión de procesos y memoria. La


comunicación entre el programa / aplicación cliente y los servicios que se
ejecutan en el espacio de direcciones del usuario se establece mediante el
paso de mensajes, lo que reduce la velocidad de ejecución del
microkernel. El sistema operativo no se ve afectado, ya que los servicios de
usuario y los servicios del kernel están aislados, por lo que si falla algún
servicio de usuario, no afecta al servicio del kernel. Por lo tanto, se suma a
una de las ventajas de un microkernel. Es fácilmente ampliable, es decir, si
se van a agregar nuevos servicios, se agregan al espacio de direcciones del
usuario y, por lo tanto, no requieren modificaciones en el espacio del
kernel. También es portátil, seguro y confiable.
Arquitectura de microkernel:
Dado que el kernel es la parte central del sistema operativo, está destinado
a manejar solo los servicios más importantes. Por lo tanto, en esta
arquitectura solo los servicios más importantes están dentro del kernel y el
resto de los servicios del sistema operativo están presentes dentro del
programa de aplicación del sistema. Por lo tanto, los usuarios pueden
interactuar con esos servicios no tan importantes dentro de la aplicación del
sistema. Y el microkernel es el único responsable de los servicios más
importantes del sistema operativo que se denominan de la siguiente
manera:
● Comunicación entre procesos
● Gestión de la memoria
● Programación de CPU
Ventajas del microkernel -
● La arquitectura de este kernel es pequeña y aislada, por lo que puede
funcionar mejor.
● La expansión del sistema es más fácil, simplemente se agrega en la
aplicación del sistema sin perturbar el kernel.
Eclipse IDE es un buen ejemplo de Arquitectura Microkernel.

Kernel en el sistema operativo

El kernel es un componente central de un sistema operativo que administra


las operaciones de la computadora y el hardware. Básicamente gestiona
operaciones de memoria y tiempo de CPU. Es el componente central de un
sistema operativo. Kernel actúa como un puente entre las aplicaciones y el
procesamiento de datos que se realiza a nivel de hardware mediante
comunicaciones entre procesos y llamadas al sistema.
El kernel se carga primero en la memoria cuando se carga un sistema
operativo y permanece en la memoria hasta que el sistema operativo se
apaga nuevamente. Es responsable de varias tareas como la administración
de discos, la administración de tareas y la administración de la memoria.
Decide qué proceso debe asignarse al procesador para ejecutar y qué
proceso debe mantenerse en la memoria principal para
ejecutarse. Básicamente actúa como una interfaz entre las aplicaciones de
usuario y el hardware. El objetivo principal del kernel es gestionar la
comunicación entre el software, es decir, las aplicaciones a nivel de usuario
y el hardware, es decir, la CPU y la memoria del disco.
Objetivos de Kernel:
● Establecer comunicación entre la aplicación y el hardware a nivel de
usuario.
● Decidir el estado de los procesos entrantes.
● Para controlar la gestión del disco.
● Para controlar la gestión de la memoria.
● Controlar la gestión de tareas.
Tipos de kernel:

1. Kernel monolítico :
Es uno de los tipos de kernel donde todos los servicios del sistema
operativo operan en el espacio del kernel. Tiene dependencias entre los
componentes del sistema. Tiene enormes líneas de código que son
complejas.
Ejemplo:
Unix, Linux, Open VMS, XTS-400, etc.
● Ventaja:
tiene buen rendimiento.
● Desventaja:
tiene dependencias entre el componente del sistema y las líneas de
código en millones.
2. Micro Kernel :
Son los tipos de kernel que tienen un enfoque minimalista. Tiene memoria
virtual y programación de subprocesos. Es más estable con menos servicios
en el espacio del kernel. Pone descanso en el espacio del usuario.
Ejemplo:
Mach, L4, AmigaOS, Minix, K42, etc.
● Ventaja:
es más estable.
● Desventaja:
hay muchas llamadas al sistema y cambios de contexto.

3. Núcleo híbrido:
Es la combinación de núcleo monolítico y microkernel. Tiene velocidad y
diseño de núcleo monolítico, modularidad y estabilidad de microkernel.
Ejemplo:
Windows NT, Netware, BeOS, etc.
● Ventaja:
Combina tanto núcleo monolítico como microkernel.
● Desventaja:
sigue siendo similar al kernel monolítico.
4. Exokernel:
Es el tipo de kernel que sigue el principio de extremo a extremo. Tiene la
menor cantidad posible de abstracciones de hardware. Asigna recursos
físicos a las aplicaciones.
Ejemplo:
Nemesis, ExOS, etc.
● Ventaja:
Tiene la menor cantidad de abstracciones del hardware.
● Desventaja:
Hay más trabajo para los desarrolladores de aplicaciones.
5. Nano Kernel:
Es el tipo de kernel que ofrece abstracción de hardware pero sin servicios
del sistema. Microkernel tampoco tiene servicios de sistema, por lo tanto,
Micro Kernel y Nano Kernel se han convertido en análogos.
Ejemplo:
EROS etc.
● Ventaja:
Ofrece abstracciones de hardware sin servicios del sistema.
● Desventaja:
Es bastante similar al micro kernel, por lo que se usa menos.

Diferencia entre sistema operativo y kernel

Sistema operativo :
Es un programa del sistema que proporciona una interfaz entre el usuario y
la computadora. Cuando la computadora arranca, el sistema operativo es el
primer programa que se carga.

Kernel :
Un kernel es el componente central de un sistema operativo. También es un
programa de sistema. Es la parte del sistema operativo que convierte el
comando del usuario en lenguaje de máquina.
Diferencia entre sistema operativo y kernel:
SISTEMA OPERATIVO NÚCLEO

Kernel es un software de sistema


El sistema operativo es un software de que forma parte del sistema
sistema. operativo.

el kernel proporciona una interfaz


El sistema operativo proporciona una de aplicaciones y hardware en
interfaz de usuario y hardware en b / n. blanco y negro.

Su propósito principal es la
gestión de la memoria, la gestión
También proporciona protección y del disco, la gestión de procesos
seguridad. y la gestión de tareas.
Todo el sistema necesita un sistema Todo sistema operativo necesita
operativo para funcionar. kernel para ejecutarse.

El tipo de sistema operativo incluye SO


de un solo usuario y multiusuario, SO
multiprocesador, SO en tiempo real, El tipo de kernel incluye
SO distribuido. monolítico y micro kernel.

Es el primer programa que se


Es el primer programa que se carga carga cuando se carga el
cuando se inicia la computadora. sistema operativo.

También podría gustarte