2. TRABAJO DE SISTEMAS
Un sistema diferencia, es
operativo (SO) el núcleo Linux,
es el programa o que es el núcleo
conjunto de del sistema
programas que operativo GNU, del
efectúan la cual existen las
gestión de los llamadas distribuciones GNU. Este error
procesos básicos de precisión, se debe a la modernización
de un sistema de la informática llevada a cabo a finales
informático, y de los 80, cuando la filosofía de
permite la estructura básica de funcionamiento de
normal ejecución los grandes computadores2 se rediseñó a
del resto de las fin de llevarla a los hogares y facilitar su
operaciones. uso, cambiando el concepto de
1
computador multiusuario, (muchos
Nótese que es un usuarios al mismo tiempo) por un sistema
error común muy mono usuario (únicamente un usuario al
extendido mismo tiempo) más sencillo de
denominar al gestionar.3 (Véase AmigaOS, beOS o MacO
conjunto S como los pioneros4 de dicha
completo de modernización, cuando los Amiga, fueron
herramientas bautizados con el sobrenombre de Video
sistema Toasters5 por su capacidad para
operativo, es la Edición de vídeo en
decir, la inclusión entorno multitarea round robin,
en el mismo con gestión de miles de
término de colores einterfaces intuitivos para diseño
programas como en 3D.
el explorador de
ficheros, el Uno de los propósitos del sistema
navegador y todo operativo que gestiona el
tipo de núcleo intermediario consiste en
herramientas gestionar los recursos de localización y
que permiten la protección de acceso del hardware, hecho
interacción con que alivia a los programadores de
el sistema aplicaciones de tener que tratar con
operativo, estos detalles. Se encuentran en la
también llamado mayoría de los aparatos electrónicos que
núcleo o kernel. utilizan microprocesadores para
Uno de los más funcionar. (teléfonos móviles,
prominentes reproductores de DVD, computadoras,
ejemplos de esta radios, etc.).
BELLANID CASTRO OVALLE Página 2
3. TRABAJO DE SISTEMAS
PERSPECTIVA HISTORICA
Los primeros sistemas (1945-1960) eran grandes
máquinas operadas desde la consola maestra por los
programadores. Durante la década siguiente
(1950-1960) se llevaron a cabo avances en
el hardware: lectoras de tarjetas, impresoras, cintas
magnéticas, etc. Esto a su vez provocó un avance en el
software: compiladores, ensambladores, cargadores,
manejadores de dispositivos, etc.
A finales de los años 80, una computadora Commodore
Amiga equipada con una aceleradora Video Toaster era
capaz de producir efectos comparados a sistemas
dedicados que costaban el triple. Un Video Toaster
junto a Lightwave ayudó a producir muchos programas
de televisión y películas, entre las que se
incluyen Babylon 5, Seaquest DSV y Terminator II
PROBLEMAS DE EXPLOTACIÓN Y
SOLUCIONES INICIALES
El problema principal de los primeros sistemas era la
baja utilización de los mismos, la primera solución fue
poner un operador profesional que lo manejase, con lo
que se eliminaron las hojas de reserva, se ahorró
tiempo y se aumentó la velocidad.
Para ello, los trabajos se agrupaban de forma manual
en lotes mediante lo que se conoce
como procesamiento por lotes (batch) sin automatizar.
MONITORES RESIDENTES
BELLANID CASTRO OVALLE Página 3
4. TRABAJO DE SISTEMAS
Según fue avanzando la complejidad de los programas,
fue necesario implementar soluciones que
automatizaran la organización de tareas sin necesidad
de un operador. Debido a ello se crearon los monitores
residentes: programas que residían en memoria y que
gestionaban la ejecución de una cola de trabajos.
Un monitor residente estaba compuesto por
un cargador, un Intérprete de comandos y
unControlador (drivers) para el manejo de
entrada/salida.
SISTEMAS un área de
memoria (buffer 1).
CON
• El monitor
ALMACENAMI residente inicia la
ENTO salida desde el
TEMPORAL buffer y el
DE E/S programa de
aplicación calcula
depositando la
Los avances en el hardware salida en el buffer
crearon el soporte 2.
de interrupciones y • La salida desde el
posteriormente se llevó a buffer 1 termina y
cabo un intento de el nuevo cálculo
solución más avanzado: también.
solapar la E/S de un • Se inicia la salida
trabajo con sus propios desde el buffer 2 y
cálculos, por lo que se creó otro nuevo cálculo
el sistema de buffers con dirige su salida al
el siguiente buffer 1.
funcionamiento:
• Un programa
escribe su salida en
BELLANID CASTRO OVALLE Página 4
5. TRABAJO DE SISTEMAS
• El proceso se rendimiento. Se eliminan
puede repetir de las cintas magnéticas para
nuevo. el volcado previo de los
• Los problemas datos de dispositivos
surgen si hay lentos y se sustituyen por
muchas más discos (un disco puede
operaciones de simular varias cintas).
cálculo que de E/S Debido al solapamiento
(limitado por la del cálculo de un trabajo
CPU) o si por el con la E/S de otro trabajo
contrario hay se crean tablas en el disco
muchas más para diferentes tareas, lo
operaciones de E/S que se conoce
que cálculo comoSpool (Simultaneous
(limitado por la Peripherial Operation On-
E/S). Line).
SISTEMAS
OPERATIVOS
MULTIPROGRAMA
SpoolerS DOS
Surge un nuevo avance en el
PERSPECTIVA hardware: el hardware con
HISTÓRICA protección de memoria. Lo
que ofrece nuevas soluciones
a los problemas de
Los primeros sistemas
rendimiento:
(1945-1950) eran grandes
Se solapa el cálculo de unos
máquinas operadas desde trabajos con la
la consola maestra por los entrada/
programadores. Durante la salida de
década siguiente otros
(1950-1960) se llevaron a trabajos.
cabo avances en Se
el hardware: lectoras de pueden
tarjetas, impresoras, cintas
magnéticas, etc. Esto a su
vez provocó un avance en
el
software: compiladores, e mantener en memoria
nsambladores, cargadores, varios programas.
manejadores de
dispositivos, etc. Se asigna el uso de la CPU
Hace aparición el disco a los diferentes programas
magnético con lo que en memoria.
surgen nuevas soluciones a Debido a los cambios
los problemas de anteriores, se producen
BELLANID CASTRO OVALLE Página 5
6. TRABAJO DE SISTEMAS
cambios en el monitor Administrar la memoria.
residente, con lo que éste Gestionar el uso de la
debe abordar nuevas CPU (planificación).
tareas, naciendo lo que se Administrar el uso de los
denomina como Sistemas dispositivos de E/S.
Operativos Cuando desempeña esas
multiprogramados, los tareas, el monitor
cuales cumplen con las residente se transforma en
siguientes funciones: un sistema operativo
multiprogramado.
LLAMADAS AL SISTEMA OPERATIVO
Definición breve: llamadas que ejecutan los programas de
aplicación para pedir algún servicio al SO.
Cada SO implementa un conjunto propio de llamadas al
sistema. Ese conjunto de llamadas es la interfaz del SO
frente a las aplicaciones. Constituyen el lenguaje que deben
usar las aplicaciones para comunicarse con el SO. Por ello si
cambiamos de SO, y abrimos un programa diseñado para
trabajar sobre el anterior, en general el programa no
funcionará, a no ser que el nuevo SO tenga la misma
interfaz. Para ello:
Las llamadas correspondientes deben tener el mismo
formato.
Cada llamada al nuevo SO tiene que dar los mismos
resultados que la correspondiente del anterior.
MODOS DE EJECUCIÓN EN UN CPU
BELLANID CASTRO OVALLE Página 6
7. TRABAJO DE SISTEMAS
Las aplicaciones no deben poder usar todas las instrucciones
de la CPU. No obstante el Sistema Operativo, tiene que
poder utilizar todo el juego de instrucciones del CPU. Por
ello, una CPU debe tener (al menos)
dos modos de operación diferentes:
Modo usuario: el CPU podrá ejecutar sólo las instrucciones
del juego restringido de las aplicaciones.
Modo supervisor: la CPU debe poder ejecutar el juego
completo de instruccio
BELLANID CASTRO OVALLE Página 7
8. LLAMADAS AL Las llamadas al sistema no siempre tienen En ambos casos, la acción realizada no está
una expresión sencilla en los lenguajes de ordenada por el programa de aplicación, es
SISTEMA alto nivel, por ello se crean las bibliotecas decir, no figura en el programa.
Una aplicación, normalmente no sabe de interfaz, que son bibliotecas de Según los dos casos anteriores tenemos
dónde está situada la rutina de servicio de funciones que pueden usarse para efectuar las interrupciones y la excepciones:
la llamada. Por lo que si ésta se codifica llamadas al sistema. Las hay para distintos Interrupción: señal que envía un
como una llamada de función, cualquier lenguajes de programación. dispositivo de E/S a la CPU para indicar
cambio en el S.O. haría que hubiera que La aplicación llama a una función de la que la operación de la que se estaba
reconstruir la aplicación. biblioteca de interfaz (mediante una ocupando, ya ha terminado.
Pero lo más importante es que una llamada normal) y esa función es la que Excepción: una situación de error
llamada de función no cambia el modo de realmente hace la llamada al sistema. detectada por la CPU mientras ejecutaba
ejecución de la CPU. Con lo que hay que una instrucción, que requiere tratamiento
conseguir llamar a la rutina de servicio, sin por parte del SO.
tener que conocer su ubicación, y hacer
INTERUCCIONES Y
que se fuerce un cambio de modo de TRATAMIENTO DE LAS
operación de la CPU en la llamada (y la EXCEPCIONES.
INTERRUPCIONES Una
recuperación del modo anterior en el El SO ocupa una posición intermedia entre interrupción se trata en todo caso, después
retorno). los programas de aplicación y el hardware. de terminar la ejecución de la instrucción
Esto se hace utilizando instrucciones No se limita a utilizar el hardware a en curso.
máquina diseñadas específicamente para petición de las aplicaciones ya que hay El tratamiento depende de cuál sea el
este cometido, distintas de las que se usan situaciones en las que es el hardware el dispositivo de E/S que ha causado la
para las llamadas de función. que necesita que se ejecute código del SO. interrupción, ante la cual debe poder
En tales situaciones el hardware debe identificar el dispositivo que la ha causado.
poder llamar al sistema, pudiendo deberse La ventaja de este procedimiento es que no
BIBLIOTECAS DE estas llamadas a dos condiciones: se tiene que perder tiempo ejecutando
Algún dispositivo de E/S necesita continuamente rutinas para consultar el
INTERFAZ DE atención. estado del periférico. El inconveniente es
LLAMADAS AL Se ha producido una situación de error al que el dispositivo debe tener los circuitos
SISTEMA intentar ejecutar una instrucción del electrónicos necesarios para acceder al
programa (normalmente de la aplicación). sistema de interrupciones del computador
9. . IMPORTANCIA DE LAS INTERRUPCIONES
El conveniente, para hacer que
mecanismo el programa que estaba
de esperando por el dispositivo,
tratamiento se continúe ejecutando.
de las En ciertos intervalos de
interrupcio tiempo puede convenir no
nes permite aceptar señales de
al SO interrupción. Por ello las
utilizar la interrupciones pueden
CPU en inhibirse por programa
servicio de (aunque esto no deben poder
una hacerlo las mismas).
aplicación, Un ejemplo de sincronismo
mientras por interrupción es el
otra almacenamiento de
permanece caracteres introducidos
a la espera mediante el teclado. Cuando
de que se introduce un carácter, se
concluya codifica en el registro de
una datos del dispositivo y
operación además se activa un bit del
en un registro de estado quien
dispositivo crea una interrupción en el
de E/S. hardware. El procesador
El deja temporalmente la tarea
hardware que estaba completando y
se encarga ejecuta la rutina de atención
de avisar al a la interrupción
SO cuando correspondiente. El teclado
el almacena el carácter en el
dispositivo vector de memoria intermedia
de E/S ha ( también llamado buffer)
terminado y asociada al teclado y
el SO puede despierta el proceso que
intervenir había en el estado de espera
entonces, si de la operación de
es entrada/salida.
EXCEPCIONES
Cuando la CPU intenta ejecutar una
instrucción incorrectamente construida, la
unidad de control lanza una excepción para
permitir al SO ejecutar el tratamiento
adecuado. Al contrario que en una
interrupción, la instrucción en curso es
abortada. Las excepciones al igual que las
interrupciones deben estar identificadas.
CLASES DE EXCEPCIONES
Las instrucciones de un programa pueden estar
mal construidas por diversas razones:
10. El código de operación puede ser incorrecto.
Se intenta realizar alguna operación no
definida, como dividir por cero.
La instrucción puede no estar permitida en el
modo de ejecución actual.
La dirección de algún operando puede ser
incorrecta o se intenta violar alguno de sus
permisos de uso.
IMPORTANCIA DE LAS EXCEPCIONES
El mecanismo de tratamiento
de las excepciones es
esencial para impedir, junto a
los modos de ejecución de la
CPU y los mecanismos de
protección de la memoria,
que las aplicaciones realicen
operaciones que no les están
permitidas. En cualquier
caso, el tratamiento
específico de una excepción
lo realiza el SO.
Como en el caso de las
interrupciones, el hardware
se limita a dejar el control
al SO, y éste es el que trata
la situación como convenga.
Es bastante frecuente que el
tratamiento de una excepción
no retorne al programa que
se estaba ejecutando cuando
se produjo la excepción, sino
que el SO aborte la ejecución
de ese programa. Este factor
depende de la pericia del
programador para
controlar la excepción
adecuadamente.
11. Componentes de un sistema
operativo
Gestión de procesos
Un proceso es simplemente, un programa en ejecución que necesita recursos para realizar su tarea: tiempo de CPU,
memoria, archivos y dispositivos de E/S. El SO es el responsable de:
Crear y destruir los procesos.
Parar y reanudar los procesos.
Ofrecer mecanismos para que se comuniquen y sincronicen.
La gestión de procesos podría ser similar al trabajo de oficina. Se puede tener una lista de tareas a realizar y a estas
fijarles prioridades alta, media, baja por ejemplo. Debemos comenzar haciendo las tareas de prioridad alta primero y
cuando se terminen seguir con las de prioridad media y después las de baja. Una vez realizada la tarea se tacha. Esto
puede traer un problema que las tareas de baja prioridad pueden que nunca lleguen a ejecutarse. y permanezcan en
la lista para siempre. Para solucionar esto, se puede asignar alta prioridad a las tareas más antiguas.
Gestión de la memoria principal
La Memoria es una gran tabla de palabras o bytes que se referencian cada una mediante una dirección única. Este almacén de datos
de rápido accesos es compartido por la CPU y los dispositivos de E/S, es volátil y pierde su contenido en los fallos del sistema. El SO es
el responsable de:
Conocer qué partes de la memoria están siendo utilizadas y por quién.
Decidir qué procesos se cargarán en memoria cuando haya espacio disponible.
12. Asignar y reclamar espacio de memoria cuando sea necesario.
GESTIÓN DEL ALMACENAMIENTO SECUNDARIO
Un sistema de almacenamiento Gestionar el
secundario es necesario, ya que la memoria espacio libre.
principal (almacenamiento primario) es Asignar el
volátil y además muy pequeña para almacenamie
almacenar todos los programas y datos. nto.
También es necesario mantener los datos Verificar que
que no convenga mantener en la memoria los datos se
principal. El SO se encarga de: guarden en
orden
Planificar los discos.
EL SISTEMA DE E/S
Consiste en un sistema de almacenamiento temporal (caché), una
interfaz de manejadores de dispositivos y otra para dispositivos
concretos. El sistema operativo debe gestionar el almacenamiento
temporal de E/S y servir las interrupciones de los dispositivos de E/S.
SISTEMA DE ARCHIVOS
Los archivos son Construir y almacenamie
colecciones de eliminar nto.
información archivos y Realizar
relacionada, directorios. copias de
definidas por sus Ofrecer seguridad de
creadores. Éstos funciones archivos.
almacenan para
programas (en manipular Existen diferentes
código fuente y archivos y Sistemas de
objeto) y datos directorios. Archivos, es
tales como decir, existen
Establecer la
imágenes, textos, diferentes formas
corresponden
información de de organizar la
cia entre
bases de datos, información que
archivos y
etc. El SO es se almacena en
unidades de
responsable de: las memorias
13. (normalmente embargo, existen una base de
discos) de los diferencias muy datos con
ordenadores. Por importantes. Por bastante
ejemplo, existen ejemplo, los información ya
los sistemas de sistemas de que el tamaño
archivos FAT, FA ficheros FAT32 y máximo de un
T32, EXT3, NTFS NTFS, que se fichero con un
, XFS, etc. utilizan Sistema de
fundamentalment Archivos FAT32 e
Desde el punto
e en sistemas stá limitado a
de vista del
operativos 4 gigabytes, sin
usuario estas
de Microsoft, embargo, en un
diferencias
tienen una gran sistema NTFS el
pueden parecer
diferencia para un tamaño es
insignificantes a
usuario que considerablement
primera vista, sin
utilice e mayor
.
lasinterfaces de red. También
hay que crear y mantener
puntos de comunicación que
sirvan a las aplicaciones para
enviar y recibir información,
y crear y mantener
conexiones virtuales entre
aplicaciones que están
SISTEMAS DE ejecutándose localmente y
PROTECCIÓN otras que lo hacen
remotamente.
Mecanismo que controla el
Programas de sistema
acceso de los programas o
Son aplicaciones de utilidad
los usuarios a los recursos del
que se suministran con el SO
sistema. El SO se encarga de:
pero no forman parte de él.
Distinguir entre uso
Ofrecen un entorno útil para
autorizado y no autorizado.
el desarrollo y ejecución de
Especificar los controles de
programas, siendo algunas
seguridad a realizar.
de las tareas que realizan:
Forzar el uso de estos
Manipulación y modificación
mecanismos de protección.
de archivos.
Sistema de Información del estado del
comunicaciones sistema.
Para mantener las Soporte a lenguajes de
comunicaciones con otros programación.
sistemas es necesario poder Comunicaciones.
controlar el envío y recepción Gestor de recursos
de información a través de
14. Como gestor de recursos, el memoria, periféricos) de
Sistema Operativo forma alternada a los
administra: procesos que los solicitan,
La CPU (Unidad Central de de manera que el usuario
Proceso, donde está alojado percibe que todos
el microprocesador). funcionan a la vez, de
Los dispositivos de E/S forma concurrente.
(entrada y salida) Administración de
La memoria principal (o de usuarios
acceso directo).
Los discos (o memoria
secundaria). Monousuario: Si sólo
Los procesos (o programas permite ejecutar los
en ejecución).
programas de un usuario
y en general todos los
recursos del sistema. al mismo tiempo.
Clasificación Multiusuario: Si permite
Administración de que varios usuarios
tareas ejecuten simultáneamente
Monotarea: Solamente
sus programas,
puede ejecutar un proceso
(aparte de los procesos del accediendo a la vez a los
propio S.O.) en un momento recursos de la
dado. Una vez que empieza a
computadora.
ejecutar un proceso,
continuará haciéndolo hasta Normalmente estos
su finalización y/o sistemas operativos
interrupción.
utilizan métodos de
Multitarea: Es capaz de
ejecutar varios procesos al protección de datos, de
mismo tiempo. Este tipo de manera que un programa
S.O. normalmente asigna los
recursos disponibles (CPU, no pueda usar o cambiar
los datos de otro usuario.
MANEJO DE RECURSOS
Centralizado: Si permite usar los recursos de una sola
computadora.
Distribuido: Si permite utilizar los recursos (memoria, CPU, disco,
periféricos... ) de más de una computadora al mismo tiempo.
Ejemplos de Sistemas Operativos ( ordenadores
)
15. Windows
Mac OS
Linux
AmigaOS
Ejemplos de Sistemas Operativos ( Dispositivos
Moviles )
Symbian
Android
iOS
Windows Mobile