SISTEMAS
OPERATIVOS.
Un
sistema operativo es un programa que controla la ejecución de los programas de aplicación
y que actúa como interfaz entre el usuario de un computador y el hardware de la
misma.
Además
un sistema operativo tiene unos objetivos como: Comodidad,
eficiencia y capacidad de evolución.
El sistema
operativo ofrece servicios en las áreas de: creación de programas, ejecución de
programas, acceso a los dispositivos de E/S,
Acceso
controlado a los archivos, Acceso
al sistema, detección
y respuesta a errores y Contabilidad.
Por otro lado Un computador es un conjunto de recursos para
el traslado, almacenamiento y proceso de datos y para el control de estas funciones. El
sistema operativo es el responsable.
Para Denning
y sus colegas [DENN80a] proponen que hasta la fecha se han obtenido cuatro
logros intelectuales significativos en el desarrollo de los sistemas operativos:
• Los
procesos
• La gestión
de memoria
• La
seguridad y la protección de la información
• La planificación
y la gestión de recursos
• La
estructura del sistema
Para los primeros computadores de finales de los 40
hasta mediados de los 50, el programador interactuaba directamente con el
hardware porque no había sistema operativo.
Estos
primeros sistemas presentaban dos problemas principales que eran: Planificación
y Tiempo de preparación.
La
idea central que esta detrás del esquema sencillo de proceso por lotes es el
uso de un
elemento
de software conocido como monitor. Con el uso de esta clase de sistema operativo,
los usuarios ya no tenían acceso directo a la máquina. En su lugar, el usuario debía
entregar los trabajos en tarjetas o en cinta al operador del computador, quien
agrupaba secuencialmente los trabajos por lotes y ubicaba los lotes enteros en
un dispositivo de entrada para su empleo por parte del monitor.
En fin
para entender cómo funciona este esquema, se va a
ver desde dos puntos de vista: el del monitor y el del procesador.
Desde
el punto de vista del monitor, el es quien controlaba la secuencia de sucesos ya Para que esto sea
posible gran parte del monitor debe
estar siempre en memoria principal y disponible para la ejecución; y para el monitor era quien leía los trabajos uno a uno del dispositivo de
entrada.
Se debe
saber que era el monitor el que gestionaba el problema de la planificación. También es la
capacidad del procesador quien trae y ejecuta instrucciones desde varias zonas
de la memoria principal y asi apoderarse y ceder el control de forma alterna.
Otras características
del hardware se encuentran son:
• Protección de memoria
• Temporizador
• Instrucciones Privilegiadas
• Interrupciones
En un
sistema operativo por lotes, el tiempo de maquina se reparte entre la ejecucion
de
programas
de usuario y la ejecucion del monitor. Así se tienen dos perdidas: se entrega
al monitor cierta cantidad de memoria principal y este consume cierto tiempo de
la máquina. Ambas pérdidas son una forma de sobrecarga. Aun con esta
sobrecarga, los sistemas operativos los sistemas operativos por lotes mejoran
el uso del computador.
Aun
con el secuenciamiento automático de los trabajos ofrecido por un sistema
operativo sencillo por lotes, el procesador está desocupado a menudo.
Con el
uso de la multiprogramación, el tratamiento por lotes puede llegar a ser
bastante eficiente, Sin embargo para muchas tareas es conveniente suministrar
un modo en que el usuario interactúe directamente con el computador.
Hoy en
día, los requisitos de un servicio de computación interactiva pueden y suelen
llevarse a cabo con el empleo de un computador dedicada.
Al
igual que la multiprogramación permite al procesador manejar varias tareas por
lotes al mismo tiempo, la multiprogramación puede también utilizarse para
manejar varias tareas interactivas.
La técnica
básica de un sistema de tiempo compartido es tener a varios usuarios utilizando
simultáneamente el sistema mediante terminales, mientras que el sistema
operativo intercala la ejecucion de cada programa de usuario en ráfagas cortas
de computo o cuantos, tanto la multiprogramación por lotes como el tiempo
compartido utilizan multiprogramación.
Los
sistemas operativos están entre los elementos de software más complejos que se
han desarrollado.
Esto
refleja el reto de tratar de conjugar las dificultades y que en algunos casos, objetivos opuestos de
comodidad, eficiencia y capacidad de evolución.
El concepto
de proceso también es fundamental
en la estructura de los sistemas operativos. Este término fue acunado por
primera vez por los diseñadores de Multics en los años 60. Es un término algo mas
general que el de trabajo. Se han
dado muchas definiciones para el término proceso, entre
las que se incluyen las siguientes:
• Un
programa en ejecución
•
El espíritu animado de un programa
• La
entidad que puede ser asignada al procesador y ejecutada por el.
Otra
linea importante de desarrollo la han constituido los sistemas de proceso de
transacciones en tiempo real. En este caso en un cierto número de usuarios hacen consultas o
actualizaciones sobre una base de datos. Un ejemplo clásico es un sistema de
reservas de unas líneas aéreas. La diferencia clave entre un sistema de proceso
de transacciones y un sistema de tiempo compartido es que el primero está limitado
a una o pocas aplicaciones mientras que los usuarios de un sistema de tiempo
compartido pueden dedicarse al desarrollo de un programa, a la ejecución de trabajos
y al uso de diferentes aplicaciones. En ambos casos el tiempo de respuesta del sistema es
primordial.
La
herramienta principal disponible para los programadores de sistemas en el
desarrollo de los primeros sistemas interactivos multiusuario y de multiprogramación
fue la interrupción. La actividad de cualquier trabajo podía suspenderse por el
acontecimiento de un suceso determinado como la culminación de una E/S.
Algún
tipo de ejemplo es cuando el contador de
programa y otros registros y desviarse hacia una rutina de tratamiento de la interrupción,
que determinaba la naturaleza de la interrupción, la procesaba y luego
reanudaba el proceso del usuario en el trabajo interrumpido o en algún otro
trabajo.
sistemas informáticos.
La programación es el proceso de diseñar, codificar, depurar y mantener el código fuente de programas computacionales. El código fuente es escrito en un lenguaje de programación. El propósito de la programación es crear programas que exhiban un comportamiento deseado. El proceso de escribir código requiere frecuentemente conocimientos en varias áreas distintas, además del dominio del lenguaje a utilizar, algoritmos especializados y lógica formal. Programar no involucra necesariamente otras tareas tales como el análisis y diseño de la aplicación (pero sí el diseño del código), aunque sí suelen estar fusionadas en el desarrollo de pequeñas aplicaciones.
La programación debe perseguir la obtención de programas de calidad. Para ello se establece una serie de factores que determinan la calidad de un programa. Algunos de los factores de calidad más importantes son los siguientes:
- Corrección. Un programa es correcto si hace lo que debe hacer tal y como se estableció en las fases previas a su desarrollo. Para determinar si un programa hace lo que debe, es muy importante especificar claramente qué debe hacer el programa antes de desarrollarlo y, una vez acabado, compararlo con lo que realmente hace.
- Claridad. Es muy importante que el programa sea lo más claro y legible posible, para facilitar así su desarrollo y posterior mantenimiento.
- Eficiencia. Se trata de que el programa, además de realizar aquello para lo que fue creado (es decir, que sea correcto), lo haga gestionando de la mejor forma posible los recursos que utiliza.
- Potabilidad. Un programa es portable cuando tiene la capacidad de poder ejecutarse en una plataforma, ya sea hardware o software, diferente a aquélla en la que se elaboró.

sistema operativo:
Un sistema operativo (SO) es un programa o conjunto de programas que en un sistema informático gestiona los recursos de hardware y provee servicios a los programas de aplicación, ejecutándose en modo privilegiado respecto de los restantes y anteriores próximos y viceversa.
Sistemas operativos multiprogramados:
Surge un nuevo avance en el hardware: el hardware con protección de memoria. Lo que ofrece nuevas soluciones a los problemas de rendimiento:
- Se solapa el cálculo de unos trabajos con la entrada/salida de otros trabajos.
- Se pueden mantener en memoria varios programas.
- Se asigna el uso de la CPU a los diferentes programas en memoria.
Debido a los cambios anteriores, se producen cambios en el monitor residente, con lo que éste debe abordar nuevas tareas, naciendo lo que se denomina como Sistemas Operativos multiprogramados, los cuales cumplen con las siguientes funciones:
- Administrar la memoria.
- Gestionar el uso de la CPU (planificación).
- Administrar el uso de los dispositivos de E/S.
Cuando desempeña esas tareas, el monitor residente se transforma en un sistema operativo multiprogramado.
sistema de aplicación:
una aplicación es un tipo de programa informático diseñado como herramienta para permitir a un usuario realizar uno o diversos tipos de trabajos. Esto lo diferencia principalmente de otros tipos de programas como los sistemas operativos (que hacen funcionar al ordenador), las utilidades (que realizan tareas de mantenimiento o de uso general), y los lenguajes de programación (con el cual se crean los programas informáticos).
Suele resultar una solución informática para la automatización de ciertas tareas complicadas como pueden ser la contabilidad, la redacción de documentos, o la gestión de un almacén. Algunos ejemplos de programas de aplicación son los procesadores de textos,hojas de cálculo, y base de datos.


