Publicado el Deja un comentario

¿Cuáles son los elementos de una computadora y que hacen?

  1. Procesador (CPU): Es el cerebro de la computadora, responsable de ejecutar instrucciones y procesar datos.
  2. Memoria RAM: Almacena temporalmente datos y programas en ejecución para que el procesador pueda acceder a ellos rápidamente.
  3. Disco Duro (o SSD): Almacena permanentemente datos, programas y archivos del usuario en el sistema.
  4. Placa Base (o Motherboard): Conecta todos los componentes de la computadora, como el procesador, la memoria, el disco duro y otros dispositivos periféricos.
  5. Tarjeta Gráfica (GPU): Se encarga de procesar y renderizar gráficos, esencial para la visualización de imágenes, videos y juegos.
  6. Fuente de Alimentación: Suministra energía eléctrica a todos los componentes de la computadora.
  7. Dispositivos de Entrada/Salida: Incluyen teclado, ratón, monitor, impresora, escáner, entre otros, que permiten la interacción con la computadora y la transferencia de datos.
  8. Sistema Operativo: Software que controla y gestiona los recursos de la computadora, permitiendo la ejecución de programas y la interacción con el usuario.
  9. Tarjeta de Red: Permite la conexión a redes locales o a Internet, facilitando la comunicación entre dispositivos.
  10. Unidad Óptica: Permite la lectura y escritura de discos ópticos como CDs, DVDs y Blu-ray (en algunos casos).

Estos elementos trabajan en conjunto para realizar tareas de procesamiento, almacenamiento, visualización y comunicación en la computadora.

Publicado el Deja un comentario

Interrupciones en la actividad de la computadora

Las interrupciones en la computadora, son un proceso normal en su actividad, ya que estas interrupciones pueden ser generadas como un cambio de proceso (coordinación de actividades en la computadora) así como una señal externa del usuario o del ambiente.

Por ejemplo, tanto hacer clic con el ratón como pulsar una tecla del teclado generan señales de interrupción que hacen que el procesador deje a un lado su actividad actual y atienda a la causa de la interrupción.

A todas las posibles interrupciones del sistema se les asigna con anticipación una jerarquía de prioridad

La interrupción de más alta prioridad suele estar asociada con un fallo de la alimentación eléctrica. Dicha señal de interrupción se genera si de manera inesperada se corta el suministro de energía eléctrica a la computadora.

La rutina de interrupción asociada dirige al procesador a través de una serie de tareas básicas de “salvaguarda” durante los escasos milisegundos disponibles antes de que el nivel de tensión caiga por debajo del nivel mínimo que garantiza el correcto funcionamiento de la computadora.

Publicado el Deja un comentario

Coordinación de las actividades del procesador

¿Cómo coordina el sistema operativo la ejecución del software de aplicación, del software de utilidad y de las unidades del propio sistema operativo?

Un programa es un conjunto estático de instrucciones, mientras que la ejecución del programa es una actividad dinámica cuyas propiedades cambian con el paso del tiempo.

Un proceso es la actividad de ejecutar un programa bajo el control del sistema operativo.

Estado del proceso:

Es estado del proceso es el estado actual de la actividad de un proceso.

Esto incluye información sobre:

1.- la posición actual dentro del programa que se está ejecutando (el valor del contador de programa)

2.- los valores en los registros del procesador y en las celdas de memoria asociadas.

Es decir, el estado del proceso es una fotografía de la actividad de la computadora

Ya que se llevan a cabo diferentes procesos en el sistema es tarea del sistema operativo gestionar estos procesos de modo que cada uno de ellos disponga de los recursos (dispositivos periféricos, espacio en la memoria principal, acceso a archivos y acceso a un procesador) que necesita, de modo que los distintos procesos independientes no interfieran entre sí y de manera que los procesos que precisen intercambiar información puedan hacerlo.

Administración de procesos

El planificador y el despachador se encargan de coordinar la ejecución de los procesos dentro del núcleo del sistema operativo.

El planificador

El planificador crea una tabla de procesos en la memoria principal, donde registra los procesos presentes en la computadora, los nuevos procesos por ejecutar y de eliminar del registro los procesos completados.

Cuando un usuario solicita la ejecución de una aplicación, el planificador añade este registro en la tabla.

Cada registro contiene informaciones tal como:

1.- el área de memoria asignada al proceso (obtenida del gestor de memoria),

2.- la prioridad del proceso

3.- si el proceso está listo o a la espera.

Un proceso está listo si se encuentra en un estado en el que puede continuar progresando; estará a la espera si su progreso está actualmente detenido hasta que tenga lugar algún suceso externo, como la terminación de una operación de escritura en almacenamiento masivo, la pulsación de una tecla del teclado o la llegada de un mensaje enviado por otro proceso.

El despachador

El despachador es el componente del núcleo que supervisa la ejecución de los procesos planificados.

A través de la multiprogramación se divide el tiempo en cortos segmentos llamados franjas temporales (que pueden durar unos milisegundos o unos microsegundos), para que el despachador, haga una conmutación de procesos (o cambio de contexto) que es el procedimiento de cambiar de un proceso a otro.

Multiprogramación entre el proceso A y el proceso B.

Cada vez que el despachador concede una franja temporal a un proceso, inicia un circuito temporizador que indicará el final de la franja temporal, generando una señal conocida como interrupción.

El procesador reacciona a esta señal de interrupción, deteniendo el proceso actual y registrando el estado en como lo deja, para poder continuar en el mismo estado en otro momento.

La rutina de tratamiento de interrupciones forma parte del despachador y se encarga de describir cómo debe responder el despachador a la señal de interrupción que es:

1.- desalojar al proceso actual y transferir de nuevo el control al despachador.

2.- el despachador selecciona en la tabla de procesos aquel proceso que tenga la mayor prioridad entre todos los procesos que estén listos (según haya determinado el planificador);

3.- a continuación, el despachador reinicia el circuito de temporización y permite al proceso seleccionado que comience con su franja temporal.

El aspecto clave para el buen funcionamiento de un sistema de multiprogramación es la capacidad de detener un proceso y reanudarlo posteriormente.

Los procesadores multiprogramación incorporan la tarea de guardar esta información a la señal de interrupción.

El uso de técnicas de multiprogramación permite incrementar la eficiencia global de una máquina.

Aunque parezca contrario a la lógica, ya que la especialización de operaciones pudiera ser más eficiente.

Sin embargo, la mayoría de la ejecución de programas son dependientes de otros procesos o señales ajenas a la actividad del procesador, como la indicación del usuario o la respuesta de un dispositivo externo.

Lo cual generaría infinidad de tiempos muertos que el procesador no realizaría ninguna actividad

Publicado el Deja un comentario

¿Qué es el Firmware?

Ya vimos como inicia el sistema operativo en una computadora, pero además del cargador de arranque, la memoria ROM de un PC contiene una serie de instrucciones que permiten realizar actividades de entrada/salida fundamentales, tales como recibir la información procedente del teclado, mostrar mensajes en la pantalla de la computadora y leer datos de los dispositivos de almacenamiento masivo.

Este conjunto de instrucciones se le llama firmaware y pueden ser utilizadas por el cargador de arranque para realizar actividades de Entrada y Salida antes de que el sistema operativo comience a funcionar.

Por ejemplo, se utilizan para comunicarse con el usuario de la computadora antes de que comience el propio proceso de arranque y para informar de los errores que se produzcan durante el arranque.

Entre los firmware más ampliamente utilizados son:

1.- el BIOS (Basic Input/ Output System, Sistema básico de entrada/salida), utilizado desde hace mucho tiempo en los PC, 2.- la interfaz EFI (Extensible Firmware Interface, Interfaz firmware ampliable)

3.- el Open Firmware de Sun (que ahora es un producto de Oracle)

4.- el CFE (Common Firmware Environment, Entorno firmware común) utilizado en muchos dispositivos empotrados.

Publicado el 1 comentario

Inicio del sistema operativo

El inicio del sistema operativo se lleva a cabo mediante el siguiente proceso llamado proceso de arranque (boot strapping o booting) que es realizado por la computadora cada vez que se enciende.

Es este proceso se transfiere el sistema operativo desde el almacenamiento masivo (donde está almacenado de forma permanente) a la memoria principal (que está esencialmente vacía cuando se enciende la máquina por primera vez).

Detalles del proceso de arranque:

Un procesador está diseñado para que su contador de programa comience la ejecución de ciertas indicaciones iniciales en una dirección concreta predeterminada.

Estas indicaciones iniciales están guardadas en una pequeña parte de la memoria principal que no es volátil (que no se borra cuando se apaga la computadora).

Este conjunto de indicaciones iniciales llamado cargador de arranque (boot loader), le ordenan al procesador que transfiera el sistema operativo desde una ubicación del almacenamiento masivo hasta el área volátil de la memoria principal.

Proceso de arranque del sistema operativo

Los cargadores de arranque modernos pueden copiar un sistema operativo en la memoria principal desde diversas ubicaciones según se le indique el usuario.

Una vez que se ha colocado el sistema operativo en la memoria principal, el cargador de arranque ordena al procesador que ejecute una instrucción de salto a dicha área de memoria.

En este momento, el sistema operativo asume el mando y comienza a controlar las actividades de la máquina.

¿Porque no se guarda el sistema operativo en la memoria principal de la computadora?

El dedicar grandes bloques de memoria principal en las computadoras de propósito general al almacenamiento no volátil no resulta eficiente con las tecnologías actuales.

Además, los sistemas operativos para computadora sufren frecuentes actualizaciones con el fin de mantener la seguridad e incorporar controladores de dispositivo nuevos y mejorados, con el fin de poder utilizar el hardware más reciente.

Publicado el Deja un comentario

¿Qué o quién es Linux?

Linux es un sistema operativo originalmente diseñado por Linus Torvalds cuando era estudiante en la Universidad de Helsinki.

Es un sistema operativo gratuito, de dominio público, con su código fuente y su correspondiente documentación.

Para el entusiasta de las computadoras que desee experimentar con los componentes internos de un sistema operativo, existe un sistema denominado Linux.

Es como si pudieras modificar casi cualquier cosa de tu pc

Ademas,Linux está considerado como uno de los sistemas operativos más fiables disponibles en la actualidad. Por esta razón, diversas empresas empaquetan y comercializan hoy día versiones de Linux en una forma fácilmente utilizable, y estos productos están ahora planteando todo un desafío a los sistemas operativos comerciales más implantados en el mercado.

Puede obtener más información acerca de Linux en el sitio web http://www.linux.org

Publicado el Deja un comentario

Componentes de un sistema operativo

Los componentes del sistema operativo son:

Actividades Externas:

Interfaz de usuario

                  Shell

                  Interfaz gráfica de usuario

                  Administrador de ventanas

Actividades Internas

Núcleo

Administrador de archivos

Controladores de dispositivos

Gestor de la memoria

Planificador

Despachador

Interfaz de usuario.

La interfaz de usuario es la encargada de gestionar todas las comunicaciones entre la parte interna del sistema operativo y el usuario.

La interfaz de usuario actúa como intermediario entre los usuarios y el núcleo

del sistema operativo.

Las antiguas interfaces de usuario, conocidas como shell, se comunicaban con los usuarios mediante mensajes de texto (pantallas verdes o negras y texto blanco), utilizando un teclado y la pantalla de un monitor.

Los sistemas más modernos realizan esta tarea por medio de una interfaz gráfica de usuario (GUI, Graphical User Interface) en la que los objetos que hay que manipular, como por ejemplo archivos y programas, se representan de manera pictórica en la pantalla mediante iconos.

Gracias a estas nuevas interfaces, podemos utilizar otros periféricos como el ratón, el lápiz electrónico, las pantallas táctiles, y otra que estan por despegar como las interfaces en 3D o virtuales

Algunos sistemas operativos permiten al usuario elegir entre distintas interfaces, con el fin de conseguir el tipo de interacción más confortable para ese usuario concreto.

Por ejemplo, los usuarios del sistema operativo UNIX pueden elegir una shell entre los distintos disponibles, incluyendo la shell Bourne, la shell C y la shell Korn, así como una GUI denominada X11.

Las primeras versiones de Microsoft Windows eran un programa de aplicación GUI que podía cargarse desde la shell de comandos del sistema operativo MS-DOS. La shell DOS cmd.exe puede todavía encontrarse como programa de utilidad en las últimas versiones de Windows, aunque los usuarios menos expertos casi nunca van a necesitar dicha interfaz.

De forma similar, el sistema operativo OS X de Apple conserva la Shell de utilidad Terminal que se remonta a los antecesores UNIX de dicho sistema operativo.

Dentro de las interfaces gráficas de usuario actuales esta ell administrador de ventanas.

El administrador de ventanas asigna bloques de espacio en la pantalla, denominados ventanas, y controla qué aplicación está asociada con cada ventana.

Actividades internas del sistema operativo:

Núcleo

El núcleo de un sistema operativo contiene aquellas parte del software que realizan las funciones más básicas requeridas por el hardware de la computadora como:

El administrador de archivos, cuya tarea consiste en coordinar el uso de los dispositivos de almacenamiento masivo de la máquina.

El administrador de archivos mantiene un registro de todos los archivos que se encuentran en el almacenamiento masivo, incluyendo la ubicación de cada archivo, qué usuarios tienen acceso a los distintos archivos y qué partes del almacenamiento masivo están disponibles para nuevos archivos o para ampliaciones de los ya existentes.

Los administradores de archivos permiten agrupar los archivos en una serie de conjuntos; cada uno de esos conjuntos recibe el nombre de directorio o carpeta.

Esto permite al usuario organizar sus archivos de acuerdo con el propósito que tengan, colocando los archivos relacionados en un mismo directorio. Además, al permitir a los directorios contener otros directorios, que se denominan subdirectorios, puede construirse una organización jerárquica de archivos.

Una cadena de directorios incluidos dentro de otros directorios se denomina ruta de directorio. Las rutas de directorios suelen expresarse enumerando los directorios que las componen separados por barras inclinadas.

Por ejemplo, animales/prehistoricos/dinosaurios

Cualquier acceso a un archivo por parte de otras unidades software debe ser autorizado por el administrador de archivos. El proceso comienza solicitando al administrador de archivos que conceda acceso al archivo, para lo cual se emplea un procedimiento conocido como apertura del archivo.

Los controladores de dispositivos

Los controladores de dispositivos  son las parte del software que se comunican con las tarjetas controladoras (o en ocasiones directamente con los dispositivos periféricos) para llevar a cabo operaciones con los dispositivos periféricos conectados a la máquina.

Cada controlador de dispositivo está diseñado de forma específica para su tipo de dispositivo concreto (como por ejemplo una impresora, una unidad de disco o un monitor) y traduce la información del lenguaje del dispositivo en las tareas y procesos técnicas del sistema operativo.

De esta forma, el diseño de los dispositivos puede ser independiente de las características del núcleo de una computadora, con la condicione de que haya un controlador especial que comunique el dispositivo con la computadora.

El resultado es un sistema operativo genérico que puede personalizarse para emplear determinados dispositivos periféricos, instalando simplemente los controladores de dispositivo apropiados.

El gestor de la memoria.

El gestor de la memoria se encarga de la tarea de coordinar el uso de la memoria principal de la máquina.

Cuando muchos programas y bloques de datos tienen que coexistir en la memoria principal de manera concurrente el gestor de memoria debe localizar y asignar espacio de memoria para los distintos programas y asegurarse de que las acciones que cada programa lleva a cabo están restringidas al espacio que se le ha asignado.

Cuando la memoria principal es insuficiente el gestor de memoria puede crear la ilusión de que existe espacio de memoria adicional, intercambiando los programas y los datos una y otra vez entre la memoria principal y el almacenamiento masivo (una técnica que se conoce con el nombre de paginación).

Por ejemplo, suponga que hace falta una memoria principal de 8GB pero que la computadora solo dispone de 4GB. Para crear la ilusión de que existe un espacio de memoria de mayor tamaño, el gestor de la memoria reserva 4GB de espacio de almacenamiento en un disco magnético.

Allí, escribe los patrones de bits que estarían almacenados en la memoria principal si esta tuviera realmente una capacidad de 8GB. Los datos se dividen en unidades de tamaño uniforme denominadas páginas, que suelen tener unos pocos KB de tamaño.

Entonces, el gestor de la memoria mueve estas páginas entre la memoria principal y el almacenamiento masivo según va siendo necesario, asegurándose de que siempre estén presentes en los 4GB de memoria principal las páginas que verdaderamente se necesitan en cada momento concreto.

El resultado es que la computadora es capaz de funcionar como si tuviera realmente 8GB de memoria principal.

Este espacio de memoria “ficticio” de gran tamaño que se crea utilizando la técnica de paginación se conoce con el nombre de memoria virtual.

El planificador

El planificador determina qué actividades son las que pueden ejecutarse.

El despachador

El despachador controla la asignación de tiempo a esas actividades.

Publicado el Deja un comentario

Arquitectura de un sistema operativo

Comencemos dividiendo el software de una máquina en dos categorías muy amplias:

software de aplicación y software del sistema

Software de aplicación

El software de aplicación está compuesto por todos los programas que realizan tareas relacionadas con la utilización concreta de la máquina.

Ejemplos de software de aplicación:

1.- citar las hojas de cálculo

2.- los sistemas de base de datos

3.- los sistemas de autoedición

4.- los sistemas de contabilidad

5.- el software para el desarrollo de programas

6.- y los juegos.

Software del sistema

El software del sistema realiza las tareas que son comunes en general a todas las computadoras.

En un cierto sentido, el software del sistema proporciona la infraestructura que necesita el software de aplicación.

Dentro de la clase software del sistema hay dos categorías: una es el propio sistema operativo y la otra está compuesta por unidades de software que se conocen colectivamente como software de utilidad.

El Software de utilidad.

La mayor parte del software de utilidad de una instalación está compuesto por programas que se emplean para realizar actividades fundamentales para esa computadora, pero que no se incluyen en el sistema operativo.

En cierto sentido, el software de utilidad está compuesto por unidades software que amplían (o personalizan) las capacidades del sistema operativo.

Ejemplos:

1.- la capacidad de formatear un disco magnético

2.- copiar un archivo desde un disco magnético a un CD

Estas operaciones no suelen implementarse dentro del sistema operativo, sino que se proporciona por medio de un programa de utilidad.

Otros ejemplos de software de utilidad:

1.- el software necesario para comprimir y descomprimir datos,

2.- el software para reproducir presentaciones multimedia

3.- el software para gestionar las comunicaciones por red.

La implementación de ciertas actividades como software de utilidad permite personalizar el software del sistema para adecuarlo a las necesidades de una instalación concreta con mayor facilidad que si se hubiera incluido esa funcionalidad en el sistema operativo.

La distinción entre software de aplicación y software del sistema puede resultar muy vaga.

Por tanto, una nueva aplicación puede evolucionar hasta terminar siendo un software de utilidad si se convierte en una herramienta

fundamental.

Cuando todavía era un proyecto de investigación, el software para comunicarse a través de Internet se consideraba software de aplicación; hoy día, dichas herramientas son fundamentales a la hora de utilizar la mayoría de los PC y, por tanto, se clasificaría como software de utilidad.

La distinción entre el software de utilidad y el sistema operativo es igualmente vaga.

En particular, las querellas por violación de las leyes antimonopolio en Estados Unidos y en Europa se han basado en cuestiones relativas a si unidades software tales como los exploradores y los reproductores multimedia son componentes de los sistemas operativos de Microsoft o utilidades que Microsoft ha incluido simplemente para aplastar a su competencia.

Publicado el Deja un comentario

¿Qué es un teléfono inteligente?

A medida que ha ido aumentando la potencia de los teléfonos móviles, estos han comenzado a poder ofrecer servicios que van mucho más alla del simple procesamiento de llamadas de voz.

Ahora, un teléfono inteligente típico puede emplearse para enviar mensajes de texto, navegar por la Web, acceder a mapas, ver contenido multimedia; en resumen, puede utilizarse para proporcionar muchos de los mismos servicios que un PC tradicional.

Por esta razón, los teléfonos inteligentes requieren sistemas operativos completos, no solo para gestionar los limitados recursos del hardware del teléfono, sino también para poder ofrecer funcionalidades que den soporte al conjunto cada vez mayor de aplicaciones software para teléfonos inteligentes.

La batalla por el predominio en el mercado de los sistemas operativos para teléfonos inteligentes promete ser muy cruenta y terminará ganándola, probablemente, el que pueda proporcionar las funcionalidades más imaginativas al mejor precio.

Entre los competidores en el campo de los sistemas operativos para los teléfonos inteligentes podemos citar el iPhone OS de Apple BlackBerry OS de Research In Motion, Windows Phone de Microsoft, Symbian OS de Nokia y Android de Google.

Publicado el Deja un comentario

Historia de los sistemas operativos

Las computadoras de las décadas de 1940 y 1950 no eran muy flexibles, ni tampoco eficientes, la ejecución de programas requería una tediosa preparación de los equipos, en el sentido de que había que montar cintas magnéticas, colocar tarjetas perforadas en los lectores de tarjetas, configurar una serie de conmutadores, etc.

En esa época, la ejecución de cada programa, denominada trabajo, se gestionaba como una actividad independiente: se preparaba la máquina para ejecutar el programa, se ejecutaba ese programa y luego había que extraer todas las cintas, tarjetas perforadas, etc. antes de que pudiera iniciarse la ejecución del siguiente programa.

Inicio del procesamiento por lotes:

Este fue el comienzo de la técnica denominada procesamiento por lotes:

Donde la ejecución de un trabajo (datos e instrucciones) se llevaba a cabo sin interacción adicional por parte del usuario.

Procesamiento por Lotes:

Las instrucciones se codificaban utilizando un sistema conocido como lenguaje de control de trabajos (JCL, Job Control Language) y se almacenaba junto con el trabajo. Cuando se seleccionaba ese trabajo para su ejecución, el sistema operativo imprimía estas instrucciones en una impresora para que el operador de la computadora pudiera leerlas y llevarlas a la práctica.

Una cola es una estructura de almacenamiento en la que los trabajos están ordenados de acuerdo con la filosofía primero en entrar, primero en salir (FIFO, first-in, first-out).

Es decir, los objetos se extraen de la cola en el mismo orden en que llegaron.

DESVENTAJAS DEL PROCESAMIENTO POR LOTES

1.- Los usuarios es que estos no tienen la posibilidad de interactuar con sus trabajos después de habérselos enviado al operador.

2.-Puede haber trabajos más urgentes que otros dentro de la cola de trabajo.

3.-Pueden existir tareas similares entre los diferentes trabajos que la computadora pudiera ejecutar más eficientemente de manera continua.

Procesamiento interactivo

Para dar satisfacción a estas necesidades, se desarrollaron nuevos sistemas operativos que permitían que un programa en ejecución entablara un diálogo con el usuario a través de terminales remotos, una característica que se conoce con el nombre de procesamiento interactivo.

Procesamiento interactivo:

 Características del procesamiento interactivo

Primera aplicación de la rapidez de la computación

Un requisito esencial para que el procesamiento interactivo pueda funcionar es que las acciones de la computadora sean lo suficientemente rápidas como para poder adaptarse a las necesidades del usuario, en lugar de obligar al usuario a adaptarse al horario de funcionamiento de la máquina.

En un cierto sentido, la computadora está obligada a ejecutar las tareas con un límite de tiempo estricto, un proceso que se ha llegado a conocer con el nombre de procesamiento en tiempo real, en el que se dice que las acciones realizadas tienen lugar en tiempo real.

Es decir, cuando afirmamos que una computadora realiza una tarea en tiempo real queremos decir que la computadora lleva a cabo esa tarea de acuerdo con los límites de tiempo impuestos por su entorno (su entorno externo del mundo real).

Segunda aplicación de la rapidez de la computación

Multiprogramación

Ahora que los usuarios ya tenían interacción en tiempo real con la ejecución de sus programas, había más usuarios que querían utilizar la computadora.

La solución a este problema fue diseñar sistemas operativos que proporcionaran un servicio simultáneo a múltiples usuarios. Una característica denominada tiempo compartido.

La multiprogramación, es una técnica que consiste dividir el tiempo de ejecución en intervalos cortos y dentro de cada intervalo solo se ejecuta un determinado trabajo.

Al final de cada intervalo, el trabajo actual se pone temporalmente en espera, ejecutándose otro trabajo durante el siguiente intervalo.

Conmutando rápidamente entre unos trabajos y otros de esta forma, se crea la ilusión de que hay varios trabajos que se están ejecutando de manera simultánea.

Hoy día, gracias a la cantidad de computadoras disponibles las técnicas de multiprogramación se emplean en sistemas tanto multiusuario como monousuario, aunque en este último caso, la técnica resultante se suele denominar multitarea.

La multitarea hace referencia a un usuario que está ejecutando varias tareas simultáneamente.

Con el desarrollo de los sistemas operativos multiusuario, monousuarios, de tiempo compartido (multitarea), los antiguos encargados de las grandes computadoras han pasado a ser los encargados de la comunicación de todas las nuevas computadoras (sistemas) llamando por ejemplo, ingenieros en sistemas, etc.

Ahora, los sistemas operativos deben enfrentarse a problemas tales como el equilibrado de carga (asignación dinámica de tareas a los diversos procesadores con el fin de utilizar todos ellos de manera eficiente), así como el escalado (descomposición de las tareas en una serie de subtareas compatible con el número de procesadores disponibles).

Otra de las líneas de investigación en el campo de los sistemas operativos se centra en los dispositivos dedicados a tareas específicas como los dispositivos médicos, la electrónica para automoción, los electrodomésticos, los teléfonos celulares y otras computadoras de mano.

Sistemas empotrados

Los sistemas de computadoras que podemos encontrar en estos dispositivos se denominan sistemas empotrados.

Los sistemas operativos empotrados suelen tener requisitos especiales, como que ayuden a ahorrar potencia de la batería, que se ajusten a límites de tiempo real muy estrictos o que operen de manera continua sin ninguna supervisión humana o con muy poca.

Los mayores éxitos dentro de este campo son los de sistemas tales como VxWORKS, desarrollado por Wind River Systems y usado en los exploradores de la superficie de Marte llamados Spirit y Opportunity; Windows CE (también conocido como Pocket PC) desarrollado por Microsoft; y Palm OS desarrollado por PalmSource, Inc., especialmente para su uso en dispositivos de mano.