icc243 sistemas operativos p02: definiciones e historia de los sistemas operativos prof. jonathan...

20
ICC243 Sistemas Operativos P02: Definiciones e Historia de los Sistemas Operativos Prof. Jonathan Makuc Slide: 1

Upload: roberto-pantano

Post on 29-Jan-2016

223 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: ICC243 Sistemas Operativos P02: Definiciones e Historia de los Sistemas Operativos Prof. Jonathan MakucSlide: 1

ICC243Sistemas Operativos

P02: Definiciones e Historia de los Sistemas Operativos

Prof. Jonathan MakucSlide: 1

Page 2: ICC243 Sistemas 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

Page 3: ICC243 Sistemas Operativos P02: Definiciones e Historia de los Sistemas Operativos Prof. Jonathan MakucSlide: 1

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.

Page 4: ICC243 Sistemas Operativos P02: Definiciones e Historia de los Sistemas Operativos Prof. Jonathan MakucSlide: 1

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.

Page 5: ICC243 Sistemas Operativos P02: Definiciones e Historia de los Sistemas Operativos Prof. Jonathan MakucSlide: 1

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.

Page 6: ICC243 Sistemas Operativos P02: Definiciones e Historia de los Sistemas Operativos Prof. Jonathan MakucSlide: 1

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.

Page 7: ICC243 Sistemas Operativos P02: Definiciones e Historia de los Sistemas Operativos Prof. Jonathan MakucSlide: 1

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.

Page 8: ICC243 Sistemas Operativos P02: Definiciones e Historia de los Sistemas Operativos Prof. Jonathan MakucSlide: 1

Sistemas Operativos – ICC243 [ 8 ] Prof. Jonathan Makuc

Sistemas Operativos: Definiciones e Historia

Kernel ://

Page 9: ICC243 Sistemas Operativos P02: Definiciones e Historia de los Sistemas Operativos Prof. Jonathan MakucSlide: 1

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

Page 10: ICC243 Sistemas Operativos P02: Definiciones e Historia de los Sistemas Operativos Prof. Jonathan MakucSlide: 1

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.

Page 11: ICC243 Sistemas Operativos P02: Definiciones e Historia de los Sistemas Operativos Prof. Jonathan MakucSlide: 1

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.

Page 12: ICC243 Sistemas Operativos P02: Definiciones e Historia de los Sistemas Operativos Prof. Jonathan MakucSlide: 1

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

Page 13: ICC243 Sistemas Operativos P02: Definiciones e Historia de los Sistemas Operativos Prof. Jonathan MakucSlide: 1

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

Page 14: ICC243 Sistemas Operativos P02: Definiciones e Historia de los Sistemas Operativos Prof. Jonathan MakucSlide: 1

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)

Page 15: ICC243 Sistemas Operativos P02: Definiciones e Historia de los Sistemas Operativos Prof. Jonathan MakucSlide: 1

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

Page 16: ICC243 Sistemas Operativos P02: Definiciones e Historia de los Sistemas Operativos Prof. Jonathan MakucSlide: 1

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.

Page 17: ICC243 Sistemas Operativos P02: Definiciones e Historia de los Sistemas Operativos Prof. Jonathan MakucSlide: 1

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.

Page 18: ICC243 Sistemas Operativos P02: Definiciones e Historia de los Sistemas Operativos Prof. Jonathan MakucSlide: 1

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

Page 19: ICC243 Sistemas Operativos P02: Definiciones e Historia de los Sistemas Operativos Prof. Jonathan MakucSlide: 1

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

Page 20: ICC243 Sistemas Operativos P02: Definiciones e Historia de los Sistemas Operativos Prof. Jonathan MakucSlide: 1

ICC243Sistemas Operativos

P02: Definiciones e Historia de los Sistemas Operativos

Prof. Jonathan MakucSlide: 20