NDICE 1. Estructura de un sistema informtico. ........................................................................................................... 3 2. Concepto de software base o sistema operativo. ......................................................................................... 4 3. Tipos de sistemas operativos. ....................................................................................................................... 5 3.1. Sistemas por lotes. ................................................................................................................................... 5 3.2. Sistemas Interactivos. .............................................................................................................................. 6 3.3. Sistemas Monoprogramados. .................................................................................................................. 7 3.4. Sistemas Multiprogramados. .................................................................................................................... 7 3.5. Sistemas de tiempo compartido. .............................................................................................................. 7 3.6. Sistemas de computador personal. .......................................................................................................... 8 3.7. Sistemas paralelos. .................................................................................................................................. 8 3.8. Sistemas distribuidos. .............................................................................................................................. 9 3.9. Sistemas de Tiempo real. ........................................................................................................................ 9 4. Arquitectura de un sistema operativo. ......................................................................................................... 10 4.1. Arquitectura simple. ................................................................................................................................ 10 4.2. Arquitectura por capas. .......................................................................................................................... 11 4.3. Arquitectura orientada a objetos. ........................................................................................................... 12 5. Funciones de un sistema operativo. ........................................................................................................... 13 5.1. Gestin de procesos. ............................................................................................................................. 13 5.2. Gestin de la memoria principal. ............................................................................................................ 13 5.3. Gestin del sistema de E/S. ................................................................................................................... 14 5.4. Gestin de almacenamiento secundario. ............................................................................................... 14 5.5. Gestin de sistema de ficheros. ............................................................................................................. 14 5.6. Sistemas de proteccin. ......................................................................................................................... 15 5.7. Intrprete de rdenes. ............................................................................................................................ 15 5.8. Trabajo con redes. ................................................................................................................................. 15 5.9. Servicios de los sistemas operativos. .................................................................................................... 15 6. Gestores de arranque. ................................................................................................................................ 16 7. Tipos de aplicaciones. ................................................................................................................................. 18 8. Licencias de distribucin software comercial. ............................................................................................. 18 9. Licencias de Software Libre. ....................................................................................................................... 19 Pgina 2 de 38
9.1. Libertades del software libre. ................................................................................................................. 19 9.2. Tipos de Licencias. ................................................................................................................................. 21 10. Normativa legal sobre propiedad intelectual. .............................................................................................. 23 11. Caractersticas sistemas operativos Windows. ........................................................................................... 27 11.1. Caractersticas de diseo. ...................................................................................................................... 27 11.2. Caractersticas generales. ..................................................................................................................... 29 12. Caracteristicas Linux. .................................................................................................................................. 31 12.1. Etapas de arranque. ............................................................................................................................... 33 12.2. Niveles de ejecucin. ............................................................................................................................. 34 12.3. Estructura general Linux Unix. ............................................................................................................... 35
Pgina 3 de 38
1. Estructura de un sistema informtico. El ordenador se define como una mquina compuesta de elementos fsicos (HW) en su mayora de origen electrnico capaz de realizar tareas a gran velocidad y con gran precisin, parte tangible del sistema.
Para que los componentes electrnicos puedan interactuar y realizar un proceso determinado, es necesario que en l se ejecuten un conjunto de rdenes e instrucciones (software), es la parte intangible del sistema.
Un programa informtico es un conjunto ordenado de forma adecuada de rdenes e instrucciones. Y el conjunto de varios programas se denomina aplicacin informtica.
El programa por s mismo no es capaz de interactuar con el HW del ordenador, por lo que se hace necesario un ente, este ente es el Sistema Operativo el cual es el componente software capaz de que en un sistema informtico procese informacin y datos sobre los componentes electrnicos de un ordenador o sistema informtico.
Existe otro concepto el firmware, este software solo es accesible por el sistema operativo y es el software de los componentes electrnicos, solo se puede modificar con las utilidades que d el fabricante del componente electrnico.
Componentes Fsicos, HW, es la parte tangible y fsica del ordenador. Los componentes fsicos del ordenador se pueden clasificar: Unidad central de proceso (CPU) Memoria. Unidad de E/S, buses. Paca base. Unidades perifricas. Pgina 4 de 38
Ilustracin 1 Componentes sistema informacin.
2. Concepto de software base o si stema operativo. Def Un S.O es un conjunto de programas que controla los recursos del ordenador y sirve para la ejecucin de los programas en general. Estos programas se convierten en el intermedio entre el HW de un ordenador y el usuario permitiendo su uso fcil y eficaz. Def Un S.O es un programa que acta como intermediario entre el usuario de un computador y el HW de un computador. Def Un S.O. es un programa que controla los recursos de un computador y proporciona una interfaz ms atractiva de la mquina desnuda. Def El S.O es el nico programa que se ejecuta en todo momento (Kernel), controla la ejecucin de programas de usuario y las operaciones de los dispositivos de E/S. Adems gestiona y asigna los recursos del sistema.
Los componentes de un computador son su HW, SW y los datos, el S.O proporciona los medios para aprovechar adecuadamente esos recursos durante el funcionamiento del sistema de computador, el S.O se limita a crear un entorno dentro del que otros programas pueden realizar un trabajo til.
Pgina 5 de 38
Es un asignador de recursos, un sistema de computacin tiene muchos recursos que pueden ser necesarios para resolver un problema: tiempo de CPU, espacio de memoria, dispositivos de E/S, el S.O acta como gestor de dichos recursos y los asigna a programas y usuarios especficos segn las necesidades para sus tareas.
Un S.O es un programa de control, que controla la ejecucin de los programas de los usuarios a fin de evitar errores y el uso incorrecto del ordenador. El S.O se ocupa sobre todo de la operacin y el control de los dispositivos de E/S.
Objetivos de un S.O: Permitir la ejecucin de programas de usuario y hacer ms fcil la resolucin de los problemas de los problemas de los usuarios.(Facilidad, Sencillez en la utilizacin de un computador). Facilidad, sencillez, conveniencia, eficiencia. Hacer ms conveniente el uso del ordenador. Usar el HW del computador de una manera eficiente.
Conceptos de S.O: Sistema Abierto: especificaciones abiertas, implementaciones diferentes segn fabricantes. Sistema propietario: Especificaciones e implementacin mantenida por un nico fabricante. Sistema operativo semi cerrado: Windows NT, el HW supuestamente abierto, adems soporta cierta cantidad de APIs estndar. API: Interfaz de Programacin de Aplicaciones. 3. Tipos de sistemas operativos. 3.1. Sistemas por lotes. El S.O siempre est residente en memoria. El usuario pone el trabajo en una cola de trabajos con la finalidad de agilizar el procesamiento el programador agrupaba los programas con necesidades similares se agrupaban en lotes y se introducan en el computador como un grupo. Hay falta de interaccin entre el usuario y el trabajo mientras este se ejecuta. El trabajo se prepara y se entrega, y cierto tiempo despus se aparece la salida. El retardo entre la presentacin de un trabajo y su terminacin (tiempo de retorno) puede ser el resultado del volumen del cmputo requerido, o de retardos antes de que el sistema operativo comience a procesar el trabajo. Pgina 6 de 38
En este entrono de programacin la CPU con frecuencia esta ociosa esto ocurre porque los dispositivos de entrada / salida mecnicos son intrnsecamente ms lentos que los dispositivos electrnicos.
Spooling: La introduccin de la tecnologa de discos ha sido til en este sentido, en vez de leer los datos directamente del dispositivo a la memoria para despus procesar la informacin, los dispositivos se leen al disco. La ubicacin de las imgenes de lectura se registra en una tabla mantenida por el S.O, cuando se requiere una entrada esto se satisface leyendo del disco. As mismo esto sucede cuando el trabajo solicita la impresin de una lnea, esta lnea se copia en un buffer del sistema y se escribe en el disco, una vez que el trabajo termina se escribe realmente.
El spooling superpone las operaciones la E/S de un trabajo con el clculo para otro trabajo. El spooling tiene un beneficio directo sobre el desempeo de del sistema, por que incrementa la tasa de utilizacin de la CPU.
Job Pool: Estructura de datos que permite al S.O seleccionar que trabajo se ejecutar a continuacin. Incremento de la tasa de utilizacin de la CPU. Son apropiados para ejecutar trabajos grandes que casi no necesitan iteracin. 3.2. Sistemas Interactivos. El usuario interacta con el computador. El usuario lanza, observa y se comunica con un programa en ejecucin. El usuario es capaz de realizar transacciones.
Permite la comunicacin entre el usuario y el sistema. El usuario da instrucciones al S.O o a un programa directamente, y recibe una respuesta inmediata. Se utiliza el teclado para realizar las entradas y la pantalla para realizar las salidas. Cuando el S.O termina de ejecutar una orden busca el siguiente enunciado de control que vendr por el teclado.
En estos sistemas para que los usuarios puedan acceder con comodidad tanto la los datos como al cdigo deben de contar con un sistema de archivos en lnea. Un archivo es una coleccin de informacin relacionada definida por su creador. Los archivos representan programas o datos. Un Pgina 7 de 38
archivo es una secuencia de bits, bytes, lneas o registros cuyo formato ha sido definido por su creador y usuario.
Los archivos normalmente se organizan en grupos lgicos o directorios para facilitar su localizacin y acceso. El sistema al estar a disposicin del programador / operador hace que la CPU este ociosa hasta que el operador hiciese algo. 3.3. Sistemas Monoprogramados. Un solo programa en memoria, se ejecuta de principio a fin. 3.4. Sistemas Multiprogramados. Varios programas de usuarios cargados en memoria. El procesador debe conmutar entre programas ante ciertos eventos ( una seal de reloj, una solicitud de E/S). El S.O ante cada evento decidir lo que hace a continuacin. Necesidades en los sistemas multiprogramados: Rutinas de E/S suministradas por el sistema. Gestin y asignacin de memoria Scheduling de la CPU Asignacin de dispositivos. 3.5. Sistemas de tiempo compartido. Se crearon para brindar el uso interactivo de un sistema de computador a un coste razonable. Un sistema operativo de tiempo compartido utiliza planificacin de la CPU y la multiprogramacin para ofrecer a cada usuario una pequea porcin del tiempo de un computador. La CPU est multiplexado entre varios trabajos que se encuentran en memoria y en disco. Cada usuario tiene por lo menos un programa en la memoria (proceso). Los trabajos se intercambian entre memoria y disco. En estos sistemas para que los usuarios puedan acceder con comodidad tanto la los datos como al cdigo deben de contar con un sistema de archivos en lnea. Un archivo es una coleccin de informacin relacionada definida por su creador. Los archivos representan programas o datos. Un archivo es una secuencia de bits, bytes, lneas o registros cuyo formato ha sido definido por su creador y usuario. Pgina 8 de 38
Los archivos normalmente se organizan en grupos lgicos o directorios para facilitar su localizacin y acceso. 3.6. Sistemas de computador personal . Un sistema de computacin dedicado a un solo usuario. La mejora en los dispositivos de entrada / salida, teclado, ratn, pantalla, pequeas y rpidas impresoras. Los objetivos de estos S.O han cambiado en lugar de maximizar el aprovechamiento de la CPU y los perifricos, los sistemas optan por maximizar la comodidad del usuario y la rapidez con que corresponden a sus necesidades (bajo tiempo de respuesta). Los S.O para estos computadores se han beneficiado con el desarrollo de sistemas operativos para macro computadores, los microcomputadores pudieron adoptar de inmediato la tecnologa desarrollada para sistemas operativos ms grandes, por ejemplo aparentemente la proteccin de archivos no es necesaria en computadores personales aislados, es comn que estos computadores se vinculen con otros a travs de una red por lo que de no tener esta proteccin los dems usuarios pueden tener acceso a los archivos de la maquina personal. 3.7. Sistemas paral elos. Sistemas multiprocesador, tienen ms de un procesador en comunicacin intima, los cuales comparten el bus del computador, el reloj y a veces la memoria y los dispositivos perifricos Sistemas fuertemente acoplados.
Ventajas: El aumento del rendimiento es una de las causas de la fabricacin de estos sistemas, al aumentar el nmero de procesadores esperamos realizar ms trabajo en menos tiempo, aumento del throughtput (nmero medio de trabajos finalizados por unidad de tiempo). Bajo coste debido a que estos procesadores pueden compartir perifricos, gabinetes y fuentes de potencia. Mejoran la fiabilidad, si es posible distribuir correctamente las tareas entre varios procesadores, el fallo de un procesador no detendr el sistema, solo lo har ms lento, si falla un procesador los restantes procesadores se repartirn una porcin del trabajo del procesador que fall, ha esto se denomina degradacin gradual y los sistemas diseados para degradarse gradualmente se denominan como tolerantes a fallos.
Pgina 9 de 38
Multiprocesamiento simtrico: Cada procesador ejecuta una copia del S.O Se ejecutan muchos procesos a la vez sin deterioro de las prestaciones.
Multiprocesamiento asimtrico: Cada procesador tiene asignada una tarea especfica. El procesador maestro reparte y asigna procesos a los procesadores esclavos Con el fin de evitar que un procesador este ocioso y otro este sobrecargados, los procesadores comparten estructuras de datos, con lo que permite compartir dinmicamente trabajos y recursos entre los distintos procesadores. Es ms comn en sistemas muy grandes. 3.8. Sistemas di stribuidos. Los procesadores no comparten ni memoria ni reloj, cada procesador dispone de una memoria local, los procesadores se comunican a travs de diversas lneas de comunicacin buses de alta velocidad o lneas telefnicasSistemas dbilmente acoplados.
Ventajas: Recursos compartidos: Si varios sitios distintos se conectan entre s, un usuario de un sitio podra aprovechar los recursos disponibles de otro. Computacin ms rpida: Si un clculo dado se puede dividir en varios sub clculos distintos un sistema distribuido nos dar la posibilidad de redistribuir esos clculos entre los diversos sitios. Y ejecutarlo de forma concurrente. Fiabilidad: Si un sitio del sistema distribuido falla, los sitios restantes podrn seguir funcionado, el fall de una computadora no afectar a ninguna de las dems. Se reparte la carga del proceso. 3.9. Sistemas de Tiempo real . Se emplean cuando los requisitos de tiempo de la operacin de un procesador o del flujo de datos son estrictos; por ello, a menudo se utilizan como dispositivos de control en aplicaciones delicadas. El procesamiento debe efectuarse dentro de los intervalos, o el sistema fallar, un sistema en tiempo real funciona correctamente si solo si produce el resultado correcto dentro de los intervalos de tiempo establecidos. Las restricciones de tiempo estn predefinidas.
Pgina 10 de 38
Tiempo real duro: Todos los retardos del sistema estn limitados desde la obtencin de datos almacenados hasta el tiempo en el que el S.O tarda en atender cada solicitud que se le presenta. Incompatibilidad con los sistemas de tiempo compartido por la ausencia de memoria virtual de los primeros.
Tiempo real blandos: Una tarea de tiempo real crtica goza respecto a las dems tareas y conserva esa prioridad hasta que se lleva a cabo, es preciso limitar los retardos del ncleo. Utilidad en control industrial y robtica. Aplicaciones multimedia, realidad virtual. Requieren caractersticas avanzadas que no se pueden implementar en los sistemas operativos de tiempo real duro. 4. Arquitectura de un sistema operativo. 4.1. Arquitectura simpl e. Los sistemas operativos con esta estructura son generalmente sistemas pequeos, sencillos y limitados. Los recursos se estructuran por bloques. Mximo de funcionalidad en un mnimo de espacio, con hardware limitado.
Pgina 11 de 38
4.2. Arquitectura por capas. Se organiza en una jerarqua de estratos, estando construido cada uno de ellos sobre el otro que tiene menor jerarqua que l. Nivel 1. Gestin del procesador. En este nivel se encuentra el kernel que es la parte del sistema encargado de gestionar la CPU, realiza las operaciones bsicas de comunicacin entre procesos y conmutacin, control de interrupciones, manejo de errores Nivel 2 Gestin de memoria. Este nivel es el encargado de repartir la memoria disponible entre procesos. Nivel 3 Gestin de procesos. Este nivel es el encargado de la creacin y destruccin de los procesos Nivel 4 Gestin de dispositivos. Realiza la gestin de las E/S, con los dispositivos existentes. Nivel 5 Gestin de la informacin: Gestionar los ficheros y directorios de forma trasparente al usuario.
Pgina 12 de 38
Estos niveles presentan las siguientes caractersticas: Cada nivel utiliza un subconjunto de funciones. Cada nivel utiliza las funciones que le brinda el nivel inferior que es el ms cercano a la mquina. Se dispone de interfaces bien definidas.
4.3. Arquitectura orientada a objetos. Se basan en una coleccin de objetos, donde las funciones del sistema son un tipo de objeto (ficheros, dispositivos, etc). La interaccin entre dichos objetos viene determinada por las capacidades que cada uno tenga para actuar con el otro. El kernel es el responsable del mantenimiento de las definiciones de los tipos de objetos soportados y del control de los privilegios de acceso a los mismos. Cuando un programa desee realizar una operacin sobre un objeto determinado, deber ejecutar una llamada al sistema, indicando qu derechos tiene para poder utilizarlo y qu operacin intenta llevar a cabo. Como resultado de dicha llamada, el sistema validar la peticin y, si puede ser aceptada, permitir la realizacin de dicha operacin.
Pgina 13 de 38
5. Funciones de un sistema operativo. 5.1. Gestin de procesos. Un programa no puede ejecutarse si la CPU no ejecuta sus instrucciones. Podemos pensar en un proceso como una porcin de un programa en ejecucin o todo el programa. Un proceso necesita ciertos recursos para realizar su tarea, incluidos tiempo de CPU, memoria, archivos y dispositivos de E/S, para llevar a cabo su tarea, estos recursos se otorgan al proceso en el momento de que se crea o bien se le asignan durante la ejecucin. El proceso recibe como entrada el nombre del archivo y ejecutar las instrucciones y llamadas al sistema apropiadas para obtener la informacin deseada y presentarla en el terminal. Cuando el proceso haya terminado el S.O recuperar todos los recursos reutilizables que haya empleado. Un programa por s slo no es un proceso es una entidad pasiva, mientras que un proceso es una entidad activa, con un contador de programa que especifica la siguiente instruccin a ejecutar. La evolucin de un proceso se realiza mediante rfagas de E/S y CPU.
Actividades para la gestin de procesos: Crear y eliminar procesos. Suspensin y reactivacin de procesos Proporciona mecanismos para la sincronizacin Gestiona la comunicacin entre procesos. Proporciona mecanismo para el manejo de bloqueos. 5.2. Gestin de la memoria principal. La memoria principal es crucial para el funcionamiento del ordenador, la memoria principal es una matriz grande de palabras o bytes, cuyo tamao va desde cientos miles hasta cientos de millones. Cada palabra o byte tiene su propia direccin de memoria. La memoria principal es un depsito de datos a los que acceder rpidamente y que son compartidos por la CPU y los dispositivos de E/S. El procesador central lee instrucciones de la memoria principal durante el ciclo de obtencin de instrucciones y lee y escribe datos durante el ciclo de obtencin de datos.
La memoria principal es el nico dispositivo de almacenamiento grande que la CPU puede direccionar y acceder directamente. Por ejemplo para que la CPU procese datos de disco, primero hay que transferir los datos a la memoria principal mediante las llamadas de E/S generadas por la CPU. Pgina 14 de 38
Para ejecutar un programa es necesario cargarlo en memoria y trasformar sus direcciones relativas en absolutas.
Actividades del S.O para la gestin de memoria: Mantener una traza de que partes de la memoria estn actualmente en uso y por quin. Decidir que procesos se cargarn en memoria cuando exista espacio disponible. Asignar y liberar espacio de memoria. 5.3. Gestin del si stema de E/S. Uno de los objetivos de un sistema operativo es ocultar las peculiaridades de dispositivos especficos de modo que el usuario no las perciba. El subsistema que oculta las peculiaridades consiste en: Un componente de gestin de memoria que incluye el uso de buffers, caches y spool. Una interfaz general con los controladores de dispositivos. Drivers controladoras en SW para dispositivos en HW especficos. 5.4. Gestin de almacenamiento secundario. Es el almacenamiento permanente de datos y programas. Necesario por el reducido tamao y volatilidad de la memoria. Discos: o Almacenamiento de tamao medio. o Almacenamiento on-line de datos y programas. o Actividades del S.O para la gestin de almacenamiento: o Gestin del espacio libre. o Asignacin de almacenamiento. o Gestin de disco. 5.5. Gestin de si stema de ficheros. Un fichero es una coleccin de informacin relacionada definida por su creador, Los ficheros representan programas (fuente u objeto) y datos. Actividades del S.O para la gestin de ficheros: o Creacin y borrado de ficheros. o Creacin y borrado de directorios. o Proporcionar primitivas para manipulacin de ficheros y directorios. Pgina 15 de 38
o Establece la correspondencia entre los ficheros y el almacenamiento secundario. o Backup de los ficheros en medios de almacenamiento no voltiles. 5.6. Sistemas de proteccin. Mecanismo para controlar el acceso al sistema y a los recursos de usuario por parte de programas, procesos o usuarios. Tares del mecanismo de proteccin: o Distinguir entre usos autorizados y no autorizados. o Especificar los controles a instaurar. o Suministrar medios para restringir los usos. 5.7. Intrprete de rdenes. Interprete de comandos Shell: programa que lee e interpreta las sentencias de control. Interfaz entre el usuario y el S.O 5.8. Trabajo con redes. Un sistema distribuido es una coleccin de procesadores que no comparten ni memoria ni reloj. Cada procesador tiene su propia memoria local. Los procesadores del sistema estn conectados a travs de una red de comunicacin. Un sistema distribuido proporciona acceso al usuario a diversos recursos del sistema. Ventajas de los recursos compartidos: Ganancia en tiempo de clculo. Incremento en la disponibilidad de datos. Mejora de la fiabilidad. 5.9. Servicios de los si stemas operativos. Ayuda al usuario. Ejecucin de programas. Operaciones de E/S. Manipulacin del sistema de ficheros. Comunicaciones Memoria compartida o paso de mensajes. Deteccin de errores. Eficiencia del sistema: Asignacin de recursos. Pgina 16 de 38
Contabilidad: tiempo de ejecucin y usuarios. Proteccin: control de todos los recursos del sistema. 6. Gestores de arranque. En caso de que haya instalados varios sistemas operativos en un mismo ordenador, hay que utilizar un sistema para poder seleccionar que sistema operativo se va a iniciar. El gestor de arranque es un pequeo programa que se ejecuta una vez completado el inicio normal de la BIOS y que permite seleccionar el sistema operativo en caso de disponer un arranque mltiple.
NTLDR: NTLDR (abreviatura de NT Loader) es el archivo encargado del arranque del sistema operativo en todas las versiones de Microsoft Windows NT, incluyendo Windows XP y Windows Server 2003. El NTLDR se encuentra usualmente en el disco duro principal, pero tambin puede encontrarse en dispositivos porttiles como CD-ROM, memorias USB, o disquetes.
NTLDR requiere, como mnimo, que dos archivos adicionales se encuentren en la particin principal: NTLDR, que se encarga de cargar el sistema operativo. boot.ini, que contiene un men de opciones de inicio.
Si el archivo NTLDR no se encuentra en el disco, la computadora enviar un mensaje de error informndolo.
Admini strador de arranque Bootmgr: En Windows Vista, Windows 7 y Windows Server 2008, el NTLDR fue reemplazado por dos componentes llamados winload.exe y Windows Boot Manager, se encuentra en el directorio raz del disco del sistema. Controla el proceso de arranque mostrando el men multiarranque. Despus llama al archivo WindLoad.exe que es el cargador del sistema operativo y dar paso al ntoskrnl.exe, que se encarga del resto del arranque.
LILO: Literalmente, el cargador de Linux (LInux LOader) es un gestor de arranque muy verstil que permite iniciar un sistema operativo (SO) cargando el sector de arranque de una particin del disco duro (o de un disquete).
Esto lo pueden hacer otros gestores de botado, pero slo LILO puede cargar el kernel de Linux y arrancar Linux presentando adems la posibilidad de pasar parmetros al kernel mediante lneas de comando.
Pgina 17 de 38
LILO tiene una serie de componentes que se cargan de manera secuencial. En primer lugar, se carga la primera parte (el comienzo del cdigo) del cargador en el sector de arranque. Cuando este primer tramo del cargador se ha iniciado, aparece una "L" en el monitor. Entonces, el resto (la mayor parte del cdigo) del cargador (que junto con la primera parte del cdigo se encuentra en el fichero /boot/boot.b) procede a iniciarse.
J usto antes de que se cargue este segundo tramo de cdigo, se presenta "I" en la pantalla. Si todo ha ido bien, despus de haberse cargado, la siguiente letra de LILO, "L", aparecer en la pantalla. Despus de esto, se produce la carga de la tabla de descriptores a partir del fichero /boot.map, donde se establecern las ubicaciones de los posibles kernels de Linux as como los sectores de arranque correspondientes a otros SOs que tambin gestione LILO. Por ltimo, se carga el SO seleccionado, que en principio ser el kernel de Linux. Si todo ha funcionado sin problemas, aparecer una "O" en el monitor y se habr escrito en la pantalla la palabra LILO.
Si hubiera problemas en el proceso de arranque la presencia o ausencia de las letras de LILO junto con algunos otros mensajes sern claves para diagnosticar la causa del fallo.
GRUB: Permite a los usuarios tener mltiples sistemas operativos en la misma computadora y permite tambin elegir cul ejecutar cuando la misma se inicia. GNU GRUB es desarrollado a partir de un paquete previo llamado GRand Unified Bootloader.
GRUB puede ejecutarse en cualquier sistema operativo con kernel Multiboot. Predomina especialmente en los sistemas operativos basados en Unix. Los sistemas operativos libres suelen utilizar GNU GRUB como su iniciador de boot.
Caractersticas de GRUB: GRUB es dinmicamente configurable; abre su configuracin al inicio, permitiendo en tiempo de inicio cambios como seleccionar diferentes kernels. GRUB es altamente portable. Soporta mltiples formatos de ejecutables y tambin soporta sistemas operativos que no permiten multiboteo como Windows o OS/2. Tambin soporta todos los sistemas de archivos usados en Unix, como tambin los empleados por Windows (VFAT y NTFS). Pgina 18 de 38
7. Tipos de aplicaciones.
8. Licenci as de di stribucin software comercial. Open Value le permite efectuar pagos anuales predecibles durante tres aos al licenciar todos los PCs de su organizacin (con un mnimo de cinco PCs) y actualizar en cualquier momento, para mantener un entorno de PCs estandarizado. Open Value ofrece a las pequeas y medianas organizaciones una administracin de licencias ms sencilla y la posibilidad de controlar mejor sus inversiones en software Microsoft y sus ciclos de actualizaciones
Open Multilicencia es un acuerdo de dos aos que le permite ahorrar frente al coste de licencias en caja (FPP) efectuando una compra inicial de cinco o ms licencias o de una licencia de servidor. Los clientes pueden combinar en esa compra diferentes productos de Microsoft para cualificar la compra mnima de cinco licencias.
Las licencias OEM son licencias de software que son adquiridas en la compra de un PC con software legalmente preinstalado. Si alguna vez ha adquirido un PC Nuevo con Microsoft Windowso Microsoft Office ya instalado ha adquirido licencias de software OEM. Las licencias OEM solo pueden ser utilizadas e instaladas en el PC con el que fueron preinstaladas.
Las Licencias FPP es software empaquetado (en caja) de venta en cualquier distribuidor autorizado de software. La licencia FPP es para consumidores que quieren adquirir una pequea cantidad de licencias de Pgina 19 de 38
software de forma rpida y es perfecta para usuarios caseros. La licencia FPP puede ser transferida a un PC distinto slo una vez. 9. Licenci as de Software Li bre. Software libre (en ingls free software) es la denominacin del software que brinda libertad a los usuarios sobre su producto adquirido y por tanto, una vez obtenido, puede ser usado, copiado, estudiado, modificado y redistribuido libremente. Segn la Free Software Foundation, el software libre se refiere a la libertad de los usuarios para ejecutar, copiar, distribuir, estudiar, cambiar y mejorar el software; de modo ms preciso, se refiere a cuatro libertades de los usuarios del software: la libertad de usar el programa, con cualquier propsito; de estudiar el funcionamiento del programa, y adaptarlo a las necesidades; de distribuir copias, con lo que puede ayudar a otros; de mejorar el programa y hacer pblicas las mejoras, de modo que toda la comunidad se beneficie (para la segunda y ltima libertad mencionadas, el acceso al cdigo fuente es un requisito previo).
El software libre suele estar disponible gratuitamente, o al precio de coste de la distribucin a travs de otros medios; sin embargo no es obligatorio que sea as, por ende no hay que asociar software libre a "software gratuito" (denominado usualmente freeware), ya que, conservando su carcter de libre, puede ser distribuido comercialmente ("software comercial"). Anlogamente, el "software gratis" o "gratuito" incluye en algunas ocasiones el cdigo fuente; no obstante, este tipo de software no es libre en el mismo sentido que el software libre, a menos que se garanticen los derechos de modificacin y redistribucin de dichas versiones modificadas del programa.
Tampoco debe confundirse software libre con "software de dominio pblico". ste ltimo es aqul que no requiere de licencia, pues sus derechos de explotacin son para toda la humanidad, porque pertenece a todos por igual. Cualquiera puede hacer uso de l, siempre con fines legales y consignando su autora original. Este software sera aqul cuyo autor lo dona a la humanidad o cuyos derechos de autor han expirado, tras un plazo contado desde la muerte de ste, habitualmente 70 aos. Si un autor condiciona su uso bajo una licencia, por muy dbil que sea, ya no es dominio pblico. 9.1. Libertades del software libre. De acuerdo con tal definicin, el software es "libre" si garantiza las siguientes libertades: Libertad 0: La libertad de usar el programa, con cualquier propsito. Libertad 1: La libertad de estudiar cmo funciona el programa, y adaptarlo a tus necesidades. Libertad 2: La libertad de distribuir copias, con lo que puedes ayudar a tu vecino. Libertad 3: La libertad de mejorar el programa y hacer pblicas las mejoras a los dems, de modo que toda la comunidad se beneficie. Pgina 20 de 38
Las libertades 1 y 3 requieren que est disponible el cdigo fuente porque estudiar y modificar software sin su cdigo fuente es muy poco viable.
Ciertos tericos usan este cuarto punto (libertad 3) para justificar parcialmente las limitaciones impuestas por la licencia GNU GPL frente a otras licencias de software libre. Sin embargo el sentido original es ms libre, abierto y menos restrictivo que el que le otorga la propia situacin de incompatibilidad, que podra ser resuelta en la prxima versin 3.0 de la licencia GNU GPL, causa en estos momentos graves perjuicios a la comunidad de programadores de software libre, que muchas veces no pueden reutilizar o mezclar cdigos de dos licencias distintas, pese a que las libertades tericamente lo deberan permitir.
En el sitio web oficial de OSI est la lista completa de las licencias de software libre actualmente aprobadas y tenidas como tales.
El trmino software no libre se emplea para referirse al software distribuido bajo una licencia de software ms restrictiva que no garantiza estas cuatro libertades. Las leyes de la propiedad intelectual reservan la mayora de los derechos de modificacin, duplicacin y redistribucin para el dueo del copyright; el software dispuesto bajo una licencia de software libre rescinde especficamente la mayora de estos derechos reservados.
La definicin de software libre no contempla el asunto del precio; un eslogan frecuentemente usado es "libre como en libertad, no como en cerveza gratis" o en ingls "Free as in freedom, not as in free beer" (aludiendo a la ambigedad del trmino ingls "free"), y es habitual ver a la venta CDs de software libre como distribuciones GNU/Linux. Sin embargo, en esta situacin, el comprador del CD tiene el derecho de copiarlo y redistribuirlo. El software gratis puede incluir restricciones que no se adaptan a la definicin de software libre por ejemplo, puede no incluir el cdigo fuente, puede prohibir explcitamente a los distribuidores recibir una compensacin a cambio, etc.
Para evitar la confusin, algunas personas utilizan los trminos "libre" (Libre software) y "gratis" (Gratis software) para evitar la ambigedad de la palabra inglesa "free". Sin embargo, estos trminos alternativos son usados nicamente dentro del movimiento del software libre, aunque estn extendindose lentamente hacia el resto del mundo. Otros defienden el uso del trmino open source software (software de cdigo abierto, tambin llamado de fuentes abiertas). La principal diferencia entre Pgina 21 de 38
los trminos "open source" y "free software" es que ste ltimo tiene en cuenta los aspectos ticos y filosficos de la libertad, mientras que el "open source" se basa nicamente en los aspectos tcnicos.
En un intento por unir los mencionados trminos que se refieren a conceptos semejantes, se est extendiendo el uso de la palabra "FLOSS" con el significado de "Free - Libre - Open Source Software" e, indirectamente, tambin a la comunidad que lo produce y apoya. 9.2. Tipos de Licencias. Una licencia es aquella autorizacin formal con carcter contractual que un autor de un software da a un interesado para ejercer "actos de explotacin legales". Pueden existir tantas licencias como acuerdos concretos se den entre el autor y el licenciatario. Desde el punto de vista del software libre, existen distintas variantes del concepto o grupos de licencias:
Licenci as GPL: Una de las ms utilizadas es la Licencia Pblica General de GNU (GNU GPL). El autor conserva los derechos de autor (copyright), y permite la redistribucin y modificacin bajo trminos diseados para asegurarse de que todas las versiones modificadas del software permanecen bajo los trminos ms restrictivos de la propia GNU GPL. Esto hace que sea imposible crear un producto con partes no licenciadas GPL: el conjunto tiene que ser GPL.
Es decir, la licencia GNU GPL posibilita la modificacin y redistribucin del software, pero nicamente bajo esa misma licencia. Y aade que si se reutiliza en un mismo programa cdigo "A" licenciado bajo licencia GNU GPL y cdigo "B" licenciado bajo otro tipo de licencia libre, el cdigo final "C", independientemente de la cantidad y calidad de cada uno de los cdigos "A" y "B", debe estar bajo la licencia GNU GPL.
En la prctica esto hace que las licencias de software libre se dividan en dos grandes grupos, aquellas que pueden ser mezcladas con cdigo licenciado bajo GNU GPL (y que inevitablemente desaparecern en el proceso, al ser el cdigo resultante licenciado bajo GNU GPL) y las que no lo permiten al incluir mayores u otros requisitos que no contemplan ni admiten la GNU GPL y que por lo tanto no pueden ser enlazadas ni mezcladas con cdigo gobernado por la licencia GNU GPL.
En el sitio web oficial de GNU hay una lista de licencias que cumplen las condiciones impuestas por la GNU GPL y otras que no. Aproximadamente el 60% del software licenciado como software libre emplea una licencia GPL. Pgina 22 de 38
Licenci as estilo BSD: Llamadas as porque se utilizan en gran cantidad de software distribuido junto a los sistemas operativos BSD. El autor, bajo tales licencias, mantiene la proteccin de copyright nicamente para la renuncia de garanta y para requerir la adecuada atribucin de la autora en trabajos derivados, pero permite la libre redistribucin y modificacin, incluso si dichos trabajos tienen propietario. Son muy permisivas, tanto que son fcilmente absorbidas al ser mezcladas con la licencia GNU GPL con quienes son compatibles. Puede argumentarse que esta licencia asegura verdadero software libre, en el sentido que el usuario tiene libertad ilimitada con respecto al software, y que puede decidir incluso redistribuirlo como no libre. Otras opiniones estn orientadas a destacar que este tipo de licencia no contribuye al desarrollo de ms software libre (normalmente utilizando la siguiente analoga: "una licencia BSD es ms libre que una GPL si y slo si se opina tambin que un pas que permita la esclavitud es ms libre que otro que no la permite").
Licenci as estilo MPL y derivadas: Esta licencia es de Software Libre y tiene un gran valor porque fue el instrumento que emple Netscape Communications Corp. para liberar su Netscape Comunicador 4.0 y empezar ese proyecto tan importante para el mundo del Software Libre: Mozilla. Se utilizan en gran cantidad de productos de software libre de uso cotidiano en todo tipo de sistemas operativos. La MPL es Software Libre y promueve eficazmente la colaboracin evitando el efecto "viral" de la GPL (si usas cdigo licenciado GPL, tu desarrollo final tiene que estar licenciado GPL). Desde un punto de vista del desarrollador la GPL presenta un inconveniente en este punto, y lamentablemente mucha gente se cierra en banda ante el uso de dicho cdigo. No obstante la MPL no es tan excesivamente permisiva como las licencias tipo BSD. Estas licencias son denominadas de copyleft dbil. La NPL (luego la MPL) fue la primera licencia nueva despus de muchos aos, que se encargaba de algunos puntos que no fueron tenidos en cuenta por las licencias BSD y GNU. En el espectro de las licencias de software libre se la puede considerar adyacente a la licencia estilo BSD, pero perfeccionada.
Copyleft: Hay que hacer constar que el titular de los derechos de autor (copyright) de un software bajo licencia copyleft puede tambin realizar una versin modificada bajo su copyright original, y venderla bajo cualquier licencia que desee, adems de distribuir la versin original como software libre. Esta tcnica ha sido usada como un modelo de negocio por una serie de empresas que realizan software libre (por ejemplo MySQL).
Pgina 23 de 38
Esta prctica no restringe ninguno de los derechos otorgados a los usuarios de la versin copyleft. Tambin podra retirar todas las licencias de software libre anteriormente otorgadas, pero esto obligara a una indemnizacin a los titulares de las licencias en uso.
En Espaa, toda obra derivada est tan protegida como una original, siempre que la obra derivada parta de una autorizacin contractual con el autor. En el caso genrico de que el autor retire las licencias "copyleft", no afectara de ningn modo a los productos derivados anteriores a esa retirada, ya que no tiene efecto retroactivo. En trminos legales, el autor no tiene derecho a retirar el permiso de una licencia en vigencia. Si as sucediera, el conflicto entre las partes se resolvera en un pleito convencional.
Como curiosidad podis acceder a la WEB de OSI, donde estn todas las licencias aprobadas para el desarrollo de software libre: http://www.opensource.org/licenses/alphabetical 10. Normativa legal sobre propiedad intelectual. Artculo 95. Rgimen jurdico: El derecho de autor sobre los programas de ordenador se regir por los preceptos del presente Ttulo y, en lo que no est especficamente previsto en el mismo, por las disposiciones que resulten aplicables de la presente Ley.
Artculo 96. Objeto de la proteccin. 1. A los efectos de la presente Ley se entender por programa de ordenador toda secuencia de instrucciones o indicaciones destinadas a ser utilizadas, directa o indirectamente, en un sistema informtico para realizar una funcin o una tarea o para obtener un resultado determinado, cualquiera que fuere su forma de expresin y fijacin. A los mismos efectos, la expresin programas de ordenador comprender tambin su documentacin preparatoria. La documentacin tcnica y los manuales de uso de un programa gozarn de la misma proteccin que este Ttulo dispensa a los programas de ordenador. 2. El programa de ordenador ser protegido nicamente si fuese original, en el sentido de ser una creacin intelectual propia de su autor. 3. La proteccin prevista en la presente Ley se aplicar a cualquier forma de expresin de un programa de ordenador. Asimismo, esta proteccin se extiende a cualquier versin sucesiva del programa as como a los programas derivados, salvo aquellas creadas con el fin de ocasionar efectos nocivos a un sistema informtico. Cuando los programas de ordenador forman parte de una patente o un modelo de Pgina 24 de 38
utilidad gozar, sin perjuicio de lo dispuesto en la presente Ley, de la proteccin que pudiera corresponderles por aplicacin del rgimen jurdico de la propiedad industrial. 4. No estarn protegidos mediante los derechos de autor con arreglo a la presente Ley las ideas y principios en los que se basan cualquiera de los elementos de un programa de ordenador incluidos los que sirven de fundamento a sus interfaces.
Artculo 97. Titularidad de los derechos. 1. Ser considerado autor del programa de ordenador la persona o grupo de personas naturales que lo hayan creado, o la persona jurdica que sea contemplada como titular de los derechos de autor en los casos expresamente previstos por esta Ley. 2. Cuando se trate de una obra colectiva tendr la consideracin de autor, salvo pacto en contrario, la persona natural o jurdica que la edite y divulgue bajo su nombre. 3. Los derechos de autor sobre un programa de ordenador que no sea resultado unitario de la colaboracin entre varios autores sern propiedad comn y correspondern a todos stos en la proporcin que determinen. 4. Cuando un trabajador asalariado cree un programa de ordenador, en el ejercicio de las funciones que le han sido confiadas o siguiendo las instrucciones de su empresario, la titularidad de los derechos de explotacin correspondientes al programa de ordenador as creado, tanto el programa fuente como el programa objeto, correspondern, exclusivamente, al empresario, salvo pacto en contrario. 5. La proteccin se conceder a todas las personas naturales y jurdicas que cumplan los requisitos establecidos en esta Ley para la proteccin de los derechos de autor.
Artculo 98. Duracin de l a proteccin. 1. Cuando el autor sea una persona natural la duracin de los derechos de explotacin de un programa de ordenador ser, segn los distintos supuestos que pueden plantearse, la prevista en el captulo I del Ttulo III de este Libro. 2. Cuando el autor sea una persona jurdica la duracin de los derechos a que se refiere el prrafo anterior ser de setenta aos, computados desde el da 1 de enero del ao siguiente al de la divulgacin lcita del programa o al de su creacin si no se hubiera divulgado.
Pgina 25 de 38
Artculo 99. Contenido de los derechos de explotacin. Sin perjuicio de lo dispuesto en el artculo 100 de esta Ley los derechos exclusivos de la explotacin de un programa de ordenador por parte de quien sea su titular con arreglo al artculo 97, incluirn el derecho de realizar o de autorizar: a) La reproduccin total o parcial, incluso para uso personal, de un programa de ordenador, por cualquier medio y bajo cualquier forma, ya fuere permanente o transitoria. Cuando la carga, presentacin, ejecucin, transmisin o almacenamiento de un programa necesiten tal reproduccin deber disponerse de autorizacin para ello, que otorgar el titular del derecho. b) La traduccin, adaptacin, arreglo o cualquier otra transformacin de un programa de ordenador y la reproduccin de los derechos de la persona que transforme el programa de ordenador. c) Cualquier forma de distribucin pblica incluido el alquiler del programa de ordenador original o de sus copias. A tales efectos, cuando se produzca cesin del derecho del uso de un programa de ordenador, se entender, salvo prueba en contrario, que dicha cesin tiene carcter no exclusivo e intransferible, presumindose, asimismo, que lo es para satisfacer nicamente las necesidades del usuario. La primera venta en la Unin Europea de una copia de un programa por el titular de los derechos o con su consentimiento, agotar el derecho de distribucin de dicha copia, salvo el derecho de controlar el subsiguiente alquiler del programa o de una copia del mismo.
Artculo 100. Lmites a los derechos de explotacin. 1. No necesitarn autorizacin del titular, salvo disposicin contractual en contrario, la reproduccin o transformacin de un programa de ordenador incluida la correccin de errores, cuando dichos actos sean necesarios para la utilizacin del mismo por parte del usuario legtimo, con arreglo a su finalidad propuesta. 2. La realizacin de una copia de seguridad por parte de quien tiene derecho a utilizar el programa no podr impedirse por contrato en cuanto resulte necesaria para dicha utilizacin. 3. El usuario legtimo de la copia de un programa estar facultado para observar, estudiar o verificar su funcionamiento, sin autorizacin previa del titular, con el fin de determinar las ideas y principios implcitos en cualquier elemento del programa, siempre que lo haga durante cualquiera de las operaciones de carga, visualizacin, ejecucin, transmisin o almacenamiento del programa que tiene derecho a hacer. 4. El autor, salvo pacto en contrario, no podr oponerse a que el cesionario titular de derechos de explotacin realice o autorice la realizacin de versiones sucesivas de su programa ni de programas derivados del mismo. Pgina 26 de 38
5. No ser necesaria la autorizacin del titular del derecho cuando la reproduccin del cdigo y la traduccin de su forma en el sentido de los prrafos a) y b) del artculo 99 de la presente Ley, sea indispensable para obtener la informacin necesaria para la interoperabilidad de un programa creado de forma independiente con otros programas, siempre que se cumplan los siguientes requisitos: a) Que tales actos sean realizados por el usuario legtimo o por cualquier otra persona facultada para utilizar una copia del programa, o en su nombre, por parte de una persona debidamente autorizada. b) Que la informacin necesaria para conseguir la interoperabilidad no haya sido puesta previamente y de manera fcil y rpida, a disposicin de las personas a que se refiere el prrafo anterior. c) Que dichos actos se limiten a aquellas partes del programa original que resulten necesarias para conseguir la interoperabilidad. 6. La excepcin contemplada en el apartado 5 de este artculo ser aplicable siempre que la informacin as obtenida: a) Se utilice nicamente para conseguir la interoperabilidad del programa creado de forma independiente. b) Slo se comunique a terceros cuando sea necesario para la interoperabilidad del programa creado de forma independiente. c) No se utilice para el desarrollo, produccin o comercializacin de un programa sustancialmente similar en su expresin, o para cualquier otro acto que infrinja los derechos de autor. 7. Las disposiciones contenidas en los apartados 5 y 6 del presente artculo no podrn interpretarse de manera que permitan que su aplicacin perjudique de forma injustificada los legtimos intereses de la titular de los derechos o sea contraria a una explotacin normal del programa informtico.
Artculo 101. Proteccin registral . Los derechos sobre los programas de ordenador, as como sobre sus sucesivas versiones y los programas derivados, podrn ser objeto de inscripcin en el Registro de la Propiedad Intelectual. Reglamentariamente se determinarn aquellos elementos de los programas registrados que sern susceptibles de consulta pblica.
Artculo 102. Infraccin de los derechos. A efectos del presente Ttulo y sin perjuicio de lo establecido en el artculo 100 tendrn la consideracin de infractores de los derechos de autor quienes, sin autorizacin del titular de los mismos, realicen los actos previstos en el artculo 99 y en particular: Pgina 27 de 38
a) Quienes pongan en circulacin una o ms copias de un programa de ordenador conociendo o pudiendo presumir su naturaleza ilegtima. b) Quienes tengan con fines comerciales una o ms copias de un programa de ordenador, conociendo o pudiendo presumir su naturaleza ilegtima. c) Quienes pongan en circulacin o tengan con fines comerciales cualquier instrumento cuyo nico uso sea facilitar la supresin o neutralizacin no autorizadas de cualquier dispositivo tcnico utilizado para proteger un programa de ordenador.
Artculo 103. Medidas de proteccin. El titular de los derechos reconocidos en el presente Ttulo podr instar las acciones y procedimientos que, con carcter general, se disponen en el Ttulo I, Libro III de la presente Ley y las medidas cautelares procedentes, conforme a lo dispuesto en la Ley de Enjuiciamiento Civil. (Segn la redaccin dada por la Disposicin final segunda de la Ley 1/2000, de 7 de enero, de Enjuiciamiento Civil).
Artculo 104. Salvaguardi a de apli cacin de otras disposi ciones legales. Lo dispuesto en el presente Ttulo se entender sin perjuicio de cualesquiera otras disposiciones legales tales como las relativas a los derechos de patente, marcas, competencia desleal, secretos comerciales, proteccin de productos semiconductores o derecho de obligaciones. 11. Caractersticas si stemas operativos Windows. Diseado para tomar ventaja de todo el poder que ofrecen los procesadores ms avanzados de Intel, as como algunos de los procesadores RISC. Windows NT es la respuesta de Microsoft a UNIX. NT ofrece los mismos servicios que UNIX, interopera con redes UNIX. Adems, NT tiene las caractersticas que originalmente iba a tener el OS/2: un avanzado sistema operativo de 32 bits y compatibilidad con Windows GUI, adems de soportar las aplicaciones hechas en DOS pero liberndose de las limitaciones de ste. 11.1. Caractersticas de di seo. Las caractersticas de diseo que hacen de Windows NT un sistema operativo avanzado son: Extensibilidad: El cdigo podr ser alterado (crecer o cambiar) de manera sencilla segn cambien las necesidades del mercado y facilitar as los cambios futuros. El ejecutivo NT se implement con una arquitectura de capas, que opera en modo de ncleo o protegido, proporciona los servicios bsicos del sistema. Encima del ejecutivo, varios subsistemas servidores operan en modo de usuario entre estos subsistemas de entorno o ambiente que emulan diferentes sistemas operativos. Al tener NT una estructura modular, es posible aadir Pgina 28 de 38
subsistemas de entrono adicionales sin afectar el ejecutivo. NT utiliza controladores cargables en el sistema de E/S, para poder cargar nuevos sistemas de archivos, nuevos dispositivos de E/S y nuevas clases de soporte para redes mientras el sistema est trabajando Portabilidad: El cdigo podr utilizar cualquier procesador sin que esto afecte su desempeo de manera negativa. NT se dise de modo que fuera portable, casi todo el sistema est escrito en C/C++, todo el cdigo que depende del procesador se ha aislado en una biblioteca de enlazado dinmico (DLL), llamada capa de abstraccin de hardware (HAL). Una DLL es un archivo que se hace corresponder con el espacio de direcciones de un proceso de modo que cualquier funcin de la DLL aparece como si fuesen parte del proceso. Las capas superiores de NT dependen de la HAL, no del hardware subyacente. La HAL manipula el hardware directamente, aislando el resto de NT de las diferencias de hardware entre las plataformas en que se ejecuta. Confiabilidad y robustez: El sistema deber auto-protegerse tanto de los malos funcionamientos internos como de los externos. As mismo se deber comportar de manera predecible en cualquier momento y las aplicaciones no debern afectar su funcionamiento en forma negativa. NT se dise para resistir defectos y ataques empleando proteccin por hardware para la memoria virtual y mecanismos de proteccin por software para los recursos del sistema operativo. NT viene con un sistema de archivos, llamado sistema de archivos NTFS, que se recupera automticamente de muchas clases de errores del sistema de archivos despus de una cada del sistema. Compatibilidad: En el nivel de fuente con aplicaciones que siguen el estndar IEEE 1003.1 (POSIX), por tanto estas aplicaciones pueden para ejecutarse en NT sin modificar el cdigo fuente., adems NT puede ejecutar los binarios de muchos programas compilados para Intel. Las versiones de NT para procesadores no Intel emulan el conjunto de instrucciones Intel Multiprocesami ento y escalabil idad: Las aplicaciones podrn tomar ventaja de cualquier computadora y los usuarios podrn correr las mismas aplicaciones tanto en una computadora de un procesador como en una multiprocesador. Cmputo distribuido: NT ser capaz de repartir sus tareas computacionales a otras computadoras en la red para dar a los usuarios ms poder que el que tenga cualquier computadora por s misma en la red. Podr usar computadoras tanto local como remotamente de manera transparente al usuario (efecto de sinergia en red). Desempeo: El sistema debe responder y ser lo ms rpido posible en cada plataforma HW., se dise para multiprocesador con lo que varios hilos pueden ejecutarse al mismo tiempo. La Pgina 29 de 38
escalabilidad del actual NT es limitada NT apoyaba sistemas de hasta 8 procesadores, mientras Solaris se ejecuta en sistemas de hasta 64 procesadores. Compatibilidad con POSIX: Es un estndar especificado por el gobierno de los EU, el cual debern de cumplir todos los contratos en el rea computacional que sean vendidos a ese gobierno. NT puede proporcionar un ambiente opcional para la ejecucin de aplicaciones POSIX. Seguridad certificabl e por el gobierno de EU: El gobierno de EU estableci niveles de seguridad computacional como guas a cumplir para todas las aplicaciones gubernamentales. El rango de estos niveles va desde la D (menor) hasta la A (mayor), en donde la C y B tienen varios subniveles. NT puede soportar el C2 (el dueo del sistema tiene el derecho de decidir quin tiene permiso de acceso y el sistema operativo puede detectar cundo los datos son consultados y por quin) pero en futuras versiones puede ser mejorada para alcanzar niveles de seguridad ms altos. Internacionalidad: NT cuenta con soporte para diferentes ubicaciones a travs de la API de soporte de idiomas nacionales. Esta API cuenta con rutinas especializadas para dar formato a fechas, horas cantidades monetarias de acuerdo a las costumbres de cada pas. Las comparaciones de cadenas estn especializadas para tener en cuenta los diferentes conjuntos de caracteres. El cdigo de caracteres nativo de NT es UNICODE, aunque NT reconoce caracteres ANSI convirtindolos en caracteres UNICODE antes de manipularlos conversin de 8 a 16 bits. 11.2. Caractersticas general es. Un sistema operativo es un programa complejo que necesita un modelo unificado para asegurarse que el sistema puede acomodar sus caractersticas propias sin que stas alteren el diseo. El diseo de Windows NT fue guiado por una combinacin de diversos modelos que fueron unidos en Windows NT. Los rasgos caractersticos de NT son: Direccionamiento de 32-bits. Soporte de memoria virtual. Preemptive multitasking. Soporte para multiprocesador. Arquitectura cliente/servidor. Seguridad e integridad del sistema. Compatibilidad con otros Sistemas Operativos. Pgina 30 de 38
Independencia de plataformas. Networking (Interoperatividad).
Windows NT tiene dos modos de operar, modo usuario y modo privilegiado (kernel). Programas de aplicaciones como una base de datos, una hoja de clculo, o un sistema de reservaciones de un hotel, siempre son ejecutados en modo usuario. El ejecutivo de NT es el corazn del sistema. El ejecutivo de NT realiza tareas como el manejo de entradas y salidas, la memoria virtual, y todos lo procesos, adems de controlar las ligas entre NT y el hardware de la computadora. El ejecutivo de NT es ejecutado en modo kernel, el cual es una modo de alta seguridad libre de interferencias de los procesos de los usuarios.
El modo usuario, hay tambin los llamados subsistemas protegidos. Un ejemplo de estos es el Win32 API. Usando esta API los programadores no tienen por qu preocuparse acerca del hardware donde el programa va a ser ejecutado y por otro lado protege al sistema de aquellos programadores que traten de modificar su memoria y para hacer que falle el sistema. Adicionalmente el API tiene reglas de seguridad que protegen a los otros subsistemas de interferencias entre ellos.
En el ambiente de NT los programas de aplicacin de los usuarios son los clientes y los subsistemas protegidos son los servidores. Las aplicaciones (clientes) mandan mensajes a los subsistemas protegidos a travs del ejecutivo de NT, el cual provee un conjunto de servicios compartidos para todos los servidores. Y a su vez los servidores contestan a los clientes de la misma forma.
Pgina 31 de 38
En NT, los servidores ejecutndose en un procesador local pueden mandar mensajes de sus clientes a otros servidores que estn siendo ejecutados en procesadores remotos sin que se necesite que el cliente sepa algo de los servidores remotos.
El modelo cliente / servidor hizo que el sistema operativo fuera ms eficiente eliminando recursos duplicados y elev el soporte que ofrece el sistema operativo para multiproceso y redes. Esta arquitectura permite que otros API's sean aadidos sin tener que aumentar un nuevo ejecutivo de NT para su manejo. Por otro lado cada subsistema es un proceso separado en sus propias memorias protegidas, as, si uno de los subsistemas falla no hace que todo el sistema falle tambin.
Servicios del sistema: son las llamadas al sistema que sirven como medio de comunicacin entre los modos de los procesos y los componentes del ejecutivo. La manera en que interactan los dos componentes anteriormente mencionados es a travs de llamadas al sistema; en otras palabras los servicios del sistema son el API para el modo de usuario.
12. Caracteri sticas Linux.
Todo el mundo ha odo hablar de la potencia y fiabilidad que hacen de GNU/Linux un maravilloso sistema operativo. Pero en realidad, qu caractersticas hacen que GNU/Linux sea lo que es?.
En la historia de los sistemas operativos ha habido diversas soluciones a los diferentes problemas que se han ido encontrando. stos pueden ser, el de la concurrencia de procesos, la memoria compartida, la comunicacin de procesos, el soporte a mltiples usuarios, etc ...
Muchos conocemos las limitadas caractersticas de MS-DOS como sistema operativo monotarea y monousuario, que a algunos nos sirvieron en nuestras primeras andaduras en esto de la informtica. Pero como todo, los sistemas operativos cambian y evolucionan con respecto a los requerimientos de sus usuarios. En los sistemas operativos actuales, sean de cdigo libre o comerciales, hay algunas palabras que estn en boca de todos. Multitarea, multiusuario, portabilidad, etc ...
Qu quieren decir cada uno de estos trminos?
Pgina 32 de 38
Multitarea: La palabra multitarea describe la capacidad de ejecutar varios programas al mismo tiempo sin detener la ejecucin de cada aplicacin. Se le denomina multitarea prioritaria porque cada programa tiene garantizada la oportunidad de ejecutarse, y se ejecuta hasta que el sistema operativo da prioridad a otro programa, por medio del mdulo planificador para que se ejecute. Linux y otros sistemas operativos multitarea consiguen el proceso de prioridad supervisando los procesos que esperan para ejecutarse, as como los que se estn ejecutando. El sistema programa cada proceso para que disponga de las mismas oportunidades de acceso al microprocesador. El resultado es que las aplicaciones parecen estar ejecutndose al mismo tiempo (en realidad hay una demora de billonsimas de segundo entre una ejecucin y otra). Linux tambin es capaz de gestionar mquinas con varios procesadores, obteniendo la capacidad de procesar paralelamente (a la vez) varios procesos (tantos como microprocesadores tenga la mquina). Esto es lo que se llama concurrencia real. Multiusuario: La idea de que varios usuarios pudieran acceder a las aplicaciones o a la capacidad de proceso de un nico PC era una utopa hace relativamente pocos aos. La capacidad de Linux para asignar el tiempo de microprocesador simultneamente a varias aplicaciones ha derivado en la posibilidad de ofrecer servicio a diversos usuarios a la vez, ejecutando cada uno de ellos una o ms aplicaciones. La caracterstica ms relevante de Linux y sus funciones de multiusuario y multitarea, es que ms de una persona puede trabajar con la misma mquina simultneamente desde el mismo terminal o desde terminales distintos. No se debe confundir esto con el hecho de que muchos usuarios puedan actualizar el mismo archivo simultneamente, caracterstica que es potencialmente confusa, ya que es otro tipo de problema de concurrencia. Shell programabl e: El Shell programable es otra caracterstica que hace que UNIX, y por tanto GNU/Linux, sea lo que es: el sistema operativo ms flexible de los existentes. Dentro del marco del Shell hay un nuevo mundo accesible a todos aquellos que sean lo suficientemente aventureros como para dominar los entresijos de la sintaxis de los comandos de GNU/Linux. La programacin del shell de GNU/Linux ofrece tantas funciones como personas deseen utilizarlas. Muchos utilizan esta caracterstica para personalizar su sistema y hacerlo ms amigable. Otros lo encuentran muy til para simplificar muchas de las aplicaciones que ejecutan, permitindoles realizar una serie de procesos en segundo plano (background) para poder trabajar en otros. Independenci a de dispositivos: Las caractersticas que Linux ha heredado de UNIX hacen que ste se aproveche de las mejores caractersticas de UNIX. Una de ellas es la adaptabilidad del kernel en cuanto a la visualizacin de dispositivos nuevos en el sistema, ya que el kernel de UNIX/Linux ve a estos dispositivos como enlaces, o simples controladores. No obstante, si existiese algn problema con Pgina 33 de 38
algn dispositivo, y al tener el cdigo libre, siempre se puede programar un controlador para un dispositivo que no exista, cosa que no puedes hacer en ningn otro sistema operativo comercial. Comunicaciones y redes: La superioridad de UNIX sobre otros sistemas operativos es igualmente evidente en sus utilidades y conexin en red. Linux no es ninguna excepcin. Ningn otro sistema operativo incluye unas posibilidades de conexin en red tan ajustadamente acopladas y ningn otro sistema operativo posee la flexibilidad incorporada de estas mismas caractersticas. Internet naci y se cre en un mundo UNIX. Portabilidad: La portabilidad es simplemente la posibilidad de transportar un sistema operativo de una plataforma a otra sin que se vea alterado su comportamiento. En la actualidad, Linux es capaz de correr en mltiples plataformas, como pueden ser el i386, ALPHA, MAC, etc...
Otro aspecto a introducir antes de pasar a describir propiamente el proceso de instalacin, y que reviste mayor importancia si se tiene otro sistema operativo previamente instalado, es la forma bsica en que se carga un sistema operativo Linux. Para ello la va ms simple y utilizada es un pequeo programa llamado LILO (LInux Loader) que permite cargar tanto Linux como cualquier otro sistema operativo instalado en el mismo PC. 12.1. Etapas de arranque. Cargar e inicializar el ncleo del sistema. Deteccin y configuracin de dispositivos. Creacin de dispositivos espontneos. Intervencin del operador solo en arranque en modo mono-usuario. Ejecucin de programas de arranque del sistema. Activacin del modo multiusuario. Ejecucin del programa de la ROM (bootstrap): Verificacin de aspectos del sistema HW, se mira desde que dispositivo hay que arrancar y en que modo debemos de arrancar. Ejecucin del cargador de inicio desde el dispositivo en el bloque de arranque. Carga e inicializacin del ncleo, envi de mensajes a syslog empleando el comando dmesg para verlos. Inicializacin de estructuras internas y test del hardware. Crear el proceso 0 (swapper) y el proceso 1 (init) procesos relaciones con la memoria virtual y el cache de disco. Ejecucin del proceso init (este es el nico proceso verdadero al inicio), padre de todos los procesos. Verificar la integridad de sistemas de ficheros esenciales y montarlos. Pgina 34 de 38
12.2. Niveles de ejecucin.
Nivel de ejecucin 0: Halt. Este nivel de ejecucin se encarga de detener todos los procesos activos en el sistema, enviando a la placa madre una interrupcin para el completo apagado del equipo. Nivel de ejecucin 1: Single. Nivel de ejecucin monousuario, sin acceso a servicios de red. Este nivel es regularmente utilizado en tareas de mantenimiento del sistema, y el usuario que ejecuta es root. Nivel de ejecucin 2: Al igual que el nivel de ejecucin monousuario, pero con funciones de red y comparticin de datos mediante nfs. Nivel de ej ecucin 3: Sistema multiusuario, con capacidades plenas de red, sin entorno grfico. Este nivel de ejecucin es el recomendado para sistemas de servidor, ya que evita la carga innecesaria de aplicaciones consumidoras de recursos. Nivel de ej ecucin 4: Nivel especificado, pero no se utiliza. Nivel de ejecucin 5: Al igual que el nivel de ejecucin 3, pero con capacidades grficas. Ideal para entornos de escritorio. Nivel de ejecucin 6: Reboot. Este nivel de ejecucin se encarga de detener todos los procesos activos en el sistema, enviando a la placa madre una interrupcin para el reinicio del equipo. Pgina 35 de 38
En un principio eran tres, en System V generaliza a otros estaos diferentes y los organiza a travs del fichero inittab (la entrada del fichero initdefault indica el nivel de arranque) El cambio de nivel se lleva con telinit n y para visualizar el nivel en curso es el runlevel. 12.3. Estructura general Linux Unix.
Llamadas al sistema: Interfaz de comunicacin que Unix/Linux ofrece a los procesos para que estos puedan acceder a sus funcionalidades. Un proceso consiste en un programa en fase de ejecucin. Las aplicaciones nunca van a actuar sobre el hardware de forma directa siendo las llamadas al sistema el mecanismo por el cual una aplicacin solicita al ncleo el uso de un determinado recurso hardware. Las llamadas al sistema van acompaadas de una biblioteca de funciones la cual permite invocar una llamada desde un programa C (se enlazan por defecto y est en libc.a). Los programas escritos en ensamblador pueden invocar directamente a las llamadas al sistema sin utilizar biblioteca intermedia. Los principales grupos de llamadas al sistema son los relativos a: ficheros, procesos y comunicacin entre procesos.
Subsistema de archivos: El subsistema de archivos controla los recursos del sistema de archivos y por tanto es el encargado de: Manipular los archivos. Reservar espacio de memoria principal a los archivos. Administrar el espacio libre del sistema de archivos. Controlar el acceso a los archivos. Intercambiar datos entre los archivos y el usuario.
Los procesos interactuarn con el subsistema de archivos mediante un conjunto de llamadas al sistema.
El subsistema de archivos es el encargado de acceder a los datos de los archivos localizados en los dispositivos de almacenamiento secundario (ej: discos duros), mediante los manejadores de dispositivos. Pgina 36 de 38
Los manejadores de dispositivos se encargan de establecer el protocolo de comunicacin entre el ncleo y los perifricos. Se pueden definir dos tipos de manejadores de dispositivos atendiendo a su modo de acceso: Dispositivos de acceso en modo bloque, que son los que utilizan un mecanismo de buffer que regula el flujo de datos entre el ncleo y el dispositivo, permitiendo un incremento en la velocidad de transferencia de los datos. Dispositivos de acceso en modo carcter. El acceso a estos dispositivos se realiza sin la intervencin de un mecanismo de buffer, es decir, se realiza de forma directa.
Subsistema de control de procesos: La sincronizacin de los procesos. La comunicacin entre procesos. El control de la memoria principal. La planificacin de los procesos.
Los procesos interactuarn con el subsistema de control de procesos mediante un conjunto de llamadas al sistema.
El subsistema de archivos y el subsistema de control de procesos interactan cuando se carga un archivo en memoria principal para su ejecucin. El subsistema de procesos es el encargado entre otras tareas de llevar los archivos ejecutables a la memoria principal previamente a su ejecucin.
El subsistema de control de procesos: est formado por tres mdulos:
El mdulo de gestin de memoria (swapper): Controla la asignacin de memoria principal a los procesos, es decir, controla que procesos estn en cada instante en memoria principal. En un PC la memoria principal es finita. Todo proceso necesita de un conjunto de informaciones, denominado contexto, para ejecutarse. Esta informacin se tiene que encontrar (direccionar) en la memoria principal. Si en algn momento el sistema no tiene suficiente memoria principal para todos los procesos, el ncleo los trasladar de la memoria principal a la secundaria, operacin que se denomina swapping o intercambio, de esta manera se intenta garantizar que todos los procesos tengan una Pgina 37 de 38
oportunidad de ejecucin. El problema surge al ejecutar varios procesos concurrentemente que compartan direcciones. Para evitar este problema el compilador genera direcciones de un espacio de direcciones virtual que tiene su equivalencia con el espacio fsico real. El subsistema de manejo de memoria traducir estas direcciones virtuales a direcciones fsicas de memoria, de esta manera el compilador no tiene conocimiento de donde el ncleo cargar la informacin en ltima instancia, es ms, se podran mantener copias del mismo programa en memoria. El mdulo de pl anificacin (scheduler): Asigna el tiempo del procesador (CPU) a los procesos. Un proceso se ejecutar hasta que voluntariamente abandone el procesador bien porque necesita que le sea liberado algn recurso (pasar al estado dormido), o bien porque el ncleo lo pre adelante debido a que su tiempo de utilizacin del procesador ha expirado. En ese momento, el planificador seleccionar un nuevo proceso para ejecutar en funcin de su prioridad. El proceso que se estaba ejecutando volver a ser ejecutado cuando vuelva a ser el proceso de mayor prioridad en espera y por lo tanto se planifique de nuevo. El mdulo de comunicaci n: Es el encargado de comunicar los procesos entre si. Existen muchos mecanismos de interconexin, desde los mecanismos sncronos de envo de mensajes hasta los asncronos basados en el envo de seales. El mdulo de gestin de red: implementa los protocolos de comunicacin de red. El mdulo de control de hardware: Es el responsable del manejo de las interrupciones y la comunicacin con la mquina. Los dispositivos tales como discos o terminales pueden interrumpir a la CPU mientras se ejecuta un proceso, si esto ocurre, el ncleo debe restaurar la ejecucin del proceso interrumpido despus de que se haya atendido a la interrupcin. Las interrupciones no son atendidas por procesos especficos, sino por funciones especiales del ncleo llamadas en el contexto del proceso que en ese momento se est ejecutando.