2. El ordenador es un sistema programable
formado por un conjunto de elementos
hardware que necesitan instrucciones que
le indiquen cómo utilizar los recursos.
El conjunto de instrucciones o programas
es lo que conocemos como soporte lógico
o software. Un ordenador, sin software
que lo programe, es básicamente un
bloque de metal inútil, pero con el
software puede almacenar, procesar y
obtener información, editar textos,
controlar el entorno, etc.
3. Un sistema operativo es un
conjunto de programas que,
ordenadamente relacionados entre
sí, contribuyen a que el ordenador
lleve a efecto correctamente el
trabajo encomendado.
4. Un sistema operativo es un
programa que actúa como
interfaz entre el usuario de un
ordenador y el hardware del
mismo, ofreciendo el entorno
necesario para que el usuario
pueda ejecutar programas.
5. Desde el punto de vista del usuario, el
sistema operativo consiste en una serie
de programas y funciones que ocultan
los detalles del hardware , ofreciéndole
una vía sencilla y flexible de acceso al
mismo, teniendo dos objetivos
fundamentales:
6. Seguridad:
El sistema operativo debe actuar contra
cualquier manipulación extraña, ya sea
accidental o premeditada que pudiera
dañar la información, perjudicar a otros
usuarios o provocar un funcionamiento
indeseado del sistema
7. Por ejemplo, hay ciertas instrucciones que
pueden parar la máquina y otras que
realizan operaciones directamente sobre
el hardware, que debemos evitar que se
utilicen por los programas. Para ello,
algunos sistemas proporcionan dos
estados:
• Estado protegido (Sistema o Kernel ),
en el cual se ejecuta el sistema
operativo
• Estado no protegido (Usuario o User ),
que es el destinado a la ejecución de los
programas de usuario y de aplicación
8. De esta manera se impide que los
programas de los usuarios puedan tener
contacto directo con el hardware, o
puedan forzar un incorrecto
funcionamiento del sistema.
9. Abstracción:
La tendencia actual del software y de los
lenguajes de programación es ocultar lo
más posible los detalles de más bajo
nivel, intentando dar a los niveles
superiores una visión más sencilla, global
y abstracta, ofreciéndoles operaciones
para manipular dichas estructuras ocultas,
desconociendo por completo la gestión
interna de las mismas
10. 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, constituyendo verdaderos
recursos ficticios o virtuales, que mejoran
y son más potentes que los físicos.
11. Desde el punto de vista de un programa o
usuario, la máquina física se convierte,
gracias al sistema operativo, en una
máquina virtual , también conocida
como máquina extendida, que presenta la
ventaja respecto a la física de ofrecer más
funciones de las que normalmente
soportaría esta última.
12.
13. Desde el punto de vista del usuario, el
sistema operativo proporciona servicios
que no están presentes en la máquina
subyacente.
Estos servicios incluyen las facilidades de
• Carga y ejecución de programas,
• Interacción entre el usuario y los
programas, permitiendo que se ejecuten
varios al mismo tiempo,
• Gestión de la contabilidad para facturar
los servicios y
• Almacenamiento de datos y programas
14. Como resumen, podemos decir que el
sistema operativo persigue alcanzar la
mayor eficiencia posible del hardware
y facilitar el uso del mismo a los
usuarios y a las aplicaciones.
15. Principalmente dos objetivos:
• Facilitar el uso del sistema
informático (el conjunto del hardware
y software).
• Empleo del hardware de forma
eficiente, con menor complejidad.
16. Interfaz de comunicación con
el usuario
Hay que destacar las interfaces
como medio de comunicación entra
hardware y software a través del
sistema operativo. Las interfaces se
pueden clasificar en:
17. • Interfaz tipo texto : si el sistema
operativo tiene una interfaz de tipo
texto, todas las órdenes que el
usuario introduzca y las respuestas
que el sistema operativo dé, se
introducirán o se visualizarán
mediante cadenas de caracteres.
18. A la interfaz de líneas que actúa como
intermediario entre el usuario y la
computadora se la conoce
como intérprete de órdenes o shell .
- En MS-DOS la shell es el
programa COMMAND.COM o CMD.CO
M
- En Linux normalmente se utiliza bash ,
aunque existen unas cuantas ( ksh, csh,
tcsh, wish, rbash, ash, jsh, ...)
19.
20. • Interfaz tipo gráfico : hoy en día,
la mayoría de los sistemas
operativos utilizan medios de
comunicación entre usuario y
máquina de tipo gráfico.
21. Si accedemos al Sistema Operativo a
través de una interfaz gráfica, el
programa que debemos ejecutar es:
- En Windows Explorer
- En Linux normalmente Gnome o KDE ,
aunque existen unos cuantos
(Enlightenment, Window
Maker, BlackBox, fvwm, xfce, ...).
24. Para hacer una clasificación de los
sistemas operativos hay que tener en
cuenta una serie de parámetros:
• Número de usuarios
• Número de procesos
• Número de procesadores
• Tiempo de respuesta
• Por su estructura interna
• Por la forma de ofrecer los servicios
• Por los modos de explotación
25. Según el número de usuarios
• Monousuario (SOMO)
Los recursos hardware y software que se están
utilizando están a disposición de un solo
usuario sin importar el número de procesadores
que tenga la computadora o el número de
procesos o tareas que el usuario pueda ejecutar
en un mismo instante de tiempo.
26. • Multiusuario (SOMU)
Varios usuarios pueden utilizar los
recursos hardware y software de un
mismo ordenador, ya sea por medio de
varias terminales conectadas a la
computadora o por medio de sesiones
remotas en una red de comunicaciones.
No importa el número de procesadores en
la máquina ni el número de procesos que
cada usuario puede ejecutar
simultáneamente.
27. El diseño, la potencia y las funciones
de un SOMO son inferiores a los de
un SOMU.
28. • En los SOMO la ejecución de un
programa no conlleva muchas
complicaciones
Programa teclado o almac externo
ubica memoria (CPU)
empieza trabajar CPU .
Se sigue estrictamente el ciclo de
ejecución de una instrucción paso a
paso.
29. SOMU montado en MainFames
• En el SOMU va a trabajar de
diferente forma dependiendo del
hardware en el que este instalado.
30. Clasificación de el SOMU
dependiendo de su hardware:
• SOMU montado en
MainFames o en
microordenadores
• SOMU montado en
ordenadores personales
31. En los primeros sistemas informáticos
– Una UCP (ordenador principal)
realiza todos los procesos.
Un solo procesador, un solo conjunto
de RAM, uno o varios discos duros
dentro del mismo disco …
A este ordenador conectaban teclados
y monitores
32. • Si hay varios usuarios a la vez
utilizando el sistema.
Si cada usuario manda realizar un
proceso , el S.O. tendrá que ubicar en
memoria tantos programas como se
hayan lanzado e ir ejecutando
rotativamente las instrucciones de
cada uno de los programas para ir
dando repuesta a todos los usuarios.
33. El tiempo de respuesta a cada
usuario para la ejecución de las
instrucciones del programa será
superior al que obtendría si se
estuviera trabajando en un SOMO
o si hubiera un solo usuario
trabajando.
34. • Todo se procesa en el ordenador
principal
1.- Ejecutan instrucciones programa
lanzado por el 1er usuario.
2.- Se detiene para dar un poco tiempo al
programa lanzado por el 2usuario
Esto se repite secuencialmente para
dar servicio a los programas de todos
los usuarios, nunca forma simultanea.
35. • La UCP no puede ejecutar dos
instrucciones a la vez, pero si ejecutar
una y después otra.
El intervalo de tiempo es tan corto
que parece simultaneo
36. • Cuantos mas procesos sean
atendidos mas lentamente se
apreciara su ejecución.
37. SOMU montado en ordenadores
personales
• Cada usuario dispone de un ordenador
personal, con otro sistema operativo ,
normalmente monousuario .
Cada usuario enciende su ordenador y
establece comunicación con el ordenador
principal que dispone de un sistema
multiusuario
38. • Si hay varios usuarios a la vez
utilizando el sistema.
Si cada usuario manda realizar un
proceso. Tendremos tantas UCP ,
memorias, dispositivos de
almacenamiento,… como usuarios
mas una del principal como poco.
39. Cuando los usuarios indiquen al
ordenador principal (SOMU) que
van a ejecutar un programa ,el
ordenador puede actuar de varias
formas:
40. • Delegar todo el trabajo en el
ordenador del usuario que ha
cargado el programa.
Así el solo hace de Servidor de
aplicaciones, y ni su procesador ,ni
su memoria son utilizada para
ejecutar ese programa.
41. Si solicitan la ejecución de un
mismo programa, el ordenador
principal se dedicara lanzarles el
programa a su ordenador cliente y
todo el proceso lo hará el S.O. de
cada usuario, su procesador y su
memoria.
42. Los clientes solamente ejecutan el
programa, pero los datos los
almacena y controla el servidor
43. • Los sistemas operativos cargan con
casi todo el peso de las
aplicaciones.
Cuando un usuario pide la
ejecución de un programa ,el
ordenador principal será el
encargado de ejecutarlo en su
totalidad
44. El cliente tan solo necesita pequeño
software denominado software
cliente , para poder trabajar con la
aplicación o programa deseado.
45. • Si son varios usuarios los que
solicitan la ejecución de varios
programas diferentes, el servidor
ubicar a los programas en
posiciones de memoria diferentes,
procesando instrucciones de cada
programa en pequeños bloques.
46. En el caso de los clientes el
ordenador estará prácticamente
parado, ejecutando una pequeña
aplicación, actuando mas como
terminal que como ordenador con
independencia.
47. • El sistema operativo es el motor
principal , hace de intermediario y
controlador entre la parte física del
ordenado, el software que se
utiliza y el usuario para gestionar y
administrar sus recursos.
48. Recursos que gestiona el S.O. :
• El procesador
• La memoria interna
• Los periféricos de E/S
• La información
49. Según el número de procesos que
puede realizar simultáneamente
• Monoprogramación y monotarea :
en este caso, el sistema solamente
puede ejecutar un programa a la vez.
Los recursos del sistema estarán
dedicados programa hasta que finalice
su ejecución.
50. Esto no impide que un sistema
pueda ser multiusuario, es decir,
varios usuarios van a ejecutar sus
procesos pero de forma sucesiva.
Para ello, se establecerán las
correspondientes colas o
prioridades de ejecución de los
trabajos.
52. • Multiprogramación o multitarea :
Con estos sistemas se pueden
ejecutar varios programas o
procesos concurrentemente. Para
ellos la CPU compartirá el tiempo de
uso del procesador entre los
diferentes programas que se tienen
que ejecutar.
53. Así, todos los procesos tardarán
individualmente más tiempo en
ejecutarse, pero comparándolo con
la monoprogramación el tiempo
medio de espera será menor.
54. Ejemplos: Windows 4.0 Workstation,
windows NT Server, Windows 2000
profesional, Windows 2000 server,
Windows XP, Unix…
55. Según el número de procesadores del
sistema informático
• Monoproceso : en este caso, el ordenador
consta de un único procesador y todos los
procesos deberán pasar por él. A su vez el
sistema operativo podrá ser monousuario,
multiusuario, monotarea o multitarea, etc.
57. • Multiproceso : el ordenador cuenta
con varios procesadores para la
ejecución de los procesos. En este
caso, los procesadores pueden
actuar de dos formas diferentes:
58. – La forma de utilizar los procesadores
es de forma sucesiva, es decir, se irá
utilizando la potencia del primero
hasta que se llene, si se necesita
más se irá utilizando el resto de los
procesadores de forma sucesiva.
59. – Se utilizarán la totalidad de los
procesadores disponibles para
realizar todas las tareas, es decir,
cada programa utilizará parte de
cada procesador para ser
ejecutado, si llega otro nuevo
programa, utilizará también todos
los procesadores, y así
sucesivamente.
60. Esta técnica es utilizada en sistemas
operativos tipo Windows NT y en
muchas versiones de UNIX y es
conocida como multiproceso
simétrico (SMP).
61. Cuando se trabaja de manera
asimétrica , el sistema operativo
selecciona a uno de los procesadores el
cual jugará el papel de procesador
maestro y servirá como pivote para
distribuir la carga a los demás
procesadores, que reciben el nombre de
esclavos.
62. Un sistema operativo multiprocesador,
puede ser multiusuario y también
monousuario aunque no es lo normal.
Que un sistema operativo sea
multiprocesador, es la única forma de
conseguir la multitarea real, es decir, que
se ejecute en el mismo intervalo de
tiempo más de una tarea.
63.
64. Según el tiempo de respuesta
• El tiempo de respuesta es el
tiempo que tarda el sistema en
obtener resultados una vez
lanzada la ejecución.
65. • Tiempo real : la respuesta es
inmediata tras lanzar un proceso.
• Tiempo compartido : cada proceso
utilizará fracciones de tiempo de
ejecución de la CPU hasta que
finalice.
66. Según la estructura interna
• 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.
67. El sistema operativo está
compuesto por un único programa
compuesto por multitud de rutinas
interrelacionadas entre sí, de
forma que cada una de ellas pueda
llamar a cualquier otra.
68. • 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.
69.
70. • Máquina virtual : se trata de un
tipo de sistemas operativos que
presentan un interfaz a cada
proceso, mostrando una máquina
que parece idéntica a la máquina
real subyacente..
71. 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 son
disjuntos, lo cual complica
enormemente la interacción,
comunicación y compartición que
necesitan los sistemas operativos
actuales
72. • El modelo cliente-servidor : donde se
distinguen dos tipos de procesos:
los procesos cliente que solicitan
servicios y los procesos servidor que
realizan el trabajo solicitado por un
proceso cliente y le devuelven el
resultado.
Una ventaja de este modelo es su fácil
adaptación a los sistemas distribuidos, un
cliente se comunica con el servidor sin
importar si éste está en la misma máquina
o no.
73. Según la forma de ofrecer los servicios
• 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.
74. Con este tipo de modelo, los
computadores mainframe se encargaban
de todo el procesamiento y los usuarios
manejaban únicamente terminales
“tontos”, es decir, que no disponían de
memoria ni procesador. Actualmente se
siguen utilizando los sistemas
centralizados, pero los terminales dejan de
ser tontos y pueden realizar otras muchas
tareas por sí mismos.
75. • Sistemas de red : Estos
sistemas operativos son aquellos
que mantienen a dos o más
computadores unidos a través de
algún medio de comunicación, con
el objetivo primordial de compartir
los diferentes recursos y la
información del sistema.
76. En este entorno, cada ordenador
mantiene su propio sistema operativo su
propio sistema de archivos local.
77. • Sistemas distribuidos : son
sistemas casi independientes que
permiten distribuir trabajos, tareas o
procesos entre un conjunto de
procesadores.
El usuario no necesita saber la ubicación
de los recursos, sino que los conoce por
su nombre y simplemente los usa como si
todos ellos fuesen locales a su lugar de
trabajo habitual.
78. Por los modos de explotación
• Procesamiento en lotes
Se caracteriza por La agrupación en
bloques de los trabajos similares.
El rasgo característico es la ausencia de
interacción entre el usuario y el proceso
SO: SCOPE, DC6600 (orientados
procesos científicos) o UNIVAC1107
(procesamiento académico)
79. • Multiprogramación
El sistema operativo se encarga de
distribuir la carga computacional entre los
procesos existentes, con el fin de
incrementar el poder de procesamiento
de la maquina.
Dentro de este caben destacar:
80. • Tiempo compartido
Utilizan las distintas técnicas de
planificación de CPU para que se
atiendan todos los procesos en
espera. Este proceso ocurre tan
rápidamente que el usuario no lo
percibe.
Ej :UNIX, Windows 9X, W XP, W
NT, W 2000 MAC-OS y OS/2.
81. • Tiempo real
Aquel en el cual los resultados son
correctos no solo si la computación
es correcta, sino que también ha de
serlo el tiempo en el cual se
producen los resultados.
Ej navío militar detectar misil
acercándose y tiene que lanzar otro
para destruirlo
82. Son sistemas muy complejos que
suelen diseñarse a medida para
algunas aplicaciones , después de
mucho tiempo de estudio de todas las
opciones y problemas.
Ej : Solaris, Spectra y VxWorks
83. • Hibrido
Intentan ser una mezcla de los dos
anteriores, buscando combinar las
ventajas de ambos.
No se han obtenido aun sistemas
realmente eficientes
85. Inicialmente, lo único que existía
era el hardware del ordenador.
Los primeros ordenadores eran
máquinas muy grandes que
ejecutaban desde consola .
El programador escribía un
programa y lo ejecutaba
directamente desde la consola
del operador
86. Primero el programa tenía que ser
cargado directamente en memoria,
bien fuera desde consola, desde
cinta de papel o mediante tarjetas
perforadas. Seguidamente se
pulsaban los botones adecuados
para cargar la dirección de inicio y
para empezar la ejecución del
programa.
87. • A medida que se ejecutaba el
programa, el programador /
operador seguía su ejecución por
medio de los pilotos de la
consola.
88. • Si se descubría algún error, el
programador podía detener el
programa, examinar el contenido
de la memoria y de los registros,
y depurar el programa
directamente desde consola.
89. La salida se imprimía o bien se
perforaba sobre cinta de papel o
sobre tarjetas para ser impresa más
tarde.
No existían los sistemas operativos,
y ni siquiera los compiladores.
90. • Los primeros sistemas operativos
se denominaron monolíticos .
Su característica fundamental es
que era un software básico
prácticamente imposible de
modificar.
91. Cuando los diseñadores del sistema
operativo querían introducir
modificaciones en él, la labor era muy
complicada puesto que debía
reconfigurarlo por completo.. Así, una
vez diseñado, era más cómodo sacar
una versión completamente nueva
que retocar la anterior
92. En la actualidad la mayoría de los
sistemas operativos son abiertos, y
es posible modificarlos o
ampliarlos sin mucho trabajo.
93. De esta forma, se puede cambiar o
mejorar, por ejemplo, los servicios
de impresión, sin tener que retocar
nada o minimamente el núcleo del
sistema operativo.
Basta con modificar la parte
afectada e incluir los cambios
dentro del bloque general.
94. Estos sistemas operativos modernos
se articulan en una estructura formada
por niveles.
Cada nivel o parte del sistema
operativo se encarga de una función.
De esta manera, las modificaciones o
ampliaciones afectarán solo a un nivel
concreto.
95. En un sistema operativo hay
niveles que se encargan de
controlar la interrupciones del
sistema, los periféricos de
entrada/salida, la ubicación de
programas y datos en memoria,
etc...
96. • Los sistemas operativos y la
arquitectura del ordenador se han
influido mutuamente.
Para facilitar el empleo del
hardware se desarrollaron los
sistemas operativos.
97. A medida que se diseñaban y se
utilizaban, se hizo obvio que ciertos
cambios en el diseño del podrían
simplificar los sistemas operativos
98. Evolucion sistemas operativos
• Generacion Cero (década de
1940)
Los primeros sistemas computacionales
no poseían sistemas operativos .
Los usuarios tenían completo acceso al
lenguaje de la maquina.
Todas las instrucciones eran
codificadas a mano.
99. Primera Generacion (década de 1950)
Los SO de los años cincuenta fueron
diseñados para hacer mas fluida la
transición entre trabajos. Antes de que los
sistemas fueran diseñados, se perdía un
tiempo considerable entre la terminación de
un trabajo y el inicio del siguiente.
Este fue el comienzo de los sistemas de
procesamiento por lotes , donde los
trabajos se reunían por grupos o lotes.
100. Cuando el trabajo estaba en ejecución,
este tenia control total de la maquina.
Al terminar cada trabajo, el control era
devuelto al sistema operativo, el cual
limpiaba y leía e iniciaba el trabajo
siguiente.
101. Al inicio de los 50's esto había mejorado
un poco con la introduccion de tarjetas
perforadas (las cuales servían para
introducir los programas de lenguajes de
máquina), puesto que ya no había
necesidad de utilizar los tableros
enchufables.
102. Además el laboratorio de investigacion
General Motors implementó el primer
sistema operativo para la IBM 701.
Los sistemas de los 50's generalmente
ejecutaban una sola tarea, y la transición
entre tareas se suavizaba para lograr la
máxima utilización del sistema. Esto se
conoce como sistemas de
procesamiento por lotes de un sólo
flujo , ya que los programas y los datos
eran sometidos en grupos o lotes.
103. La introducción del transistor a
mediados de los 50's cambió la
imagen radicalmente.
Se crearon maquinas suficientemente
confiables las cuales se instalaban en
lugares especialmente
acondicionados, aunque sólo las
grandes universidades y las grandes
corporaciones o bien las oficinas del
gobierno se podían dar el lujo de
tenerlas.
104. Para poder correr un trabajo (programa),
tenían que escribirlo en papel (en Fortran
o en lenguaje ensamblador) y después se
perforaría en tarjetas.
Enseguida se llevaría la pila de tarjetas al
cuarto de introducción al sistema y la
entregaría a uno de los operadores.
Cuando la computadora terminara el
trabajo, un operador se dirigiría a la
impresora y desprendería la salida y la
llevaría al cuarto de salida, para que la
recogiera el programador.
105. Segunda Generacion (a mitad de la
década de 1960)
La caracteristica de los SO fue el desarrollo
de los sistemas compartidos con
multiprogramación, y los principios
del multiprocesamiento.
En los sistemas de multiprogramación,
varios programas de usuario se encuentran
al mismo tiempo en el almacenamiento
principal, y el procesador se cambia
rápidamente de un trabajo a otro.
106. En los sistemas de
multiprocesamiento se utilizan varios
procesadores en un solo sistema
computacional, con la finalidad de
incrementar el poder de
procesamiento de la maquina.
107. La independencia de dispositivos
aparece después. Un usuario que
desea escribir datos en una cinta en
sistemas de la primera generación
tenia que hacer referencia especifica
a una unidad de cinta particular.
108. En la segunda generación, el
programa del usuario especificaba
tan solo que un archivo iba a ser
escrito en una unidad de cinta con
cierto numero de pistas y cierta
densidad
109. Se desarrollo sistemas
compartidos , en la que los usuarios
podían acoplarse directamente con el
ordenador a través de terminales.
Surgieron sistemas de tiempo
real , en que los computadores fueron
utilizados en el control de procesos
industriales. Los sistemas de tiempo
real se caracterizan por proveer una
respuesta inmediata.
110. Tercera Generacion (mitad de década
1960 a mitad década de 1970)
Se inicia en 1964, con la introducción
de la familia de computadores
Sistema/360 de IBM.
Los computadores de esta generación
fueron diseñados como sistemas
para usos generales .
111. Casi siempre eran sistemas grandes,
voluminosos, con el propósito de
serlo todo para toda la gente.
Eran sistemas de modos múltiples,
algunos de ellos soportaban
simultáneamente procesos por lotes,
tiempo compartido, procesamiento de
tiempo real y multiprocesamiento.
112. Eran grandes y costosos, nunca
antes se había construido algo
similar, y muchos de los esfuerzos
de desarrollo terminaron muy por
arriba del presupuesto y mucho
después de lo que el planificador
marcaba como fecha de terminación.
113. Estos sistemas introdujeron mayor
complejidad a los ambientes
computacionales; una complejidad a
la cual, en un principio, no estaban
acostumbrados los usuarios.
114. Cuarta Generacion (mitad de década de
1970 en adelante)
Los sistemas de la cuarta generación
constituyen el estado actual de la
tecnologia. Muchos diseñadores y
usuarios se sienten aun incómodos,
después de sus experiencias con los
sistemas operativos de la tercera
generación.
115. Con la ampliación del uso de redes
de ordenadores y del
procesamiento en línea los usuarios
obtienen acceso a ordenadores
alejados geográficamente a través
de varios tipos de terminales.
116. Los sistemas de seguridad se ha
incrementado mucho ahora que la
informacion pasa a través de varios tipos
vulnerables de líneas de comunicacion.
La clave de cifrado esta recibiendo mucha
atencion; han sido necesario codificar los
datos personales o de gran intimidad para
que; aun si los datos son expuestos, no
sean de utilidad a nadie mas que a los
receptores adecuados.
117. Funciones de un sistema operativo
Un sistema operativo coordina la
utilización que se hace del hardware
dependiendo de los programas o
aplicaciones que se estén utilizando.
118. El software y el hardware se
estructuran en cuanto a la
utilización de forma jerárquica.
Jerarquía S.O. 2 niveles Jerarquía S.O. 3 niveles
119. Esta estructura permite que el
usuario interactué con el hardware.
Cualquiera de las dos son validas,
aunque la segunda mas compleja.
120. La comunicación entre los diferentes
niveles se realiza mediante las
Interfaces que son programas o
servicios que se ejecutan por el
ordenador y que relacionan los
niveles, para que el usuario pueda
acceder al hardware para ejecutar
sus programas.
121. Para realizar este tipo de
funciones se utilizan los servicios
.- tipo aplicación que normalmente
se ejecuta en segundo plano
122. Los servicios .-su función es
proporcionan a los usuarios
aplicaciones que incorporan
diversas formas de poder utilizar
los recursos del S.O.
123. Algunos servicios lanzadas por los
sistemas operativos son
aplicaciones del tipo cliente-
servidor, servidores Web,
servidores de base de datos, y otras
aplicaciones basadas en servidores,
tanto de forma local como a través
de una red.
124. Estos servicios pueden utilizarse para:
• Crear programas (editores,
compiladores,…)
• Ejecutar esos programas ,
proporcionando al sistema los
recursos hardware y software
necesarios.
125. • Acceder de forma controlada a los
dispositivos de entrada/salida.
• Acceder de forma controlada y
segura a los archivos.
• Acceso controlado y seguro a la
información
126. • Controlar y solucionar errores,
provocados por el hardware o software.
• Suministrar información estática, de
seguridad y registro de los que se hace
en el sistema
• Etc
127. En general, los servicios se utilizan
para iniciar, detener, hacer una
pausa, reanudar, o deshabilitar
programas y aplicaciones en equipos
locales y remotos
128. La mayoría servicios instalan en un
sistema informático al instalar el
propio S.O., pero también algunas
aplicaciones instalan sus propios
servicios.
129. Arquitectura y componentes.
Los sistemas operativos se organizan en
capas entorno a un núcleo principal.
Cada una de las capas o niveles realiza
una función determinada y, dependiendo
de esa función, tienen más o menos
prioridad. No obstante, la capa principal y
de mayor prioridad es el núcleo del
sistema operativo.
130. En general, un sistema operativo se puede
estructurar o dividir en cuatro capas o
niveles:
131. • Nivel núcleo : es el que se encarga
de controlar todo lo que ocurre en el
ordenador. Gestiona los procesos
que llegan para ser ejecutados.
Este nivel se encarga de realizar
tareas básicas del sistema,
comunicación con el hardware,
planificación de procesos, etc.
132. • Nivel ejecutivo : sobre este nivel se
realiza la administración gestión de la
memoria. Se encarga de almacenar
los procesos en páginas, tanto en
memoria principal como en disco.
Ya veremos que esta gestión es la
llamada gestión de memoria virtual
133. • Nivel supervisor : se encarga de
realizar la comunicación de cada
proceso entre el sistema y el
usuario. Controla y coordina la
gestión de entrada/salida de los
diferentes procesos hacia los
periféricos.
134. • Nivel usuario : es el que controla
los procesos que está utilizando el
usuario, sin preocuparse de la
gestión de memoria, de la gestión de
entrada/salida, etc. Simplemente
muestra al usuario el proceso que
éste quiere ejecutar
135. En la actualidad, la mayoría de los
sistemas operativos son sistemas
multiusuario y multitarea (que
pueden ejecutar varios procesos a
la vez). Para ello, el núcleo de
estos sistemas operativos no se
gestiona por capas, sino que su
base son las denominadas
máquinas virtuales.
136. Cada una de las máquinas virtuales
es un archivo que contiene la
información, una copia exacta, del
hardware básico que gestiona el
sistema operativo, incluyendo el nivel
núcleo, ejecutivo, supervisor y
usuario como si fueran
independientes.
137. Supongamos que hay varios usuario
ejecutando varias tareas en un
ordenador que es gestionado
mediante máquinas virtuales.
Cuando los usuarios, por ejemplo,
quieren grabar datos en el disco
duro, la operación no se realiza
físicamente en ese momento sobre
el disco duro, sino que se realiza
sobre la máquina virtual, que es un
archivo.
138. Al usuario esto le importa poco, ya
que para él la copia se ha realizado
de forma correcta.
En realidad, lo que se hace es una
simulación del hardware real.
139. Este tipo de gestión, que hacen la
mayoría de los sistemas multiusuario y
multitarea, confieren gran estabilidad al
sistema, ya que ante eventuales
bloqueos de una aplicación de un
usuario concreto, el hardware no se
bloquea como ocurre en sistemas
operativos como MS-DOS y el resto de
las aplicaciones de los demás usuarios
pueden seguir funcionando de forma
normal.
140.
141. La gestión de los procesos y
cuando realmente se produce la
acción real con el hardware
dependerá del número de procesos
que se estén ejecutando, de los
recursos que estén utilizando y de
la gestión que haga de los procesos
el propio sistema operativo.
142. Modos de explotación del
sistema
Las formas de explotación de un sistema
informático responden a la forma en la
que el usuario utiliza los recursos
hardware y software que componen el
sistema informático.
143. De esta forma, el usuario podrá
obtener determinadas respuestas
a sus peticiones ante el
ordenador. La manera de obtener
estas respuestas es lo que
denominaremos explotación de un
sistema operativo.
144. Cuando tenemos nuestro sistema
informático constituido por el
hardware adecuado, solamente falta
saber cómo vamos a utilizar sobre él
el software.
145. La forma de explotar un sistema
informático está directamente
relacionada con la evolución
histórica que han sufrido los
sistemas operativos. Esta evolución,
como ya hemos visto, responde al
avance de la tecnología tanto en
hardware como en software.
146. La dos formas fundamentales de
explotación de un sistema
informático son las siguientes:
147. • Proceso en lotes : Procesos que no
necesitan la interacción con el usuario, se
cargan, se procesan y devuelven un
resultado sin apenas intervención por
parte del usuario. Lo que supone que la
mayor parte del tiempo del proceso está
dedicado al procesamiento de los datos y
muy poco a gestionar los lentos procesos
de entrada y salida de la información
148. • Procesos en tiempo real : existe una
interacción continua entre el usuario que
se encarga de introducir la información y
el proceso. Además el resultado del
procesamiento de los datos se obtiene
de forma inmediata, no como en el caso
de los procesos en lotes que a veces
precisamos de horas para obtener los
resultados de salida.
149. En la actualidad la mayoría de los
ordenadores funcionan en tiempo real
debido a que el hardware que los
compone es mucho más potente y las
características de los procesos que se
utilizan así lo necesitan. Lo que no quiere
decir que el tipo de explotación en lotes
esté en desuso, se utilizan para el
procesamiento de aquellos procesos que
se ajusten mejor a las características del
mismo.
150. Por ejemplo: procesos de
actualización de bases de datos, la
cola de trabajos de impresión de
una impresora, los ficheros de
procesamiento por lotes de MS-
DOS, etc.
151. Procesos y procesador
En la actualidad, la mayoría de los
sistemas operativos son multitarea.
Los únicos sistemas de multitarea
real van a ser aquellos que cuentan
con más de un procesador.
152. El resto son sistemas operativos
que permiten cargar en memoria
más de un proceso, dando la idea
al usuario de que se están
procesando varios procesos a la
vez, pero solo uno de ellos se
estará ejecutando en cada
momento.
153. Además, puede ser que mientras se
está ejecutando un programa se
estén enviando datos a impresora o
se estén admitiendo datos por
teclado.
Este paralelismo de tareas necesita
de una planificación especial para
optimizar el uso de los recursos del
sistema.
154. Un proceso es, en sí, el programa que
se está ejecutando en ese momento
en el ordenador.
Pero si tenemos en cuenta la
multitarea y el multiproceso, hemos de
considerar que varios de estos
programas podrán estar ejecutándose
a la vez y, para ello, el sistema
operativo tendrá que llevar a cabo una
adecuada gestión de los recursos
físicos del propio sistema informático
155. Una CPU no puede realizar dos o más
procesos a la vez.
La rapidez con que la CPU dedica de forma
alterna su tiempo a los diferentes procesos,
puede inducir a pensar que los procesos se
ejecutan simultáneamente, pero no es así:
la CPU divide su tiempo en fracciones de
segundo que son asignadas a cada
proceso para ser ejecutadas, pero por
supuesto no de forma simultánea.
156. Cada proceso atraviesa varias fases
durante su “ejecución”, en un
momento dado el proceso estará
ejecutándose, posteriormente estará
en espera, estando la CPU
ejecutando otro proceso; mientras
otros procesos estarán en espera
para ser lanzados o bloqueados...
157. Pues bien, en estos cambios de
proceso en ejecución el sistema
operativo debe controlar no solo cuál de
los procesos debe ejecutarse en la
siguiente fracción de tiempo de CPU,
sino que además debe saber que
ficheros están utilizando, qué
periféricos, etc, en general en qué
momento de la ejecución se encuentra
cada uno de los procesos.
158. Además, los cambios de proceso
pueden implicar incompatibilidades
de hardware y software. No es lo
mismos ejecutar un procesador de
textos y devolver los resultados por
impresora, que un programa de
diseño y sacar los resultados por un
plotter.
159. Si la misma CPU tiene que realizar
estas tareas, los resultados obtenidos
dependerán de la planificación, la
potencia o fiabilidad de un sistema
operativo
Es importante hablar de planificación
como tarea fundamental de la CPU en
la gestión de procesos.
160. La mayoría de los ordenadores
actuales tienen un único procesador.
Esto implica que, cuando se están
realizando varias tareas a la vez, es
necesario compartir el tiempo de
trabajo de la CPU.
161. El tiempo compartido consiste en
dividir el tiempo de ejecución del
ordenador en minúsculos intervalos
(milisegundos) e ir asignando cada
uno de esos intervalos de ejecución
a cada uno de los procesos que está
en ejecución.
162. Para ello, necesita almacenar, en
la denominada tabla de procesos,
las especificaciones de cada uno
de los procesos que se están
ejecutando para partir del mismo
punto en el que se dejó la última
vez que el proceso tuvo asignado
un intervalo de CPU.