Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
Pasos evolutivos:
Proceso en serie
Inicialmente, finales de los 40, el programador interactúa directamente con la máquina
mediante conmutadores, indicadores luminosos y tal vez una impresora. No existe el
sistema operativo y los usuarios de un ordenador se turnan para acceder
secuencialmente, en serie.
Multiprogramación o multitarea
Con el ánimo de maximizar el uso de la CPU se cargan varios programas de manera
simultánea. Así mientras un proceso está bloqueado por una operación de
entrada/salida, la CPU puede continuar la ejecución de otro proceso.
https://elpuig.xeill.net/Members/vcarceler/c1/didactica/apuntes/ud3/na1 1/5
14/2/2019 Introducción y evolución histórica — Institut Puig Castellar
Monousuario:
Desde el punto de vista de la máquina (o el sistema informático) no se hace distinción
entre los usuarios que utilizan la máquina. Sólo un usuario puede estar trabajando en
un momento determinado. Ejemplos: MS-DOS, Windows 3.x, 95, 98, Me.
Multiusuario:
Varios usuarios pueden trabajar simultáneamente en el mismo sistema informático.
Además, el sistema realiza distinciones entre usuarios. La gestión de los recursos
(memoria, CPU, disco, etc...) es mucho más complicada, pero al tener a varias
personas trabajando a la vez, se rentabiliza con mayor facilidad la inversión.
Monoproceso:
El sistema informático sólo puede mantener un proceso en ejecución, las tareas se
realizan secuencialmente.
Multiproceso/Multitarea:
El sistema informático es capaz de ejecutar varios procesos simultáneamente. Si
hubiese suficientes CPUs, se ejecutaría cada proceso en una CPU distinta, si el
número de CPUs es menor (como habitualmente ocurre) que el de procesos
preparados para ejecutar. El sistema operativo asigna franjas de uso de CPU a cada
proceso, para simular una ejecución en paralelo. De cualquier modo, realmente o de
forma simulada, los procesos en ejecución avanzan en paralelo.
Tiempo compartido:
Se realiza una planificación del uso de las CPUs disponibles entre los procesos
preparados para ser ejecutados. De este modo, aparentemente, se ejecutan todos los
procesos a la vez.
Tiempo real:
Los sistemas operativos en tiempo real son predecibles, de tal manera que se
compromenten a realizar determinadas tareas dentro de unos límites de tiempo. Su
aplicación típica es el control de maquinaria y procesos industriales. Ejemplos: Marte,
QNX,
Un poco de historia:
1965: Multics
Ken Thompson y Dennis Ritchie
https://elpuig.xeill.net/Members/vcarceler/c1/didactica/apuntes/ud3/na1 2/5
14/2/2019 Introducción y evolución histórica — Institut Puig Castellar
1970: Unix
Sistema operativo multiusuario,
multitarea que ha contado con gran
aceptación en la industria. Unix es a la
vez: un sistema operativo, un tipo de
sistemas operativos y una marca
comercial.
Desarrolladores de C y Unix.
1973: Se decide reescribir Unix en C
Anteriormente se utilizaba el lenguaje ensamblador para programar los sistemas
operativos. Las ventajas de utilizar C son: portabilidad y facilidad de desarrollo.
Aplicaciones de usuario:
Colección de herramientas que utilizan los usuarios en sus quehaceres. (The Gimp,
Firefox, Inkscape, Apache, GCC...)
https://elpuig.xeill.net/Members/vcarceler/c1/didactica/apuntes/ud3/na1 3/5
14/2/2019 Introducción y evolución histórica — Institut Puig Castellar
Llamadas al sistema:
Se escriben bibliotecas con funciones de uso frecuente, de tal manera que otros
componentes software las puedan utilizar sin tener que volverlas a implementar
(funciones matemáticas, de acceso a ficheros, comunicaciones, procesado gráfico...).
Núcleo o kernel:
Controla el hardware y las operaciones básicas que realiza el sistema operativo.
Típicamente se encarga de la gestión de procesos, la gestión de memoria y el control
de todos los elementos hardware. Se dice que el software del núcleo se ejecuta en
modo núcleo. Un fallo en este software arruina todo el sistema informático, por esto,
cuanto menor sea la cantidad de código que se ejecuta en modo núcleo, menores
serán las posibilidades de introducir bugs fatales. Se distingue entre núcleos
monolíticos (los tradicionales) y los micro núcleos (más modernos, pretenden incluir en
el núcleo sólo lo esencial).
https://elpuig.xeill.net/Members/vcarceler/c1/didactica/apuntes/ud3/na1 4/5
14/2/2019 Introducción y evolución histórica — Institut Puig Castellar
https://elpuig.xeill.net/Members/vcarceler/c1/didactica/apuntes/ud3/na1 5/5