0% encontró este documento útil (0 votos)
18 vistas25 páginas

Som - Tema 2

Byvy u
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
18 vistas25 páginas

Som - Tema 2

Byvy u
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd

TEMA 2

Software base de sistema


informático: El sistema
operativo
SISTEMAS OPERATIVOS MONOPUESTO​ ​ ​ ​ ​ ​ TEMA 2

Software base de un sistema informático: el sistema operativo................................................... 3


1.-¿Qué es un Sistema Operativo?................................................................................................... 3
1.1.-Historia de los sistemas operativos......................................................................................... 4
1.1.1.-Desde 1940 hasta 1965..................................................................................................4
1.1.2.-Entre 1966 y 1971.......................................................................................................... 6
1.1.3.-Sistemas operativos desde 1981....................................................................................7
1.2.-Elementos de un Sistema Operativo....................................................................................... 8
1.3.-Clasificación de los Sistemas Operativos: Por su estructura Interna...................................... 9
1.4.-Clasificación de los Sistemas Operativos: Por los servicios ofrecidos (I)..............................10
1.5.-Clasificación de los Sistemas Operativos: Por los servicios ofrecidos (II).............................11
1.6.-Clasificación de los Sistemas Operativos: Por los modos de explotación (I): Por lotes........ 12
1.7.-Clasificación de los Sistemas Operativos: Por los modos de explotación (II):
Multiprogramación........................................................................................................................ 13
1.8.-Clasificación de los Sistemas Operativos: Por la forma de ofrecer los servicios.................. 14
2.-Funciones del Sistema Operativo. Recursos............................................................................ 15
2.1.-Objetivos del Sistema Operativo........................................................................................... 15
2.2.-Funciones del Sistema Operativo..........................................................................................16
2.3.-Gestión de procesos .............................................................................................................17
2.3.1.-Modo de ejecución de los procesos............................................................................. 19
2.3.2.-Estados de los procesos...............................................................................................20
2.3.3.-Algoritmos de planificación................................................................................................. 22
2.3.4.-Monitorización de los procesos.......................................................................................... 24
Software base de un sistema informático: el sistema operativo.
Un ordenador es un sistema programable formado por un conjunto de elementos hardware
que necesitan instrucciones que les indiquen cómo utilizar los recursos. Estas instrucciones
son lo que conocemos como soporte lógico o software, y su función puede ser para el
funcionamiento general del equipo o para una aplicación concreta. El ordenador sirve para
procesar información en forma de datos, que pueden ser textos, imágenes, tablas de hojas
de cálculo, etc. También maneja información que servirá para procesar esos datos, son las
aplicaciones informáticas o programas, por ejemplo, los procesadores de texto

La utilización de los recursos es muy complicada, ya que cada dispositivo es diferente y con
gran cantidad de características a controlar. Por ello una de las acciones a llevar a cabo es
el diseño de un software que facilite su gestión y que incorpore todas las funciones
adicionales necesarias, no solo para facilitar el uso de los recursos sino para potenciarlo lo
más posible. Este software es lo que se conoce como Sistema Operativo, es un software
fundamental o básico sin el cual el ordenador no puede funcionar, y que en definitiva es un
conjunto de programas que, ordenadamente relacionados entre sí, contribuyen a que el
ordenador lleve a efecto correctamente el trabajo encomendado mediante una coordinación
adecuada de todo el hardware.

2
SISTEMAS OPERATIVOS MONOPUESTO​ ​ ​ ​ ​ ​ TEMA 2

1.-¿Qué es un Sistema Operativo?.


El sistema operativo (S.O.) es un conjunto de programas, servicios y funciones que
gestionan y coordinan el funcionamiento del hardware y del software. Gracias al sistema
operativo, el hardware se identifica, se reconoce, y el sistema informático empieza a
funcionar. Posteriormente, mediante los programas y las aplicaciones del propio sistema
operativo, el usuario podrá realizar determinadas funciones.

Con el software de aplicaciones funcionando, por encima, del sistema operativo, el usuario
completará las necesidades de utilización del sistema informático.

Por otro lado, el S.O. ofrece al usuario la forma de comunicarse con el ordenador, bien
mediante el teclado (entorno o interfaz texto), bien mediante otros dispositivos, como el
ratón (entorno o interfaz gráfica).

El sistema operativo es el que realiza todo el trabajo dentro del equipo. El usuario utiliza el
hardware, pero se despreocupa de gestionarlo o administrarlo. Gracias a una interfaz
sencilla (medio de comunicación entre usuario y equipo), proporciona al usuario una
comunicación directa, sin que éste tenga que preocuparse de la gestión de memoria, del
procesador o de cualquier otro recurso o componente de hardware. También sirve para que
el usuario utilice software de aplicaciones y éste se despreocupe de la posición de memoria
en la que se almacena, por ejemplo, el texto que está tecleando, o simplemente de qué
forma se reproduce una lista musical de un CD-ROM.

El sistema operativo es en sí mismo un programa, pero un programa muy especial y quizás


el más complejo e importante. Cuando se conecta un ordenador se carga parte del sistema
operativo en la memoria y se ejecuta. El sistema operativo despierta al ordenador y hace
que reconozca a la C.P.U., la memoria, las unidades de disco y cualquier otro dispositivo
conectado a ella como el teclado, el ratón, la impresora, etc., verificando así que no existen
errores de conexión y que todos los dispositivos se han reconocido y trabajan
correctamente. A este primer diagnóstico se le denomina POST.

El sistema operativo presenta al usuario una máquina virtual que es más fácil de manejar y
programar que el hardware que está por debajo, es decir, un usuario normal, simplemente
abre los ficheros que grabó en un disco, sin preocuparse por la disposición de los bits en el
medio físico, los tiempos de espera del motor del disco, la posición de un cabezal, el
acceso a otros usuarios, etc.

El fin fundamental de un sistema operativo es coordinar la utilización que se hace del


hardware dependiendo de los programas o aplicaciones que se estén utilizando. Los
programas que se utilizan en la mayoría de los casos los decide usuario, pero en otras
muchas ocasiones son programas propios del sistema operativo los que tienen que estar
funcionando para poder hacer que los del usuario cumplan con su objetivo.

3
SISTEMAS OPERATIVOS MONOPUESTO​ ​ ​ ​ ​ ​ TEMA 2

1.1.-Historia de los sistemas operativos.

Los sistemas operativos han estado siempre relacionados con la Arquitectura de los
ordenadores . De esta manera, los sistemas operativos para los Miniordenadores y los
Microordenadores se han beneficiado del desarrollo de los sistemas operativos para los
Mainframes o grandes ordenadores, ya que han aprovechado la tecnología desarrollada
por ellos.

Por lo tanto, para ver cómo ha sido su evolución histórica, podemos hablar de cinco fases,
que coinciden con las diferentes generaciones de ordenadores. Las características de cada
generación quedan definidas por los componentes hardware de los sistemas informáticos.

La evolución de los sistemas informáticos tiene su manifestación más visible en la


reducción de su volumen.

1.1.1.-Desde 1940 hasta 1965.

Generación Cero (antes de 1940)

La Generación cero se caracteriza por la ausencia de sistemas operativos. ¿Cómo


funcionaban entonces estos primeros sistemas? Lo único que existía era el hardware
propio del ordenador, se trabajaba en lenguaje máquina y todas las instrucciones debían
codificarse a mano. El programador escribía un programa y lo ejecutaba directamente
desde la consola de operador.

En 1942 J. P. Eckert y J. W. Mauchly, de la Universidad de Pennsylvania, diseñaron el


ENIAC (Electronic Numerical Integrator and Computer), el primer ordenador de propósito
general programable, para programarle había que modificar unos interruptores mecánicos.

Primera Generación (1940 – finales de los 50)

En la Primera Generación continua la carencia de sistemas operativos tal como los


conocemos en la actualidad. Con la construcción del Univac I (Universal Automatic
Computer) aparece el concepto de sistema operativo, el ordenador funcionaba con el
sistema operativo EXEC I.

Segunda generación (desde 1960 a 1965)

La introducción del transistor a mediados de esta década supuso un cambio radical.

Los sistemas operativos comenzaron simplemente como una transición entre trabajos, así,
mientras un trabajo estaba en ejecución tenía el control total de la máquina. Al finalizar la
tarea, el control era devuelto al sistema operativo, que se encargaba de mostrar los
resultados y empezar el trabajo siguiente. Para llevar a cabo este trabajo, se usaban
tarjetas perforadas.

4
SISTEMAS OPERATIVOS MONOPUESTO​ ​ ​ ​ ​ ​ TEMA 2

La independencia de dispositivo aparece posteriormente. El programa del usuario


especifica las características de los dispositivos que requieren los archivos y es el sistema
operativo el que asigna los dispositivos correspondientes según los requerimientos y las
disponibilidades.

A esta generación se incorpora también el procesamiento por lotes (batch), que consiste en
la ejecución secuencial de programas (jobs) en el computador. El código de estos
programas es generado por otro ordenador, que los graba en dispositivo físico, más tarde,
un operador recoge la cinta y la lleva al ordenador que se encarga d ejecuciones.

Este proceso constaba de tres tareas fundamentales:

●​ Introducción de los datos que se iban procesar en un soporte magnético o no. Los
primeros soportes de información fueron las tarjetas perforadas o la cinta perforada.
La introducción de estos datos se realizaba en un medio físico distinto de la
computadora.
●​ Traslado del soporte cargado con los datos por un operador a la computadora para
que ésta los procesara. Una vez procesada la información, se almacenaba en otro
soporte diferente.
●​ Traslado, por otro operador, del soporte donde estaban los resultados a otro positivo
físico distinto a la computadora para realizar la generación de resultados.

Que la introducción de datos y la recogida de resultados dejara de realizarse en dispositivo


físico y empezara a enviarse a través de una primaria red de comunicaciones, a finales de
la tercera generación, supuso un gran paso hacia adelante.

Se construye una nueva versión del Univac, que llevaba un sistema operativo basado en
procesamiento por lotes EXEC II.

1.1.2.-Entre 1966 y 1971.

Tercera generación (Entre 1966 y 1981)

En abril de 1964 se presenta el IBM 360, máquina que inaugura una nueva generación
gracias a la aparición de los circuitos integrados, que permitían concentrar miles de
transistores en una superficie mínima.

La tecnología basada en circuitos integrados permitió abaratar costes, disminuir tamaño de


los equipos y reducir el consumo de energía.

Los sistemas operativos eran monousuarios, hay que considerar los siguientes avances:

●​ Existe una mayor difusión de la multiprogramación, es decir, se aprovecha el


tiempo de espera, consecuencia de operaciones de entrada/salida, con el fin de
utilizar la CPU para otros procesos.

5
SISTEMAS OPERATIVOS MONOPUESTO​ ​ ​ ​ ​ ​ TEMA 2

●​ Aparecen técnicas de spooling (acrónimo de Simultaneous Peripheral Operation On


Line, es decir, operación simultánea y en línea de periféricos). Se trata de almacenar
trabajos en unos discos o en un área especial de memoria, donde los dispositivos
puedan acceder cuando estén listos. Estas técnicas de spooling se usan para
disminuir el impacto de los periféricos más lentos, ya que normalmente los
dispositivos acceden a los datos a distintas velocidades.
●​ Surgen los lenguajes de control de trabajos, necesarios para especificar el trabajo
y los recursos requeridos. Soportan timesharing (tiempo compartido), variante de la
multiprogramación con usuarios conectados mediante terminales en línea,
permitiendo la operación en modo interactivo o conversacional.
●​ Se introducen también los sistemas de tiempo real, que requieren tiempos de
respuesta muy exigentes, en especial para usos industriales o militares.

Destaca la serie 360 de IBM que inicialmente tuvo el sistema operativo OS/360,
posteriormente se desarrolla el sistema operativo CP/CMS para el IBM 370.​
Otra serie de ordenadores fueron los de la serie PDP de la empresa DEC (Digital
Equipment Corporation) el sistema operativo que usaban era el TOPS-10.​
A mediados de los sesenta se desarrolla el sistema operativo MULTICS (Multiplexed
Information and Computing Service) como un sistema operativo que incluía muchas
novedades, era un sistema operativo monolítico y tuvo mucha influencia para el posterior
diseño de UNIX.

Cuarta generación (1971-1981)

Durante esta generación, el avance más importante es la creación del microprocesador. El


primero lo desarrolló Marcian E. Hoff para Intel en 1971, el 4004; tenía 2.300 transistores
(los microprocesadores actuales tienen más de 40 millones) y era capaz de ejecutar 60.000
instrucciones por segundo. Las ventajas de la aparición del microprocesador se concretan
en un incremento importante de la velocidad, un ahorro de consumo, un incremento de
potencia de cálculo y la reducción del tamaño y coste.

En 1977 se presenta el Comodore 8096, el primer ordenador personal que se vende con
pantalla incluida: a partir de ahora ya no se precisará de un televisor que haga las
funciones de monitor. Otra gran mejora de esta etapa es la memoria a partir del uso de
semiconductores, que permite un consumo mínimo y unas reducciones de tamaño
espectaculares.

Se siguen utilizando muchos de los sistemas operativos de la generación anterior. Algunos


sustituidos por nuevas versiones como el TOPS-20 para la familia de ordenadores PDP.

UNIX surgió a principios de los 70 derivado de MULTICS, fue desarrollado en C, es un


sistema operativo multiusuario y multitarea, a finales de los setenta surgió la variante BSD
UNIX (Berkeley software Distribution), desarrollado por la universidad de California.

6
SISTEMAS OPERATIVOS MONOPUESTO​ ​ ​ ​ ​ ​ TEMA 2

Surge otro sistema operativo muy extendido que llegó a convertirse en estándar para
muchos fabricantes, el CP/M(control Program and Monitor).

1.1.3.-Sistemas operativos desde 1981.

Se puede decir que comenzó en 1981 con la creación del IBM PC, que llevaba inicialmente
el sistema operativo PC-DOS, que se basó en el CP/M. Después MS-DOS desarrollado por
Microsoft, incorporando más adelante el sistema operativo Windows. DR-DOS competidor
de MS-DOS de la empresa Digital Research.

Con la irrupción de las redes de ordenadores, surgen los primeros sistemas operativos de
red. Inicialmente el más utilizado fue Novell Netware, que fueron perdiendo mercado ante la
aparición de los de Microsoft, como Windows NT (New Technology). A principio de los 90
surge Linux un sistema operativo de software libre y código abierto. Los ordenadores de la
empresa Apple, los Mac o Macintosh, funcionaba bajo el sistema operativo Mac OS,
destacan por su interfaz gráfica de usuario (GUI)

El contexto social

Este desarrollo es una muestra de que la informática se ha convertido en algo cercano a la


mayoría de la población. Tanto es así, que las posibilidades multimedia y el acceso
inmediato a cualquier tipo de información a nivel masivo permiten hablar de una verdadera
revolución informática mundial. Esta revolución es inseparable de la nueva categorización
de la sociedad actual: la sociedad del conocimiento, sustenta en la facilidad de acceso a la
información y en la gestión de ésta.

En este contexto el desarrollo de los sistemas operativos cumplen una función esencial
para dar respuestas a estas necesidades. El acceso generalizado al mundo informático
significa la creación de unos sistemas operativos más fáciles, interactivos y accesibles al
usuario; por eso, cada vez más, integran o facilitan la integración de diferentes aplicaciones
gráficas, multimedia, servicios web, conexiones de alta velocidad, servicios de correo
electrónico, seguridad frente a agresiones externas (virus, espías, spam, etc.), etc.

Presente y futuro de los sistemas operativos

Algunos de los objetivos de los sistemas operativos en este momento están orientados a la
consecución del procesamiento paralelo y de los sistemas de Inteligencia Artificial.

●​ El procesamiento paralelo pretende que cuando existan dos o más procesos que
compitan por algún recurso, éstos se puedan realizar o ejecutar al mismo tiempo. En
gran medida este objetivo se puede considerar logrado.
●​ La Inteligencia Artificial se descubre como una ciencia que intenta la creación de
programas para máquinas que se aproximen al comportamiento y la comprensión
humana, es decir, que sean capaces de reconocer, aprender y pensar.

7
SISTEMAS OPERATIVOS MONOPUESTO​ ​ ​ ​ ​ ​ TEMA 2

Es evidente que este campo es extraordinariamente amplio y abierto y, por ello, se dirigen
hacia él muchos estudios, como pueden ser: el del manejo del lenguaje natural y del
reconocimiento de voz, el de la interacción persona-máquina, el de los traductores de
lenguajes, el del desarrollo de sistemas inteligentes, etc.

1.2.-Elementos de un Sistema Operativo.

La estructura de un sistema operativo varía en función de muchos parámetros, sin


embargo, prácticamente todos ellos se pueden estructurar en tres partes: el núcleo kernel,
las utilidades de bajo nivel del sistema y la interfaz de usuario.

El núcleo o Kernel

El kernel es el núcleo del sistema operativo y se considera la parte más esencial. Es el


software responsable de facilitar a los distintos programas acceso seguro al hardware de la
computadora.

Acceder directamente al hardware de un ordenador puede ser muy complejo, por lo que el
núcleo implementa una serie de abstracciones del hardware para facilitar el uso de éste a
los programadores y esconder, así, la complejidad real.

En realidad, no es imprescindible pasar por el núcleo para usar un ordenador; ya que los
programas podrían cargarse y ejecutarse directamente sin sistema operativo, siempre, eso
sí, que estuviesen desarrollados sin usar ninguna abstracción del hardware ni ninguna
ayuda del sistema operativo; de hecho, así era como se trabajaba en las primeras
computadoras. A partir de esa situación, poco a poco se empezaron a dejar en memoria
pequeños programas auxiliares que, a medida que se fueron desarrollando, se convirtieron
en los fundamentos de los primeros núcleos del sistema operativo.

Las utilidades de bajo nivel

Entendemos por utilidades de bajo nivel del sistema operativo el conjunto de programas
que, sin formar parte del núcleo, ayudan al usuario en su tarea. En realidad no son más que
programas que se ejecutan sobre el núcleo.

La interfaz de usuario

La interfaz de usuario puede consistir en una interfaz gráfica y/o en un intérprete de


comandos en línea, también denominado shell. La palabra shell en inglés significa cáscara.
Así pues, como su nombre indica, la cáscara es una envoltura externa al núcleo, que habla
directamente con el hardware.

A través de la interfaz, el sistema operativo recibe las órdenes del usuario y las envía al
núcleo para ser ejecutadas. Cuando un usuario escribe un comando, estas instrucciones
son traducidas e interpretadas por el shell y enviadas al kernel, que las procesa y acciona a
través del hardware.

8
SISTEMAS OPERATIVOS MONOPUESTO​ ​ ​ ​ ​ ​ TEMA 2

1.3.-Clasificación de los Sistemas Operativos: Por su estructura Interna.

Por su estructura interna:

●​ Monolítica
●​ Capas
●​ Máquina virtual

Esta clasificación se basa en cómo se diseñan los sistemas a la hora de ser creados.​
Hay que tener en cuenta que, la mayoría de los casos, estas concepciones de diseño no se
aplican aisladas, sino que puede haber interrelación entre ellas:

●​ Monolítica. Es la estructura utilizada en los primeros sistemas operativos en la que


todas las funciones se implementaban en el kernel. Puede decirse que su estructura
consiste en que no existe una estructura como tal.

El sistema operativo está constituido por un único programa compuesto de multitud de


rutinas interrelacionadas entre sí, de forma que cada una de ellas pueda llamar a cualquier
otra.

●​ Por capas. A medida que los sistemas operativos fueron creciendo, fue siendo
necesaria una mayor estructuración.

Este diseño se corresponde con una estructura jerárquica que se divide en distintos niveles,
teniendo en cuenta las funciones que puede realizar un sistema operativo:

●​ Control y ejecución de programas.


●​ Control, gestión y administración de periféricos.
●​ Control, gestión y administración de usuarios.
●​ Control de procesos.
●​ Control de errores de sistema y aplicaciones.
●​ Control y gestión de seguridad.

Cada uno de los niveles se comunica con el nivel inmediatamente inferior y superior de tal
forma que todos ellos están coordinados y consiguen el objetivo del sistema operativo.

●​ Máquina virtual. En la actualidad la mayoría de los sistemas operativos son


multiusuario y multitarea, es decir, pueden ejecutar varios procesos a la vez. Para
ello el núcleo de estos sistemas operativos gestiona las denominadas máquinas
virtuales.

Una máquina virtual es un archivo, que es copia exacta del hardware real que gestiona el
propio sistema operativo

Se trata de un tipo de sistemas operativos que presenta una interfaz a cada proceso,
mostrando una máquina que parece idéntica a la máquina real subyacente.

9
SISTEMAS OPERATIVOS MONOPUESTO​ ​ ​ ​ ​ ​ TEMA 2

Estos sistemas operativos separan dos conceptos que suelen estar muy unidos en el resto
de sistemas: la multiprogramación y la máquina extendida. El núcleo de estos sistemas
operativos se denomina monitor virtual y tiene como misión llevar a cabo la
multiprogramación, presentando a los niveles superiores tantas máquinas virtuales como se
soliciten.

La principal ventaja de esta estructura reside en que permite implementar varios tipos de
sistemas operativos sobre cada máquina virtual. No obstante, presentan el problema de
que los sistemas operativos implementados son disjuntos, lo cual complica la interacción,
comunicación y compartición que necesitan los sistemas operativos actuales.

1.4.-Clasificación de los Sistemas Operativos: Por los servicios ofrecidos (I).

Es decir según la visión del usuario final:

Según el número de usuarios

Según el número de usuarios que los sistemas operativos pueden soportar de manera
simultánea éstos se pueden clasificar en monousuario y multiusuario:

●​ Monousuario. Permite que los recursos hardware y el software que se esta


utilizando, estén a disposición de un único usuario en un único ordenador. Son los
sistemas operativos que atienden peticiones de un solo usuario, como, por ejemplo,
DOS, MSDOS, Windows 3.x Windows 9X, ME, NT 4.0, 2000 Profesional, XP
Profesional y Home Edition.
●​ Multiusuario. Permite que varios usuarios pueden utilizar los recursos software y
hardware de un mismo ordenador. Pueden compartir, sobre todo, los dispositivos
externos de almacenamiento y los periféricos de salida como, por ejemplo,
impresoras. También pueden compartir el acceso a una misma base de datos
instalada en el ordenador principal, etc. Los usuarios pueden utilizar el ordenador
principal de la siguiente forma: mediante terminales (teclado y monitor), o bien
mediante ordenadores clientes conectados al servidor. Estos sistemas como
Windows 2000 Server, Novell, Windows NT Server, Windows 2003 Server, UNIX o
Linux, VMS (Digital), MVS (grandes equipos IBM), OS/400 (IBM AS/400), pueden
atender a varios usuarios a la vez, así pues, tenemos distintas personas conectadas
al mismo tiempo a una máquina, ejecutando sus procesos o aplicaciones.

Es evidente que el diseño, eficacia y funciones de un sistema operativo monousuario son


inferiores a las de un multiusuario. Un sistema operativo monousuario controlará la
impresora, por ejemplo, pero para un único usuario, por lo que la gestión de la misma será
muy sencilla. En el caso de un sistema multiusuario, si varios usuarios pueden utilizar una
misma impresora, el sistema operativo, además de controlar el hardware de la propia
impresora, tendrá que controlar el orden y prioridad con que se imprimen los trabajos de
impresión que los diferentes usuarios han enviado a la misma. Para ello, necesitará
funciones de control de trabajos de impresión; funciones de control de prioridades de

10
SISTEMAS OPERATIVOS MONOPUESTO​ ​ ​ ​ ​ ​ TEMA 2

impresión; funciones de control de seguridad para indicar qué usuarios pueden imprimir y
cuándo.

1.5.-Clasificación de los Sistemas Operativos: Por los servicios ofrecidos (II).

Según el número de procesos o tareas​


Según el número de procesos o trabajos que pueden correr al mismo tiempo se puede
distinguir entre sistemas operativos monotarea y multitarea:

●​ Monotarea. Son aquéllos en que los recursos del sistema de computación son
asignados a un programa hasta completar su ejecución y, por lo tanto, sólo permiten
una tarea a la vez. Este tipo de sistema operativo sólo puede ejecutar un programa o
proceso por vez; por tanto, los recursos del sistema estarán dedicados al programa
hasta que finalice su ejecución. El sistema operativo DOS o Windows 9X es
monotarea, ya que además de no saber utilizar más de un procesador, el hardware
que utilizan para ejecutar un programa está a disposición sólo de ese programa. Si el
sistema también es multiusuario, admite a varios usuarios a la vez, pero el
procesador sólo puede atender una tarea al mismo tiempo. Este tipo de sistema
operativo, monotarea y multiusuario, no es habitual, aunque algunos sistemas
operativos antiguos sí eran de este tipo. En este caso, el sistema operativo debe
disponer de colas o listas de procesos a ejecutar atendiendo a las prioridades
indicadas por el administrador del sistema, que utilizará los algoritmos de
planificación indicando la prioridad asignada a cada programa o proceso.
●​ Multitarea. Este tipo de sistema operativo puede ejecutar varios programas o
procesos de forma concurrente o simultánea. Para ello, la CPU comparte el tiempo
de uso del procesador entre los diferentes programas que se desean ejecutar. Estos
sistemas permiten la realización de varias tareas al mismo tiempo, como puede ser
escribir un texto, escuchar música o descargar datos de Internet. En estos casos,
estos programas coinciden en el almacenamiento principal y el procesador va
cambiando rápidamente de un trabajo a otro. Así, los sistemas multitarea pueden
tener varios programas en memo¬ria principal, de manera que si uno de ellos tiene
que esperar a que se complete un proceso (por ejemplo, de transferencia de datos o
en espera de una de entrada o salida de datos), otro que no esté en esa situación se
pueda ejecutar. Algunos ejemplos de sistemas operativos multitarea son: Windows
NT 4.0, Windows 2000, Windows XP Profesional, Windows Server 2003, Unix,
Novell, etc. Casi todos los SO multiusuario son multitarea.

Según el número de procesadores

En función de la cantidad de procesadores utilizados en el sistema, se puede diferenciar


entre sistemas monoprocesador y multiprocesador:

11
SISTEMAS OPERATIVOS MONOPUESTO​ ​ ​ ​ ​ ​ TEMA 2

●​ Monoprocesador. Estos sistemas disponen de un solo procesador para atender los


usuarios. De hecho, es lo más habitual: cualquiera de los PC que tenemos en casa
lo es, en realidad.
●​ Multiprocesador. Son aquellos que disponen de varios procesadores que se utilizan
en un mismo sistema para incrementar el poder de procesamiento. Al usar una
computadora con capacidades de multiproceso incrementamos su velocidad de
respuesta y procesos

1.6.-Clasificación de los Sistemas Operativos: Por los modos de explotación (I): Por
lotes.

Por los modos de explotación:

●​ Por lotes
●​ Multiprogramación:
○​ Tiempo compartido
○​ Tiempo real
○​ Hibrido

Se corresponden con las distintas maneras en que puede funcionar un sistema operativo.
Podemos diferenciar entre:

●​ Sistemas operativos por lotes.


●​ Multiprogramación.
○​ Tiempo compartido
○​ Tiempo real
○​ Híbrido

Sistemas por lotes (tipo "batch")

Estos sistemas fueron comercializados alrededor de 1956 con el objeto de aumentar la


capacidad de procesamiento de programas. En ellos, los jobs, programas en inglés de los
usuarios, son agrupados físicamente en forma de lote y remitidos al sistema que los
procesa secuencialmente.

La comunicación de las personas con el computador se realiza a través de periféricos: la


interacción entre ambos es mínima. La velocidad de operación es muy baja, comparada
con la del procesador, por lo que debido al procesamiento secuencial, peed ocurrir que la
mayor parte del tiempo el procesador esté inactivo, a la espera de datos de entrada o
salida.

Este modo de explotación se caracteriza por la agrupación en bloques de los trabajos


similares. El rasgo más característico de este tipo de sistema operativo es la ausencia de
interacción entre el usuario y el proceso mientras se ejecuta.

12
SISTEMAS OPERATIVOS MONOPUESTO​ ​ ​ ​ ​ ​ TEMA 2

1.7.-Clasificación de los Sistemas Operativos: Por los modos de explotación (II):


Multiprogramación.

Multiprogramación.

La Multiprogramación es un modo de explotación en el cual el sistema operativo se encarga


de distribuir la carga computacional entre los procesadores existentes con el fin de
incrementar el poder de procesamiento de la máquina.

Dentro de los sistemas operativos multiprogramados cabe diferenciar entre Sistemas de


tiempo compartido y Sistemas de tiempo real.

Sistemas de tiempo compartido

Son los sistemas operativos que utilizan distintas técnicas de planificación de la CPU para
que se atiendan todos los procesos en espera de ser ejecutados. Este proceso ocurre tan
rápidamente que el usuario no lo percibe. Cada proceso utilizará ciclos de la CPU hasta
que finalice.

En los sistemas de tiempo compartido el usuario trabaja en un terminal de entrada/salida


(teclado más monitor) y puede interactuar con el sistema en cada fase de ejecución de su
tarea. A cada terminal, corresponde una tarea activa en el sistema. Cada comando del
usuario es interpretado y ejecutado enseguida y en caso de error se notifica
inmediatamente. El usuario obtiene respuesta a través del comando y puede modificar el
código dependiendo de los resultados obtenidos. Por otra parte, el programador prepara
normalmente sus programas en el propio terminal a través de un editor de texto, los
compila, los ejecuta y verifica los resultados. En caso de error los corregirá y repetirá el
procedimiento.

Sistemas de tiempo real

Un sistema en tiempo real es aquél en el cual los resultados son correctos no sólo si la
computación es correcta, sino que también ha de serlo el tiempo en el cual se producen los
resultados. La respuesta es inmediata (o casi inmediata) después de iniciar el proceso.
Estos sistemas son parecidos a los de tiempo compartido en cuanto a construcción, pero
sus requerimientos y objetivos son diferentes. Los sistemas de tiempo real están
destinados para aplicaciones de medición y/o control que exigen la monitorización
constante de un instrumento, una actividad o un proceso físico, con tiempos de respuesta
normalmente estrictos. De esta manera cuando un instrumento requiere atención, el
sistema debe responder dentro de un intervalo de tiempo prefijado, después del cual podrá
haber pérdida de información, mal funcionamiento, etc.

No tiene importancia el usuario, sino los procesos.

13
SISTEMAS OPERATIVOS MONOPUESTO​ ​ ​ ​ ​ ​ TEMA 2

Se utilizan en aplicaciones donde se deben procesar un gran número de sucesos, y en las


que la importancia la tienen los procesos en lugar de los usuarios. Así, muchos de estos
sistemas son construidos para aplicaciones de control de tráfico aéreo, reserva de billetes,
control de enfermos graves, etc.

Los sistemas operativos en tiempo real son sistemas muy complejos que suelen diseñarse
a medida para ciertas aplicaciones, después de mucho tiempo de estudio de todas las
opciones y problemas que pudieran surgir.

Híbrido

Estos sistemas intentan ser una mezcla de los dos anteriores, buscando combinar las
ventajas de los sistemas en tiempo compartido y en tiempo real. No se ha obtenido aún
sistemas realmente eficientes.

1.8.-Clasificación de los Sistemas Operativos: Por la forma de ofrecer los servicios.

Por la forma de ofrecer los servicios, los sistemas operativos pueden ser: Centralizados,
Sistemas de red y Sistemas distribuidos.

Sistemas centralizados

Hasta que los computadores personales no tuvieron un precio asequible y suficiente


potencia, la mayoría de los sistemas (UNIX) utilizaban un modelo de proceso centralizado.
Con este tipo de modelo los computadores mainframe se encargaban de todo el
procesamiento y los usuarios manejaban únicamente terminales “tontos” (es decir, no
disponían de memoria, ni de procesador).

Sistemas de red

Estos sistemas operativos son aquellos sistemas que mantienen dos o más computadoras
unidas a través de algún medio de comunicación (físico o no), con el objetivo primordial de
poder compartir los diferentes recursos y la información del sistema. En este entorno, cada
computador mantiene su propio sistema operativo y su propio sistema de archivos local.

Los usuarios son conscientes de la existencia de varias computadoras conectadas. Estos


sistemas son similares a los sistemas operativos de un solo procesador, pero con
características añadidas como, por ejemplo, que disponen de controlador de interfaz de la
red, de software para conexión, para acceso a archivos remotos, etc.

Sistemas distribuidos

Los sistemas operativos distribuidos son sistemas cuasi independientes que permiten
distribuir los trabajos, tareas o procesos entre un conjunto de procesadores. Puede ocurrir
que este conjunto de procesadores se encuentre en el mismo equipo o en equipos distintos
(siendo, en este último caso, transparente para el usuario).

14
SISTEMAS OPERATIVOS MONOPUESTO​ ​ ​ ​ ​ ​ TEMA 2

Son aquéllos que permiten distribuir trabajos, tareas o procesos entre un conjunto de
procesadores, aunque aparezca ante los usuarios como un sistema operativo de un solo
procesador. En este sistema los usuarios no son conscientes del lugar donde se ejecutan
sus programas o donde se encuentran sus archivos, ya que lo administra el sistema
operativo automáticamente.

Las principales ventajas de los sistemas distribuidos son:

●​ Compartición de recursos.
●​ Aceleración de los cálculos.
●​ Fiabilidad.
●​ Comunicación.
●​ Sistemas no heterogéneos.

2.-Funciones del Sistema Operativo. Recursos.


2.1.-Objetivos del Sistema Operativo.

Como ya hemos indicado en apartados anteriores, un sistema operativo se puede definir


como un programa o conjunto de programas que actúa como intermediario entre el usuario
y el hardware de un computador permitiendo una computación simple y segura entre
ambos. El sistema operativo debe también, asegurarse de que el hardware del equipo se
emplee de manera eficiente, gestionando y optimizando el procesador, la memoria y los
dispositivos de entrada y salida.

Los sistemas operativos modernos tienen los siguientes objetivos fundamentales:

●​ Robustez. El sistema operativo debe actuar contra cualquier manipulación extraña


que pudiera dañar la información, perjudicar a otros usuarios o provocar un
funcionamiento indeseado del sistema. Debido a esto, algunos sistemas ofrecen la
posibilidad de trabajar en dos estados diferentes, estado protegido o modo núcleo,
en el que se ejecuta el S.O. y estado no protegido o modo usuario, destinado a la
ejecución de programas de usuario y de aplicación.
●​ Abstracción. La tendencia actual del software es ocultar los detalles de más bajo
nivel, intentando ofrecer una visión sencilla, global y abstracta así como operaciones
para manipular dichas estructuras ocultas, de forma que se desconozca por
completo la gestión interna de las mismas. Gracias a la abstracción, los sistemas
operativos enmascaran los recursos físicos, permitiendo su manejo con funciones
más generales que ocultan las básicas.

Para conseguir dichos objetivos, presentan las siguientes características:

●​ Estandarización. Actualmente, existen numerosas plataformas entre las que se


puede elegir, no obstante los sistemas operativos actuales tienden a ser compatibles
para diferentes dispositivos y hardware en general, es decir tienden a ser

15
SISTEMAS OPERATIVOS MONOPUESTO​ ​ ​ ​ ​ ​ TEMA 2

multiplataforma, por lo que tienen una cantidad importante de características


comunes que pueden hacerlos funcionar en diferentes equipos, tablets,
smartphones, etc. No obstante se hace necesario referir que a pesar de la
estandarización existen sistemas optimizados para dispositivos móviles.
●​ Funcionalidad de servidor. Todos los sistemas operativos actuales tienen la
posibilidad de funcionar como servidores, aunque debemos tener en cuenta que
existen algunos que están optimizados para esta labor, mientras que otros lo están
para funcionar como clientes.
●​ Multiusuario y Multiproceso. Todos los sistemas operativos actuales presentan
características multiproceso, bien sea multiproceso real, en el caso de la existencia
de más de un procesador, o simulado mediante diversas técnicas cuando existe un
único procesador en el equipo. De la misma forma desde hace ya algunos años
todos los sistemas presentan posibilidad para dar servicio a más de un usuario.
●​ Bits de la arquitectura. Actualmente, es más común ejecutar sistemas de 64 bits en
procesadores con arquitecturas de este mismo tipo, algo que incluso ha llegado al
mundo móvil, el primer smartphone con esta arquitectura fue el iPhone SE, sin
embargo, también se nos ofrecen arquitecturas de 32 bits, por ejemplo algunas
versiones de GNU/Linux, además de Windows 7, 8, 8.1 y 10, que presentan ambas
arquitecturas.

2.2.-Funciones del Sistema Operativo.

Para lograr los objetivos descritos, el sistema operativo, como elemento controlador de los
distintos componentes del sistema, tiene encomendadas una serie de funciones.

Los sistemas operativos actuales son modulares de forma que cada módulo está
perfectamente definido por realizar una función específica.

Las funciones más importantes de un SO son las siguientes:

●​ Suministro de Interfaz de usuario.


●​ Gestión de recursos. El sistema debe ser capaz de administrar los recursos, el
procesador, la memoria y las unidades de entrada y salida.
○​ Gestión de procesos. Deberá gestionar los procesos, creando y eliminando
procesos, planificando una ejecución concurrente entre ellos y asegurando su
comunicación y sincronización.
○​ Gestión de memoria. Deberá gestionar la memoria, asignándola a los
procesos y llevando un control de las zonas libres y ocupadas, así como
haciendo uso de la memoria virtual
○​ Gestión de dispositivos de entrada y salida. Deberá gestionar las unidades de
entrada y salida, proporcionando una interfaz de alto nivel, sencilla e
independiente del dispositivo.
●​ Gestión del sistema de archivos. Proporcionando un modelo de trabajo sencillo
con los dispositivos de almacenamiento, creando y eliminando ficheros y

16
SISTEMAS OPERATIVOS MONOPUESTO​ ​ ​ ​ ​ ​ TEMA 2

organizando el sistema de ficheros mediante la gestión adecuada del espacio


disponible y ocupado en los soportes.
●​ Detección y tratamiento de los errores.
●​ Seguridad y protección del sistema.
●​ Control de redes.

Tenemos que tener en cuenta que todas estas funciones deben ser realizadas de acuerdo
con los principales objetivos de todo sistema operativo, robustez y abstracción.

2.3.-Gestión de procesos .

Según hemos adelantado, una de las funciones de un sistema operativo es la gestión de


procesos. Pero ¿Qué es un proceso?

Como usuarios, cuando trabajamos con el ordenador, podemos pensar que únicamente se
está ejecutando el programa que estamos utilizando. Sin embargo, esto no es así, ya que
ese programa comparte el uso del procesador con otros programas que pueden haber sido
lanzados por el sistema operativo o por otros usuarios que utilizan simultáneamente ese
procesador.

El ordenador consigue "engañarnos"– hacernos creer que somos los únicos que estamos
utilizándolo – y esto es posible, como hemos dicho, porque es capaz de ejecutar varios
miles de millones de instrucciones por segundo. Es un engaño en cierto modo similar al que
produce el cine en el espectador, que ve una escena "real" cuando lo real es que están
pasando 24 o 25 imágenes por segundo.

El término proceso es un concepto fundamental en lo concerniente a los sistemas


operativos, motivo por el cual podemos encontrar decenas de definiciones de dicho
término.

Instancia de un programa funcionando en un ordenador

Trabajo mínimo susceptible de ser planificado por el sistema operativo

17
SISTEMAS OPERATIVOS MONOPUESTO​ ​ ​ ​ ​ ​ TEMA 2

Entidad que puede ser asignada al procesador y ejecutada por él

En definitiva un proceso es un programa en ejecución, incluyendo el valor de registros y


variables que el proceso utiliza en dicha ejecución. Un programa es solo código y texto, una
secuencia de instrucciones, es, por lo tanto, pasivo y estático, mientras que un proceso
varía en el tiempo, es una secuencia de acciones, es en consecuencia activo y dinámico.

Lo que está claro es que una de las funciones del sistema operativo es optimizar el uso del
procesador o procesadores, de forma que se realizará la ejecución concurrente de varios
procesos con motivo de aprovechar al máximo la utilización de dichos elementos. De
acuerdo con esto el procesador o los procesadores se van conmutando entre los diferentes
procesos, de forma que en un momento dado varios procesos estarán en un estado
intermedio entre su estado inicial y su estado final, en definitiva el estado de un proceso
indica la situación en la que éste se encuentra.

El sistema operativo se encarga, por lo tanto, de compartir la CPU entre los distintos
procesos con el propósito de ser eficaz, dar buen tiempo de respuesta y un alto
rendimiento.

Así pues, si un mismo procesador da servicio a distintos programas, éstos deben


identificarse de algún modo cuando están en ejecución. Ésta será una de las principales
tareas de los sistemas operativos actuales: cuando un programa se tenga que ejecutar, se
le asignará un identificador y se gestionará esa ejecución. A partir de ahí, el sistema
operativo cederá con alternancia el uso del procesador a los programas que haya en
ejecución, a los cuales pasaremos a denominar procesos.

El administrador de tareas de Windows ofrece información sobre el rendimiento y los


procesos en ejecución del ordenador.

El sistema operativo es el encargado de controlar los procesos, por lo tanto debe disponer
de información precisa a cerca de ellos, es decir los atributos necesarios para su
administración y ejecución. Pues bien, el método universal para disponer de esta
información es mantener asociado a cada proceso lo que se conoce como Bloque de
Control de Proceso (BCP), que describe entre otras cosas su estado y los recursos que
posee, facilitando la labor al sistema operativo.

2.3.1.-Modo de ejecución de los procesos.

Desde el entorno de texto:

18
SISTEMAS OPERATIVOS MONOPUESTO​ ​ ​ ​ ​ ​ TEMA 2

Ejecución en primer plano (foreground)

El funcionamiento habitual de un intérprete de comandos es:

●​ Espera que el usuario introduzca un comando.


●​ Ejecuta ese comando y, cuando haya finalizado esa ejecución, vuelve al primer
punto.

De los comandos que se lanzan en estas condiciones se dice que están "corriendo”
(ejecutándose) en primer plano (foreground).

Ejecución en segundo plano (background)

A veces, se puede alterar el funcionamiento del intérprete de comandos para que trabaje de
este otro modo:

●​ Espera que el usuario introduzca un comando.


●​ Ejecuta ese comando y, sin esperar a que concluya esa ejecución, vuelve al primer
punto.

De un comando que se ejecuta de este modo se dice que está en segundo plano
(background).​
Siempre que este comando no imprima nada por pantalla, este modo de ejecución permite
al usuario introducir un nuevo comando sin necesidad de esperar a que finalice el que está
en segundo plano.

Desde el entorno gráfico:

Los conceptos de background y foreground se han ido extendiendo, alejándose de su


significado original. Dos ejemplos nos ilustran esta tendencia:

●​ Se dice que un proceso que lanza el sistema operativo sin intervención de ningún
usuario está en segundo plano. Son los servicios de Windows o demonios de Linux.
●​ En los entornos gráficos se considera que están en segundo plano, estrictamente,
los procesos que no tienen ventanas asociadas (pronto descubriremos que éstos
son muchos).

Relajando el concepto, se llega a decir que están también en segundo plano todos los
procesos asociados a ventanas que no son la ventana activa, cuyo proceso asociado sería
el único que estaría plenamente en primer plano

Los servicios (en Linux los demonios) son programas o aplicaciones cargadas por el propio
sistema operativo, ofrecen soporte para otras aplicaciones.
Estas aplicaciones tienen la particularidad que se encuentran corriendo en segundo plano
(Background).

19
SISTEMAS OPERATIVOS MONOPUESTO​ ​ ​ ​ ​ ​ TEMA 2

Por defecto, con la instalación, se instalan y ejecutan una cierta cantidad de servicios.
Dependiendo de nuestras necesidades, podemos necesitarlos a todos o no. Mientras más
aplicaciones tengamos ejecutándose consumimos más recursos, por lo tanto, vamos a
tratar de deshabilitar lo que no utilizamos.

Podemos causar efectos no deseados sobre nuestro sistema operativo al realizar alguna
modificación sobre los servicios.

2.3.2.-Estados de los procesos.

De acuerdo con lo que hemos visto hasta ahora, el procesador o los procesadores se van
conmutando entre los diferentes procesos, de forma que en un momento dado varios
procesos estarán en un estado intermedio entre su estado inicial y su estado final. Esto se
puede traducir en el hecho de que el estado de un proceso indica la situación en la que
éste se encuentra.

Los estados intermedios varían de un sistema operativo a otro, pero en general en


cualquier sistema encontramos los siguientes:

En líneas generales, podemos decir que un proceso puede estar en Ejecución o en No


Ejecución. Los procesos que no están en ejecución, a su vez, pueden estar Listos para
ejecutarse o Bloqueados en espera de que ocurra algún evento que les permita continuar.
Obtenemos así, tres posibles estados, a los que añadimos la creación y finalización del
proceso.

●​ Activo o en ejecución.
●​ Preparado o listo.
●​ Bloqueado o suspendido.
●​ Nonato.
●​ Muerto.

La tarea activa es la que está ejecutándose en un instante dado. En el caso de sistemas


con un único procesador, sólo puede haber una tarea en dicho estado en cada instante.​
En el estado de preparado, se encuentran todas las tareas que están listas para
ejecutarse, pero que esperan a que el procesador quede libre (hay otros procesos más
prioritarios en ejecución).​
Las tareas que están a la espera de que se cumplan alguna condición, ya que, por lo tanto,
no están preparadas para ejecutarse, se dice que están en el estado de bloqueado o
suspendido; algunos ejemplos de condición son: que se termine una operación de E/S o
que se reciba una señal de sincronización.​
Un proceso está muerto cuando ha terminado su ejecución o bien el sistema operativo ha
detectado un error fatal y lo ha transferido a dicho estado. También es posible que haya
entrado en él como resultado de un fallo del propio S.O.​

20
SISTEMAS OPERATIVOS MONOPUESTO​ ​ ​ ​ ​ ​ TEMA 2

El estado de nonato indica que el programa realmente existe, pero todavía no es conocido
por el sistema operativo.

Entre estos estados se pueden producir una serie de transiciones, que llevarán a los
procesos de un estado a otro. Algunas de ellas son las siguientes:

●​ Despachar. El sistema toma un proceso de la cola de listos para ser ejecutado.


●​ Time-Out. El proceso en ejecución cede el turno de ejecución a otro proceso, bien
porque ha alcanzado el tiempo máximo de ejecución ininterrumpida o bien porque ha
entrado un proceso de mayor prioridad a la cola.
●​ Bloqueo. El proceso queda en espera de que ocurra algún evento para poder
continuar, por ejemplo una operación de entrada/salida
●​ Despertar. Se produce el suceso que esperaba el proceso.
●​ Un proceso pasa del estado nonato al estado preparado cuando el sistema a través
del planificador lo decide.
●​ Un proceso pasa al estado muerto cuando finaliza o cuando queda eliminado por
otro proceso.

Se denomina estado global del sistema en un instante determinado, al conjunto de


recursos y procesos existentes con sus estados correspondientes. El sistema operativo
cambia el estado global del sistema, modificando el estado de los procesos y la asignación
de los recursos, en respuesta a eventos externos o internos. Algunos ejemplos de eventos
son las llamadas al sistema operativo (para solicitar un recurso o realizar alguna operación
sobre un proceso) o cualquier interrupción hardware.

2.3.3.-Algoritmos de planificación.

Además del control de procesos, el sistema operativo es el encargado de su planificación,


asignándolos al procesador para que sean ejecutados a lo largo del tiempo.

Los diferentes estados tienen una relación directa con las denominadas prioridades, que
son aquellas que el administrador del sistema, o el propio sistema asignan a cada proceso.
De ello va a depender que un proceso se ejecute en más o menos tiempo.

Se pueden establecer prioridades en función de la necesidad de ejecución de algunos


programas. Los programas que más se ejecutan, es decir los más necesarios, tendrán
prioridad de ejecución sobre aquellos que son menos necesarios y, por tanto, se ejecutan
muy de vez en cuando.

Mediante la planificación conseguimos indicar al ordenador los procesos que deben


ejecutarse y los estados que deben adoptar.

Los objetivos principales a cumplir por una planificación son:

●​ Ser justa. Que todos los procesos sean tratados de la misma manera.

21
SISTEMAS OPERATIVOS MONOPUESTO​ ​ ​ ​ ​ ​ TEMA 2

●​ Maximizar la capacidad de ejecución. Dar servicio al número máximo posible de


procesos.
●​ Maximizar el número de usuarios.
●​ Ser predecible. Debe ejecutarse en la misma cantidad de tiempo y costo con
independencia de la carga del sistema.
●​ Minimizar la sobrecarga. Se trata sobre todo de mejorar el rendimiento total del
sistema.
●​ Equilibrar el uso de recursos.
●​ Lograr un equilibrio entre respuesta y utilización. Garantizar buenos tiempos de
respuesta mediante la disposición de recursos suficientes cuando son necesarios.
●​ Asegurar prioridades.
●​ Dar mejor tratamiento a los procesos que muestren un comportamiento deseable.

Muchos de estos objetivos se encuentran en conflicto entre sí, convirtiendo la planificación


en un problema complejo.

Con los algoritmos de planificación conseguimos, en cada momento, decidir que proceso
ha de ejecutarse y porque.
Algunas características de estos algoritmos son:

●​ Tiempo útil (U) o real de ejecución. Es el tiempo de uso de la CPU.


●​ Eficiencia (EF), eficacia o utilización. Se expresa como un porcentaje del tiempo
medio de utilización, es decir, el porcentaje de tiempo en el que el procesador está
ocupado. EF=(U/T)*100%
●​ Rendimiento o Productividad (P). Es una medida del número de procesos
completados por unidad de tiempo. Indica la cantidad de trabajo que se está
llevando a cabo. Si N es el número de procesos completados en S segundos, P=
N/S
●​ Tiempo de retorno o regreso (R). Es el intervalo de tiempo que transcurre desde
que un proceso se crea o presenta hasta que se completa por el sistema o finaliza.
Es la suma del tiempo de ejecución real o útil y el tiempo consumido en la espera por
los recursos. R=E+U
●​ Tiempo de espera (E). Es el tiempo que el proceso espera hasta que se le concede
el procesador. Puede resultar una medida más adecuada de la eficiencia del
sistema, ya que se elimina de la medida el tiempo que tarda en ejecutarse él mismo.
●​ Tiempo de respuesta. Se denomina así al intervalo de tiempo que transcurre desde
que se señala un evento hasta que se ejecuta la primera instrucción de dicho evento,
es decir, es el tiempo que se está esperando en el estado de preparado o bloqueado
para empezar a ejecutarse.
●​ Tiempo de uso de CPU total del proceso (T). El criterio se de selección de un
algoritmo se suele basar en la maximización o minimización de una función de los
parámetros anteriores. Por ejemplo, maximizar la eficiencia y rendimiento y
minimizar el tiempo de espera. Existen distintos algoritmos empleados para realizar
la planificación, algunos de ellos son los siguientes:

22
SISTEMAS OPERATIVOS MONOPUESTO​ ​ ​ ​ ​ ​ TEMA 2

●​ Algoritmo FCFS (First Came First Serve): Primero en llegar primero en ser
servido. Da servicio según orden de llegada; es el algoritmo más sencillo y el de
menor rendimiento.
●​ Algoritmo SJF (Shortest Job First): primera tarea más corta. El trabajo más corto
se ejecuta primero. Este algoritmo asigna la CPU al trabajo que requiere menor
tiempo de proceso. Si dos trabajos tienen el mismo tiempo se seleccionan según el
algoritmo FCFS. La dificultad reside en saber cuál de los dos procesos en espera de
ser ejecutados tendrá menor tiempo de proceso, para ello se emplean algoritmos de
predicción que calculan el siguiente tiempo de ejecución de un proceso como una
media exponencial de los tiempos de las últimas ejecuciones de esa parte de código.
El problema que puede presentarse es que vayan entrando a la cola de espera de
ejecución los procesos más cortos y los procesos largos que estén esperando, no se
ejecuten nunca.
●​ Algoritmo RR (Round Robin): Algoritmo de rueda o prioridad circular. A todos los
procesos en el estado preparado se les asigna un tiempo de ejecución denominado
“cuanto” o “quantum”. El planificador va asignando el procesador a cada tarea de
forma secuencial por el quantum de tempo definido. Si un proceso necesita un
tiempo de ejecución mayor de su quantum asociado, una vez transcurrido este y si
existen más procesos en espera de ejecución, se colocan al final de la lista del
estado preparado y el procesador pasa al proceso que queda en cabeza de la lista.
●​ Algoritmo por prioridades. Se asocia una prioridad a cada proceso y la CPU se
asigna al trabajo con prioridad más alta en cada momento. Normalmente, si se está
ejecutando un proceso de prioridad media y entra un proceso de prioridad mayor, se
requisa la CPU al primer proceso y se le entrega al proceso de mayor prioridad.

2.3.4.-Monitorización de los procesos.

Monitorización de procesos en Linux

En Linux, los procesos son creados siempre por otros que se denominan padres de los
primeros: esto da lugar a una estructuración de procesos en forma de árbol. A la estructura
encargada de almacenar los atributos de los procesos, el PBC, se le denomina en Linux
task-struct. Hay muchos procesos que el S.O. mantiene activos, que pasan desapercibidos
para los usuarios; estas tareas se denominan demonios (como traducción libre del inglés
daemon) los demonios son, por lo tanto, procesos que, por lo general, se empiezan a
ejecutar al arrancar el sistema y no dejan de hacerlo mientras esté funciona.

Se trata de un comando que nos proporciona información sobre los procesos.​


Lo que podemos percibir en esta tabla de resultados es información, línea a línea, de cada
proceso. Se muestran, como puede verse, los siguientes datos:

●​ USER. Indica el uid (identificador del usuario real del proceso) del proceso, aunque
vemos que el sistema lo sustituye por el nombre asociado a ese identificador de
usuario.

23
SISTEMAS OPERATIVOS MONOPUESTO​ ​ ​ ​ ​ ​ TEMA 2

●​ PID. Muestra el pid del proceso. Es el número que identifica el proceso de entre
todos los procesos.
●​ %CPU. Porcentaje de CPU (procesador) usado por el proceso.
●​ %MEM. Porcentaje de memoria real utilizada por el proceso.
●​ VSZ. Tamaño de la memoria virtual utilizada por el proceso.
●​ RSS. Tamaño de la memoria real del proceso en Kb.
●​ TTY. Terminal asociado al proceso.
●​ STAT. Estado del proceso. Podernos Llegar a ver los valores siguientes: o R para
"preparado para ejecutarse" (runnable).

MONITORIZACIÓN DESDE GNOME


Gnome nos ofrece una utilidad para monitorizar procesos que podemos encontrar en: Inicio
-~ Herramientas del sistema -) Monitor del sistema.
MONITORIZACIÓN DESDE PROCESOS EN WINDOWS
En los sistemas Windows, podemos monitorizar los procesos: Ejecutando
Alt+Control+Supr. Escribiendo taskmgr en la ventana Inicio - Ejecutar.​
En ambos casos obtendremos una ventana con el Administrador de tareas de Windows. Si
pinchamos en la pestaña Procesos, podremos ver los procesasen Ver-> Seleccionar
columnas, podemos ver más información.

24
SISTEMAS OPERATIVOS MONOPUESTO​ ​ ​ ​ ​ ​ TEMA 2

25

También podría gustarte