220 likes | 404 Views
ICC243 Sistemas Operativos. P02: Definiciones e Historia de los Sistemas Operativos. Slide: 1. Prof. Jonathan Makuc. App1. App2. App3. Sistema Operativo. Hardware. Sistemas Operativos: Definiciones e Historia. Definición ://. Sistema Operativo
E N D
ICC243Sistemas Operativos P02: Definiciones e Historia de los Sistemas Operativos Slide: 1 Prof. Jonathan Makuc
App1 App2 App3 Sistema Operativo Hardware 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. Sistemas Operativos – ICC243 [ 2 ] 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 [ 3 ] 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 [ 4 ] 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 [ 5 ] 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 [ 6 ] 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 [ 7 ] Prof. Jonathan Makuc
Sistemas Operativos: Definiciones e Historia Kernel :// Sistemas Operativos – ICC243 [ 8 ] Prof. Jonathan Makuc
App1 App2 App3 Sistema Operativo Hardware Sistemas Operativos: Definiciones e Historia Kernel :// Espacios Espacio de Usuario syscalls Espacio de Kernel Sistemas Operativos – ICC243 [ 9 ] 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 [ 10 ] 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 [ 11 ] 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 [ 12 ] 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 [ 13 ] 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 [ 14 ] 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 [ 15 ] 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 [ 16 ] 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 [ 17 ] 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/360 1968 – Apollo Guidance Computer Sistemas Operativos – ICC243 [ 18 ] 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 Fernando Corbató Ken Thompson y Dennis Ritchie Andrew Tannenbaum Linus Torvalds Sistemas Operativos – ICC243 [ 19 ] Prof. Jonathan Makuc
ICC243Sistemas Operativos P02: Definiciones e Historia de los Sistemas Operativos Slide: 20 Prof. Jonathan Makuc