La propuesta de los sistemas
El uso compartido de recursos
Tal como hacen las personas para compartir cosas, así mismo se hace necesario en los sistemas compartir archivos o programas a través de un sistema que brinde cierto tipo de protección y además proteja de usuarios maliciosos.
También se intenta hacer que se usen simultáneamente varios componentes en un computador, mejorando así el rendimiento del computador a través de un sistema operativo que controle todo.
Máquinas virtuales
Las máquinas virtuales se pueden pensar como como otro lenguaje en el que se podría acceder a las operaciones durante la ejecución de programas, pero para poder mantener el control del sistema se debe aislar a los usuarios, evitando así la perdida de información o de datos. Entonces los sistemas operativos ensamblan los componentes o periféricos del computador que los usuarios definan, además da la ilusión de que el usuario está trabajando como si estuviera realmente en la maquina mientras se ejecutan y se escriben programas, por eso las maquinas son en parte simuladas por programas. A esto se le llama máquina virtual, y la presencia simultánea de usuarios hace que estas sean mucho más lentas que las maquinas físicas.
Las máquinas virtuales pueden hacer que la programación para los sistemas operativos sea posiblemente más atractiva además hace que los usuarios o programadores se concentren un poco más en la lógica ya que a través de las máquinas virtuales se pueden identificar errores y se pueden corregir, sin afectar a la maquina física.
Los sistemas operativos deben ser diseñados para que hagan más simple la iteración de las personas con la máquina y para utilizar las características que esta posee de manera más eficiente.
Sistemas operativos y programas de usuario
Los sistemas son largos programas en las que se integran infinidad de funciones como para proteger los archivos de los usuarios, y siempre están en constante evolución, durante la cual se agregan nuevos métodos y en este caso métodos de multi programación, los cuales facilitan la escritura de programas y protegen los datos, además de poder planificar y realizar trabajos independientes en poco tiempo.
Antecedentes tecnológicos
Equipos y perfiles de trabajo
En 1950 comenzó la influencia tecnológica para el desarrollo de sistemas que controlen automáticamente los componentes de máquinas, lo que denominaron sistemas operativos, y se comienzan a desarrollar algoritmos en lenguajes de alto nivel, algoritmos que demandaban gran trabajo y hacían que el trabajo de compilación y ejecución fuera muy lento, obteniendo unas medidas de rendimiento medio.
Consideremos que un pequeño puñado de programas, más pequeños en código, arrojen resultados más rápido, es lo que se intenta hacer para los sistemas operativos.
Procesamiento por lotes
las restricciones tecnológicas de la época hacían que se siguiera una secuencia muy estricta de programación y produciendo:
· Que solo se puedan ejecutar un programa a la vez
· Durante la programación siempre se cometían pequeños errores.
Pero la programación de la época denominada “simple” creaba nuevos problemas
¿Si el sistema es un poco erróneo como se pueden operar?, ¿Cómo se puede hacer para que los programas retomen el control del sistema operativo?
Pero surgió una pequeña solución “el procesamiento por lotes”, el cual primero ejecutaba un bloque de código y entregaba un resultado, el cual servía para los siguientes bloques de código, facilitando rapidez al sistema y el tiempo de ejecución de un bloque sobre el tiempo de respuesta de ese bloque da como resultado la utilización de la CPU y la que podría ser mucho más rápido que cuando se ejecutan los bloques completos de código.
Sistemas de colas
En los inicios de la década de los 60’s hubo una muy importante mejora en los sistemas de procesamiento por lotes: el diseño de periféricos que, autónomamente, gestionaban la entrada y salida de operaciones mientras el procesador continuaba ejecutando programas.
Para sincronizar el procesador y los periféricos aparece el concepto de interrupción, una señal del periférico al procesador que le indica que suspenda el actual programa e inicie otro: el sistema operativo, éste puede a su vez continuar con la ejecución del programa suspendido, o bien, iniciar otro más urgente. Esta técnica es llamada multiprogramación.
Pronto aparece la idea de usar esta misma técnica para simular el procesamiento en paralelo de varios programas compartiendo un mismo procesador. A cada programa se le permite correr por cierto periodo de tiempo y una vez terminado este periodo el sistema operativo habilita otro programa, a esto se le llama multiplexación.
Esta manera de proceder genera el problema de administrar el almacenamiento de los datos que son usados por los programas en ejecución, puesto que son ejecutados al mismo tiempo. Para resolver esto se incluye en el procesador un registro, con tamaño definido, que se encarga de gestionar las direcciones en la memoria.
La implementación de este registro genera un problema de seguridad, pues su modificación provocaría un funcionamiento anormal. Como solución se asigna a cada operación un estado de ejecución: estado privilegiado, sin restricciones; y el estado de usuario, con restricción sobre estos registros.
Sistemas interactivos
En la interacción humano-computador, los tiempos de respuesta por parte de un programa deben ser muy cortos. Con el fin de garantizar esto, a cada proceso se le asigna un tiempo fijo de procesamiento, si este tiempo se agota y el proceso aún no ha terminado, es interrumpido y puesto al final de la cola, a la espera de una nueva asignación, mientras otros procesos van accediendo a su turno.
No hay comentarios:
Publicar un comentario