Sie sind auf Seite 1von 50

EDUCACIN GENERAL DE EDUCACIN SUPERIOR TECNOLGICA INSTITUTO TECNOLOGICO DE ACAPULCO Educacin Tecnolgica con Compromiso Social

INGENIERIA EN SISTEMAS COMPUTACIONALES

SISTEMAS OPERTATIVOS ASIGNATURA

Actividades de aprendizaje de la unidad I Identificar los componentes de los sistemas operativos, as como el objetivo, la funcin y las caractersticas de diferentes sistemas operativos.

Competencia especfica a desarrollar:

Profesor: Alumnos:

Silvestre Bedolla Solano. ******

Acapulco, Gro. A Mayo del 2012 .

INDICE Introduccin Actividad 1 Conocer y describir avances importantes en la historia de los sistemas operativos con el propsito de interpretar la complejidad actual de los mismos. Como resultado de la resea anterior clasificar segn diferentes criterios los desarrollos Histricos de sistemas operativos comerciales, tales como, Windows, Linux y Unix. Investigar, exponer y discutir de forma grupal los tipos de sistemas operativos. Clasificarlos de acuerdo al nmero de usuarios que atiende, al nmero de programas que ejecuta al mismo tiempo al nmero de procesadores que administra por el tiempo de respuesta que ofrecen al usuario. Analizar la operatividad de los programas dada una peticin del usuario. Organizar la informacin obtenida, por equipos, para presentarla a todo el grupo. Analizar, en equipo, las estructura de diferentes sistemas operativos y su clasificacin. Elaborar conclusiones por equipo y presentarlas al grupo. Investigar, evaluar, analizar, aplicar y crear componentes de un sistema operativo (Solaris, Unix, Linux, Windows). Realizar un glosario de la terminologa bsica de los SO. Elaborar llamadas al sistema y distinguir el mecanismo de las interrupciones en el contexto de los procesos

Pagina 3 4

Actividad 2

Actividad 3

27

Actividad 4

31

Actividad 5

32

Actividad 6

33

Actividad 7

34

Actividad 8

37

Actividad 9 Actividad 10

40 47

Bibliografa

50

INTRODUCCION

Los sistemas operativos han venido evolucionando a travs de los aos. Ya que los sistemas operativos se han apegado ntimamente a la arquitectura de las computadoras en las cuales se ejecutan. Con las primeras mquinas, era algo muy complicado ser programador, y no slo porque los lenguajes de programacin no haban evolucionado, sino porque se deba manejar el ordenador desde la consola y la consola en aquellos tiempos significaba un puado de interruptores. Afortunadamente, esto ha ido cambiando y se lo debemos, en parte, a que han nacido y evolucionado los sistemas operativos. Como tambin lo han hecho las mquinas, los lenguajes de programacin e incluso las ideas.

ACTIVIDAD 1 Conocer y describir avances importantes en la historia de los sistemas operativos con el propsito de interpretar la complejidad actual de los mismos. Historia de los Sistemas Operativos Los sistemas operativos han estado evolucionando durante muchos aos. Dado que histricamente, los sistemas operativos han estado de manera muy estrecha vinculados con la arquitectura de las computadoras en las que se ejecutan, estudiaremos las sucesivas generaciones de computadoras para ver qu clase de sistemas operativos usaban. Esta correspondencia entre las generaciones de sistemas operativos y de computadoras es algo burda, pero establece un poco de estructura que de otra forma seria inexistente. La primera computadora digital verdadera fue diseada por el matemtico ingls Charles Babbage (1792-1871. Aunque Babbage invirti la mayor parte de su vida y su fortuna tratando de construir su maquina analtica; nunca logro que funcionara correctamente porque era totalmente mecnica, y la tecnologa de su poca no poda producir las ruedas, engranes y levas con la elevada precisin que l requera. Huelga decir que la maquina analtica no contaba con un sistema operativo. Primera Generacin (dcada de 1950) Los sistemas operativos de los aos cincuenta fueron diseados para hacer ms fluida la transicin entre trabajos. Antes de que los sistemas fueran diseados, se perda un tiempo considerable entre la terminacin de un trabajo y el inicio del siguiente. Este fue el comienzo de los sistemas de procesamiento por lotes, donde los trabajos se reunan por grupos o lotes.

Segunda Generacin (a mitad de la dcada de 1960) Como podrn saber los sistemas operativos fue el desarrollo de los sistemas compartidos con multiprogramacin, y los principios del multiprocesamiento. En los sistemas de multiprogramacin, varios programas de usuario se encuentran al mismo tiempo en el almacenamiento principal, y el procesador se cambia rpidamente de un trabajo a otro. En los sistemas de multiprocesamiento se utilizan varios procesadores en un solo sistema computacional, con la finalidad de incrementar el poder de procesamiento de la mquina.
4

Tercera Generacin (mitad de dcada 1960 a mitad dcada de 1970) Se inicia en 1964, con la introduccin de la familia de computadores Sistema/360 de IBM. Los computadores de esta generacin fueron diseados como sistemas para usos generales. Casi siempre eran sistemas grandes, voluminosos, con el propsito de serlo todo para toda la gente. Eran sistemas de modos mltiples, algunos de ellos soportaban simultneamente procesos por lotes, tiempo compartido, procesamiento de tiempo real y multiprocesamiento. Eran grandes y costosos, nunca antes se haba construido algo similar, y muchos de los esfuerzos de desarrollo terminaron muy por arriba del presupuesto y mucho despus de lo que el planificador marcaba como fecha de terminacin. Estos sistemas introdujeron mayor complejidad a los ambientes computacionales; una complejidad a la cual, en un principio, no estaban acostumbrados los usuarios. Cuarta Generacin (mitad de dcada de 1970 en adelante) Los sistemas de la cuarta generacin constituyen el estado actual de la tecnologa. Muchos diseadores y usuarios se sienten aun incmodos, despus de sus experiencias con los sistemas operativos de la tercera generacin. Con la ampliacin del uso de redes de computadores y del procesamiento en lnea los usuarios obtienen acceso a computadores alejados geogrficamente a travs de varios tipos de terminales.

ACTIVIDAD 2 Como resultado de la resea anterior clasificar segn diferentes criterios los desarrollos Histricos de sistemas operativos comerciales, tales como, Windows, Linux y Unix.

WINDOWS Microsoft Windows es el nombre de una familia de sistemas operativos desarrollados por Microsoft desde 1981, ao en que el proyecto se denominaba Interface Manager. Anunciado en 1983, Microsoft comercializ por primera vez el entorno operativo denominado Windows en noviembre de 1985 como complemento para MS-DOS, en respuesta al creciente inters del mercado en una interfaz grfica de usuario (GUI) que fuera introducido por otros sistemas operativos como Mac OS y de otras compaas como Xerox.1 En esas fechas, Microsoft consigui un contrato de arrendamiento de su sistema operativo con el gigante de la informtica, IBM, por lo que fue preinstalado desde fbrica en la mayora de ordenadores personales del mundo, lo que lo convirti en el ms usado y popular. En octubre de 2009, Windows tena aproximadamente el 91% de la cuota de mercado de sistemas operativos en equipos cliente que acceden a Internet. 2 3 4 Las versiones ms recientes de Windows son Windows 7 para equipos de escritorio, Windows Server 2008 R2 para servidores y Windows Phone 7 para dispositivos mviles.

Versiones Primeras versiones


WINDOWS 1.0

La historia de Windows se remonta a septiembre del ao 1981, con el proyecto denominado Interface Manager. Se anunci en noviembre de 1983 (despus del Apple Lisa, pero antes de Macintosh) bajo el nombre Windows, pero Windows 1.0 no se public hasta el mes de noviembre de 1985. El Shell de Windows 1.0 es un programa conocido como MS-DOS Executive. Otros programas suministrados fueron la Calculadora, Calendario, Cardfile, Visor del portapapeles, Reloj, Panel de control, el Bloc de notas, Paint, Reversi, Terminal y Write. Windows 1.0 no permite la superposicin de ventanas, debido a que Apple Computer ya contaba con esta caracterstica. WINDOWS 2.0
6

Windows 2.0 fue lanzado en octubre de 1987 y present varias mejoras en la interfaz de usuario y en la gestin de memoria e introdujo nuevos mtodos abreviados de teclado. Tambin podra hacer uso de memoria expandida. Windows 2.1 fue lanzado en dos diferentes versiones: Windows/386 empleando Modo 8086 virtual para realizar varias tareas de varios programas de DOS, y el modelo de memoria paginada para emular la memoria expandida utilizando la memoria extendida disponible.

Windows 3.0 y 3.1 Windows 3.0 (1990) y Windows 3.1 (1992) mejoraron el diseo, principalmente debido a la memoria virtual y los controladores de dispositivo virtual deslastrarles (VxD) que permiti compartir dispositivos arbitrarios entre DOS y Windows. Adems, las aplicaciones de Windows ahora podran ejecutar en modo protegido (cuando se ejecuta Windows en el modo estndar o 386 mejorado), que les da acceso a varios megabytes de memoria y se elimina la obligacin de participar en el esquema de la memoria virtual de software. Windows 95, 98, y Me Windows 95 fue lanzado en 1995, con una nueva interfaz de usuario, compatibilidad con nombres de archivo largos de hasta 250 caracteres, y la capacidad de detectar automticamente y configurar el hardware instalado (plug and play). De forma nativa podran ejecutar aplicaciones de 32-bits y present varias mejoras tecnolgicas que aumentaron su estabilidad respecto a Windows 3.1. Hubo varios OEM Service Releases (OSR) de Windows 95, cada una de las cuales fue aproximadamente equivalente a un Service Pack.

Familia NT La familia de sistemas Windows NT fue hecha y comercializada por un mayor uso de fiabilidad de negocios. El primer lanzamiento fue de MS Windows NT 3.1 (1993), el nmero 3.1 para que coincida con la versin para Windows, que fue seguido por NT 3.5 (1994), NT 3.51 (1995), NT 4.0 (1996), y Windows 2000 (2000). 2000 es la ltima versin de Windows NT, que no incluye la activacin de productos de Microsoft. NT 4.0 fue el primero en esta lnea para implementar la interfaz de usuario de Windows 95 (y el primero en incluir tiempos de ejecucin de 32 bits integrada de Windows 95).

Sistemas operativos de 64 bits Windows NT incluye soporte para varias plataformas diferentes antes de x86 basado en ordenador personal se convirti en dominante en el mundo profesional. Versiones de NT desde 3.1 a 4.0 diversamente compatibles PowerPC, DEC Alpha y MIPS R4000, algunos de los cuales eran procesadores de 64 bits, aunque el sistema operativo trat procesadores como de 32 bits. Con la introduccin de la arquitectura Intel Itanium, que se conoce como IA-64, Microsoft lanz nuevas versiones de Windows para apoyarlo. Las versiones Itanium de Windows XP y Windows Server 2003 fueron liberadas al mismo tiempo que con sus principales contrapartes x86 (32-bit). El 25 de Abril de 2005, Microsoft lanz Windows XP Professional x64 Edition y x64 versin de Windows Server 2003 para el apoyo de x86-64 (o x64 en la terminologa de Microsoft). Microsoft elimin el soporte para la versin de Itanium de Windows XP en 2005. Windows Vista es la primera versin de usuario final de Windows que Microsoft ha publicado simultneamente en las ediciones de x86 y x64. Windows Vista no es compatible con la arquitectura Itanium. La familia de Windows de 64 bits moderna comprende a AMD64/intel64 versiones de Windows Vista y Windows Server 2008 en tanto en Itanium y en ediciones x64. Windows Server 2008 R2 cae la versin de 32 bits, y Windows 7 que tambin est en versiones de 32 bits (para mantener la compatibilidad). Windows CE Windows CE (oficialmente conocido como Windows Embedded), es una edicin de Windows que se ejecuta en equipos minimalistas, tales como sistemas de navegacin por satlite y, excepcionalmente, los telfonos mviles. Windows Embedded se ejecuta como CE, en lugar de NT, por lo que no debe confundirse con Windows XP Embedded, que es NT. Windows CE, que se utiliz en la Dreamcast junto con sistema operativo propietario de Sega para la consola. Windows CE es el ncleo del que deriva Windows Mobile. Futuro de Windows Windows 8, el sucesor de Windows 7, se encuentra actualmente en desarrollo. Microsoft ha publicado una entrada de blog en holands el 22 de octubre de 2010 insinuando que Windows 8 ser lanzado en 2 aos. 5 Tambin, durante el discurso Electronics Show pre-Consumer, CEO de Microsoft anunci que Windows 8 tambin se ejecutar en procesadores Arquitectura ARM. Dado que las CPUs ARM son generalmente en forma de SOCs se encuentran en dispositivos mviles, este nuevo anuncio implica que Windows 8 ser ms compatible con los dispositivos mviles, como netbooks, tablet PC y smartphones.6 Tambin tendr soporte para Live USB, con Windows To Go.

Historia La primera versin de Microsoft Windows, versin 1.0, lanzada en noviembre de 1985, compiti con el sistema operativo de Apple. Careca de un cierto grado de funcionalidad y logr muy poca popularidad. Windows 1.0 no era un sistema operativo completo; ms bien era una extensin grfica de MS-DOS. Windows versin 2.0 fue lanzado en noviembre de 1987 y fue un poco ms popular que su predecesor. Windows 2.03 (lanzado en enero de 1988) incluy por primera vez ventanas que podan solaparse unas a otras. El resultado de este cambio llev a Apple a presentar una demanda contra Microsoft, debido a que infringan derechos de autor. Windows versin 3.0, lanzado en 1990, fue la primera versin de Microsoft Windows que consigui un amplio xito comercial, vendiendo 2 millones de copias en los primeros seis meses. Presentaba mejoras en la interfaz de usuario y en la multitarea. Recibi un lavado de cara en Windows 3.1, que se hizo disponible para el pblico en general el 1 de marzo de 1992. El soporte de Windows 3.1 termin el 31 de diciembre de 2001. En julio de 1993, Microsoft lanz Windows NT basado en un nuevo kernel. NT era considerado como el sistema operativo profesional y fue la primera versin de Windows para utilizar la Multitarea apropiativa. Windows NT ms tarde sera reestructurado tambin para funcionar como un sistema operativo para el hogar, con Windows XP. El 24 de agosto de 1995, Microsoft lanz Windows 95, una versin nueva para los consumidores, y grandes fueron los cambios que se realizaron a la interfaz de usuario, y tambin se utiliza multitarea apropiativa. Windows 95 fue diseado para sustituir no solo a Windows 3.1, sino tambin de Windows para Workgroups y MSDOS. Tambin fue el primer sistema operativo Windows para utilizar las capacidades Plug and Play. Los cambios que trajo Windows 95 eran revolucionarios, a diferencia de los siguientes, como Windows 98 y Windows Me. El soporte estndar para Windows 95 finaliz el 31 de diciembre de 2000 y el soporte ampliado para Windows 95 finaliz el 31 de diciembre de 2001. El siguiente en la lnea de consumidor fue lanzado el 25 de junio de 1998, Microsoft Windows 98. Sustancialmente fue criticado por su lentitud y por su falta de fiabilidad en comparacin con Windows 95, pero muchos de sus problemas bsicos fueron posteriormente rectificados con el lanzamiento de Windows 98 Second Edition en 1999. El soporte estndar para Windows 98 termin el 30 de junio de 2002, y el soporte ampliado para Windows 98 termin el 11 de julio de 2006. Como parte de su lnea profesional, Microsoft lanz Windows 2000 en febrero de 2000. La versin de consumidor tras Windows 98 fue Windows Me (Windows Millennium Edition).
9

En octubre de 2001, Microsoft lanz Windows XP, una versin que se construy en el kernel de Windows NT que tambin conserva la usabilidad orientada al consumidor de Windows 95 y sus sucesores. En dos ediciones distintas, Home y Professional, el primero carece por mucho de la seguridad y caractersticas de red de la edicin Professional. Adems, la primera edicin Media Center fue lanzada en 2002, con nfasis en el apoyo a la funcionalidad de DVD y TV, incluyendo grabacin de TV y un control remoto. El soporte estndar para Windows XP termin el 14 de abril de 2009. El soporte extendido continuar hasta el 8 de abril de 2014. En abril de 2003, Windows Server 2003 se introdujo, reemplazando a la lnea de productos de servidor de Windows 2000 con un nmero de nuevas caractersticas y un fuerte enfoque en la seguridad; lo cual fue seguido en diciembre de 2005 por Windows Server 2003 R2. El 30 de enero de 2007, Microsoft lanz Windows Vista. Contiene una serie de caractersticas nuevas, desde un Shell rediseado y la interfaz de usuario da importantes cambios tcnicos, con especial atencin a las caractersticas de seguridad. Est disponible en varias ediciones diferentes y ha sido objeto de muy severas crticas debido a su patente inestabilidad, sobredemanda de recursos de hardware, alto costo, y muy alta incompatibilidad con sus predecesores, hecho que no ocurra con stos. El 22 de octubre de 2009, Microsoft lanz Windows 7. A diferencia de su predecesor, Windows Vista, que introdujo a un gran nmero de nuevas caractersticas, Windows 7 pretenda ser una actualizacin incremental, enfocada a la lnea de Windows, con el objetivo de ser compatible con aplicaciones y hardware que Windows Vista no era compatible. Windows 7 tiene soporte multitouch, un Shell de Windows rediseado con una nueva barra de tareas, conocido como Sper sistema red llamado HomeGroup, y mejoras en el rendimiento sobre todo en velocidad y en menor consumo de recursos.

10

Aplicaciones de Windows Internet Explorer Windows Internet Explorer (tambin conocido como IE) es un navegador web de Internet producido por Microsoft para su plataforma Windows. Tambin existieron versiones para Solaris y Apple Macintosh aunque fueron descontinuadas en el 2002 y 2006 respectivamente. Reproductor de Windows Media Windows Media Player, Reproductor de Windows Media (abreviado WMP) es un reproductor multimedia creado por Microsoft. Se han lanzado varias versiones del reproductor, siendo la versin 12 la ltima existente, que se incluye con Windows 7. Windows Defender Windows Defender es un programa de seguridad cuyo propsito es prevenir, quitar y poner en cuarentena software espa en Microsoft Windows. Windows Media Center Windows Media Center es una aplicacin con una interfaz de usuario, diseado para servir como equipo personal de cine en casa. Est incluido en Windows XP Media Center Edition como parte de dicha versin especial del sistema operativo, ya que la aplicacin no puede ser aadida a una instalacin existente de XP. WordPad WordPad es un procesador de textos bsico que se incluye con casi todas las versiones de Microsoft Windows desde Windows 95 hacia arriba. Paint Microsoft Paint (cuyo nombre original era Paintbrush) fue desarrollado en el ao 1982 por la recin creada Microsoft, a cargo del programador de computadoras Bill Gates. Paint ha acompaado al sistema operativo Microsoft Windows desde la versin 1.0. Siendo un programa bsico, es incluido en las nuevas versiones de este sistema.

11

Linux

Linux, es un sistema operativo. Es una implementacin de libre distribucin UNIX para computadoras personales (PC), servidores y estaciones de trabajo. Linux (pronunciacin IPA: /linuks/) es la denominacin de un sistema operativo tipo-Unix y el nombre de un ncleo. Es uno de los paradigmas ms prominentes del software libre y del desarrollo del cdigo abierto, cuyo cdigo fuente est disponible pblicamente, para que cualquier persona pueda libremente usarlo, estudiarlo, redistribuirlo y, con los conocimientos informticos adecuados, modificarlo. Linux es usado como sistema operativo en una amplia variedad de plataformas de hardware y computadores, incluyendo los computadores de escritorio (PCs x86 y x86-64, y Macintosh y PowerPC), servidores, supercomputadores, mainframes, y dispositivos empotrados as como telfonos celulares. En 1983 Richard Stallman fund el proyecto GNU, con el fin de crear sistemas operativos parecidos a UNIX y compatibles con POSIX. Dos aos ms tarde cre la "Fundacin del Software Libre" y escribi la GNU General Public License para posibilitar el software libre en el sistema de copyright.

Caractersticas de Linux Multitarea: La palabra multitarea describe la habilidad de ejecutar varios programas al mismo tiempo. LINUX utiliza la llamada multitarea preventiva, la cual asegura que todos los programas que se estn utilizando en un momento dado sern ejecutados, siendo el sistema operativo el encargado de ceder tiempo de microprocesador a cada programa. Multiusuario: Muchos usuarios usando la misma mquina 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, tambin existen versiones para su utilizacin en otras plataformas, como Alpha, ARM,MIPS, PowerPC y SPARC. Multiprocesador: Soporte para sistemas con ms de un procesador est disponible para Intel y SPARC. Funciona en modo protegido 386. Proteccin de la memoria entre procesos, de manera que uno de ellos no pueda colgar el sistema. Carga de ejecutables por demanda: Linux slo lee del disco aquellas partes de un programa que estn siendo usadas actualmente.

12

Poltica de copia en escritura para la comparticin de pginas entre ejecutables: esto significa que varios procesos pueden usar la misma zona de memoria para ejecutarse. Cuando alguno intenta escribir en esa memoria, la pgina (4Kb de memoria) se copia a otro lugar. Esta poltica de copia en escritura tiene dos beneficios: aumenta la velocidad y reduce el uso de memoria. Memoria virtual usando paginacin (sin intercambio de procesos completos) a disco: A una particin o un archivo en el sistema de archivos, o ambos, con la posibilidad de aadir ms reas de intercambio sobre la marcha Un total de 16 zonas de intercambio de 128Mb de tamao mximo pueden ser usadas en un momento dado con un lmite terico de 2Gb para intercambio. Este lmite se puede aumentar fcilmente con el cambio de unas cuantas lneas en el cdigo 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.

DISTRIBUIDORES LINUX

Una distribucin es un modo de facilitar la instalacin, la configuracin y el mantenimiento de un sistema GNU/Linux. Existen numerosas distribuciones Linux (tambin conocidas como "distros"), ensambladas por individuos, empresas y otros organismos. Entre las distribuciones de GNU/Linux, destacan el proyecto Debian/GNU. Debian nace como una iniciativa no comercial de la FSF, aunque luego se independiza de sta y va ms all del propio sistema GNU/Linux. Es la nica de las grandes distribuciones que no tiene intereses comerciales ni empresariales. Son sus propios usuarios, quienes mantienen la distribucin de modo comunitario, incluidas todas sus estructuras de decisin y funcionamiento. Su objetivo es recopilar, difundir y promover el uso del software libre. Rene el mayor catlogo de software libre, todos ellos probados, mantenidos y documentados por algn desarrollador voluntario.

13

Cmo se instala Linux.

Linux es un sistema operativo fcil de instalar, tan solo basta con descargar la imagen iso de una distribucin como Debian, SuSE, Ubuntu o Yellow Dog (la mayora son gratuitas) y grabarla en un CD o DVD. Existen versiones Linux para mquinas x86 (abarca desde computadoras 386, Pentium I, Celeron, hasta Pentium IV), tambin para 64 bits (los nuevos procesadores, aunque tambin trabajan con Linux para x86), y para procesadores PowerPc (ppc) de las computadoras Apple Macintosh. El resto es tan fcil como instalar Windows, incluso algunas distribuciones permiten entrar al escritorio Linux sin necesidad de instalar el sistema operativo (desde el CD), para luego usarlo o instalarlo desde el escritorio. Este es el caso de Ubuntu y Kubuntu y las versiones ms actualizadas, insertas el cd/dvd dentro de la computadora, reinicias y en uno o dos minutos ests en el escritorio del sistema operativo Linux. Estas versiones son tambin llamadas Live, del ingls "en vivo". Actualmente Linux es un sistema fcil de usar. Cada distribucin trae programas seleccionados por los autores de la distribucin incluidos en el cd o en el dvd, y se pueden instalar tanto al comienzo de la instalacin como luego de haber instalado el sistema.

Historia del Sistema Operativo Unix Los orgenes de Unix pueden rastrearse a finales de 1960, cuando el Instituto Tecnolgico de Massachusetts, los Laboratorios Bell de AT&T y General Electric trabajaban en un sistema operativo experimental llamado Multics ( Multiplexed Information and Computing Service), desarrollado para ejecutarse en una computadora central (mainframe) modelo GE-645. El objetivo del proyecto era desarrollar un sistema operativo interactivo que contase con muchas innovaciones, entre ellas mejoras en las polticas de seguridad. El proyecto consigui dar a luz versiones para produccin, pero las primeras versiones contaban con un pobre rendimiento. Los laboratorios Bell de AT&T decidieron desvincularse y dedicar sus recursos a otros proyectos. Uno de los programadores del equipo de los laboratorios Bell, Ken Thompson, sigui trabajando para la computadora GE-635[,] y escribi un juego llamado "Space Travel" (Viaje espacial). Sin embargo, descubri que el juego era lento en la mquina de General Electric y resultaba realmente caro, algo as como 75 dlares de EE.UU. por cada partida. De este modo, Thompson con ayuda de Dennis Ritchie; un fsico estadounidense que colabor en el desarrollo del sistema operativo Multics en los Laboratorios Bell y cre el lenguaje de programacin C; escribi nuevamente el programa en lenguaje ensamblador, para que se ejecutase en una computadora DEC PDP-7. Esta experiencia, junto al trabajo que desarroll
14

para el proyecto Multics, condujo a Thompson a iniciar la creacin de un nuevo sistema operativo para la DEC PDP-7[.] A continuacin se puede apreciar una antigua fotografa de los creadores originales del ncleo Unix, los programadores Ken Thompson y Dennis Ritchie:

Ken Thompson (izquierda) y Dennis Ritchie (derecha), creadores de UNIX Thompson y Ritchie lideraron un grupo de programadores, entre ellos a Rudd Canaday, en los laboratorios Bell, para desarrollar tanto el sistema de ficheros como el sistema operativo multitarea en s. A lo anterior, agregaron un intrprete de rdenes (o intrprete de comandos) y un pequeo conjunto de programas. El proyecto fue bautizado UNICS, como acrnimo de " Uniplexed Information and Computing System", pues slo prestaba servicios a dos usuarios. La autora de esta sigla se le atribuye a Brian Kernighan, ya que era un "hack" de Multics. Dada la popularidad que tuvo un juego de palabras que consideraba a UNICS un sistema MULTICS castrado, se cambi el nombre a UNIX, dando origen al legado que llego hasta los das actuales Hasta ese instante, no haba existido apoyo econmico por parte de los laboratorios Bell, pero eso cambi cuando el Grupo de Investigacin en Ciencias de la Computacin decidi utilizar UNIX en una mquina superior a la PDP-7. Thompson y Ritchie lograron cumplir con la solicitud de agregar herramientas que permitieran el procesamiento de textos a UNIX en una mquina PDP-11/20, y como consecuencia de ello consiguieron el apoyo econmico de los laboratorios Bell. Fue as como por vez primera, en 1970, se habla oficialmente del sistema operativo UNIX ejecutado en una PDP-11/20. Se inclua en l un programa para dar formato a textos (llamado "runoff") y un editor de texto. Tanto el sistema operativo como los programas fueron escritos en el lenguaje ensamblador de la PDP-11/20. Este "sistema de procesamiento de texto" inicial, compuesto tanto por el sistema operativo como de "runoff" y el editor de texto, fue utilizado en los laboratorios Bell para procesar las solicitudes de patentes que ellos reciban. Pronto, "runoff"
15

evolucion hasta convertirse en "troff", el primer programa de edicin electrnica que permita realizar composicin tipogrfica. El 3 de noviembre de 1971 Thompson y Ritchie publicaron un manual de programacin de UNIX. En 1972 se tom la decisin de escribir nuevamente UNIX, pero esta vez en la programacin. Este cambio significaba que UNIX podra ser fcilmente modificado para funcionar en otras computadoras y as otras variaciones podan ser desarrolladas por otros programadores. Ahora, el cdigo era ms conciso y compacto, lo que se tradujo en un aumento en la velocidad de desarrollo de UNIX. AT&T puso a UNIX a disposicin de universidades y compaas, tambin al gobierno de los Estados Unidos, a travs de licencias.[] Una de estas licencias fue otorgada al Departamento de Computacin de la Universidad de California, con sede en Berkeley.[] En 1975 esta institucin desarroll y public su propio sucedneo de UNIX, conocida como "Berkeley Software Distribution" (BSD), que se convirti en una fuerte competencia para la familia UNIX de AT&T. A continuacin se puede observar una imagen del aspecto de Unix a los finales de la dcada de 1980 utilizando X Windows System:

16

Unix a finales de 1980 utilizando X Windows System En 1993, la compaa Novell adquiri la divisin Unix Systems Laboratories de AT&T junto con su propiedad intelectual.[] Esto ocurri en un momento delicado en el que "Unix Systems Laboratories" disputaba una demanda en los tribunales contra BSD por infraccin de los derechos de copyright, revelacin de secretos y violacin de marca de mercado. BSD no solamente gan el juicio sino que cambiaron tornas descubriendo que grandes porciones del cdigo de BSD haban sido copiadas ilegalmente en UNIX System V. En realidad, la propiedad intelectual de Novell (recin adquirida de "Unix Systems Laboratories") se reduca a unos pocos ficheros fuente. La correspondiente contra-demanda acab en un acuerdo extrajudicial cuyos trminos permanecen bajo secreto a peticin de Novell. Aproximadamente por esa misma fecha, un estudiante de ciencias de la computacin llamado Linux Torvalds desarroll un ncleo para computadoras con arquitectura de procesador Intel x86 que mimetizaba muchas de las funcionalidades de UNIX y lo lanz en forma de cdigo abierto en 1991, bajo el nombre de Linux. En 1992, el ncleo Linux fue combinado con los programas desarrollados por el Proyecto GNU, dando como resultado el Sistema Operativo GNU/Linux. En 1995, Novell vendi su divisin UNIX comercial (es decir, la antigua "Unix Systems Laboratories") a Santa Cruz Operation (SCO) reservndose, aparentemente, algunos derechos de propiedad intelectual sobre el software.[] SCO contina la comercializacin de System V en su producto Unix Ware, que durante cierto tiempo pas a denominarse Open UNIX, aunque ha retomado de nuevo el nombre de Unix Ware. A pesar de los problemas de la empresa debido a diversos pleitos legales, estos productos siguen siendo usando fuertemente a nivel mundial A continuacin se puede apreciar un diagrama que muestra como ha sido la evolucin de Unix a lo largo de los aos. A pesar de que el diagrama esta en ingles, se puede apreciar con facilidad los distintos caminos que ha tomado el desarrollo de este ncleo, ya sea de libre acceso o de uso privativo, en distintos sistemas operativos desde la fecha de creacin de Unix hasta el 2008:

17

Diagrama de evolucin del sistema operativo UNIX UNIX en la actualidad A pesar de que muchas de las funcionalidades de Unix son imitadas hoy en da por una gran cantidad de sistemas operativos, entre ellos las distribuciones de GNU/Linux. Se podra decir que las versiones ms "puras" de este sistema operativo son las de Unix Ware y SCO Open Server. Estas versiones de sistemas operativos no libres para PC son actualmente propiedad de SCO Group. Por lo que se conoce, en enero de 2003, SCO contrat a un abogado, anunciando que investigaran infracciones a su derecho de autor. El 7 de marzo, el jefe ejecutivo de SCO, Darl McBride, anunci que demandaran a IBM por sus contribuciones al cdigo de Linux, alegando que IBM rob cdigo de UNIX y se lo otorg a los desarrolladores del ncleo de Linux. En mayo de 2003, SCO Group dijo haber enviado cartas a 1.500 de las mayores corporaciones del mundo, incluyendo las compaas de Fortune 500, alegando que, de utilizar Linux, podran estar infringiendo sus derechos de propiedad intelectual sobre el cdigo original de UNIX. Como resultado SCO ha sido demandado por difamacin por varias compaas, incluyendo IBM, la organizacin alemana LinuxTag, SuSE y Red Hat. El 18 de Agosto de 2007 se conoci por fin la sentencia de este pleito que llevaba en activo desde el ao 2003. Finalmente el juez concluyo que:
18

- El acuerdo que SCO tena con Novell, el nico derecho que otorgaba a SCO era el de vender licencias de Unix a terceros. - SCO tiene que pagar a Novell (SuSe) el 95% del importe de esas ventas, que principalmente fueron 16 millones de USD de Microsoft y 10 millones de USD de Sun. A pesar de todos estos contratiempos, las ltimas versiones de estos sistemas operativos todava se encuentran vigentes en algunos computadores. Por ejemplo, la versin 7.1.4 de Unix Ware es compatible con muchas de las aplicaciones libres clsicas de Unix (Apache, Squid, entre otras). Mientras que el SCO Open Server 6.0.0 MP2, todava sigue siendo un software propietario de gran uso en el entorno comercial e industrial a nivel mundial. Para hacerlo breve, actualmente UNIX puede referirse a 3 cosas: Familia UNIX: como un grupo genrico de sistemas operativos que comparten determinados criterios en su diseo y por lo tanto son llamados de la familia (o tipo) UNIX. Son ms de 100 sistemas operativos que se consideran de su familia. Sistema operativo UNIX: como una subfamilia de sistemas operativos que descienden de la primera versin creada por Bell. Esto significa que comparten cdigos y propiedad intelectual. Marca UNIX: es decir, Unix como marca es propiedad de "The Open Group", organizacin de estandarizacin que permite el uso de dicha marca a cualquier sistema operativo que cumpla con sus estndares. Esto es independiente de si el sistema operativo en cuestin es de la familia UNIX o descendiente del original. A continuacin se puede ver una imagen de Solaris 10 de Sun Microsystems, uno de los sistemas parecidos a Unix ms difundidos en el entorno empresarial en la actualidad debido a su gran estabilidad y rendimiento:

19

Solaris 10, Unix actual de gran uso en las empresas Qu es Unix? Es un sistema operativo portable, multitarea y multiusuario; desarrollado en 1969 por un grupo de empleados de los laboratorios Bell y AT&T, entre los que figuran Ken Thompson, Dennis Ritchie y Douglas Mcllroy. Este sistema es uno de los ms utilizados y con ms futuro debido a que son muchos organismos oficiales y particulares los que defienden su utilizacin, as como muchas firmas de fabricacin y comercializacin de computadoras que lo incorporan en sus productos. Para dar un ejemplo, la Comunidad Econmica Europea, impone el sistema operativo UNIX en todas las aplicaciones que se desarrollan bajo sus auspicios. Unix es un sistema operativo de tiempo compartido, controla los recursos de una computadora y los asigna entre los usuarios. Permite a los usuarios correr sus programas. Controla los dispositivos perifricos conectados a la mquina. Adems es un sistema multiusuario, en el que existe la portabilidad para la implementacin de distintas computadoras.

Filosofa de UNIX La filosofa de UNIX en si se refiere a una serie de normas culturales as como a unas aproximaciones filosficas para desarrollar Software basado en las experiencias de los creadores del sistema operativo UNIX. Para dejarlo en corto, la filosofa de UNIX toma en cuenta 3 parmetros bsicos, los cuales son los siguientes: - Escribir programas que hagan una cosa y la hagan bien - Escribir programas que trabajen juntos (en conjuncin) - Escribir programas que manejen "torrentes de texto", porque esa es una interfaz universal. Las ideas principales de UNIX fueron derivadas del proyecto MULTICS del MIT y de General Electric. Estas ideas son: Todo se maneja como cadena de bytes: los dispositivos perifricos, los archivos y los comandos pueden verse como secuencias de bytes o como entes que las producen. Por ejemplo, para usar una terminal en UNIX se hace a travs de un archivo (generalmente en el directorio. Manejo de tres descriptores estndares: todo comando posee tres descriptores por omisin llamados "stdin", "stdout" y "stderr", los cuales son los lugares de donde se leen los datos de trabajo, donde se envan los resultados y en donde se envan los errores, respectivamente. El 'stdin' es el teclado, el 'stdout' y el 'stderr' son la pantalla por defecto.

20

Capacidades de "entubar" y "redireccionar": El "stdin", "stdout" y "stderr" pueden usarse para cambiar el lugar de donde se leen los datos, donde se envan los resultados y donde se envan los errores, respectivamente. A nivel de comandos, el smbolo de "mayor que" (>) sirve para enviar los resultados de un comando a un archivo. Por ejemplo, en UNIX el comando "ls" lista los archivos del directorio actual (es lo mismo que "dir" en DOS). Si en vez de ver los nombres de archivos en la pantalla se quieren guardar en el archivo "listado", el "redireccionamiento" es til y el comando para hacer la tarea anterior es "ls > listado". Si lo que se desea es enviar a imprimir esos nombres, el "entubamiento" es til y el comando sera "ls | lpr", donde el smbolo "|" ("pipe") es el entubamiento y "lpr" es el comando para imprimir en UNIX BSD. Crear sistemas grandes a partir de mdulos: cada instruccin en UNIX est diseada para poderse usar con "pipes" o "redireccionamiento", de manera que se pueden crear sistemas complejos a travs del uso de comandos simples y elegantes. Un ejemplo sencillo de esto es el siguiente. Supngase que se tienen cuatro comandos separados A, B, C y D cuyas funcionalidades son: A: lee matrices revisando tipos de datos y formato. B: recibe matrices, las invierte y arroja el resultado en forma matricial. C: recibe una matriz y le pone encabezados "bonitos" D: manda a la impresora una matriz cuidando el salto de pgina, etc. Como se ve, cada mdulo hace una actividad especfica, si lo que se quiere es un pequeo sistema que lea un sistema de ecuaciones y como resultado se tenga un listado "bonito", simplemente se usa el entubamiento para leer con el mdulo A la matriz, que su resultado lo reciba el B para obtener la solucin, luego esa solucin la reciba el mdulo C para que le ponga los encabezados "bonitos" y finalmente eso lo tome el mdulo D y lo imprima, el comando completo sera "A | B | C | D".

21

Familias de Unix Como se puede deducir de la resea histrica de este sistema operativo, existen varias familias del sistema operativo UNIX que han evolucionado de manera independiente a lo largo de los aos. Cada familia se distingue no tanto por sus diferencias tcnicas como por sus diferencias en propiedad intelectual. Se observa que todas las familias se han visto contaminadas, directa o indirectamente, por otras familias. Las familias UNIX ms significativas son: - AT&T: la familia que tuvo su origen en el UNIX de AT&T. Considerada la familia UNIX "pura" y original. Sus sistemas operativos ms significativos son UNIX System III y UNIX System V. - BSD: familia originada por el licenciamiento de UNIX a Berkely. BSD incorpora propiedad intelectual no originaria de AT&T, la primera implementacin de los protocolos TCP/IP que dieron origen a Internet. - AIX: esta familia surge por el licenciamiento de UNIX System III a IBM. - Xenix: familia derivada de la adquisicin de los derechos originales de AT&T primero por parte de Microsoft y luego esta los vendi a SCO. - GNU: en 1983, Richard Stallman anunci el Proyecto GNU, un ambicioso esfuerzo para crear un sistema similar a Unix, que pudiese ser distribuido libremente. El software desarrollado por este proyecto, por ejemplo, GNU Emacs y GCC, tambin han sido parte fundamental de otros sistemas UNIX. - Linux: en 1991, cuando Linux Torvalds empez a proponer el ncleo Linux y a reunir colaboradores, las herramientas GNU eran la eleccin perfecta. Al combinarse ambos elementos, conformaron la base del sistema operativo (basado en POSIX) que hoy se conoce como Linux. Las distribuciones basadas en el ncleo, el software GNU y otros agregados entre las que se pueden mencionar a Red Hat Linux y deban GNU/Linux se han hecho populares tanto entre los aficionados a la computacin como en el mundo empresarial. Obsrvese que Linux tiene un origen independiente, por lo que se considera un "clnico" de UNIX y no un UNIX en el sentido histrico. A continuacin, se puede apreciar un diagrama que demuestra la colocacin actual de Unix entre las distintas familias que se han desarrollado:

22

Caractersticas generales de Unix / Ventajas - Es un sistema operativo de tiempo compartido, controla los recursos de una computadora y los asigna entre los usuarios. - Permite a los usuarios correr sus programas. - Controla los dispositivos de perifricos conectados a la mquina. - Es un sistema operativo multiusuario, con multiprocesamiento y procesamiento no interactivo. - Est escrito en un lenguaje de alto nivel: C. - El sistema de ficheros est basado en la idea de volmenes, que se pueden montar y desmontar para lo que se les asigna un nodo del rbol como punto de anclaje. Un sistema fsico puede dividirse en uno o ms volmenes. - Una de las grandes ideas de UNIX es la unificacin y compatibilidad de todos los procesos de entrada y salida. Para UNIX, el universo es un sistema de ficheros. De esta forma existe compatibilidad entre ficheros, dispositivos, procesos, "pipes" y "sockets". - Dispone de un lenguaje de control programable llamado "Shell". - El sistema presenta comandos de usuario (es decir, a nivel de "Shell") para iniciar y manipular procesos concurrentes asncronos. Un usuario puede ejecutar
23

capacidad

de

simular

varios procesos, intercambiarlos e interconectarlos a travs de "pipes" o "tuberas", simbolizados por un carcter especial. En DOS, tambin existe la idea del "pipe", sin embargo, al no existir concurrencia de procesos, no se trata de una comunicacin en "tiempo real", sino de un paso de informacin a travs de ficheros temporales. - Ofrece facilidades para la creacin de programas y sistemas y el ambiente adecuado para las tareas de diseos de software. Desventajas de Unix Las desventajas del mismo pueden variar entre versiones, as como tambin por diversas condicionantes externas, tales como: el rea de uso (personal, comercial o industrial), experticia del usuario, funcionalidad especfica de las aplicaciones, entre otras. En general se podra decir que: - Desde el punto de vista comercial, no muchas personas lo conocen, ya que no es un sistema que venga precargado en cada PC que se compra. En otras palabras, no estn populares como Windows o incluso como Linux, y por tanto, es difcil encontrar los programas que se acostumbran a usar en esos otros sistemas operativos. - Desde el punto de vista de funcionalidad, el S.O. Unix vienen en muchas variantes como se sabe, sin embargo, el detalle es que hay variantes que estn diseadas para ser ejecutada en equipos especiales fabricados por una marca especifica, como IBM, SUN, HP, DELL, entre otras. Lo que limita un tanto la portabilidad de UNIX - En cuanto a la confiabilidad, UNIX fue desarrollado desde sus inicios para ser ms estable que cualquier otro sistema operativo, es decir, que cuando se usa UNIX no es tan comn ver ciertas pantallas de errores que salen en los otros S.O, aunque si se podrn dar casos en que hay computadores con sistemas UNIX en desuso, pero ser por problemas de Hardware o de algn otro programa que trabaje mal. - A pesar de ser tan estable y no "caerse" prcticamente nunca, resulta ser muy costoso en el sentido de mantenimiento y administracin. Es decir, que por ejemplo, hay empresas que pierden ms dinero con un equipo fuera de lnea que pagando a un administrador del sistema (que cobra mucho por su trabajo a razn de que no muchas personas conocen UNIX). - El S.O UNIX puede requerir ms horas de aprendizaje que el resto de las otras plataformas de sistemas operativos. - Como ya se menciono antes, los problemas suelen ser ms difciles de resolver dado el poco apoyo y soporte que hay en el mercado y, normalmente, el soporte del fabricante es muy costoso. - Se utiliza un lenguaje de programacin muy avanzado: C, aunque en algunos casos permite Fortran y Java.
24

Generalidades de Unix En general UNIX mantiene una serie de procesos en funcionamiento durante todo el tiempo que est en funcionamiento. Todos los procesos en UNIX estn identificados por un nmero, el PID, que es nico. Si un proceso acaba y vuelve a empezar, su nuevo PID nunca coincidir con el anterior. La lista y el estado de funcionamiento de los procesos (consumo de recursos, etc.) es fcilmente visualizable mediante el comando "top". Aunque desde los aos de popularizacin del sistema Apple Macintosh (1983, en adelante) las interfaces grficas de usuario se han ido extendiendo ms y ms, UNIX es ms tpicamente manejado desde interfaces de tipo CLI ("Command Line Interface"), en las que los comandos se lanzan desde el "Shell". Hay una decena de "Shell" populares en UNIX, desde el antiguo pero universal "Bourne Shell" (sh) hasta el sofisticado "Bash Shell". A continuacin se puede ver la imagen de ejemplo de una sesin de Bash, tomada en Gentoo Linux:

Imagen de una sesin de Bash

25

El uso de interfaces grficas con UNIX es tan fcil como con cualquier otra plataforma. Sin embargo la flexibilidad de interconexin entre los datos de entrada y salida de las aplicaciones no es fcil de representar en aqullos, y es este precisamente uno de los aspectos ms importante para los programadores de sistema ya que permite construir comandos combinados potentes muy rpidamente a los expertos. UNIX ide el sistema de almacenamiento en estructuras jerrquicas que hoy es tan popular en todos los sistemas: los directorios y subdirectorios. Kernel o ncleo del sistema El ncleo del sistema operativo Unix (llamado Kernel) es un programa escrito casi en su totalidad en lenguaje C, con excepcin de una parte del manejo de interrupciones, expresada en el lenguaje ensamblador del procesador en el que opera. Las funciones del ncleo son permitir la existencia de un ambiente en el que sea posible atender a varios usuarios y mltiples tareas en forma concurrente, repartiendo al procesador entre todos ellos, e intentando mantener en grado ptimo la atencin individual. El Kernel opera como asignado de recursos para cualquier proceso que necesite hacer uso de las facilidades de cmputo. Es el componente central de Unix y tiene las siguientes funciones: Creacin de procesos, asignacin de tiempos de atencin y sincronizacin. Asignacin de la atencin del procesador a los procesos que lo requieren. Administracin de espacio en el sistema de archivos, que incluye: acceso, proteccin y administracin de usuarios; comunicacin entre usuarios v entre procesos, y manipulacin de E/S y administracin de perifricos. Supervisin de la transmisin de datos entre la memoria principal y los dispositivos perifricos.

26

ACTIVIDAD 3
Investigar, exponer y discutir de forma grupal los tipos de sistemas operativos.

Los sistemas operativos se pueden clasificar dependiendo de cmo administran los recursos hardware del ordenador y como ofrecen servicios a los usuarios. Un sistema operativo debe tratar siempre de minimizar el tiempo de respuesta de cada proceso, es decir, desde que el usuario lo manda a ejecutarse hasta que obtiene los resultados. Sistemas Operativos Por Lotes. La idea central que est detrs del esquema sencillo de proceso por lotes es el uso de un elemento de software conocido como monitor. Con el uso de esta clase de sistema operativo, los usuarios ya no tenan acceso directo a la mquina. En su lugar, el usuario deba entregar los trabajos en tarjetas o en cinta al operador del computador, quien agrupaba secuencialmente los trabajos por lotes y ubicaba los lotes enteros en un dispositivo de entrada para su empleo por parte del monitor. Cada programa se construa de modo tal que volviera al monitor al terminar su procesamiento y, en ese momento, el monitor comenzaba a cargar automticamente el siguiente programa. Para entender cmo funciona este esquema, se va a ver desde dos puntos de vista: el del monitor y el del procesador. Desde el punto de vista del monitor, l es quien controla la secuencia de sucesos. Para que esto sea posible, gran parte del monitor debe estar siempre en memoria principal y disponible para su ejecucin.

El procesador ejecuta entonces las instrucciones del programa de usuario hasta que encuentre una condicin de finalizacin o de error. Cualquiera de estos dos sucesos provoca que el procesador vaya a por la instruccin siguiente del programa monitor. De este modo, la frase "el control se le pasa al trabajo" quiere decir simplemente que el procesador pasa a leer y ejecutar instrucciones del programa de usuario, mientras que la frase "el control vuelve al monitor" quiere decir que el procesador pasa ahora a leer y ejecutar las instrucciones del programa monitor. Debe quedar claro que es el monitor el que gestiona el problema de la planificacin. Se pone en cola un lote de trabajos y stos son ejecutados tan rpido como es posible, sin que haya tiempo alguno de desocupacin. Para ejecutar el trabajo, el monitor lee la tarjeta y carga el compilador adecuado desde el dispositivo de almacenamiento masivo (generalmente una cinta). El compilador traduce el programa de usuario en cdigo objeto, que se almacena en memoria o en el dispositivo de almacenamiento. Si se carga en memoria, la operacin es conocida como "compilar, cargar y arrancar" (compile, load, and go).
27

Si se almacena en cinta, entonces se requiere la tarjeta $load. Esta tarjeta es leda por el monitor, quien retoma el control despus de la operacin de compilacin. el monitor llama al cargador, que carga el programa objeto en memoria en el lugar del compilador y le transfiere el control. De esta manera, un segmento grande de memoria se puede compartir entre diferentes subsistemas, aunque en cada momento slo uno de ellos tiene que estar presente y ejecutndose. Durante la ejecucin del programa de usuario, cada instruccin de entrada origina la lectura de una tarjeta de datos. la instruccin de entrada en el programa del usuario hace que se invoque una rutina de entrada, que forma parte del sistema operativo. La rutina de entrada se asegura de que el programa de usuario no ha ledo accidentalmente una tarjeta jcl. Si esto sucede, se produce un error y el control se transfiere al monitor. Al terminar un trabajo, con o sin xito, el monitor recorre las tarjetas de entrada hasta encontrar la prxima tarjeta jcl. De este modo, el sistema se protege contra un programa que tenga tarjetas de datos de ms o de menos. Se comprobar que el monitor o el sistema de proceso por lotes es simplemente un programa de computador. se basa en la capacidad del procesador para traer y ejecutar instrucciones desde varias zonas de la memoria principal y as apoderarse y ceder el control de forma alterna. Para esto serian convenientes algunas otras caractersticas del hardware, entre las que se encuentran las siguientes: Proteccin de memoria: mientras el programa de usuario est ejecutndose, no debe modificar la zona de memoria en la que est el monitor. Si se hace un intento tal, el hardware del procesador deber detectar el error y transferir el control al monitor. El monitor abortar entonces el trabajo, imprimir el mensaje de error y cargar el siguiente trabajo. Temporizador: se utiliza un temporizador para impedir que un slo trabajo monopolice el sistema. El temporizador se lanza al comenzar cada trabajo. si expira el tiempo, se producir una interrupcin y el control volver al monitor. Instrucciones privilegiadas: ciertas instrucciones son designadas como privilegiadas y pueden ser ejecutadas solo por el monitor. Si el procesador encuentra una instruccin tal, cuando est ejecutando el programa del usuario, se producir una interrupcin de error. entre las instrucciones privilegiadas se encuentran las instrucciones de e/s, de forma que el monitor retenga el control de todos los dispositivos de e/s. esto impide, por ejemplo, que un programa de usuario lea accidentalmente instrucciones de control que son del trabajo siguiente. Si un programa de usuario desea realizar una e/s, debe solicitarse al monitor que haga la operacin por l. Si el procesador encuentra una instruccin privilegiada cuando est ejecutando un programa de usuario, el hardware del procesador la considera como un error y transfiere el control al monitor.
28

Sistemas Operativos Por Multiprogramacin. An con la secuencia miento automtico de los trabajos ofrecido por un sistema operativo sencillo por lotes, el procesador est desocupado a menudo. el problema es que los dispositivos de e/s son lentos comparados con el procesador.

Multiprogramacin tiene que depender de ciertas caractersticas del hardware del computador. La caracterstica adicional ms notable y til para la multiprogramacin es que el hardware respalde las interrupciones de e/s y el dma. Con e/s dirigida por interrupciones y con dma, el procesador puede enviar una orden de e/s para un trabajo y continuar con la ejecucin de otro, mientras la e/s es efectuada por el controlador del dispositivo. Cuando termina la operacin de e/s, el procesador es interrumpido y el control pasa a un programa de tratamiento de interrupciones del sistema operativo. El sistema operativo le pasa entonces el control a otro trabajo. Los sistemas operativos con multiprogramacin son bastante ms sofisticados en comparacin con los sistemas de Mono programacin o de un solo programa. Para tener varios trabajos listos para ejecutar, stos deben mantenerse en la memoria principal, lo que requiere cierto tipo de gestin de memoria. Adems, si hay varios trabajos listos para ejecutarse, el procesador debe decidir cul de ellos va a ejecutar, lo que requiere un algoritmo de planificacin.

Sistemas Operativos De Tiempo Real (Sistemas Operativos- Conceptos Y Diseo-Milan Milenkovic) Los sistemas operativos de tiempo real se utilizan en entornos en donde deban ser aceptados y procesados un gran nmero de sucesos, la mayora externos al sistema informtico, en breve tiempo o dentro de ciertos plazos. Tales aplicaciones incluyen control industrial, equipos de conmutacin telefnica, control de vuelo y simulaciones en tiempo real. Los sistemas de tiempo real tambin se usan frecuentemente en aplicaciones militares. Un objetivo importante de los sistemas de tiempo real es proporcionar rpidos tiempos de respuesta a sucesos y satisfacer as los plazos de planificacin. La conveniencia del usuario y la utilizacin de los recursos son una preocupacin secundaria para los diseadores de sistemas de tiempo real. No inhabitual que un sistema de tiempo real se espere que procese rfagas de miles de interrupciones por segundo sin perder un solo suceso. Tales exigencias no pueden ser satisfechas por la multiprogramacin solamente, y los sistemas operativos de tiempo real confan generalmente en algunas polticas y tcnicas especficas para realizar su trabajo.
29

La gestin de memoria en sistemas de tiempo real es comparativamente menos exigente que en otros tipos de sistemas de multiprogramacin. La razn principal para ello es que muchos procesos residen permanentemente en memoria con el fin de lograr tiempos de respuesta rpidos. Por contra, digamos, del tiempo compartido, la poblacin de procesos en sistemas de tiempo real es en gran medida esttica, y hay comparativamente poco movimiento de programas entre almacenamiento primario y secundario. Por otra parte, los procesos en sistemas de tiempo real tienden a cooperar estrechamente, necesitndose por tanto soporte para separacin y comparticin de memoria.

Sistemas Operativos De Tiempo Compartido (Sistemas Operativos- Conceptos Y Diseo-Milan Milenkovic)

Los sistemas de tiempo compartido son populares representantes de los sistemas multiprogramados, multiusuario. Adems de los entornos generales de desarrollo de programas, muchos sistemas de diseo ayudado por computador (cad, computer-aided design) y de procesamiento de texto pertenecen a esta categora.

Uno de los objetivos esenciales de los sistemas multiusuario en general, y de los de tiempo compartido en particular, es el de proporcionar un buen tiempo de respuesta de terminal. Dando la ilusin a cada usuario de disponer de una mquina para s mismo, los sistemas de tiempo compartido intentan con frecuencia lograr una comparticin equitativa de los recursos comunes. por ejemplo, cuando el sistema est cargando, los usuarios con exigencia de procesamiento ms fuertes suelen experimentar tiempos de espera ms largos.

Esta filosofa se refleja en la eleccin del algoritmo de planificacin. La mayora de los sistemas de tiempo compartido utilizan una planificacin por reparto (circular) de tiempo. Segn esta estrategia, los programas se ejecutan con prioridad rotativa que se incrementa durante la espera y disminuye despus de que se les ha concedido servicio. Con el fin de evitar que los programas monopolicen el procesador, un programa que se ejecute durante ms tiempo que el intervalo definido por el sistema es interrumpido por el sistema operativo y colocado al final de la cola de programas en espera.

30

ACTIVIDAD 4 Clasificarlos de acuerdo al nmero de usuarios que atiende, al nmero de programas que ejecuta al mismo tiempo al nmero de procesadores que administra por el tiempo de respuesta que ofrecen al usuario. Los sistemas operativos se clasifican: De acuerdo al nmero de usuarios en: Sistema de multiprogramacin, procesamiento de lotes, tiempo compartido, tiempo real. Sistema De Multiprogramacin: Permite ejecutar varios trabajos de usuarios al mismo tiempo, su sistema operativo se encarga de intercambiar el CPU entre los distintos trabajos de usuario proporcionando un ambiente adecuado de modo que los trabajos no se interfieran. Su propsito bsico es mejorar el rendimiento permitiendo as que los recursos de sistema se compartan entre varios trabajos. Sistemas De Procesamiento Por Lotes: Se define como una secuencia de proposiciones de control almacenadas en forma legible para la mquina. El sistema operativo puede leer y ejecutar una serie de dichos trabajos sin otra intervencin humana que las de ciertas funciones como el montaje de cintas y discos. Sistemas De Tiempo Compartido: Es aquel que proporciona acceso interactivo o conversacional a varios usuarios. Su sistema operativo ejecuta mandatos conforme los recibe, intentando dar a cada usuario un tiempo de respuesta razonablemente corto para cada mandato.

Sistema De Tiempo Real: Est planeado para responder con rapidez a seales externas como las generadas por sensores de datos, y se emplean por ejemplo, en computadores vigilantes as como tambin en aquellos que controlan procesos crticos, en cuanto al tiempo, como la operacin de un reactor nuclear o el vuelo de una nave espacial. Clasificar el sistema operativo asignado de acuerdo a: 1- Nmero de usuarios que atiende 2.- Programas que ejecuta al mismo tiempo 3.- Nmero de procesadores que administra 4.- Tiempo de respuesta que ofrecen al usuario. El trabajo ser presentado en clase como un debate con otro equipo con el mismo tema
31

ACTIVIDAD 5 Analizar la operatividad de los programas dada una peticin del usuario.

Las encuestas dictan que uno de cada cuatro computadores tiene instalado Windows 7. A finales del ao 2010 esta versin del sistema operativo mas utilizado en el mundo tena un total del 20% de los usuarios pero luego de finalizado el mes de abril del presente ao 2011 ya ha llegado al 25%, es decir un cuarto de la poblacin de usuarios. Pero no todo es tan bueno ya que aunque Windows tiene un potencial gigantesco en el mercado, este ha ido cayendo sutilmente al bajar 0,67 puntos porcentuales entre el mes de marzo y abril (baj del 89,58 por ciento al 88,91 por ciento), mientras que Mac OS en el mismo tiempo subi 0,15 puntos porcentuales (de 5,25 por ciento a 5,40 por ciento) y el sistema operativo libre del pingino, Linux, cay 0,02 puntos (desde 0,96 por ciento a 0,94 por ciento). Aunque lo que no es sorpresa para nadie es el aumento de usuarios y crecimiento de los sistemas operativos para dispositivos mviles. En la siguiente grfica se aprecia el estado actual de los usuarios en los diferentes sistemas operativos, y en el lado derecho la cantidad de usuario dentro de las diferentes versiones de Windows:

32

ACTIVIDAD 6 Organizar la informacin obtenida, por equipos, para presentarla a todo el grupo.

33

ACTIVIDAD 7 Analizar, en equipo, las estructura de diferentes sistemas operativos y su clasificacin. Elaborar conclusiones por equipo y presentarlas al grupo. Tipos De Sistemas Operativos En esta seccin se describirn las caractersticas que clasifican a los sistemas operativos, bsicamente se cubrirn tres clasificaciones: sistemas operativos por su estructura (visin interna), sistemas operativos por los servicios que ofrecen y, finalmente, sistemas operativos por la forma en que ofrecen sus servicios (visin externa). Sistemas Operativos Por Su Estructura Segn se deben observar dos tipos de requisitos cuando se construye un sistema operativo, los cuales son: Requisitos De Usuario: Sistema fcil de usar y de aprender, seguro, rpido y adecuado al uso al que se le quiere destinar. Requisitos Del Software: Donde se engloban aspectos como el mantenimiento, forma de operacin, restricciones de uso, eficiencia, tolerancia frente a los errores y flexibilidad. A continuacin se describen las distintas estructuras que presentan los actuales sistemas operativos para satisfacer las necesidades que de ellos se quieren obtener. Estructura Monoltica. Es la estructura de los primeros sistemas operativos constituidos fundamentalmente por un solo programa compuesto de un conjunto de rutinas entrelazadas de tal forma que cada una puede llamar a cualquier otra (Ver Fig. 2). Las caractersticas fundamentales de este tipo de estructura son: Construccin del programa final a base de mdulos compilados separadamente que se unen a travs del ligado. Buena definicin de parmetros de enlace entre las distintas rutinas existentes, que puede provocar mucho acoplamiento. Carecen de protecciones y privilegios al entrar a rutinas que manejan diferentes aspectos de los recursos de la computadora, como memoria, disco, etc. Generalmente estn hechos a medida, por lo que son eficientes y rpidos en su ejecucin y gestin, pero por lo mismo carecen de flexibilidad para soportar diferentes ambientes de trabajo o tipos de aplicaciones.
34

Estructura Jerrquica. A medida que fueron creciendo las necesidades de los usuarios y se perfeccionaron los sistemas, se hizo necesaria una mayor organizacin del software, del sistema operativo, donde una parte del sistema contena sus partes y esto organizado en forma de niveles. Se dividi el sistema operativo en pequeas partes, de tal forma que cada una de ellas estuviera perfectamente definida y con un claro interface con el resto de elementos. Se constituy una estructura jerrquica o de niveles en los sistemas operativos, el primero de los cuales fue denominado THE (Technische Hogeschool, Eindhoven), de Dijkstra, que se utiliz con fines didcticos (Ver Fig. 3). Se puede pensar tambin en estos sistemas como si fueran `multicapa'. Multics y Unix caen en esa categora.

35

En la estructura anterior se basan prcticamente la mayora de los sistemas operativos actuales. Otra forma de ver este tipo de sistema es la denominada de anillos concntricos o "rings".

En el sistema de anillos, cada uno tiene una apertura, conocida como puerta o trampa (trap), por donde pueden entrar las llamadas de las capas inferiores. De esta forma, las zonas ms internas del sistema operativo o ncleo del sistema estarn ms protegidas de accesos indeseados desde las capas ms externas. Las capas ms internas sern, por tanto, ms privilegiadas que las externas.

Mquina Virtual. Se trata de un tipo de sistemas operativos que presentan una interface a cada proceso, mostrando una mquina que parece idntica a la mquina real subyacente. Estos sistemas operativos separan dos conceptos que suelen estar unidos en el resto de sistemas: la multiprogramacin y la mquina extendida. El objetivo de los sistemas operativos de mquina virtual es el de integrar distintos sistemas operativos dando la sensacin de ser varias mquinas diferentes. El ncleo de estos sistemas operativos se denomina monitor virtual y tiene como misin llevar a cabo la multiprogramacin, presentando a los niveles superiores tantas mquinas virtuales como se soliciten. Estas mquinas virtuales no son mquinas extendidas, sino una rplica de la mquina real, de manera que en cada una de ellas se pueda ejecutar un sistema operativo diferente, que ser el que ofrezca la mquina extendida al usuario.

36

ACTIVIDAD 8 Investigar, evaluar, analizar, aplicar y crear componentes de un sistema operativo (Solaris, Unix, Linux, Windows). Solaris Caractersticas: Portabilidad: el software conformado por una abi aplicacin de interfaces binaria (application binary interface) ejecuta con un shrink-wrapped (contraccin envuelta), el software en todos los sistemas vendidos con la misma arquitectura del microprocesador. Esto obliga a los desarrolladores de aplicaciones a reducir el costo del desarrollo del software y traer productos al mercado rpidamente, y obliga a los usuarios a actualizar el hardware mientras retienen sus aplicaciones de software y minimizan sus costos de conversin. Escalabilidad: Las aplicaciones se usan con ms frecuencia en el sobre tiempo, y requiere sistemas ms poderosos para soportarlos. Para operar en un ambiente creciente, el software debe ser capaz de ejecutar en un rango de anchos poderosos y debe ser capaz de tomar ventajas del poder adicional que se est procesando. Interoperabilidad: La computacin del ambiente heterogneo es una realidad hoy. Los usuarios compran de muchos vendedores para implementar la solucin que necesitan. La estandarizacin y una clara interface son criterios para un ambiente heterogneo, permitiendo a los usuarios desarrollar estrategias para comunicarse por medio de su red. El sistema operativo de Solaris puede interpretar con unos sistemas muy populares hoy en el mercado, y aplicaciones que se ejecutan en Unix se pueden comunicar fcilmente. Compatibilidad: La tecnologa de la computacin contina avanzando rpidamente, pero necesita permanecer en el mbito competitivo para minimizar sus costos y maximizar sus ingresos. Caractersticas Para Los Usuarios Dentro De Las Caractersticas De Los Usuarios Tenemos: Espacio de trabajo para el administrador (a workspace manager): cuenta con una ventana de manejo de servicios rpidos (open, close, more, etc.), as como herramientas el cual le permite al usuario entallar su espacio de trabajo a sus necesidades personales.

37

Unix Unix Es Un Sistema Operativo De Propsito General Con Las Siguientes Caractersticas: Sistema Multiusuario. Sistema Multitarea. Trabaja en tiempo compartido. Sistema interactivo. Estandarizado. Potente. Verstil. Software y sistema operativo portable. Permite ejecutar procesos en Background y Foreground. Presenta niveles altos de seguridad. Presenta una estructura jerrquica de archivos. Posee un gran nmero de utilidades: Editores de lnea, de pantalla, formateadores, depuradores de programas Posibilidad de comunicacin UNIX UNIX (UUCP) Fcil integracin en sistemas de red. Posibilidad de usar distintos lenguajes de programacin: C, Fortran, Cobol, Pascal, Gran cantidad de software disponible en el mercado.

Linux El sistema operativo LINUX es un conjunto de programas y una serie de utilidades que permiten al usuario gestionar los recursos hardware del sistema y construir aplicaciones. Al conjunto de programas que se encargan de gestionar los recursos del sistema se le llama kernel (ncleo del sistema). El kernel define la personalidad de nuestro sistema. La versin del kernel de linux ha ido evolucionando con el tiempo ofreciendo cada vez mayores prestaciones y un control ms optimizado sobre el hardware. Junto al kernel, linux dispone de un conjunto de utilidades que hacen mucho ms amigable el uso de un ordenador bajo este sistema operativo. Este conjunto de utilidades incluye editores de texto, compiladores, gestores de ventanas, calculadora, juegos, etc. LINUX se caracteriza por ser un sistema "MULTIUSUARIO" porque permite que dos o ms usuarios utilicen la computadora simultneamente. Cada usuario dispone de un espacio de memoria y un subdirectorio de trabajo al cual solo l tiene acceso. Este le confiere seguridad al sistema e impide que otros usuarios puedan escribir o leer ficheros fundamentales para la integridad del sistema.
38

Windows Cualquier elemento que pertenece al entorno del sistema operativo Windows. A continuacin algunos de los elementos de todas las versiones de Windows clasificados. Alguno de los componentes que se mencionan ya no son utilizados en Windows o se deben incorporar por separado: Configuracin, Mantenimiento Y Sistema Panel de Control: Administrador de Dispositivos, MSConfig, Restaurar sistema, Windows Mobility Center, Windows Security Center. Herramientas administrativas: Regedit, Visor de eventos, MMC... Instalacin de software: Windows Update, Windows Installer, Click Once. Mensajes de error: Pantalla azul de la muerte. Interfaz De Usuario Shell de Windows, Explorador de Windows, Men Inicio, Barra de inicio, Barra de tareas, rea de Notificacin (anteriormente Bandeja del sistema), Asociaciones de archivos, Escritorio, Portapapeles, Barra de Idioma. Aplicaciones Accesorios: Calendario de Windows, Calculadora, Paint, Bloc de Notas, Microsoft Narrator, WordPad, Internet Explorer, Windows Media Player, Administrador de Tareas, Grabadora de sonidos, COMMAND.COM, Conexin de Escritorio Remoto, Windows Mail, Windows Photo Gallery, Outlook Express, NetMeeting, Libreta de Direcciones, Windows Messenger, Write, Mapa de Caracteres, etc.

39

ACTIVIDAD 9

Realizar un glosario de la terminologa bsica de los SO.


Acceso Directo a Memoria: Lina forma de E/S en la que un mdulo especial, llamado mdulo de DMA. Controla el intercambio de datos entre la memoria principal y un dispositivo de E/S. El procesador enva una solicitud de transferencia de un bloque de datos al mdulo de DMA y se Ve interrumpido slo despus de que se haya transferido el bloque entero. Acceso Directo: La capacidad de introducir u obtener datos de un dispositivo de almacenamiento en una secuencia independiente de su posicin relativa, por medio de direcciones que sealan la ubicacin fsica de los datos. Acceso Indexado: Relativo a la organizacin y el acceso de los registros de una estructura de almacenamiento mediante un ndice separado de las posiciones de los registros guardados. Acceso Secuencial Indexado: Relativo a la organizacin y el acceso de los registros de una estructura de almacenamiento mediante un ndice de las claves que se almacenan en unos archivos secuenciales divididos arbitrariamente. Acceso Secuencial: La posibilidad de introducir datos en un medio o dispositivo de almacenamiento en la misma secuencia en que estn ordenados los datos, o bien la de obtener datos en el mismo orden en que se introdujeron. Almacenamiento Virtual: El espacio de almacenamiento que se puede considerar como almacenamiento principal direccionarle por el usuario de un sistema informtico en el que las direcciones virtuales se traducen a direcciones reales. El tamao del almacenamiento virtual est limitado por el esquema de direccionamiento del sistema informtico y por la cantidad de almacenamiento auxiliar disponible y no por el nmero de posiciones disponibles de almacenamiento principal. Archivo de Dispersin: Un archivo en el que se accede a los registros de acuerdo con los valores de un campo clave. Se emplea la dispersin para ubicar un registro en funcin del valor de su clave. Archivo Indexado: Un archivo en el que se accede a los registros de acuerdo con el valor de un campo clave. Hace falta un ndice que indique la posicin de cada registro a partir del valor de la clave. Archivo Secuencial Indexado: Un archivo en el que los registros se ordenan de acuerdo con los valores de un campo clave.
40

Archivo Secuencial: Un archivo en el que los registros estn ordenados de acuerdo con los valores de uno o ms campos clave y son procesados en la misma secuencia desde el comienzo del archivo. Archivo: Un conjunto de registros relacionados que se tratan c o una unidad. Arquitectura de Comunicaciones: La estructura de hardware software que implementa las funciones de comunicacin. Bacteria: Programa que consume los recursos del sistema replicndose a s mismo. Base de Datos: Un conjunto de datos interrelacionados. a menudo con una redundancia controlada, organizada de acuerdo con un esquema para dar si a una o ms aplicaciones. Bloque de lo de Proceso: La manifestacin de un procedimiento de sistema operativo. Es una estructura de datos que contiene informacin sobre las caractersticas y el estado del proceso. Bloque: Una coleccin de registros contiguos que se graban como una unidad, estando las unidades separadas por huecos. Buffer de Traduccin Adelantada: Una cache de alta velocidad usada para guardar las entradas de la tabla. Buzn: Una estructura de dalos compartida entre una serie de procesos que se usa como un cola de mensajes.

Cache de Disco: Un almacenamiento intermedio, generalmente en memoria principal, que funciona como una cache de bloques de disco entre la memoria del disco y el resto de la memoria principal. Cambio de Contexto: Una operacin del hardware que sucede cuando el programa que est ejecutando se ve interrumpido. Se salvaguardan el contador de programa. La palabra de estado del procesador, as como otros registros. Campo: Datos lgicos definidos que forman parte de un registro. La unidad elemental de un registro que puede albergar un elemento de datos, una agregacin de dalos, un puntero o un enlace. Cifrado: La conversin de texto o dalos en claro a una forma ininteligible por medio de clculos matemticos reversibles. Compactacin: Una tcnica empleada cuando la memoria est dividida en particiones de tamao variable. De cuando en cuando, el sistema operativo
41

desplaza las particiones para que queden contiguas y as toda la memoria libre este reunida en un solo bloque. Concurrente: Relativo a los procesos que tienen lugar en un intervalo comn de tiempo durante el cual pueden tener que compartir recursos alternativamente Conjunto de Trabajo: El conjunto de trabajo W(t D) con parmetro D de un proceso en el instante virtual t, es el conjunto de pginas de dicho proceso a las que se ha hecho referencia en las ltimas 11 unidades de tiempo. Conjunto Residente La parte de un proceso que est en memoria principal en un momento dado. Comprese con Conjunto de Trabajo. Deteccin del Interbloqueo: Una tcnica en la que los recursos solicitados se conceden siempre que estn disponibles. Peridicamente, el sistema operativo comprueba si hay interbloqueo. Direccin de Base: Una direccin empleada como ori-gen en el clculo de direcciones durante la ejecucin de un programa de computador. Direccin Fsica: La posicin absoluta de una unidad de datos en la memoria (por ejemplo, una palabra o un byte en memoria principal o un bloque en memoria secundaria). Direccin Lgica: Una referencia a una posicin de memoria independiente de la asignacin actual de dalos d la memoria. Se debe hacer una traduccin a una direccin fsica antes de realizar el acceso a memoria. Direccin Relativa: Una direccin calculada como un desplazamiento a partir de una direccin de base. Direccin Virtual: La direccin de una posicin del al maceramiento virtual. Dispersin: La seleccin de una posicin de almacenamiento de un elemento de datos mediante el clculo de la direccin en funcin del contenido de los datos. Esta tcnica complica la funcin de asignacin del almacenamiento. pero da como resultado una rpida recuperacin aleatoria. Espacio de Direcciones: El rango de direcciones disponibles para un programa de computador. Expedir: Asignar tiempo del procesador a las tareas o trabajos que estn listos para su ejecucin. Fallo de Pgina: Se produce cuando la pgina que con-tiene una palabra referenciada no est en memoria principal. Esto provoca una interrupcin y exige que se traiga a la memoria la pgina adecuada.
42

Fraccionamiento del Tiempo: Un modo de operacin en el que se asignan cuantos de tiempo del mismo procesador a dos o ms procesos. Fragmentacin Externa: Se produce cuando la memoria se divide en particiones de tamao variable correspondientes a los bloques de dalos asignados de la memoria (por ejemplo, los segmentos de la memoria principal). A medida que se trasladan los segmentos dentro y lugar de la memoria principal, se producirn huecos entre las partes ocupadas de la memoria. Fragmentacin Interna: Se produce cuando la memoria se divide en particiones de tamao fijo. Generacin de Procesos: La creacin de nuevos procesos por parte de otros procesos. Gestor de Interrupciones: Una rutina, que generalmente forma parte del sistema operativo. Cuando se produce una interrupcin, se transfiere el control al gestor de interrupciones correspondiente, quien lleva a cabo alguna accin como respuesta a la condicin que origin la interrupcin. Gusano: Un programa que puede viajar de computador en computador a travs de las conexiones de red. Puede contener un virus o una bacteria. Hilo: La unidad de expedicin. En la mayora de los sistemas operativos, hay una correspondencia de uno a uno entre los procesos y los hilos. En algunos sistemas operativos, el proceso es la unidad de propiedad de recursos y el hilo representa la ruta de ejecucin a travs de uno o ms programas. Hiperpaginacin: Un fenmeno de los esquemas de memoria virtual en el que el procesador pasa la mayor parte del tiempo intercambiando memoria en vez de ejecutando instrucciones. Imagen de Proceso: Todos los componentes de un proceso, incluyendo el programa, los datos, la pila y el bloque de control del proceso. Inanicin: Una condicin en la que un proceso se retarda indefinidamente porque otros procesos siempre tienen la preferencia. Instruccin Privilegiada: Una instruccin que puede ejecutarse solamente en un modo especfico, generalmente por un programa supervisor. Interbloqueo: Un punto muerto que se produce cuando varios procesos estn esperando a que est libre un recurso que no llegar a estar disponible porque est retenido por otro proceso que est en un estado de Espera anlogo.

43

Intercambio: Un proceso que intercambia el contenido de una zona del almacenamiento principal con el contenido de una zona del almacenamiento auxiliar. Interrupcin: Una suspensin de un proceso, tal como la ejecucin de un programa de computador, originada por un suceso externo a dicho proceso y llevada a cabo de forma que el proceso pueda reanudarse. Interrupciones Habilitadas: Una condicin, general-mente originada por el sistema operativo, en que el procesador responde a las seales de solicitud de interrupcin de un tipo especfico. Interrupciones Inhabilitadas: Una condicin, general-mente originada por el sistema operativo, en la que el procesador ignorar las seales de solicitud de interrupcin de un tipo especfico. Lenguaje de Control de Trabajos: Un lenguaje orientado al problema, diseado para expresar sentencias de un trabajo que se emplean para identificar el trabajo o para describir sus requisitos ante el sistema operativo. Lista Encadenada: Una lista en la que los elementos de datos pueden estar dispersos, pero donde cada elemento contiene un identificador para localizar el elemento siguiente. Llamada a Procedimiento Remoto: Una tcnica por la que dos programas de mquinas diferentes pueden interactuar utilizando la sintaxis y la semntica de llamadas y retornos de los procedimientos. Memoria Cache: memoria ms pequea y ms rpida que la memoria principal y que se sita entre el procesador y la memoria principal. La cache acta como un almacn intermedio de las posiciones de memoria usadas recientemente. Memoria Principal: Memoria interna del sistema informtico. con direcciones accesibles por los programas y que puede cargarse en los registros para su posterior ejecucin o procesamiento. Memoria Secundaria: La memoria ubicada fuera del sistema informtico, incluyendo discos y cintas. Mensaje: Un bloque de informacin que puede intercambiarse cutre los procesos como medio de comunicacin. Mtodo de Acceso: El mtodo que se emplea para encontrar un archivo, un registro o un conjunto de registros.

44

Migracin de Procesos: Una transferencia de una cantidad suficiente del estado de un proceso desde una mquina hasta otra, para que el proceso ejecute en la mquina de destino. Modelo de Referencia de Interconexin de Sistemas Abiertos Un modelo de comunicaciones entre dispositivos que cooperan. Define una arquitectura de siete niveles de funciones de comunicacin. Multiprocesador de Acceso a Memoria No Uniforme Un multiprocesador con memoria compartida en el que el tiempo de acceso desde un procesador dado a una palabra de memoria vara segn la posicin de la palabra de memoria. Multiprocesador: Un computador que tiene dos o ms procesadores que disponen de acceso comn a un almacenamiento principal. Multiproceso Simtrico: Un mtodo de multiproceso que permite que el sistema operativo se ejecute en cualquier procesador disponible de entre varios procesadores que estn disponibles simultneamente. Multiproceso: Modo de operacin que incorpora el procesamiento en paralelo por parte de dos o ms procesadores de un multiprocesador. Multiprogramacin: Un modo de operacin que per-mite la ejecucin intercalada de dos o ms programas de computador en un solo procesador. Multitarea: Un modo de operacin que permite la ejecucin concurrente o intercalada de dos o ms tareas en una computador. Nivel de Multiprogramacin: El nmero de procesos que residen parcial o totalmente en la memoria principal. Ncleo: Una parle del sistema operativo que incorpora el software que ms se usa. En general, el ncleo se mantiene permanentemente en memoria principal. Organizacin de Archivos: Ordenacin fsica de los registros de un archivo, determinada por el mtodo de acceso empleado para guardarlos y recuperarlos. Particin de Memoria: La subdivisin del almacenamiento en secciones independientes. Pila: Una lista que se construye y se mantiene de forma que el siguiente elemento de datos a recuperar sea el almacenado hace menos tiempo. Este mtodo est caracterizado por un "ltimo en entrar, primero en salir. Sistema Operativo de Red: El software complementario del sistema operativo que ofrece soporte liara el uso de sistemas servidores comunes en una red de computadores.
45

Sistema Operativo de Tiempo Real: Un sistema operativo que debe planificar y gestionar tareas de tiempo real. Sistema Operativo Distribuido: Un sistema operativo comn, compartido por una red de computadores. El sistema operativo distribuido ofrece soporte para la comunicacin entre procesos, la migracin de procesos, la exclusin mutua y la prevencin o deteccin del interbloqueo. Sistema Operativo: Software que controla la ejecucin de programas y ofrece servicios tales como la asignacin tic recursos, la planificacin, el control de la entrada/salida y la gestin de los datos.

46

ACTIVIDAD 10

Elaborar llamadas al sistema y distinguir el mecanismo de las interrupciones en el contexto de los procesos

La llamada al (y el procedimiento de biblioteca devuelve en cuenta el nmero de bytes, que realmente se leyeron. Este valor normalmente es igual a bytes, pero ser menor, si por ejemplo se llega al fin del archivo durante la lectura. Si la llamada al sistema no puede ejecutarse ya sea a causa de un parmetro no valido o de un error de disco, se asignara el valor 1 a cuenta y el nmero del error se colocara en una variable global.

Llamadas Al Sistema Para Administracin De Procesos El primer grupo llamadas se ocupa de la administracin de procesos. Esta llamada crea un duplicado exacto del proceso original, incluidos todos los descriptores de archivos, registros. La llamada FORK devuelve un valor que es cero es el hijo e igual al identificador de proceso o PID del hijo en el proceso padre. Consideremos ahora la forma en que el Shell usa FORK. Cuando se teclea un comando, el Shell bifurca un nuevo proceso. Los procesos en MINIX tienen su memoria dividida en tres segmentos: el segmento de texto (esto es el cdigo de programa), el segmento de datos (es decir las variables) y el segmento de pila. El segmento de datos cree hacia arriba y el de la pila lo hace hacia abajo. La pila crece hacia la brecha automticamente segn se necesite pero la expansin del segmento de datos se efecta explcitamente usando la llamada al sistema BRK. BRK tiene un parmetro que da la direccin donde debe terminar el segmento de datos. En la figura se muestra los procesos que tienen tres segmentos: texto, datos y pila. Los tres estn en el mismo espacio de direccin. Pero tambin se manejan espacios de instrucciones y datos separados Las secciones estn relacionadas con una caracterstica opcional de Posix llamada Control de trabajos, que no es apoyada por MINIX y del cual no nos ocuparemos ms.

47

Llamadas Al Sistema Para Sealizacin Aunque casi todas las formas de comunicacin entre procesos son planeadas, existen situaciones en las que se requiere una comunicacin inesperada. El editor atrapa la seal y detiene el listado. Tambin pueden usarse seales para informar de ciertas trampas detectadas por el hardware, como una instruccin no permitida o un desbordamiento de punto flotante. Las expiraciones de tiempo tambin se implementan como seales. Cuando un procedimiento de manejo de seales termina, llama a SIGRETURN para que el proceso continu donde estaba ante de las seal. La llamada SIGPROCMASK permite a un proceso definir el conjunto de seales bloqueadas presentando al kernel un mapa de bits. Un proceso tambin puede preguntar por el conjunto de seales que actualmente estn pendientes cuya entra no se ha permitido porque estn desbloqueadas.

Llamadas Al Sistemas Para Administracin De Archivos Muchas llamadas al sistema se relacionan con el sistema de archivos. En esta llamadas que operan sobre archivos individuales las que trabajan con directorios o le sistemas de archivos global. Usamos la llamada CREAT para crear un nuevo archivo (la razn por que esta llamada es CREAT y no CREATE se ha perdido en las brumas de tiempo). Los parmetros de CREAT dan el nombre de los archivos y el modo de proteccin. Las llamadas ms utilizadas son sin duda READ y WRITE. Al manipular descriptores de archivos a veces resulta til la llamada DUP. La llamada DUP tiene una variante que permite hacer que un descriptor de archivo arbitrarios no asignado se refiere a un archivo abierto dado.

Llamadas Al Sistema Para La Administracin De Directorios En esta seccin examinaremos algunas llamadas al sistema que ms bien estn relacionadas con directorios o con el sistema de archivo global, no con un archivo especfico. Las dos primeras llamadas MKDIR y RMDIR crean y eliminan directorios vacos respectivamente. La siguiente llamada es LINK, su propsito es hacer posible que el mismo archivo aparezca con dos o ms nombres, a menudo en diferentes directorios. Para ver cmo funciona LINK se mostrara en la figura. Aqu hay dos usuarios, ast y jim, cada uno de los cuales tiene sus propios directorios con varios archivos. Si ahora ast ejecuta un programa que contiene la llamada al sistema. Si entendemos cmo funciona LINK tal vez no quedara ms claro que resultado produce.
48

Llamadas Al Sistema Para Proteccin Los sistemas de multiprogramacin, en estos sistemas se pueden ejecutar varios programas a la vez. Cuando se ejecutan simultneamente varios programas (probablemente pertenecientes a distintos usuarios) hay que proteger a un programa de la accin de los dems. Por ejemplo, no se debe permitir que un programa pueda modificar posiciones de memoria principal donde se almacena otro programa, ni tampoco que un usuario borre los ficheros de otro usuario. Para llevar a cabo esta proteccin, el sistema operativo se apoya en varios mecanismos proporcionados por el hardware. Los mecanismos de proteccin de memoria se vern en el tema de gestin de memoria. Ahora vamos a comentar el modo supervisor (o modo ncleo) y el modo usuario. La mayora de los procesadores tienen dos modos de funcionamiento llamados modo supervisor y modo usuario (un bit de la PSW suele indicar el modo de funcionamiento). En modo supervisor est permitido la ejecucin de cualquier instruccin mquina, sin embargo, en modo usuario no se permite la ejecucin de algunas instrucciones reservadas que llevan a cabo funciones tales como: Autorizar e inhibir las interrupciones. Conmutar un procesador entre distintos procesos (un proceso es un programa en ejecucin, este concepto se ver en el tema siguiente). Acceder a los registros utilizados por el hardware de proteccin de la memoria. Realizar operaciones de E/S. Parar la CPU.

Llamadas Al Sistema Para Administracin Del Tiempo MINIX tiene cuatro llamadas a los sistemas relacionadas con el reloj. TIME simplemente devuelve el tiempo actual en segundos, corresponde a la media. Desde luego el reloj del sistema debe establecer en algn momento para poder leerlos despus y es para ello que se ha incluido la llamada STIME que permite el sper usuario establecer el reloj. La tercera llamada relacionada con el tiempo es UTIME que permite al propietario de un archivo alterar l tiempo almacenado en el nodo-i de un archivo. La aplicacin de este llamado es muy limitada pero unos cuantos programas la necesitan.

49

BIBLIOGRAFIA Sistemas Operativos: Diseo e implementacin Segunda Edicin Autor: Andrew S. Tanenbaum y Albert S. Woodhull Sistemas Operativos Segunda Edicin Autor: William Stallings Fundamento de sistemas operativos Segunda edicin Autor: Abraham Silberschatz

50

Das könnte Ihnen auch gefallen