You are on page 1of 14
240. Sistemas informaticos y redes locales 8.1. INTRODUCCION A LOS SISTEMAS OPERATIVOS Cuando comenzibamos el libro, haciamos mucho hincapié en la distincidn de los componentes que forman un sistema informatico: hardware, software y el hombre. Si solo faltara uno de ellos el sistema dejaria de funcionar. La division hardware-software es bastante amplia. En capitulos anteriores estudiébamos todos los componentes que forman la parte hardware, desde el microprocesador a placas bases 0 memorias RAM. [Ahora que comenzamos el estudio del software, éste no se centra sélo en el estudio de programas ya acabados, sino en todas las herramientas que se usan para desarrollarios. En el capitulo 1, ademas de conceptos propios informaticos se ensefiaba al alumno software para creacién de documentos, hojas de calculo y navegacién web, software sin més relevancia que para la que fue disefiado, es decir, aplicaciones que se encargan de realizar alguna funcién que no repercute en nuestro sistema hardware ‘A este software recordamos que lo denominabamos software de aplicacién. El sistema operativo constituye el software mis importante de un sistema informatico, también se denomina software base. Sin él, el mejor equipo hardware seria un conjunto de componentes sin ninguna utilidad. Segtin esto, la siguiente imagen muestra los niveles conceptuales! de un sistema informético. HOMBRE ee [APLICACIONES v z ‘CONPIADORES EOTTORES, INTERPTETES, ETC y z SISTEMA OPERATIVO ¥ x ‘DsPOSTIVOS {enguaie méauina) ¥ z FIACAS DEP (ieroprogramacién) y F__ - HARDWARE LOGICA otcTaL LS ‘COMPONENTES ELECTRONICOS — SOFTWARE Figura 8.1. Niveles conceptuales de un sistema informatico El sistema operativo se encuentra en la frontera entre los elementos hardware y el software de aplicacién, usado por el hombre de modo que: 1 Es necesario dividir un sistema informético en niveles ya que es un sistema complejo y disefiar algo para el conjunto es muy complicado. Por ejemplo, si necesitamos un nuevo elemento para establecer comunicacién con tna nueva arquitectura de ted es mas sencillo que una persona se dedique a Ta construccién del componente fisico y otra al desarrollo de herramientas software para su uso, va sea drivers como aplicaciones coneretas de transmision. Capitulo 8. Sistemas operativos y uso de maquinas virtuales 241 * Se encargard de la gestion y asignacién de los recursos hardware. Los recursos a gestionar seran: procesador, memoria, periféricos y sistema de archivos. + Proporcionard una interfaz al usuario para que pueda usar el sistema con facilidad. 8.2. COMPONENTES DE UN SISTEMA OPERATIVO Un sistema operativo basicamente esta formado por: = El nucleo. * Los servicios. = El intérprete de érdenes 0 Shell. 8.2.1. EL NUCLEO El nucleo es la parte del sistema operativo que interacciona directamente con el hardware del equipo, dejando que las aplicaciones accedan a estos de forma segura. Se encargard de la gestién de Jos recursos del mismo, como el procesador, la memoria, ete. La gestion de los recursos las realiza en funcién de los servicios, es decir, si una aplicacién conereta necesita del uso de la memoria, esta aplicacién realizar una Hamada al sistema para alertar al gestor de memoria, el gestor de memoria se encargaré de localizar las zonas ocupadas y finalmente sera el micleo el que entre en contacto con el hardware para que la accién se leve a cabo. PROGRAMAS INTERPRETE DE COMANDOS “ i i ae GESTION ae pra rh So" | cemon | Stamoe | secunono | commcrcon procesos | memona | CEES eed mt i Pon Figura 8.2. Componentes del sistema operativo. 8.2.2. LOS SERVICIOS Cuando un usuario ejecuta una aplicacién, ésta necesitard la utilizacién, en mayor 0 menor medida, de los componentes hardware que forman el sistema informatico. Por ejemplo, si estamos desarrollando un documento y decidimos imprimir el mismo, la aplicacién que estemos usando pedird al sistema el poder imprimir, el decir, solicitard el servicio de impresion del fichero. A continuacién, el componente del sistema operativo encargado de solventar positiva o negativamente esta peticién, se ocupara de conocer el estado de la impresora instalada, etc. Asi, en este proceso, observamos de la existencia de una interfaz de comunicacién entre aplicaciones y un componente que es el gestor del elemento que en cada caso necesitemos usar. Distinguimos diferentes gestores de servicios agrupados segin su funcionalidad: 242 Sistemas informaticos y redes locales + Gestor de memoria. Es la parte del sistema operativo que se encarga de la gestion de la memoria principal. Se encarga de conocer las partes de la misma que estén libres u ocupadas, ademas de la asignacién y liberacién de los procesos. * Gestor de procesos. Este elemento se encarga de la gestién del procesador. Cuando ejecutamos un programa éste pasa a denominarse proceso (programa en ejecucién) y comienza a precisar del microprocesador para poder ejecutarse. Si s6lo disponemos de un procesador el paralelismo real no existe, de forma que éste proceso debe convivir con otros y usar la CPU conjuntamente a intervalos de tiempo determinados. El gestor de procesos se encargard de asignar qué proceso debe usar en qué momento el procesador y en caso de que existan recursos del sistema que puedan ser accesibles por varios procesos, que no se produzca el acceso al mismo tiempo, Ademés, una vez finalizada la ejecucién debe encargarse de la destruccién de los procesos. NOTA: Segun la RAE (Real Academia Espafiola), se define programa como: “Conjunto unitario de instrucciones que permite a un ordenador realizar funciones diversas, como el tratamiento de textos, el diseio de gréficos....”. Ciertamente es asi, teniendo en cuenta que cada instruccién sera escrita usando una sintaxis concreta, proporcionada por un lenguaje de programacién determinado. A la hora de ejecutarse este programa se hard de arriba abajo (siempre que no existan sentencias de control como bucles 0 condicionales) como si leyéramos un libro. Normalmente una aplicacién estard compuesta por un conjunto de programas sencillos. = Gestor de la E/S. Elemento encargado de la gestién de los dispositivos de entrada y salida de informacién, es decir, dispositivos periféricos. = Gestor de archivos y directorios. Encargado de la gestién del almacenamiento secundario, gestion de ficheros y directorios. + Comunicacién y sineronizacién entre procesos. Se encarga de establecer mecanismos para que los procesos puedan comunicarse entre si y sincronizar esta comunicacién, = Seguridad. Es el elemento que se encarga de conocer qué puede hacer para usuario que accede al sistema, para asi indicar al niicleo qué recursos se pueden usar. ACTIVIDAD 8.1 Es facil crear un programa que genere en ejecucién procesos denominados hijos en C, investiga la forma de hacerlo, Cuando hayas entendido el procedimiento crea un pequefio programita que cree tres procesos hijo. Estos procesos deben crear un fichero cada uno, Ilamados procesol.txt, proceso2.txt y proceso3.txt. {Qué funcién has usado para la creacién de los procesos? ACTIVIDAD 8.2 Investiga en la web o bibliografia aportada por el profesor cémo se comunican los procesos. Desarrolla un documento de texto donde expliques los diferentes mecanismos. Ademés, incluye conceptos como concurrencia y acceso a regiones criticas. ACTIVIDAD 8.3 {Qué es el planificador de memoria? {Cual es su funcién? Capitulo 8. Sistemas operativos y uso de maquinas virtuales 243 INTERFAZ DE LLAMADAS AL SISTEMA Es la interfaz que usan los servicios para comunicarse con las aplicaciones de nivel superior, gracias a esta interfaz estas aplicaciones podrin realizar peticiones a los gestores de servicios que antes hethos estudiado. Basicamente una interfaz en este caso no es mas que una serie de funciones elementales. 8.2.3. EL INTERPRETE DE COMANDOS, ORDENES O SHELL El intérprete de comandos proporciona al usuario una interfaz por la que puede “hablar” con el PC. En este entomo, el usuario dispondra de una serie de comandos que ejecutara y que el Shell interpretara proporcionando informacién o realizando alguna operacién conereta. Seguin el sistema operativo el Shell variard y las érdenes seran diferentes. Utilizaremos el intérprete de comandos de forma ms prictica cuando estudiemos los sistemas operativos Windows 10 y Ubuntu 17.04. ACTIVIDAD 8.4 {Qué intérpretes de comando pueden usarse en Linux? {Cul es el mas usado? 8.3. ESTRUCTURA DE UN SISTEMA OPERATIVO El sistema operativo es un software grande y complicado, ya que esti compuesto de todos los elementos que hemos estudiado en el apartado anterior. Este software puede ser estructurado, en funcién de quien lo disefie de diferentes formas, como un solo programa o varios en continua comunicacién, En este apartado estudiaremos los sistemas operativos en funcién de su estructura. 8.3.1. SISTEMAS OPERATIVOS MONOLITICOS Este tipo de sistemas operatives no presentan una estructura clara, 1o forma un ‘inico programa donde se integran todos los componentes (niicleo, servicios ¢ intérprete). Algunos de los sistemas operativos que conocernos comenzaron usando esta estructura, ya que eran sistemas sencillos y al adquirir popularidad fueron requiriendo nuevas funciones que se agregaban directamente al niicleo, Ilegando a ser sistemas operativos demasiado pesados. Ejemplos de estos son MS-DOS y UNIX, 0 distribuciones GNU/Linux. La compilacién que presentan estos sistemas operativos viene dada a la hora de modificar los mismos para agregar funcionalidad, servicios 0 modificar los que ya existen NOTA: En sistemas operativos como las diferentes distribuciones de GNU/Linux, se puede configurar el nicleo en funcién de nuestras necesidades. Normalmente, cuando obtenemos las fuentes de una nueva version del nicleo, lo que hacemos es compilar ésta, de forma que en el proceso indicamos qué partes deben compactarse con él y cules deben almacenarse como médulos que puedan ser usados en funcién del momento preciso de ejecucién. 8.3.2. SISTEMAS OPERATIVOS ESTRUCTURADOS Sistemas operativos que siguen una estructura concreta, organizandose de este modo cada uno de sus componentes. Tenemos: 244 Sistemas informaticos y redes locales = Sistemas operativos estructurados por capas. = Sistemas operativos cliente-servidor. 8.3.2.1. Sistemas operativos estructurados por capas Este tipo de sistemas operativos estin estructurados en capas, de forma que cada capa define claramente una funcién del mismo, y cada capa ofrece servicios @ la que esté justo por encima de ella a través de una interfaz de servicios. La ventaja que tienen es que al estar estructurados en capas se dividen sus funciones y cada parte es menos compleja, ademas cada capa conoce las funciones que ella implementa y no Ia que implementan las demis, s6lo conoce la interfaz, cabeceras de funciones que puede usar, no su codigo, de la que esté justo debajo de ella. Fota estructura fue usada por primera vez en 1968, en el sistema operative THE (Technische Hogeschool Eindhoven), creado por Edsger W. Dijkstra. Peters Beets Prenat nas Figura 8.3. Estructura de capas del sistema operativo THE. 8.3.2.2. Sistemas operativos cliente-servidor En este tipo de sistemas se pretende que Ia mayoria de las funciones que tiene que desarrollar el sistema operativo se implementen a través de procesos de usuario, Tenemos un microntcleo y servidores (procesos que desarrollan la funcionalidad antes comentada). La Figura 8.2., muestra un esquema cliente-servidor. Disponemos de un niicleo que se encargars sobre todo de la gestién bisica de procesos, interrupciones, memoria y servicios bisicos de comunicacién entre procesos. Windows XP, Vista, 7, etc., sigue este esquema, aunque algunos de sus servidores (gestor de memoria, gestor de process, ete.), pueden ejecutarse en modo niicleo” ya que aumentan Ta eficiencia, Estos sistemas se denominan sistemas operativos hibridos. 8.4. FUNCIONES DE UN SISTEMA OPERATIVO Basicamente un sistema operativo debe gestionar los recursos hardware del sistema informatica donde se ejecuta y proporcionar una interfaz adecuada para su uso por parte del usuario como las aplicaciones que se ejecutan en él. 2 Las funciones se implementan en un tnico programa jlamado nticleo, como en los sistemas operativos monoliticos. A esto se le Hama trabajar en modo niicleo. Capitulo 8. Sistemas operativos y uso de maquinas virtuales 245 Con el estudio de los elementos que forman un sistema operativo hemos introducido ya su funcionalidad, aun asi digamos que sus cometidos principales son: = La gestién del procesador. > Creacién y finalizacién de proceso. > Control de recursos 0 secciones criticas. > Asignacién y liberacién de recursos criticos, accesibles por varios procesos. > Solucionar posibles bloqueos en el uso de recursos. «La gestion de la memo! > Reserva y liberacién de la memoria. > Conversién de direcciones virtuales. —> Comprobacién del uso de la memoria. > Uso de memoria virtual. = La gestién del sistema de archivos. > Creacién y eliminacién de archivos y directorios, > Modificacién de los ficheros y directorios. > Asignacién y manejo de permisos de archivos. = La gestidn de E/S. > Coordinacién de los procesos a los diferentes dispositivos de E/S. > Manejo de la memoria para el acceso directo del dispositivo. > Proporcionar interfaz entre sistema y dispositivo > Proporcionar interfaz entre usuario y dispositivo. = La interfaz de usuario. > Proporcionar un entorno (intérprete de comandos) en el que el usuario pueda comunicarse con el sistema operativo y establecer una serie de comandos para la comunicacién. — En los sistemas operativos actuales proporcionar Interfaces Graficas de Usuario (GUI) cada vez mis intuitivas y ficiles de usar. = La interfaz para el uso en aplicaciones. — Proporcionar una interfaz con funciones para ser usadas en el desarrollo de aplicaciones software y que puedan hacer uso de los recursos (API). NOTA: Ejemplos de estas interfaces del sistema operativo con el programador son POSIX y WIN32. 246 Sistemas informaticos y redes locales ACTIVIDAD 8.5 Qué se entiende por memoria virtual? Busca informacin en la web o en bibliografia aportada por el profesor y redacta un documento breve donde lo expliques. ACTIVIDAD 8.6 Localiza en Ia web los términos POSIX y WIN32. Crea una presentacién breve donde expliques las caracteristicas principales de cada API. 8.5. TIPOS DE SISTEMAS OPERATIVOS. VISION HISTORICA Los sistemas operativos han ido evolucionando a lo largo de los afios, de forma que encontraremos diferentes tipos en funcién de la época en la que se ubica. 1983 1955 1963 ‘ | = ewaldad Figura 8.4. Evolucion historica de los sistemas operativos. 8.5.1. PRIMERA ETAPA (1943-1955) En esta primera etapa, en la que aparecen computadoras como ENIAC (Electronica Numeral Integrator and Computer), no se haefa uso de ningin sistema operativo. Era el programador quien se encargaba de desarrollar el programa a mano y en cédigo miquina. Usaba las famosas tarjetas perforadas para introducirlo en el computador, siendo los resultados impresos o grabados en otras Eintas perforadas para ser posteriormente usados. En caso de que se produjeran errores el programador era el encargado de la depuracién, observando estado de memoria, registros, etc. ‘Todos los trabajos se ejecutaban en serie, se introducia uno, se esperaba la salida y a continuacion se comenzaba con el siguiente. 8.5.2. SEGUNDA ETAPA (1956-1963) En esta etapa aparecen los Sistemas Operativos por Lotes. El funcionamiento es similar al que hacia el programador en la primera etapa, siendo la secuencia de trabajo en serie, En estos SO se agrupaban las tareas del mismo tipo, formando lotes (batch). ‘Asi, el programador dejaba el conjunto de tarjetas perforadas (lote de programas) sobre Ja correspondiente bandeja de entrada y el sistema operativo se encargaba de ir procesando la salida de cada uno de forma secuencial. 8.5.3. TERCERA ETAPA (1963-1979) En este periodo distinguimos diferentes tipos de sistemas operativos. Capitulo 8. Sistemas operativos y uso de maquinas virtuales 247 SO DE MULTIPROGRAMACION Sistemas operativos que permitian mantener varios programas simulténeamente en memoria principal. El objetivo es mejorar la productividad del sistema ejecutando varios programas a la vez al mismo tiempo que se hace un mejor uso de los recursos. SO DE TIEMPO COMPARTIDO El sistema operativo comparte sus recursos con todos los usuarios del sistema de forma que asigna a cada uno de ellos tiempos de uso de memoria, CPU, etc. En realidad, esta forma de trabajar es transparente al usuario, ya que éste cree que usa los recursos al completo sin compartirlos con nadie. Es una forma de trabajar bastante habitual hoy dia, incluso solemos hacerlo en arquitecturas cliente- servidor, donde los usuarios estén configurados en una maquina a la que podemos acceder’ a través de terminales conectados a la red. SO EN TIEMPO REAL Estos sistemas operativos son construidos para tareas muy especificas y se instalan en sistemas que deben procesar gran cantidad de eventos. Su objetivo es proporcionar rapidos tiempos de respuesta ante los sucesos que registra del exterior. Se usan para el control del trafico aéreo, de trenes, etc. SO DE PROPOSITO GENERAL O MULTIMODO. Sistemas operativos que eran capaces de operar en lotes, en multiprogramacién, tiempo real 0 tiempo compartido. El hecho de que el sistema operativo fuera capaz de trabajar como cualquiera de los sistemas operativos antes estudiados, repercutid en un software mas complejo y en la necesidad de que los programadores 0 usuarios del sistema debia de aprender un lenguaje de control complicado para poder prepara sus trabajos, tenian que especificar muchas opciones y detalles. 8.5.4. CUARTA ETAPA (1980-ACTUALIDAD) La tercera etapa finaliza con la aparicién de los SO de propésito general; en esta cuarta etapa, se produce una gran evolucién de los mismos, en la que se centra més la atencién en el uso del sistema informatico en si que en el rendimiento de la maquina. Se pretenden conseguir sistemas operativos més faciles de usar a costa de un menor rendimiento. Ademds, el concepto red de ordenadores empieza a surgir y toma fuerza a lo largo de los afios, al igual que los sistemas virtualizados o el concepto de maquina virtual. SO ORIENTADOS A USUARIOS FINALES Sistemas operativos que ain sin dejar de realizar su funcién son cada vez mas accesibles por todos. No es necesario el estudio de comandos complejos o instrucciones para su uso. Esta definicin se ha adoptado firmemente en estos tiempos, si observarnos Windows 10 0 Ubuntu 17.04, veremos interfaces cada vez mds faciles de usar, cada vez mis intuitivas. SO DISTRIBUIDOS Segin Tanenbaum “un sistema distribuido es una coleccién de computadoras independientes que aparecen ante los usuarios del sistema como una tinica computadora”. > Desde una maquina podemos iniciar sesién con un usuario de la maquina principal donde esta el sistema operativo de tiempo compartido. 248 Sistemas informaticos y redes locales Un sistema operativo distribuido es aquel comin a varios equipos que mantienen comunicacién a través de la red, de forma que cuando un usuario accede al mismo no sabe donde estén almacenados sus ficheros 0 dénde se estiin procesando los datos. Ejemplo de sistema distribuido es el que forma la red de sucursales de un banco. El operario que mira tu cuenta de ahorros accede a ella sin saber donde esta almacenada realmente la informacion y la actualiza con seguridad, aunque en otro lugar se esté accediendo al mismo tiempo. SO MIDDLEWARE Es una evolucién de los sistemas operativos distribuidos. Se denomina middleware a una capa software que se ejecuta sobre un equipo que tiene un sistema operativo propio y que es la encargada de gestionar el sistema distribuido. En los sistemas operativos distribuidos teniamos equipos independientes con hardware diferente y un sistema operative comin, en sistemas operativos middleware, los equipos disponen de su propio hardware y su propio sistema operativo, agregando un software que hace las veces de sistema operativo distribuido. En los uiltimos afios ha surgido un nuevo concepto de middleware denominado virtualizacién. Con la virtualizacién podemos tener en nuestro propio PC, que corre con su propio sistema operativo (sistema operativo anfitrién), varios sistemas operativos huéspedes. El software de virtualizacion gestionaré los recursos (CPU, memoria, etc.) entre todas las méquinas virtuales que tengamos configuradas. Cada vez este concepto se usa mis en aulas dedicadas al estudio de ciclos formativos, ya que el alumno puede usar con seguridad todos los sistemas operativos necesarios para cada médulo sin deteriorar el sistema operativo principal, con lo que los equipos se mantienen siempre en buen estado y disponibles. Ejemplo de software de virtualizacién son: VMWare, VirtualBox o Virtual PC. 8.6. TIPOS DE SISTEMAS OPERATIVOS SEGUN SU USO En el apartado anterior estudiébamos los distintos tipos de sistemas operativos que han ido surgiendo a lo largo de la historia de la computacién y en funcién de las necesidades propias de cada época. En este apartado concretaremos la clasificacién en funcién del uso o la forma de trabajar, de manera que tenemos: = Segin el mimero de usuarios que pueden usar el sistema al mismo tiempo, sistemas operativos monousuario o multiusuario. = Segin el mimero de tareas que pueda realizar al mismo tiempo, sistemas operativos monotarea 0 multitarea. 8.7. SISTEMAS OPERATIVOS COMERCIALES Hagamos en este apartado un breve repaso sobre los sistemas operativos mas usuales en el mercado. Capitulo 8. Sistemas operativos y uso de maquinas virtuales 249 8.7.1. MICROSOFT MS-DOS (Microsoft Disk Operating System). Adoptado por IBM al principio de la década de los 80 como el sistema operativo para el IBM-PC, Windows 3.0, 3.1 y 3.11 para trabajo en grupo. Estos no eran sistemas operativos como tal, slo proporcionaban una interfaz grifica mas amigable y ficil de usar pero bajo ellos seguiamos encontrando MS-DOS. Windows 95. Primer sistema operative Windows de 16/32 bits con multiprogramacién. Su nombre data del afio en el que salié al mercado. Windows 98 y Windows ME. Aparecen en 1998 y 2000 respectivamente, siendo el primero de ellos un sistema operativo bastante aceptable en contraposicién de Windows ME que realizaba una pésima gestién de los recursos. Windows XP. Afio 2001, distribuido en diferentes versiones ha sido uno de los sistemas operatives Windows més usados y de mejor gestion de recursos. Microsoft dejé de dar soporte técnico a este gran software base el 8 de abril de 2014 cosa que ha promovido la migracién a sistemas operatives mas actuales, asi como la necesidad de actualizar el hardware en muchas empresas. Aunque ya no existen actualizacionés de seguridad disponibles ni soporte de solucién de problemas, todavia podemos encontrar a usuarios nostalgicos que lo tienen instalados en sus PCs de no muy avanzadas prestaciones. Windows Vista. Sistema operativo que pretendia ser mucho mds intuitivo y facil de usar or personas que nunca hubieran utilizado un PC, pero que resulté un fracaso para Microsoft ya que muchos consideraban que era la continuacién de Windows ME. Windows 7. Muchos consideran que es una mejora de Windows XP usando una interfaz parecida a la generada en Windows Vista. Sistema operativo de gran potencia, muy aceptado y que en la actualidad no disfruta de soporte técnico estindar (finalizé el 13 de enero de 2015). Al igual que ocurria con Windows XP, Microsoft deja de proporcionar revisiones automaticas, actualizaciones y asistencia técnica online, aunque es cierto que existe una asistencia técnica previo pago, el determinado soporte extendido que no finaliza hasta el 14 de enero de 2020 por lo que algunas empresas y usuarios podran seguir disfrutando de sus equipos sin realizar cambios de ningun tipo (software o hardware) con o que todo ello conlleva. Windows 8. Sistema operativo que pretende sustituir a Windows 7 sin demasiado éxito. Microsoft apuesta por un cambio radical de la interfaz. grifica orientando esta a pantallas tictiles, ademés, la gestién de recursos recuerda mucho a la que realizaba el antecesor Windows Vista. Tras muchas criticas y una mala acogida Microsoft lanza una actualizacién denominada Windows 8. Windows 8.1. Pretende subsanar los fallos de Windows 8. Recupera ciertos aspectos de la interfaz grafica de Windows como el botén inicio, asi como la posibilidad de arrancar con el escritorio caracteristico de estos sistemas operativos. Windows 10. Sistema operativo usado en la actualidad. Hablaremos de él en profundidad en el proximo capitulo. Casi al mismo tiempo que algunos de los sistemas operativos vistos, Microsoft comercializ6 otros para mdquinas mas potentes o servidoras. Algunos de ellos: 250 Sistemas informaticos y redes locales * Windows NT Server. Aparece por la época de Windows 95. Potente sistema operative servidor. Aunque estos equipos podian configurar redes con sistemas operatives Windows 95 existia una versién cliente del mismo Windows NT Workstation. dows 2000 Server. Evolucién de Windows NT con sus sistemas operativos cliente Windows 2000 profesional. = Windows 2003, 2008, 2012 y 2016 Server. Siendo éste tiltimo la versién servidora més reciente. 8.7.2. UNIX Y GNU/LINUX Unix es un sistema operativo de multiproceso, mutiprogramacién y multiusuarios. Fue desarrollado en 1969 por Ken Thompson, Dennis Ritchie y Douglas Mellroy en los laboratorios Bell de AT&T. Han sido muchas las familias de sistemas operativos UNIX que han evolucionado de forma diferente, dando lugar a sistemas operativos como Solaris y Mac OS X. En 1991, Linus Torvalls, estudiante de la universidad de Helsinki desarrollo el sistema operativo Linux, basado en Minix. Es muy parecido a UNIX pero de cédigo abierto. ‘Actualmente existen multitud de distribuciones Linux, siendo Linux el niicleo del sistema operativo al que se le agrega multitud de software de aplicacién iitil para el usuario. La versién del kernel a dia de hoy es la 3.3.4. (http://www-kernel.org/). Ubuntu, Fedora, OpenSUSE, Debian, Red Hat 0 CentOS son algunas distribuciones conocidas. ACTIVIDAD 8.7 Desarrolla un documento donde incluyas las caracteristicas de Windows XP. Usa la web 0 bibliografia aportada por el profesor para este fin. Esta actividad nos permitiré realizar una comparativa con Windows 7 en el capitulo siguiente. ACTIVIDAD 8.8 Localiza en la web algin diagrama donde observes todas las versiones de UNIX. {Existe alguna que te resulte conocida? Busca informacién sobre las caracteristicas de Mac osx NOTA: Debido al auge de los dispositivos méviles y PDAs existen sistemas operativos desarrollados para su uso exclusivo. Android creado por GOOGLE y Windows Phone de Microsoft son alternativas més que aconsejables. Ademés, GOOGLE ha implementado un nuevo sistema operativo para PC, CHROME OS. 8.8. SISTEMAS OPERATIVOS PROPIETARIOS Y LIBRES Un sistema operativo es una aplicacién y al igual que cualquier otro software puede catalogarse en propietario o libre. Las caracteristicas que distinguen a un software libre son: * Libertad 0. Puede ejecutarse siempre que se quiera y con los propésitos que el usuario quiera. = Libertad 1. Acceso al cédigo fuente, de forma que se puede estudiar cémo funciona y puede adaptarse a las necesidades de cada uno. = Libertad 2. Libertad de distribuir copias del software. Capitulo 8. Sistemas operativos y uso de maquinas virtuales 254 = Libertad 3. Posibilidad de mejorar el software y compartir las mejoras con otros usuarios. Sil software es propietario decimos que incumple algunas de las libertades indicadas, ya que: = No es posible acceder a su cédigo fuente para su estudio y modificacién (libertad 1). * No se pueden distribuir copias del mismo libremente, incluso si hemos comprado una copia no podemos usar la misma para instalar en dos equipos diferentes (libertad 2). * Al no ser posible el acceso al software no es posible su mejora por parte de la comunidad de usuarios (libertad 3). 8.8.1. TIPOS DE LICENCIAS DEL SOFTWARE Antes de conocer los diferentes tipos de licencias tanto para software libre como propietario entendamos los siguientes conceptos: = Licencia. Contrato entre el desarrollador del software y el usuario, donde se establecen los derechos y deberes de ambos. Seri el creador del software quien elija el tipo de licencia para el mismo. = Patente. Conjunto de derechos garantizados por un gobierno al inventor de un nuevo producto, Este producto podra ser producido y comercializado beneficiando al poseedor de . su patente, siendo ésta concedida por un periodo determinado de tiempo. = Derecho de autor o copyright. Es la forma en la que las leyes actuales protegen las obras originales. Todo software con copyright esta protegido ante la pirateria mediante la legislaci6n vigente Asi, y entendidos estos conceptos, existen diferentes tipos de licencias tanto para software libre como para software propietario. LICENCIA DE SOFTWARE LIBRE: GNU GENERAL PUBLIC LICENSE Licencia Publica General de GNU, GNU General Public License o simplemente GNU GPL, es una licencia creada por Free Software Foundation en 1989. Esta licencia esta orientada a la proteccién de las cuatro libertades del software libre: libertad de uso, distribucién, modificacién y mejora del software. La licencia GPL debe preservar que el software sea siempre libre protegiendo al mismo de intentos de apropiacién que le hagan perder algunas de las libertades que tiene por derecho. El documento de licencia donde se especifican sus caracteristicas puede leerse en la web de GNU hitp:/www.gnu.org/licenses/gpl-3.0.html. Este alcanz6 la versién 3 en junio de 2007. LICENCIAS DE SOFTWARE PROPIETARIO Cuando adquirimos un software propietario debemos tener en cuenta que éste estd protegido por unos derechos de autor y quien lo compre debe regirse a ellos. La tinica forma legal de asegurar que se cumplen los derechos de autor es mediante el uso de licencias. Existen diferentes tipos de licencias: = CLUF (Contrato de Licencia para Usuario Final) 0 EULA (End User License Agreement). Licencia de cédigo cerrado en las que el autor del software es quien decide qué se puede hacer con él. = OEM (Original Equipment Manufacturing o Fabricante de Equipos Originales). Licencias que se tiene al adquirir equipos con una versién del sistema operativo 0 software 252 Sistemas informatioos y redes locales preinstalada. A menudo ocurre que los fabricantes de PC Megan a acuerdos con los fabricantes de software de forma que estos instalan unas versiones del software especiales (OEM) en los discos duros de los equipos nuevos. = Licencia de producto empaquetado. Adquisicién del producto original en caja donde aparece el contrato de licencia de uso. = Licencias por volimenes. Ejemplos de estas licencias son Open License, Select License © Enterprise Agreement. Son licencias para empresas con un determinado volumen del PC alas que se le facilita la compra de licencias mediante descuentos por volumen o mayor periodo de tiempo de cobertura. = Licencias educativas y para otros sectores. En funcién del sector que vaya a hacer uso del software se pueden configurar licencias ajustadas a las necesidades del mismo. Puedes visualizar las caracteristicas de la licencia OEM o cualquiera de las usadas por Microsoft desde la web https://www.microsoft.com/es-es/licensing/licensing-options/oem.aspx. 8.9. USO DE MAQUINAS VIRTUALES Ya comentbamos en apartados anteriores que el uso de maquinas virtuales es cada vez mis frecuente. Gracias a ellas podemos mantener varios sistemas operativos bajo un mismo equipo sin necesidad de particionar el disco duro, formatear éste o incluso pensar en el orden de instalacién en funcién del software base a instalar. En este libro insistimos en los beneficios del uso de este tipo de software, que cada vez se utiliza més en servidores, por ejemplo, servidores web que offecen alojamiento tanto en Windows como en Linux. Con una misma miquina damos servicios a dos perfiles de usuarios distintos, y ahorramos en gastos ya que no es necesario un equipo para cada sistema operativo. 8.9.1. QUE ENTENDEMOS POR VIRTUALIZAR? El término virtualizar se puede interpretar como simular el funcionamiento de un elemento tecnol6gico real mediante software especifico para tal fin. Si decidimos virtualizar un PC estamos indicando que de algin modo estamos simulando mediante software el funcionamiento de un PC real con todos los componentes y comportamientos que esto conlleva. 8.9.2, MAQUINAS VIRTUALES El término maquina virtual concreta la definicién vista en el apartado anterior, debido a que al crear una maquina virtual lo que conseguiremos seré simular el funcionamiento de un PC real mediante un software concreto, de modo que cada maquina referiré un PC y un sistema software instalado en él. Cuando usamos maquinas virtuales debemos entender que: = Tenemos un PC con un sistema operativo instalado llamado sistema operativo anfitrién. = Tenemos unos recursos hardware disponibles: CPU, memoria, disco y red. = Tenemos una capa software llamada VMM (Virtual Machine Monitor) que se encuentra entre el hardware y el sistema operative de la maquina virtual, de forma que consigue abstraer los recursos de esta maquina para que sean distribuidos por todas las méquinas virtuales instaladas, es decir, el sistema operativo huésped. Capitulo 8. Sistemas operativos y uso de méquinas virtuales 253 Asi, VMM se encarga de distribuir los cuatro recursos fundamentales del hardware entre los sistemas operativos huésped que tengamos instalados. Existen diferentes tipos de software de virtualizacién, Entre las diferentes opciones que encontramos en el mercado nos decantamos en este libro por VirtualBox, ya que es un software libre y luso de este tipo de software es una de las filosofias a seguir en el desarrollo del mismo. 8.9.3. TIPOS DE VIRTUALIZACION + Virtualizacién de hardware. Este tipo de virtualizacién es el mas complicado de conseguir. Consiste en emular los elementos fisicos del PC host o anfitrién. De este modo, el sistema operative huésped no se ejecuta sobre el hardware real de la maquina, sino que se cjecutara sobre el hardware virtual creado. La virtualizacién de hardware permite emular diferentes arquitecturas hardware. Figura 8.5. Virtualizacién de hardware. * Virtualizacién a nivel de Sistema Operativo. En este tipo de virtualizacién disponemos de hardware real y un tinico kernel del sistema operativo anfitrién que usarin todos los sistemas virtualizados. Tendremos procesos que se agrupan para realizar las funciones de los sistemas operativos que se quieren virtualizar. + Paravirtualizacién. Este tipo de virtualizacién consiste en ejecutar sistemas operativos huésped sobre otro sistema operativo llamado anfitrién que actia como hypervisor. Para conseguir la virtualizacién y que los sistemas operativos huésped funciones como sistemas instalados en maquinas reales es necesario que estos se comuniquen con el hypervisor y en ocasiones pueden ser modificados. irtualizacion completa. Es similar a la paravirtualizacién, pero no es necesario que el istema operativo huésped colabore con el anfitrién. NOTA: Actualmente, Intel y AMD han incorporado en sus microprocesadores nuevas tecnologias que facilitan la paravirtualizacién y la virtualizacién completa; Intel VT y AMD-V. ACTIVIDAD 8.9 Busca informacién en la web de cada fabricante relacionada con Intel VT y AMD-V. Redacta un documento breve y bien formado donde listes las caracteristicas de estas nuevas tecnologias. 8.10. ORACLE VM VIRTUALBOX Oracle VM VirtualBox es un software de virtualizacién creado inicialmente por innotek GmbH, aunque en la actualidad es desarrollado por Oracle Corporation. Podemos simular arquitectura x86/amd64 y sistemas operativos Linux, Windows, Solaris, Mac OS, ete. Algunas caracteristicas del software:

You might also like