ICC243Sistemas Operativos
P02: Definiciones e Historia de los Sistemas Operativos
Prof. Jonathan MakucSlide: 1
Sistemas Operativos – ICC243 [ 2 ] Prof. Jonathan Makuc
Sistemas Operativos: Definiciones e Historia
Definición ://
Sistema Operativo
Conjunto de programas o software destinado a permitir la comunicación del
usuario con un ordenador y gestionar sus recursos de manera cómoda y
eficiente. Comienza a trabajar cuando se enciende el ordenador, y gestiona
el hardware de la máquina desde los niveles más básicos.
Hardware
Sistema Operativo
App1 App2 App3
Sistemas Operativos – ICC243 [ 3 ] Prof. Jonathan Makuc
Sistemas Operativos: Definiciones e Historia
Definición ://
Funciones básicas de un Sistema Operativo
Los sistemas operativos desempeñan una serie de funciones básicas
esenciales para la gestión de la máquina. Entre las más destacables, cada
una ejercida por un componente interno (módulo en núcleos monolíticos y
servidor en microkernels), podemos reseñar las siguientes:
* Gestión de los recursos de la máquina.
* Ejecución de servicios para los programas
* Ejecución de instrucciones (comandos) de los usuarios.
Sistemas Operativos – ICC243 [ 4 ] Prof. Jonathan Makuc
Sistemas Operativos: Definiciones e Historia
Definición ://
A su vez, los servicios principales ofertados por un sistema operativo,
accesibles y manipulables a través de su API de programación, son los
siguientes:
* Gestión de procesos.
* Gestión de memoria.
* Gestión de la E/S (Entrada/Salida).
* Gestión de archivos y directorios.
* Comunicación y sincronización entre procesos.
* Seguridad y protección.
Sistemas Operativos – ICC243 [ 5 ] Prof. Jonathan Makuc
Sistemas Operativos: Definiciones e Historia
Características ://
• Administración de tareas:
• Monotarea: Si solamente puede ejecutar un programa (aparte de los procesos
del propio S.O.) en un momento dado. Una vez que empieza a funcionar un
programa, continuará haciéndolo hasta su finalización o interrupción.
•Multiprogramación: Si es capaz de cargar múltiples programas a memoria,
pero permitiendo que uno solo se ejecute a la vez.
• Multitarea: Si es capaz de ejecutar varios programas al mismo tiempo.
Sistemas Operativos – ICC243 [ 6 ] Prof. Jonathan Makuc
Sistemas Operativos: Definiciones e Historia
Características ://
• Administración de usuarios:
• Monousuario: Si sólo permite ejecutar los programas de un usuario al mismo tiempo.
• Multiusuario: Si permite que varios usuarios ejecuten simultáneamente sus programas, accediendo a la vez a los recursos del ordenador. Normalmente estos SS.OO. utilizan métodos de protección de datos, de manera que un programa no pueda usar o cambiar los datos de otro usuario.
• Manejo de recursos:
• Centralizado: Si permite utilizar los recursos de un solo ordenador.
• Distribuido: Si permite utilizar los recursos (memoria, CPU, disco, periféricos, etc) de más de un ordenador al mismo tiempo.
Sistemas Operativos – ICC243 [ 7 ] Prof. Jonathan Makuc
Sistemas Operativos: Definiciones e Historia
Kernel ://
Definición
Parte fundamental de un sistema operativo.
Es el software responsable de facilitar a los distintos programas
acceso seguro al hardware de la computadora o en forma más
básica, es el encargado de gestionar recursos, a través de servicios
de llamada al sistema.
El Kernel se encarga de decidir qué programa podrá hacer uso de un
dispositivo de hardware y durante cuanto tiempo, lo que se conoce
como multiplexado, implementando las abstracciones de hardware.
Sistemas Operativos – ICC243 [ 8 ] Prof. Jonathan Makuc
Sistemas Operativos: Definiciones e Historia
Kernel ://
Sistemas Operativos – ICC243 [ 9 ] Prof. Jonathan Makuc
Sistemas Operativos: Definiciones e Historia
Kernel ://
Hardware
Sistema Operativo
App1 App2 App3
Espacio de Usuario
Espacio de Kernel
sy
sc
all
s
Espacios
Sistemas Operativos – ICC243 [ 10 ] Prof. Jonathan Makuc
Sistemas Operativos: Definiciones e Historia
Kernel ://
Organización Interna
Kernels Monolíticos
Un sistema operativo con núcleo monolítico concentra todas las funcionalidades posibles
(planificación, sistema de archivos, redes, controladores de dispositivos, gestión de
memoria, etc) dentro de un gran programa. El mismo puede tener un tamaño considerable, y
deberá ser recompilado por completo al añadir una nueva funcionalidad. Todos los
componentes funcionales del núcleo tienen acceso a todas sus estructuras de datos internas
y a sus rutinas. Un error en una rutina puede propagarse a todo el núcleo. Todos sus
componentes se encuentran integrados en un único programa que ejecuta en un único
espacio de direcciones.
Sistemas Operativos – ICC243 [ 11 ] Prof. Jonathan Makuc
Sistemas Operativos: Definiciones e Historia
Kernel ://
Microkernels
Se conoce como microkernel al tipo de kernel de un sistema operativo que provee un
conjunto de primitivas o llamadas al sistema mínimas, para implementar servicios
básicos como espacios de direcciones, comunicación entre procesos y planificación
básica. Todos los otros servicios (gestión de memoria, sistema de archivos,
operaciones de E/S, etc.), que en general son proveídos por el kernel, se ejecutan
como procesos servidores en espacio de usuario.
Sistemas Operativos – ICC243 [ 12 ] Prof. Jonathan Makuc
Sistemas Operativos: Definiciones e Historia
Kernel ://
Organización interna:
* Kernel monolítico (Linux, BSD, skyOS, Windows, Syllable).
* Microkernel (BeOS, Mach, Mac OS X, newOS).
* Nanokernel (AdeOS, Eros, KeyKOS, Brix-OS).
* Sasos (Opal, Mungi, BriX).
* Exokernel (MIT exokernel).
http://www.dina.dk/~abraham/Linus_vs_Tanenbaum.html
Sistemas Operativos – ICC243 [ 13 ] Prof. Jonathan Makuc
Sistemas Operativos: Definiciones e Historia
Historia ://
Años 40
A finales de los años 40, con la aparición de la primera generación de
computadoras, se realizaba lo que se llama el proceso en serie. Por
aquel entonces no existían los sistemas operativos, y los
programadores debían interactuar con el hardware del computador
sin ayuda externa. Esto hacía que el tiempo de preparación para
realizar una tarea fuera excesivo.
ENIAC – Primer Computador (1946)
18.000 tubos de vacio – 50 toneladas
Funcionó hasta 1955, estimándose que realizó la
misma cantidad de operaciones matematicas hasta
antes de 1945 en el mundo
Sistemas Operativos – ICC243 [ 14 ] Prof. Jonathan Makuc
Sistemas Operativos: Definiciones e Historia
Historia ://
Años 40 – Von Neumann
La primera descripción de cómo un computador electrónico debía
almacenar programas y procesar información fue escrita por John
Von Neumann el 30 de Junio de 1946. Esta arquitectura comprendía:
- Unidad Aritmetico Lógica (ALU)
- Unidad de Control
- Memory
- I/O (Input / Output)
Sistemas Operativos – ICC243 [ 15 ] Prof. Jonathan Makuc
Sistemas Operativos: Definiciones e Historia
Historia ://
Años 50
Para facilitar la interacción entre persona y computador, los sistemas
operativos hacen una aparición discreta y bastante simple, con
conceptos tales como:
- monitor residente
- proceso por lotes
- almacenamiento temporal.
EDVAC – Electronic Discrete Variable Automatic Computer
Una de las primeras computadoras en utilizar el sistema binario para realizar operaciones básicas
Foto de Von Neumann (creador) y la EDVAC
Sistemas Operativos – ICC243 [ 16 ] Prof. Jonathan Makuc
Sistemas Operativos: Definiciones e Historia
Historia ://
Años 60
Multiprogramación
En un sistema multiprogramado la memoria principal alberga a más de un programa de
usuario. La CPU ejecuta instrucciones de un programa, cuando el que se encuentra en
ejecución realiza una operación de E/S; en lugar de esperar a que termine la operación
de E/S, se pasa a ejecutar otro programa.
Tiempo compartido
Al realizar una operación de E/S los programas ceden la CPU a otro programa, al igual
que en la multiprogramación. Pero, a diferencia de ésta, cuando un programa lleva cierto
tiempo ejecutándose el sistema operativo lo detiene para que se ejecute otro aplicación.
Con esto se consigue repartir la CPU por igual entre los programas de los distintos
usuarios, y los programas de los usuarios no se sienten demasiado ralentizados por el
hecho de que los recursos sean compartidos y aparentemente se ejecutan de manera
concurrente.
Sistemas Operativos – ICC243 [ 17 ] Prof. Jonathan Makuc
Sistemas Operativos: Definiciones e Historia
Historia ://
Años 60
Tiempo real
Estos sistemas se usan en entornos donde se deben aceptar y procesar en tiempos muy
breves un gran número de sucesos, en su mayoría externos al ordenador. Si el sistema
no respeta las restricciones de tiempo en las que las operaciones deben entregar su
resultado se dice que ha fallado .
Multiprocesador
Permite trabajar con máquinas que poseen más de un procesador. En un
multiprocesador los procesadores comparten memoria y reloj.
Sistemas Operativos – ICC243 [ 18 ] Prof. Jonathan Makuc
Sistemas Operativos: Definiciones e Historia
Historia ://
Años 60
Desarrollos Importantes
-COBOL
-BASIC
-Mouse
-LOGO
-Unix 1960 – DEC PDP1
1964 – IBM System/3601968 – Apollo Guidance Computer
Sistemas Operativos – ICC243 [ 19 ] Prof. Jonathan Makuc
Sistemas Operativos: Definiciones e Historia
Historia ://
Cronología de la línea Unix - MULTICS: primero en implementar time-sharing (multitarea)
- UNIX: iniciado debido a la complejidad de MULTICS, gracias a la invención de C
- MINIX: Escrito por Tannenbaum como respuesta para un sistema minimalista que pudiera usar en su curso de SO de pregrado.
- LINUX: Creado a partir de UNIX encuentra su cabida en el proyecto GNU
Ken Thompson y Dennis RitchieFernando Corbató Andrew Tannenbaum Linus Torvalds
ICC243Sistemas Operativos
P02: Definiciones e Historia de los Sistemas Operativos
Prof. Jonathan MakucSlide: 20