miércoles, 18 de abril de 2012

Sistema operativo (SO)


Tomada

Es un programa o conjunto de programas que en un sistema informático gestiona los recursos de hardware y provee servicios a los programas de aplicación, y se ejecuta en modo privilegiado respecto de los restantes.

Los sistemas operativos más conocidos son los siguientes:
1) DOS: El famoso DOS, que quiere decir Disk Operating System (sistema operativo de disco), es más conocido por los nombres de PC-DOS y MS-DOS. MS-DOS fue hecho por la compañía de software Microsoft y es en esencia el mismo SO que el PC-DOS.
La razón de su continua popularidad se debe al aplastante volumen de software disponible y a la base instalada de computadoras con procesador Intel.
Cuando Intel liberó el 80286, DOS se hizo tan popular y firme en el mercado que DOS y las aplicaciones DOS representaron la mayoría del mercado de software para PC. En aquel tiempo, la compatibilidad IBM, fue una necesidad para que los productos tuvieran éxito, y la "compatibilidad IBM" significaba computadoras que corrieran DOS tan bien como las computadoras IBM lo hacían.
Aún con los nuevos sistemas operativos que han salido al mercado, todavía el DOS es un sólido contendiente en la guerra de los SO.
2) Windows 3.1: Microsoft tomo una decisión, hacer un sistema operativo que tuviera una interfaz gráfica amigable para el usuario, y como resultado obtuvo Windows. Este sistema muestra íconos en la pantalla que representan diferentes archivos o programas, a los cuales se puede accesar al darles doble click con el puntero del mouse. Todas las aplicaciones elaboradas para Windows se parecen, por lo que es muy fácil aprender a usar nuevo software una vez aprendido las bases.
3) Windows 95: En 1995, Microsoft introdujo una nueva y mejorada versión del Windows 3.1. Las mejoras de este SO incluyen soporte multitareas y arquitectura de 32 bits, permitiendo así correr mejores aplicaciónes para mejorar la eficacia del trabajo.}
4.Windows NT: Esta versión de Windows se especializa en las redes y servidores. Con este SO se puede interactuar de forma eficaz entre dos o más computadoras.

5) OS/2: Este SO fue hecho por IBM. Tiene soporte de 32 bits y su interfaz es muy buena. El problema que presenta este sistema operativo es que no se le ha dad el apoyo que se merece en cuanto a aplicaciones se refiere. Es decir, no se han creado muchas aplicaciones que aprovechen las características de el SO, ya que la mayoría del mercado de software ha sido monopolizado por Windows.
6) Mac OS: Las computadoras Macintosh no serían tan populares como lo son si no tuvieran el Mac OS como sistema operativo de planta. Este sistema operativo es tan amigable para el usuario que cualquier persona puede aprender a usarlo en muy poco tiempo. Por otro lado, es muy bueno para organizar archivos y usarlos de manera eficaz. Este fue creado por Apple Computer, Inc.
7) UNIX: El sistema operativo UNIX fue creado por los laboratorios Bell de AT&T en 1969 y es ahora usado como una de las bases para la supercarretera de la información. Unix es un SO multiusuario y multitarea, que corre en diferentes computadoras, desde supercomputadoras, Mainframes, Minicomputadoras, computadoras personales y estaciones de trabajo. Esto quiere decir que muchos usuarios puede estar usando una misma computadora por medio de terminales o usar muchas de ellas. 
MAS INFORMACION



Funciones del SO


Un SO es un administrador de recursos y una interfaz con los programas, los usuarios y el HW.
Sus funciones son:
  1. Compartir el hardware entre usuarios
  2. Facilitar la entrada salida
  3. Planificar recursos entre usuarios
  4. Definir la “interfaz de usuario
  5. Permitir a los usuarios compartir los datos
  6. Recuperarse de los errores
  7. Los recursos claves que un SO administra son:los procesadores y los dispositivos de E/S  el almacenamiento y los datos

¿Por qué son interesantes los SO?


Combinan aspectos referentes a distintas áreas relacionadas con los computadores: lenguajes, hardware, estructuras de datos, algoritmos, etc.
 

Actúan como coordinadores entre los usuarios y los programas resolviendo posibles conflictos.

Hacen que los computadores parezcan ser más de
lo que son en realidad.

Son sistemas software grandes y complejos, por lo tanto es necesario abordarlos de una forma estructurada.

Las ideas utilizadas son aplicables a otras parcelasdel software.

Sistemas operativos multiprogramados



Surge un nuevo avance en el hardware: el hardware con protección de memoria. Lo que ofrece nuevas soluciones a los problemas de rendimiento:
  • Se solapa el cálculo de unos trabajos con la entrada/salida de otros trabajos.
  • Se pueden mantener en memoria varios programas.
  • Se asigna el uso de la CPU a los diferentes programas en memoria.
Debido a los cambios anteriores, se producen cambios en el monitor residente, con lo que éste debe abordar nuevas tareas, naciendo lo que se denomina como Sistemas Operativos multiprogramados, los cuales cumplen con las siguientes funciones:
  • Administrar la memoria.
  • Gestionar el uso de la CPU (planificación).
  • Administrar el uso de los dispositivos de E/S.
Cuando desempeña esas tareas, el monitor residente se transforma en un sistema operativo multiprogramado.

Sistemas de tiempo real



Surge un nuevo avance en el hardware: el hardware con protección de memoria. Lo que ofrece nuevas soluciones a los problemas de rendimiento:
  • Se solapa el cálculo de unos trabajos con la entrada/salida de otros trabajos.
  • Se pueden mantener en memoria varios programas.
  • Se asigna el uso de la CPU a los diferentes programas en memoria.
Debido a los cambios anteriores, se producen cambios en el monitor residente, con lo que éste debe abordar nuevas tareas, naciendo lo que se denomina como Sistemas Operativos multiprogramados, los cuales cumplen con las siguientes funciones:
  • Administrar la memoria.
  • Gestionar el uso de la CPU (planificación).
  • Administrar el uso de los dispositivos de E/S.
Cuando desempeña esas tareas, el monitor residente se transforma en un sistema operativo multiprogramado.

sistema con almacenamiento temporal de E/S


Los avances en el hardware crearon el soporte de interrupción  y posteriormente se llevó a cabo un intento de solución más avanzado: solapar la E/S de un trabajo con sus propios cálculos, por lo que se creó el sistema de  buffer con el siguiente funcionamiento:
  • Un programa escribe su salida en un área de memoria (búfer 1).
  • El monitor residente inicia la salida desde el buffer y el programa de aplicación calcula depositando la salida en el buffer 2.
  • La salida desde el buffer 1 termina y el nuevo cálculo también.
  • Se inicia la salida desde el buffer 2 y otro nuevo cálculo dirige su salida al buffer 1.
  • El proceso se puede repetir de nuevo.
Los problemas surgen si hay muchas más operaciones de cálculo que de E/S (limitado por la CPU) o si por el contrario hay muchas más operaciones de E/S que cálculo (limitado por la E/S).

Modos de ejecución en un CPU


Las aplicaciones no deben poder usar todas las instrucciones de la CPU. No obstante el Sistema Operativo, tiene que poder utilizar todo el juego de instrucciones del CPU. Por ello, una CPU debe tener (al menos) dos modos de operación diferentes:
  • Modo usuario: el CPU podrá ejecutar sólo las instrucciones del juego restringido de las aplicaciones.
  • Modo supervisor: la CPU debe poder ejecutar el juego completo de instrucciones.

Llamadas al sistema


Una aplicación, normalmente no sabe dónde está situada la rutina de servicio de la llamada. Por lo que si ésta se codifica como una llamada de función, cualquier cambio en el S.O. haría que hubiera que reconstruir la aplicación.
Pero lo más importante es que una llamada de función no cambia el modo de ejecución de la CPU. Con lo que hay que conseguir llamar a la rutina de servicio, sin tener que conocer su ubicación, y hacer que se fuerce un cambio de modo de operación de la CPU en la llamada
 (y la recuperación del modo anterior en el retorno).
Esto se hace utilizando instrucciones máquina diseñadas específicamente para este cometido, distintas de las que se usan para las llamadas de función.

Sistemas distribuidos




Funciona como uno centralizado, pero se ejecuta en múltiples procesadores independientes.
Es distribuido si está formado por varios elementos que cooperan para dar un servicio único.
Un SOD no es un sistema simplemente replicado.
Hay un particionado, una cooperación, ningún componente sobrevive solo, hay mentalidad de grupo.
El SW el determina si el sistema es o no distribuido.
Si puedes decir qué máquinas estás usando, dónde corren los programas, dónde están los archivos, entonces NO es SOD.

Sistemas batch (off-line)


Objetivo: Reducir los tiempos de espera de E/S.
Método: Utilizar dispositivos de E/S másrápidos(cintas o discos) y dejar que las lectoras y lasimpresoras sean manejadas mástarde por otrasCPU’s (dispositivos lógicos).
Ejemplo:
IBM 1401 (ordenador “barato”) se encarga demanipular la lectora de tarjetas yla impresora
IBM 7094 (ordenador caro) se encarga delcálculo. Lee
y deposita los resultados en cintas.

VIDEO




Historia de linux


El núcleo Linux, ha sido marcado por un crecimiento constante en cada momento de su historia. Desde la primera publicación de su código fuente en 1991, Dacido desde un pequeño número de archivos en lenguaje C bajo una licencia que prohíbe la distribución comercial a su estado actual de cerca de 296 MiBs de fuente bajo la Licencia pública general de GNU.
El nombre Linux ha generado gran controversia y nuevas alternativas no han tardado en aparecer para hacerle competencia.

Creador de linux

Linus Benedict Torvalds nació en Helsinki, Finlándia, el año 1969. Empezó a "trabajar" con ordenadores a los 10 años, cuando su abuelo le compró un Comodore el año 1980. Éste buen señor era un matemático y estadista. Trabajava a la Universidad y fué quién "enganchó" al mundo de los computadores a nuestro buen amigo Linus. Con el paso del tiempo, Linus pasó a tener un Sinclair QL, un gran ordenador de Clive Sinclair (creador del conocido Spectrum), que tenía algun pequeño error de diseño. Linus se sintió especialmente atraido por esta máquina, después de crear aplicaciones para ésta computadora y de haber retocado su hardware con la finalidad de adaptarlo a sus necesidades. El problema que tenía dicha máquina era que los recursos eran insuficientes para poder llevar a la práctica los planes de Linus. Además, no era un equipo compatible. Así pues, el mes de enero de 1991 compró su primer PC, un 386. Retrocedamos otra vez en el tiempo, hasta 1988. Éste año fué cuando Linus entró a la Universidad. Este mismo año fué cuando un sistema operativo didáctico, basado en Unix y creado por Andy Tannenbaum, empezó a cobrar importáncia. Dicho sistema operativo era el famoso Minix.

Caracteristicas de Linux

Aqui teneis una lista bastante completa con las caracteristicas de LINUXMultitarea: La palabra multitarea describe la habilidad de ejecutar varios programas al mismo tiempo.
  • LINUX utiliza la llamada multitarea preeventiva, la cual asegura que todos los programas que se estan utilizando en un momento dado seran ejecutados, siendo el sistema operativo el encargado de ceder tiempo de microprocesador a cada programa.
  • Multiusuario: Muchos usuarios usando la misma maquina al mismo tiempo.
  • Multiplataforma: Las plataformas en las que en un principio se puede utilizar Linux son 386-, 486-. Pentium, Pentium Pro, Pentium II,Amiga y Atari, tambien existen versiones para su utilizacion en otras plataformas, como Alpha, ARM,MIPS, PowerPC y SPARC.
  • Multiprocesador: Soporte para sistemas con mas de un procesador esta disponible para Intel y SPARC.
  • Funciona en modo protegido 386.
  • Protección de la memoria entre procesos, de manera que uno de ellos no pueda colgar el sistema.
  • Carga de ejecutables por demanda: Linux sólo lee del disco aquellas partes de un programa que están siendo usadas actualmente.
  • Política de copia en escritura para la compartición de páginas entre ejecutables: esto significa que varios procesos pueden usar la misma zona de memoria para ejecutarse. Cuando alguno intenta escribir en esa memoria, la página (4Kb de memoria) se copia a otro lugar. Esta política de copia en escritura tiene dos beneficios: aumenta la velocidad y reduce el uso de memoria.
  • Memoria virtual usando paginación (sin intercambio de procesos completos) a disco: A una partición o un archivo en el sistema de archivos, o ambos, con la posibilidad de añadir más áreas de intercambio sobre la marcha Un total de 16 zonas de intercambio de 128Mb de tamaño máximo pueden ser usadas en un momento dado con un límite teórico de 2Gb para intercambio. Este limite se puede aumentar facilmente con el cambio de unas cuantas lineas en el codigo fuente.
  • La memoria se gestiona como un recurso unificado para los programas de usuario y para el caché de disco, de tal forma que toda la memoria libre puede ser usada para caché y ésta puede a su vez ser reducida cuando se ejecuten grandes programas.
  • Librerías compartidas de carga dinámica (DLL's) y librerías estáticas.
  • Se realizan volcados de estado (core dumps) para posibilitar los análisis post-mortem, permitiendo el uso de depuradores sobre los programas no sólo en ejecución sino también tras abortar éstos por cualquier motivo.
  • Compatible con POSIX, System V y BSD a nivel fuente.