Download Historia de los Sistemas Operativos

Document related concepts

Anillo (seguridad informática) wikipedia , lookup

Cooperative Linux wikipedia , lookup

Núcleo (informática) wikipedia , lookup

Historia de los sistemas operativos wikipedia , lookup

Proceso de arranque en Linux wikipedia , lookup

Transcript
Unidad I Introducción
M.C. Juan Carlos Olivares Rojas
Agenda
1.1 Descripción de un Sistema Operativo
1.2 Historia de los Sistemas Operativos
1.3 Conceptos Básicos de los Sistemas Operativos
1.4 Estructura de los Sistemas Operativos
1.1 Descripción de un Sistema
Operativo
• ¿Qué es un sistema operativo?
• Es el software que controla la computadora, sirve
de interfaz hombre-máquina. Administra los
recursos de un sistema de cómputo hardware y
software.
Sistemas Operativos
• La finalidad de un sistema operativo es poder
operar (manejar) una computadora.
• Es el software principal de la computadora que se
encarga al encenderlo.
• Existen sistemas operativos muy básicos, por
ejemplo las consolas actuales de videojuegos
cuentan con un sistema operativo en ROM para
realizar muchas cosas.
Sistemas Operativos
• El desarrollo de los sistemas operativos está
influenciado por el desarrollo tecnológico, el cual
tiene como premisas (función objetivo):
• Reducir el esfuerzo (minimizar la frontera
hombre-máquina).
• Maximizar el rendimiento de los recursos
Sistemas Operativos
• Los principales recursos que administra un
sistema operativo son:
• Administración de procesos (programas en
ejecución, tareas)
• Administración de E/S (dispositivos, periféricos)
• Administración de memoria
• Administración de archivos
Sistemas Operativos
• La parte esencial de cualquier sistema operativo
se llama núcleo (kernel).
• Un sistema operativo es un software que se
ejecuta en modo supervisor, por lo que puede
acceder a toda la funcionalidad del
microprocesador. Los programas normales se
ejecutan en modo usuario, y no tienen acceso a
todas las funciones del microprocesador.
Sistemas Operativo
• Dependiendo del tipo de sistema operativo
dependerá las acciones a realizar el sistema
operativo.
• No es la misma administración de recursos para
un sistema monousuario que para uno
multiusuario, que por ejemplo la administración
de procesos en un sistema multitarea o de
tiempo compartido.
Sistemas Operativos
• Los sistemas operativos son totalmente
dependiente de la arquitectura de computadoras.
• Por este motivo sistemas operativos como
Windows no pueden ejecutarse sobre
arquitecturas como Power PC, sino que está
ligado a una arquitectura Intel x86.
Sistemas Operativos
• Recientemente han aparecido microprocesadores
con palabras de 64 bits, para ellos se utilizan
variaciones del sistema operativo para un manejo
óptimo de los recursos.
• Actualmente los sistemas operativos soportan
multitarea y concurrencia de manera nativa
soportando sistemas de múltiples procesadores
y/o núcleos.
Sistemas Operativos
• Para el bueno uso de los recursos se utilizarán
políticas y mecanismos de control. Por lo que un
sistema operativo se encarga de planificar,
controlar, dirigir y ejecutar operaciones del
sistema.
• Los programas pueden acceder directamente a
algunas funciones en modo supervisor del
sistema haciendo llamadas al sistema.
Sistemas Operativos
• Un sistema operativo por lo tanto tiene una
interfaz hacia el usuario y otra interfaz hacia los
programas (programadores).
• En UNIX esa distinción no existía.
• Así como el hardware y software son recursos no
excluyentes (son un binomio). El sistema
operativo está en la mitad de esos dos recursos.
Sistemas Operativos
• Actualmente la tendencia es hacia los sistemas
operativos para dispositivos empotrados: ATM,
Relojes, PDAs, celulares, electrodomésticos, etc.
• Los otros tipos de sistemas operativos que están
en boga son los de tiempo real.
• Ejemplos de sistemas operativos son: DOS,
Windows, Unix, Linux, Mac OS X, entre otros.
1.1 Historia de los Sistemas
Operativos
• En el principio Turing creó la Máquina…
• La gente fue presa del terror, y forzada por el
terror soportó duras y peligrosas pruebas con la
plataforma Windows y su artificiosísima licencia.
Y de nuevo le rogaron a Turing y von Neumann y
Moore que les enviase un salvador, pero nadie
fue encontrado capaz de la tarea hasta el
nacimiento de Linux…
Historia de los Sistemas Operativos
• ...Ahora puedes programar en el poder de las
fuentes; que el núcleo, las librerías y las utilidades
sean contigo, a través de todas las distribuciones,
hasta el fin de la época. Amén.
• La historia de los sistemas operativos viene de la
mano con el desarrollo del hardware y la
evolución de las computadoras.
Historia de los Sistemas Operativos
• Los paradigmas de comunicación han cambiado
con el pasado del tiempo, por ejemplo en las
décadas de 1950‐1970 surgió el concepto de “una
computadora múltiples usuario”.
• En las décadas de 1980‐1990 el paradigma
cambió a “una computadora un usuario”.
• Finalmente en la década de 2000, el paradigma a
cambiado a “un usuario múltiples computadoras”.
Historia de los Sistemas Operativos
• En la llamada generación 0 (1940’s) y primera
generación (1950’s) cuando empiezan a
desarrollarse las primeras computadoras no
existía el sistema operativo por lo que el usuario
tenía que agregar la configuración de circuitos
adecuada para que la máquina funcionase.
• La segunda generación (1960’s) surgen los
primeros sistemas operativos cuya finalidad
básica fue la de máquina extendida.
Historia de los Sistemas Operativos
• Los Sistemas Operativos (SO) de esta época
estaban diseñados complementa en ensamblador
por lo que eran totalmente dependientes de la
máquina.
• Los sistemas operativos permitían manipular
pocos periféricos. Se utilizaba el procesamiento
por lotes para mejorar el uso de los recursos.
Historia de los Sistemas Operativos
• En la tercera generación (1970’s) los sistemas
operativos se hacen más complejos dado que
utilizan conceptos como multiprogramación y
sistemas de tiempo compartidos.
• Unix se convierte en el primer SO en escribirse su
mayor parte en un lenguaje de alto nivel
(Lenguaje C) dejando las partes críticas del
sistema en Ensamblador.
Historia de los sistemas operativos
• En la cuarta generación (1980’s) aparecen los
primeros sistemas operativos de gran uso sobre
todo en PC: DOS y Windows. Por lo que los
sistemas operativos se vuelven más complejos y
fáciles de usar.
• A partir de 1990 el uso de redes computadoras
(sobre todo Internet) y multimedios en los SO se
ha extendido a tal punto de que forman parte de
los Sos actuales.
Historia de los Sistemas Operativos
• Actualmente el reto de los SOs se encuentra en
muchas partes, desde el paralelismo (múltiples
núcleos y CPUs, Hilos), sistemas de tiempo real,
sistemas empotrados (cómputo móvil, TPV,
dispositivos variados), compatibilidad de Sistemas
Operativos, entre otros.
Mandamientos Linux
• Y habló Dios todo esto, diciendo: "Yo soy Linux, tu
Dios, que te he sacado de la tierra de Microsoft,
de la casa de la servidumbre"
• No tendrás otro Dios que a mí.
• No instalarás sistemas operativos monopolistas,
ni te prosternarás ante ellos, y no los servirás,
porque soy un Dios celoso.
• Sí adulterarás, y te harás compatible con cuantos
sistemas se dejen.
Mandamientos Linux
•
•
•
•
Navegarás por páginas que soporten Linux.
No tomarás el nombre de Linux en vano.
Santificarás los demonios.
Honrarás a los profetas de Linux, a aquellos que
contribuyen.
• Cerrarás tu puerto de finger.
• No utilizaras software propietario.
• No saldrás a la red como root.
Mandamientos Linux
• Realizarás ingeniería inversa.
• No levantarás falso testimonio contra el kernel.
No tiene bugs.
• Estos mandamientos se resumen en dos: Amarás
a Linux sobre todas las cosas y al Open Source
como a ti mismo.
1.3 Conceptos Básicos de los Sistemas
Operativos
ACTIVIDAD
• Los aspectos más importante de un SO son:
procesos, archivos, shell y llamadas al sistema.
• Dar una definición de cada término, explicar con
ejemplos prácticos como poner notar su
presencia en nuestro SO.
• Hacer una línea del tiempo con los Sos
mencionados en el “Evangelio de Tux”
Conceptos básicos de los SOs
• Proceso es un programa en ejecución.
• Archivo: unidad básica de almacenamiento
persistente de la información.
• Shell: es la parte del SO que sirve de interfaz
(front end) entre los programas y usuarios con el
SO (back end).
Conceptos Básicos de los SOs
• Llamada al sistema: son la forma en como los
programas pueden acceder a instrucciones del
modo supervisor del microprocesador a través
del núcleo.
• No se debe confundir una llamada al sistema con
un comando, por ejemplo kill es un comando
(realizado por los usuarios) que permite enviar
señales a un proceso; y kill() es una llamada al
sistema que realiza la misma funcionalidad.
1.4 Estructura de los Sistemas
Operativos
• Los sistemas operativos han evolucionado en su
forma interna tratando de mejorar su
desempeño.
• Todo sistema operativo cuenta con un proceso
encargado de cargar las aplicaciones y el mismo
SO en memoria, dicho proceso se llama cargador.
Por ejemplo en Linux existe LILO (Linux LOader) y
Grub para cargar S0s.
Estructura de los SO
• Todo SO cuenta con un proceso principal llamado
Kernel o Núcleo el cual contiene las rutinas
básicas del sistema operativo.
• Algunos sistemas operativos manejan el concepto
de microkernel cuya finalidad es coordinar a los
demás administradores del SO: E/S, Procesos,
Memoria, Archivos.
• La estructura varía de SO en SO.
Estructura de los SO
• La primera estructura de un SO fue una
estructura monolítica en la cual no existia
separación de funcionales, por lo que el SO era
todo el Kernel en un solo proceso.
• Otra estructura conocida en los SO fue el modelo
cliente-servidor en donde el SO tiene varios
servidores administrando cada uno de los
recursos del sistema y el kernel funciona en base
a un cliente haciendo peticiones a los servidores.
Estructura de los SO
• Esta función de Cliente-Servidor ha permitido que
los SOs puedan migrarse a arquitecturas
distribuidas donde cada servicio puede estar
localizado en máquinas remotas distintas.
• Otra arquitectura de SOs utilizada con mucha
frecuencia es la de anillos, donde el sistema
operativo se encuentra estructurado en circulos
concéntricos llamados anillos donde cada anillo
tiene una funcionalidad bien definida.
Estructura de los SOs
• La estructura de SO más utilizada es la de capas.
Donde al igual que el anillo las capas están
dividas en niveles, dentro de cada nivel pueden
existen dos o más capas. Las capas pueden
interactuar con niveles superiores e inferiores así
como entre capas del mismo nivel
Bibliografía
• Sanders, Donald (1995). Informática Presente y
Futuro. México, McGraw Hill.
• Decker, Rick, Hirshfield, Stuart. Máquina analítica
(2001). México, Thomson.
¿Preguntas, dudas y comentarios?