• Manejo de Sistemas Operativos

    Módulo Profesional

  • Sistemas Operativos Monousuario

    Unidad 1

  • Sistemas Operativos Multiusuario

    Unidad 2

jueves, 27 de octubre de 2016

2.1 Operación de sistema operativo monousuario sobre MSDOS/WINDOWS


Unidad de disco


Los discos son dispositivos que se utilizan para almacenar datos de forma permanente. Cada unidad de disco que tiene un ordenador es una unidad física; sin embargo, el DOS sólo trabaja con unidades lógicas o representación de las unidades físicas. Las unidades lógicas se nombran mediante una de las 26 letras del alfabeto (inglés), seguida del carácter “:” (A;, B:, C:, etc.). La correspondencia entre unidades físicas y lógicas es la siguiente:

·         Las unidades lógicas A: y B: siempre se utilizan para representar unidades físicas de discos flexibles, aunque no existan.
·         Los discos duros siempre comienzan a nombrarse a partir de la unidad lógica C:. Como una unidad física de disco duro puede dividirse en varias “particiones”, a cada una de ellas se le asigna una unidad lógica, una vez asignadas las unidades lógicas a las unidades físicas.

Ficheros

Un fichero es una unidad estructural en la que se almacenan datos, ubicada en una unidad lógica y en un directorio. Sus elementos fundamentales son los siguientes:

·         Denominación: compuesta por un nombre de hasta 8 caracteres (A-Z; 0-9; ^, $, ~, !, #, %, &, {, }, (, ), @, -, _), un punto, “.” y una extensión de hasta 3 caracteres (FICHERO1.TXT).
·         Fecha y hora: indican el momento en que se creó o se modificó por última vez.
·         Tamaño: capacidad de almacenamiento de información, expresado en bytes (1 byte = 8 bits) o sus potencias (1 kilobyte = 210 = 1.024 bytes).
·         Atributos: características asociadas al estado del fichero, que pueden estar activadas o desactivadas de forma independiente:

ü  ± R: sólo lectura [Read only]
ü  ± A: archivado [Archive]
ü  ± H: oculto [Hidden]
ü  ± S: sistema [System]

Nombre de un fichero.

Un fichero es referenciado con un único nombre denominado especificador de fichero y consta de dos partes:

·         El nombre
·         Extensión o tipo

Formato:   nombre.tipo

Ej.: CARTAS.TXT

Normas  para asignar un nombre al fichero

·      No puede haber en el mismo directorio dos nombres iguales.
·      No se permiten los caracteres: coma (,), punto (.), dos puntos (:), / , \ , “, ? , *
·      Es conveniente elegir un nombre que sugiera el contenido del fichero
·      Es conveniente utilizar extensiones estándar. Ej. TXT para designar ficheros de texto.

Directorios

Un directorio es simplemente una zona de la unidad de disco que sirve para almacenar datos. Así, las unidades lógicas se dividen en varios directorios que, a su vez, pueden almacenar otros directorios o directamente datos, con el objetivo de organizar de forma más sencilla los datos en los discos.

Toda unidad lógica tiene siempre un directorio raíz, que es el que sirve de partida a la estructura arborescente, si la hay. Se identifica siempre mediante el carácter “\”. En el directorio raíz se pueden crear directorios y en ellos, a su vez, es posible crear otros, que se llaman “subdirectorios”. Se denominan los directorios mediante un nombre, que está compuesto por un conjunto de 8 caracteres(A-Z; 0-9; ^, $, ~, !, #, %, &,{,}, (, ), @, -, _). Todo directorio tiene asociados una fecha y una hora, las de su creación.


Como se ha indicado, la organización del DOS está basada en discos divididos en directorios en los que se almacenan ficheros. Estos ficheros tienen una posición dentro de la estructura de directorios, es decir, es necesario asignar un nombre que defina la posición de un fichero o un directorio en el disco. Este nombre se conoce como “trayectoria” [path]. Para crear una trayectoria del elemento x hay que seguir todo el camino de la estructura arborescente, desde la unidad de disco y el directorio raíz, pasando por los subdirectorios necesarios, hasta llegar al elemento x. Para separar entre directorios, subdirectorios y ficheros, se utiliza el mismo símbolo que identifica el directorio raíz, el carácter “\” (C:\CALCULO\ QUIMICA\ECUACION.TXT).

Ahora bien, el usuario también tiene una posición dentro de la estructura arborescente; una posición que le sirve para desplazarse por toda la estructura de directorios, cambiando, cuando lo desea, de directorio y/o de disco, Es decir, en todo momento siempre está situado en una unidad de disco y en un directorio que reflejan su posición en la estructura. Se dice entonces que el usuario está en un “disco activo” y en un “directorio activo” (mostrado por el indicador de órdenes si prompt =$P$G). Cada disco lógico tiene su propio directorio activo independiente de los demás. Si el usuario cambia de disco activo y vuelve de nuevo al inicial, lo hará sobre el directorio inicialmente activo en ese disco.

Las órdenes del DOS tienen en cuenta los valores de los elementos activos para interpretar los parámetros relativos a ellos. Si no existe parámetro de unidad, se asume la unidad activa y si no existe parámetro de directorio, se asume el directorio activo.

Teniendo en cuenta que el usuario se encuentra siempre en un elemento activo, que tiene una trayectoria, la consideración de las trayectorias puede ser:

·         Absoluta: identifica un fichero o un directorio especificando su trayectoria completa.
·         Relativa: identifica un fichero o un directorio según su posición respecto al elemento activo.


Un disco es el soporte magnético que almacena permanentemente los datos, de forma que el usuario pueda recuperarlos en cualquier momento y convertirlos en información. En todo disco hay que distinguir una estructura física y una estructura lógica. La estructura física es inherente al disco, mientras que la estructura lógica la crea el sistema operativo para poder almacenar los datos. La estructura lógica se crea en el disco durante el proceso de formateo y consiste principalmente en la división del disco en cuatro zonas:

·         Sector de arranque [boot sector]: primer sector de un disco que contiene un pequeño programa que arranca el proceso de carga del sistema operativo en memoria, si encuentra los ficheros correspondientes (IO.SYS, MSDOS.SYS) en el disco.
·         Tabla de ubicación de ficheros (FAT) [File Allocation Table]: es una tabla que consta de una entrada por cada unidad de asignación [cluster] del disco, o unidad mínima de información para el DOS, que permite localizar la información en el disco; su existencia están importante que todos los discos tienen dos copias de esta tabla, para el caso de que se corrompa una de ellas.
·         Directorio raíz [root]: es la zona donde se almacenan los nombres y las características de los ficheros contenidos en el directorio raíz (los directorios son considerados por el DOS, a efectos de gestión, como ficheros)
·         Área de datos [data area]: resto del espacio de disco que se utiliza en la práctica para almacenar datos.
·
Ahora bien, cuando se trabaja con discos duros, pueden crearse varias unidades lógicas, cada una con la estructura lógica indicada, es decir, puede dividirse en disco duro en “particiones”. Ha de crearse una “partición primaria”, en la que se almacenan los ficheros de arranque del sistema, que a su vez tendrá que estar “activa”, para que se produzca dicho arranque. Opcionalmente puede crearse una o varias “particiones extendidas”, con la finalidad de dividir el disco duro en varias unidades lógicas para una mejor organización.



Particionado, formateo y creación del arranque

Para gestionar las particiones de un disco duro, el DOS incorpora la orden externa FDISK, que permite realizar las siguientes operaciones (los borrados no son recuperables):

·         Crear y borrar la partición primaria.
·         Crear y borrar la partición extendida.
·         Crear y borrar unidades lógicas en la partición extendida.
·         Visualizar el estado de la tabla de particiones.

Para formatear discos (duros y flexibles) y así darles la estructura lógica del DOS, este sistema operativo incorpora la orden FORMAT, cuya sintaxis simplificada es:

FORMAT unidad [parámetros]

Obsérvese que se pierden todos los datos almacenados cuando se formatea un disco, si esta operación no se hace por primera vez sobre un disco.

Cuando el disco ha de ser arrancable (generalmente un disco duro), tendrá que contenerlos ficheros básicos del sistema operativo. Estos ficheros (IO.SYS, MSDOS.SYS y COMMAND-.COM) se conocen como “ficheros de sistema” y se transfieren al disco que se desea mediante la orden SYS, cuya sintaxis simplificada es:

SYS [parámetros] unidad_destino

Si se desea etiquetar un disco con un nombre (de hasta 11 caracteres), puede hacerse con la orden externa LABEL:

LABEL [parámetros]

Copia y comprobación de discos

En muchas ocasiones es necesario realizar copias de discos flexible completos, principalmente para salvaguardar su contenido. Para realizar una réplica de un disco flexible, del DOS posee la orden externa DISKCOPY, de sintaxis abreviada:

DISKCOPY unidad_origen unidad_destino

Obsérvese que es necesario, para copiar exactamente un disco, que se den las siguientes condiciones:

·         Los dos discos tienen que ser del mismo tamaño y tipo.
·         Se puede utilizar una sola unidad lectora de discos para hacer la copia, introduciendo alternativamente en ella el disco origen y el disco destino.
·         Si el disco de destino no está formateado, DISKCOPY lo formateará automáticamente antes de proceder a la copia.

Conviene comprobar con cierta frecuencia la integridad de los datos de un disco (principalmente de discos duros), verificando su estructura lógica (y en su caso, corrigiéndola), para lo que se utiliza la orden externa CHKDSK [CHecK DiSK], que proporciona información detallada sobre el contenido del disco y cuya sintaxis simplificada es:

CHKDSK [parámetros]


El directorio es la unidad organizativa de los datos en un disco, por tanto, es fundamental el conocimiento de las órdenes que permiten al usuario moverse a través del árbol de directorios.

Visualización del contenido y del árbol

Para visualizar el contenido de un directorio, el DOS posee la orden interna DIR
[DIRectory]:

DIR [parámetros]

La lista de parámetros de esta orden es muy extensa, si bien en la práctica se utilizan sólo unos pocos para facilitar la forma de presentación de los resultados en la pantalla.

Si se desea conocer la posición relativa del directorio activo en el árbol de directorios, se puede emplear la orden externa TREE que, en principio, sólo muestra los subdirectorios del directorio activo:

TREE [parámetros]

Si se utiliza como parámetro el nombre del directorio raíz, “\”, se obtendrá todo el árbol de directorios del disco activo.

Cambios de directorios

Para moverse entre directorios se dispone de la orden interna CD [Change Directory], que tiene como sintaxis más simplificada:

CD trayectoria

La orden CD sin parámetros simplemente visualiza el nombre del directorio activo, mientras que la trayectoria puede expresarse de forma absoluta o relativa. Si se expresa de forma relativa hay que tener en cuenta que el directorio activo se representa mediante un punto “.” Y el superior (“padre”) se representa mediante dos puntos “..”.

Manipulación de directorios

Un directorio se puede crear, borrar o renombrar. Para crear un directorio se utiliza la orden interna MD [Make Directory]:

MD directorio

Para borrar un directorio se utiliza la orden interna RD [Remove Directory]:

RD directorio

Siendo necesario que el directorio no contenga ningún fichero para que pueda ser borrado.

Un directorio puede cambiarse de nombre con ayuda de una orden cuya función principal es mover ficheros de un directorio a otro. Se trata de la orden externa MOVE, cuya sintaxis para renombrar directorios es:

MOVE dir_antiguo dir_nuevo
Esta orden no permite renombrar el directorio activo y su uso es más sencillo cuando se desea renombrar un subdirectorio del directorio activo.


Aunque la mayoría de las operaciones que se realizan con ficheros son de carácter general, existen otras que dependen del tipo de ficheros sobre los que dichas operaciones se realicen. Bajo este punto de vista se pueden considerar dos grandes categorías de ficheros: ASCII y binarios. Un fichero ASCII1 es un fichero sólo de texto; un fichero binario está codificado con caracteres de control y puede ser un programa o un fichero de datos sólo legible por un programa determinado.

Una aproximación al tipo de fichero y su función puede lograrse mediante los tres caracteres de su extensión. Generalmente los ficheros ASCII se identifican con las extensiones .TXT y .DOC, mientras que los ficheros directamente ejecutables tienen las extensiones .COM, .EXE o .BAT (estos últimos son ficheros de texto con órdenes del DOS). Sobre otras extensiones no hay reglas escritas y la asociación entre la extensión y el tipo de fichero ha de ser resultado de la experiencia.

Para identificar varios ficheros con una única trayectoria, el DOS incorpora dos “caracteres comodín” [“wildcards”]: el carácter interrogación, “?” y el carácter asterisco “*”,que se pueden sustituir por cualquier carácter válido en el nombre de un fichero. Cuando se escribe un nombre de fichero con algún carácter comodín se dice que es una “plantilla de ficheros” [file mask]. El símbolo “?” se sustituye por un solo carácter, mientras que el símbolo “*” se sustituye por cualquier carácter hasta completar los caracteres del nombre o la extensión.





Manipulación de ficheros

La operación de copia de ficheros es, tal vez, la labor de mantenimiento más importante del DOS, sobre todo porque siempre es conveniente tener una copia de seguridad de la información importante.

La orden por excelencia para realizar copias de ficheros entre discos y/o directorios es la orden interna COPY, cuya sintaxis es:

COPY fichero [unidad | directorio | fichero]

Obsérvese que si en el disco o directorio de destino existe un fichero con el mismo nombre, se reemplazará por el fichero de copia.

Muchas veces se utiliza la orden externa XCOPY [eXtended COPY], que es más potente y flexible, ya que permite copiar estructuras de subdirectorios completas, utilizar la fecha del fichero como criterio de selección o copiar ficheros ocultos y de sistema. Su sintaxis es:

XCOPY fichero [unidad | directorio | fichero] [parámetros]

El proceso combinado de copiar un fichero y borrar el original (COPY + DEL) es equivalente a mover el fichero original de lugar. Esto puede hacerse mediante la orden externa MOVE:

MOVE trayectoria_1 trayectoria_2

Para cambiar el nombre de un fichero se utiliza la orden interna REN [REName], cuya sintaxis es la siguiente:

REN nombre_antiguo nombre_nuevo

Los ficheros pueden ser borrados mediante la orden interna DEL [delete]:

DEL fichero

Cuando se borran ficheros es necesario tener precaución al utilizar los caracteres comodín, especialmente “*” (la orden DEL *.* borra todos los ficheros de un directorio). Una vez borrados, los ficheros no pueden ser, en principio, recuperados.

Si lo que se desea es cambiar los atributos de un fichero, ha de utilizarse la orden externa ATTRIB, de sintaxis:

ATTRIB fichero [+atributo | -atributo]

Ficheros de texto: visualización y edición

Como se ha indicado, los ficheros de texto son aquéllos que contienen datos que se interpretan según el código ASCII. Estos ficheros pueden ser visualizados en pantalla y/o en papel, utilizando órdenes específicas del DOS.

Para visualizar un fichero de texto por pantalla, se utiliza la orden interna TYPE, de sintaxis:

TYPE fichero

En esta orden, el nombre de fichero no acepta carácter comodín, ya que sólo se puede visualizar un fichero a la vez.

Si lo que se desea es visualizar el contenido de un fichero de texto sobre papel, es decir, imprimirlo, ha de usarse la orden externa PRINT:

PRINT fichero

Y en este caso sí pueden utilizarse caracteres comodín. Ahora bien, no es menos importante que visualizar un fichero de texto el hecho de crearlo y modificarlo. Para ello el DOS dispone de una orden externa, que en realidad es un programa de aplicación, que es EDIT:

EDIT fichero

Se trata de un programa editor de textos de pantalla completa, cuyo sistema de ayuda permite al usuario ir aprendiendo interactivamente el funcionamiento del editor. Mediante esta utilidad se pueden crear nuevos ficheros de texto y modificar los ya existentes, operaciones de gran interés, principalmente cuando se desea escribir programas de órdenes, pequeños programas en BASIC o generar documentación que va a ser almacenada en soporte magnético para ser consultada directamente desde dicho soporte.


2.1 Gestión de servicios del sistema operativo y formas de proporcionar esos servicios


Un Sistema Operativo es un programa que actúa como interfaz entre el usuario de un computador y el hardware del mismo, ofreciendo el entorno necesario para que el usuario pueda ejecutar programas. Su principal cometido es facilitar el uso del sistema informático, siendo su objetivo secundario permitir la utilización del hardware del computador en modo eficiente. Así pues, un Sistema Operativo es el soporte lógico que controla el funcionamiento del equipo físico, la eficiencia, fiabilidad, facilidad de mantenimiento, y un pequeño tamaño serían las características deseables de este software.

El sistema operativo es una parte importante de todo sistema informático que engloba a:

- El hardware: CPU, memoria y dispositivos de entrada y salida (E/S).
- El sistema operativo.
- Los programas de aplicación (compiladores, sistemas de bases de datos, utilidades, videojuegos, programas de gestión, etc.).
- Los usuarios (personas, máquinas u otros computadores).

Un sistema operativo es un conjunto de programas que supervisan y controlan los programas de usuario para evitar errores y el uso inadecuado del computador. El sistema operativo controla así mismo las operaciones de E/S, podemos pues entender por sistema operativo a una colección de programas cuya principal misión es gestionar los recursos del computador, y en consecuencia será el soporte lógico que controla el funcionamiento del equipo físico (Hardware). Los objetivos buscados por un sistema operativo son dos: eficacia en la gestión de los recursos, y facilitar la gestión a los usuarios (interfase usuario/máquina de fácil manejo, por ejemplo, entornos gráficos tipo Windows). Estos objetivos no son fácilmente compatibles, si se consiguen se logra un buen sistema operativo




Los sistemas operativos cumplen varias funciones como por ejemplo:

Función
Descripción
Control de la ejecución de los programas
Para ello acepta los trabajos, administra la manera en que se realizan, les asigna los recursos y los conserva hasta su finalización
Administración de periféricos
Coordina y manipula los dispositivos conectados al ordenador
Gestión de permisos de usuarios
Adjudica los permisos de acceso a usuarios y evita que las acciones de uno afecten el trabajo que está realizando otro.
Control de concurrencia
Establece prioridades cuando diferentes procesos solicitan el mismo recurso
Control de errores
Gestiona los errores de hardware y la pérdida de datos.
Administración de memoria
Asigna memoria a los procesos y gestiona su uso
Control de seguridad
Proporciona seguridad tanto para los usuarios como para el software y la información almacenada en los sistemas


Manejo de software de control del sistema informático
 
Existen dos tipos de programas dentro de un sistema operativo:

1.         Programas de control
2.         Programas de proceso. 
 
Programas de Control
 
La función de los programas de control es la de controlar y mejorar el rendimiento en la forma de explotar un sistema. Existen programas que gestionan el sistema controlando el hardware. Otros programas que se encargan de encadenar los trabajes que se deben ejecutar y por último, hay programas para controlar la transmisión de datos entre la memoria y los periféricos.
 
 
Programas de Proceso
 
Los programas de proceso se encargan de facilitar las tareas de los programadores. Los programas de servicio, por ejemplo, resuelven  problemas reiterativos como la transferencia de datos entre periféricos. Los programas traductores sirven para que los programas escritos con lenguajes de alto nivel sean traducidos al lenguaje máquina. Esta traducción equivaldría a introducir una sucesión de ceros y unos, correspondiente a cada símbolo del programa escrito en lenguaje simbólico.
 
Esta tarea la efectúa el propio ordenador mediante la ejecución de unos programas llamados genéricamente traductores, que, utilizando como datos de entrada las sentencias de un programa escrito en caracteres inteligibles o simbólicos (programa fuente), dan como resultado el programa escrito en código máquina que le corresponde (programa objeto).
 
El proceso de traducción se ejecuta una sola vez y el programa objeto obtenido puede guardarse indefinidamente para utilizarlo cuantas veces se requiera. Existen tres tipos de programas traductores de acuerdo al lenguaje en el que se ha escrito el programa fuente.
 
·         Ensambladores
·         Compiladores
·         Interpretes
 
ENSAMBLADORES: Ya hemos visto que un programa puede ser escrito utilizando el conjunto de mnemónicos de un lenguaje ensamblador. La traducción del programa fuente la realiza un programa que se llama también ensamblador. Este traduce una instrucción del programa fuente en una única instrucción en código máquina que forma parte del programa objeto.
 
COMPILADORES: Los compiladores son programas encargados de traducir el programa fuente escrito en lenguaje de alto nivel, en programa objeto (lenguaje maquina). Cada instrucción del programa fuente genera una o varias instrucciones  en lenguaje maquina los programas compiladores, cuando traducen una instrucción del programa fuente, analizan su sintaxis y su semántica y, si encuentran algún error, lo indican cuando termina de ejecutarse. 
 
INTERPRETES: Son programas que traducen una instrucción de programa fuente justo en el momento en que va a ser ejecutada. La diferencia con los compiladores estriba en que estos traducen de una sola pasada el programa fuente y obtienen un programa objeto y los interpretes no generan ningún programa objeto previo a la ejecución, sino que van generando el código maquina a medida que cada instrucción va a ejecutarse. Por esta razón, los programas traducidos con intérpretes son más lentos a la hora de ejecución que los objetos producto de una compilación o ensamblaje.
 
PROGRAMAS DE SERVICIO: Sirven para resolver problemas complejos y reiterativos, como por ejemplo, los programas de transferencia de datos de un soporte a otro o programas de clasificación.



En un sistema de monoprogramación todos los recursos del ordenador. CPU, memoria, E/S, etc. Se abocan a la ejecución de un solo programa a la vez. Esto conlleva a una baja utilización de los recursos, por ejemplo; Cuando el programa en ejecución realiza una operación de E/S se introduce la orden precisa en el registro de órdenes. El controlador responde a esto traduciendo esas órdenes al dispositivo, y poniendo a uno el bit de ocupación para indicar que el dispositivo está ocupado realizando una operación de E/S. Cuando termine la operación, el controlador pone a cero este bit para indicar que la operación concluyó, y el dispositivo está desocupado. Para saber cuándo termina la E/S, el programa, después de mandar la orden, tiene que ejecutar un ciclo del siguiente estilo:

·         Leer el registro de estado
·         Mientras (el bit de ocupación esté a uno)
·         Leer el registro de estado
·         Fin Mientras



Esto nos conlleva a que en un  momento dado la CPU este realizando una acción sin ocupar la E/S y esta última quede ociosa o bien la E/S este siendo ocupada y la CPU revisando la finalización de algún ciclo; cómo podemos ver en la imagen (grafico), donde los rectángulos rellenos a trazas representan el ciclo de comprobación. Para dar una medida de la infrautilización de los recursos que conlleva esta forma de realizar las E/S, piénsese que en el tiempo en que una impresora imprime una línea, la CPU, en lugar de ejecutar el ciclo de comprobación que aparece líneas más arriba, podría ejecutar millones de instrucciones de otro programa. A esta forma de realizar la E/S de los sistemas de monoprogramación se le llama E/S controlada por programa.

Los sistemas monoprogramables se pueden dar de tres formas:

Sistemas monoprogramables lineales: se caracterizan por tener una cola de atención sin prioridades y un proceso no finaliza hasta terminar de ejecutarse.


Sistemas monoprogramables con prioridades: Tienen una cola de atención por prioridades y al igual que el anterior un proceso no termina hasta finalizar su ejecución.



Sistemas monoprogramables con prioridades y tiempo de salida. Tienen una cola de atención por prioridades y un proceso puede terminar al completar su ejecución o al terminar el intervalo de tiempo de atención prefijado, en este caso se devolverá a la cola de atención.


La multiprogramación es un modo de trabajo distinto en el que se pueden ejecutar varios programas simultáneamente con el fin de aprovechar al máximo los recursos de la computadora. Los trabajos realizados en una computadora, desde el punto de vista de ocupación de tiempo de procesador y de los dispositivos periféricos, se pueden agrupar en dos bloques:

· Trabajos limitados por procesos: aquellos que consumen la mayor parte de su tiempo en el tratamiento de la información y muy poco en operaciones de entrada/salida.
· Trabajos limitados por operaciones de E/S: aquellos que dedican la mayor parte del tiempo a operaciones de E/S, haciendo poco uso del procesador, que se mantiene inactivo durante grandes períodos de tiempo.

Obviamente, un proceso particular puede estar decantado hacia un lado u otro, o bien situado en una situación intermedia.

El segundo tipo de procesos dio lugar a una nueva técnica denominada multiprogramación. Esta técnica consiste en aprovechar la inactividad del procesador durante la ejecución de una operación de E/S de un proceso, para atender a otro proceso. Desde el punto de vista del usuario, los procesos que se están ejecutando en la computadora están corriendo en paralelo, en realidad lo que sucede es que se están utilizando pequeños tiempo de CPU (ráfagas) para cada uno de los procesos que se ejecutan. En estas condiciones nos encontraremos con varios problemas:

·      El acceso al procesador deberá seguir algún tipo de reglas, o políticas de trabajo, que permitan la realización de las distintas tareas que implica la ejecución de los programas.
·      Se hace necesario algún tipo de administración de la memoria, ya que tiene que ser compartida por los distintos trabajos que se están ejecutando.
·      Varios trabajos pueden necesitar la utilización de un mismo recurso al mismo tiempo, dando lugar a un problema de concurrencia conocido como “abrazo mortal”.


En este modo de trabajo la organización no se realiza por trabajos, sino por sesiones. Una sesión es todo el conjunto de trabajos que se realizan desde que un usuario se conecta a la computadora hasta que se despide de la misma. Durante estas sesiones se pueden realizar multitud de operaciones controladas por un proceso, denominado interprete de órdenes, que mantiene el diálogo entre el usuario y el sistema operativo.

Durante su sesión el usuario cree tener todos los recursos de la computadora, aunque existan otros usuarios con sus sesiones activadas simultáneamente. Los sistemas de tiempo compartido se caracterizan por:

·         Ser interactivos.
·         Atender a varios usuarios simultáneamente.
·         Ofrecer unos tiempos de respuesta relativamente cortos.
·         Poseer una fuerte gestión de archivos.
·         Utilizar técnicas de buffering y spooling.
·         Gestionar memoria virtual.


Uno de los problemas actuales ha sido la aparición de aplicaciones que manejan gran cantidad de datos, que un solo procesador no es capaz de procesar en el tiempo requerido.

Podemos citar el caso de sistemas expertos, donde el volumen de datos es extremadamente grande y se necesitan unos tiempos de respuesta muy pequeños.

El multiproceso se basa en la posibilidad de descomponer el algoritmo que se está ejecutando en varios subalgoritmos, de tal forma que estos puedan ser tratados por varios procesadores en paralelo. Al finalizar se deben unir los resultados parciales y obtener un resultado final en la computadora. Evidentemente el tiempo de ejecución es mucho menor que si solo dispusiéramos de un procesador.


El tiempo real es otra posibilidad de los sistemas operativos multiprogramados en los que se necesita un tiempo de respuesta pequeño ante cualquier petición.

Suele emplearse en aplicaciones dedicadas a sistemas de control, que utilizan sensores como elementos de entrada y donde es necesaria una respuesta rápida sobre el sistema a controlar.


Podemos decir que un sistema trabaja en tiempo real si el tiempo de respuesta permite controlar y regular al medio sobre el que opera.