Download Temario de informática
Document related concepts
Transcript
Temario de informática 2.- SISTEMAS OPERATIVOS: TIPOS Y PARTICULARIDADES La mayor parte de los ordenadores que existen en la actualidad están diseñados de forma que puedan ejecutar diversas tareas o programas. Estos programas pueden ir desde un procesador de textos, a un programa para la animación de gráficos tridimensionales o distintos tipos de juegos. Para su correcto funcionamiento deben ser además capaces de acceder a las recursos de que dispone el ordenador, como por ejemplo escribir o leer datos en un disco duro, mostrar un gráfico por pantalla, etc. Es evidente, que si cada programa actuase de una forma independiente, existirían graves problemas y conflictos, puesto que, por ejemplo, tendrían libertad para escribir sus datos sobre los de otro, etc. Para solucionar este tipo de problemas se desarrollaron los Sistemas Operativos, los cuales aportan unos mecanismos y reglas básicas de funcionamiento, de forma que los programas puedan acceder a los recursos del ordenador de una forma adecuada. Aunque ésta fue la funcionalidad inicial de los sistemas operativos, con el tiempo se han añadido otras muchas, como la ejecución de programas, el control de la memoria del ordenador, la creación y control de interfaces gráficas de usuario, etc. Un Sistema Operativo (Operating System) es un software destinado a permitir una gestión eficaz de sus recursos. Comienza a funcionar cuando se enciende el ordenador, y gestiona la máquina desde los niveles más básicos, permitiendo también la interacción con los dispositivos de entrada salida. Un sistema operativo se puede encontrar normalmente en los ordenadores, los aparatos electrónicos que utilicen microprocesadores para funcionar, ya que gracias a estos podemos entender la máquina y gobernarla para que ésta cumpla con sus funciones (teléfonos móviles, reproductores de DVD, ... y ordenadores personales). Es la unidad lógica que hace de mediador entre el ordenador y el usuario; es decir, es el programa elemental (o conjunto de programas) que se ejecuta tras arrancar el ordenador y quien se encarga de hacer funcionar el microprocesador, las memorias, los discos y periféricos,... (las unidades que constituyen dicho ordenador). Sin un sistema operativo debidamente instalado y en uso, el ordenador no es más que una unidad física inerte. Su función, aparte de hacer funcionar dichas unidades que constituyen cualquier ordenador, consiste en ejecutar y hacer correr todas aquellas aplicaciones programadas para tal sistema. Con esto podemos constatar que estas aplicaciones o programas han de especificar para qué sistema han sido programadas. Por ejemplo encontramos versiones de multitud de aplicaciones (como Netscape Comunicator, por ejemplo...) para distintos sistemas operativos. (una versión para Windows, otra para GNU/Linux, otra para MacOS,...). Hoy día existen multitud de sistemas operativos a nuestro alcance. Los hay del tipo comercial, como son los sistemas de la empresa Microsoft (Windows x/ME/NT/2000/XP, Vista, MS-DOS), sistemas de la familia UNIX, sistemas MacOS para Apple, etc..., pero también podemos encontrar sistemas gratuitos de libre distribución como son GNU/Linux o los sistemas de libre distribución de la familia BSD como por ejemplo FreeBSD, NetBSD, ... Funciones básicas Los sistemas operativos, en su condición de capa software que posibilita y simplifica el manejo del ordenador, desempeñan una serie de funciones básicas esenciales para la gestión del equipo. Entre las más destacables, cada una ejercida por un componente interno podemos reseñar las siguientes: ? Proporcionar comodidad en el uso de un computador. ? Gestionar de manera eficiente los recursos del equipo, ejecutando servicios para los procesos (programas) ? Brindar una interfaz al usuario, ejecutando instrucciones (comandos). ? Permitir que los cambios debidos al desarrollo del propio S.O. se puedan realizar sin interferir con los servicios que ya se prestaban (evolutividad). Clasificación de S.O.s: Ante tal abanico de posibilidades podemos hacer una clasificación de los tipos de sistemas operativos que podemos encontrar. Quedaría así: Sistemas monotarea: son aquellos sistemas que nos permiten o tienen capacidad de ejecutar al mismo tiempo una única aplicación. Esta clase de sistemas en la actualidad no se utilizan. Son, por regla general, sistemas antiguos. Esta clase de sistemas carecen de tabla de procesos, de tal manera que la aplicación que se ejecute ocupara toda la memoria y utilizará todo el microprocesador. No se podrá ejecutar ninguna otra aplicación hasta que el anterior programa no sea finalizado (kill). Ejemplos de estos sistemas son: MS-DOS o Windows 3.1 Sistemas multitarea: son aquellos sistemas que tienen capacidad de permitirnos ejecutar más de una aplicación al mismo tiempo. En el uso de la multitarea de un sistema operativo nos encontramos con dos tipos: Multitarea apropiativa: donde el sistema le "quita" al procesador una ejecución determinada para, de este modo, poder "dársela" a otra aplicación. Multitarea cooperativa: en la que la misma aplicación es quien determina cuando puede el sistema hacer que otra aplicación utilice el microprocesador. Sistemas monousuario: son aquellos sistemas en los que un único usuario es quien administra y hace uso de todo el sistema teniendo en él plenos privilegios de lectura o modificación de cualquier archivo o periférico. Suelen ser sistemas utilizados como estaciones de trabajo (Workstation). Ejemplos de estos sistemas son: MS-DOS o BeOS. Sistemas multiusuario: son sistemas ya más versátiles en donde encontramos un usuario principal (superusuario) encargado principalmente de la administración y el mantenimiento del sistema el cual tiene plenos privilegios de lectura o modificación en todo el sistema; y también encontramos o tenemos la posibilidad de crear y utilizar varios usuarios o cuentas de usuario las cuales tendrán menos privilegios que el superusuario y que, generalmente, se usarán para utilizar las distintas aplicaciones instaladas en el sistema. Ejemplos de estos sistemas son: Windows NT/2000, Linux, Solaris, etc... (la mayoría de los sistemas). Ejemplos de Sistemas operativos desarrollados Microsoft adoptó "Windows 95" como nombre de producto para Chicago cuando fue publicado en Agosto de 1995. Chicago iba encaminado a incorporar una nueva interfaz gráfica que compitiera con la de OS/2. Aunque compartía mucho código con Windows 3.x e incluso con MS-DOS, también se pretendía introducir arquitectura de 32 bits y dar soporte a multitarea preventiva, como OS/2 o el mismo Windows NT. Sin embargo sólo una parte de Chicago comenzó a utilizar arquitectura de 32 bits, la mayor parte siguió usando una arquitectura de 16 bits, Microsoft argumentaba que una conversión completa retrasaría demasiado la publicación de Chicago y sería demasiado costosa. Apple Macintosh En 1998 llegó Windows 98. Incluía nuevos controladores de hardware y el sistema de ficheros FAT32 (también soportado por Windows 95 OSR 2 y OSR 2.5) que soportaba particiones mayores a los 2 GB permitidos por Windows 95. Dio soporte también a las nuevas tecnologías como DVD, FireWire, USB o AGP. Era novedosa también la integración del explorador de Internet en todos los ámbitos del sistema. Pero la principal diferencia de Windows 98 sobre Windows 95 era que su núcleo había sido modificado para permitir el uso de controladores de Windows NT en Windows 9x y viceversa. Esto se consiguió con la migración de parte del núcleo de Windows NT a Windows 98 aunque éste siguiera manteniendo su arquitectura MSDOS/Windows GUI. Esto permitió la reducción de costes de producción, dado que Windows NT y Windows 98 ahora podían utilizar casi idénticos controladores. El lanzamiento oficial se produjo en enero de 1984, al precio de 2495 dólares. Muchos usuarios, al ver que estaba completamente diseñado para funcionar a través de una GUI (Graphic User Interface), acostumbrados a la línea de comandos, lo tacharon de juguete. A pesar de todo, el Mac se situó a la cabeza en el mundo de la edición a nivel gráfico. MS-DOS En 1981 Microsoft compró un sistema operativo llamado QDOS que, tras realizar unas pocas modificaciones, se convirtió en la primera versión de MS-DOS (MicroSoft Disk Operating System). A partir de aquí se sucedieron una serie de cambios hasta llegar a la versión 7.1, a partir de la cual MS-DOS dejó de existir como tal y se convirtió en una parte integrada del sistema operativo Windows. Microsoft Windows Familia de sistemas operativos propietarios desarrollados por la empresa de software Microsoft Corporation, fundada por Bill Gates y Paul Allen. Todos ellos tienen en común el estar basados en una interfaz gráfica de usuario basada en el paradigma de ventanas, de ahí su nombre en inglés. Las versiones de Windows que han aparecido hasta el momento se basan en dos líneas separadas de desarrollo que finalmente convergen en una sola con la llegada de Windows XP. La primera de ellas conformaba la apariencia de un sistema operativo, aunque realmente se ejecutaba sobre MS-DOS.Posteriormente aparece Windows Vista y actualmente Windows 7. GNU/Linux Ventanas, gracias a un servidor gráfico y a gestores de ventanas. Recientemente GNU/Linux dispone de un aplicativo que convierte las ventanas en un entorno 3D, lo que permite utilizar LINUX de una forma muy visual y atractiva. MS WINDOWS Microsoft Windows es un sistema operativo gráfico para ordenadores personales cuyo propietario es la empresa Microsoft. La primera versión popular, Windows 3.1 es una interfaz gráfica que funciona en MS-DOS. MS Windows, como también se le conoce, es el sistema operativo más utilizado en el mundo. La primera versión realmente popular de Windows fue la versión 3.0, publicada en 1990. Ésta se benefició de las mejoradas capacidades gráficas para PC de esta época, y también del microprocesador 80386, que permitía mejoras en las capacidades multitarea de las aplicaciones Windows. Esto permitiría ejecutar en modo multitarea viejas aplicaciones basadas en MS-DOS. Windows 3 convirtió al IBM PC en un serio competidor para el Apple Macintosh. La unión de Windows NT/2000 y la familia de Windows 9.x se alcanzó con Windows XP liberado en 2001 en su versión Home y Professional. Windows XP usa el núcleo de Windows NT. Incorpora una nueva interfaz y hace alarde de mayores capacidades multimedia. Además dispone de otras novedades como la multitarea mejorada, soporte para redes inalámbricas y asistencia remota. Se puede agregar inmediatamente de haber lanzado el último Service Pack (SP2) Microsoft diseño un sistema orientado a Empresas y Corporaciones llamado Microsoft Windows XP Corporate Edition, algo similar al Windows XP Profesional, solo que diseñado especialmente a Empresas. En el apartado multimedia, XP da un avance con la versión Media Center. Esta versión ofrece una interfaz de acceso fácil a todo lo relacionado con multimedia (TV, fotos, reproductor DVD, Internet...) Windows Vista: versión sucesora de Windows XP y que vio la luz a inicios de 2007 para negocios y para el público. Cabe destacar los continuos retrasos en las fechas de ntrega del sistema operativo. Inicialmente se anunció su salida al mercado a iniciosmediados de 2006, posteriormente y debido a problemas durante el proceso de desarrollo, se retrasó su salida hasta finales de 2006. El último retraso trasladó la fecha hasta finales de enero de 2007 Las diferentes versiones que se pueden adquirir son tres para el consumidor, Vista Home Basic, Vista Home Premium y Ultimate Edition y dos versiones para las empresas: Vista Business y Vista Enterprise, más Vista Starter, para los mercados emergentes. Generalidades Sistemas de archivos El sistema de archivos utilizado por estos sistemas operativos comenzó siendo FAT16 o FAT. La primera versión de Windows en incorporar soporte nativo para FAT32 fue Windows 95 OSR2. Por otro lado, los Sistemas Operativos basados en NT emplean los sistemas de archivos NTFS desde el origen y a partir de Windows 2000 se otorgó también soporte para FAT32. Curiosidades Desde la salida de Windows 95, Windows ha sido el Sistema Operativo más popular y usado entre usuarios, superando numéricamente a Apple y a otros fabricantes; también se le llama el SO "básico" ya que debido a su popularidad, la mayoría de softwares son realizados para plataformas de Windows. Ahora se dice que el mayor competidor de Windows es Linux ya que este último ha ofrecido a la gran mayoría de empresas la estabilidad que nunca ofreció Windows; además, Linux no cierra sus recursos ni acapara el ámbito de soporte como Windows, por el cual han estado en polémica con Windows. Windows ya desde sus inicios siempre ha estado envuelto en la polémica. Al principio se decía que Windows era una copia del sistema operativo de Apple (lo cual no se duda mucho si se comparan los sistemas iniciales), más adelante se hablaba de si existía competencia desleal con algunos programas que se incluían dentro del sistema. Con la aparición del Software Libre las polémicas se orientan a si Microsoft debe publicar el código fuente de su sistema operativo o no, teniendo en cuenta la gran cantidad de fallos que siempre han presentado los productos Windows. LINUX Linux es un sistema operativo, compatible Unix. Dos características muy peculiares lo diferencian del resto de sistemas que podemos encontrar en el mercado, la primera, es que es libre, esto significa que no tenemos que pagar ningún tipo de licencia a ninguna casa desarrolladora de software por el uso del mismo, la segunda, es que el sistema viene acompañado del código fuente. El sistema lo forman el núcleo del sistema (kernel) más un gran número de programas / bibliotecas que hacen posible su utilización. Muchos de estos programas y bibliotecas han sido posibles gracias al proyecto GNU, por esto mismo, muchos llaman a Linux, GNU/Linux, para resaltar que el sistema lo forman tanto el núcleo como gran parte del software producido por el proyecto GNU. Linux se distribuye bajo la GNU General Public License por lo tanto, el código fuente tiene que estar siempre accesible y cualquier modificación o trabajo derivado tiene que tener esta licencia. El sistema ha sido diseñado y programado por multitud de programadores alrededor del mundo. El núcleo del sistema sigue en continuo desarrollo bajo la coordinación de Linus Torvalds, la persona de la que partió la idea de este proyecto, a principios de la década de los noventa. Hoy en día, grandes compañías, como IBM, SUN, HP, Novell y RedHat, entre otras muchas, aportan a Linux grandes ayudas tanto económicas como de código. Día a día, más y más programas y aplicaciones están disponibles para este sistema, y la calidad de los mismos aumenta de versión a versión. La gran mayoría de los mismos vienen acompañados del código fuente y se distribuyen generalmente bajo los términos de licencia de la GNU General Public License. Más y más casas de software comercial distribuyen sus productos para Linux y la presencia del mismo en empresas aumenta constantemente por la excelente relación calidad-precio que se consigue con Linux. Las arquitecturas en las que en un principio se puede utilizar Linux son Intel 386-, 486-, Pentium, Pentium Pro, Pentium II/III/IV, IA-64, Amd 5x86, Amd64, Cyrix y Motorola 68020,IBM S/390, zSeries, DEC Alpha, ARM, MIPS, PowerPC, SPARC y UltraSPARC. Además no es difícil encontrar nuevos proyectos portando Linux a nuevas arquitecturas. Historia Linux hace su aparición a principios de la década de los noventa, era el año 1991 y por aquel entonces un estudiante de informática de la Universidad de Helsinki, llamado Linus Torvalds empezó, -como una afición y sin poder imaginar a lo que llegaría este proyecto, a programar las primeras líneas de código de este sistema operativo al que llamaría más tarde Linux. Este comienzo estuvo inspirado en MINIX, un pequeño sistema Unix desarrollado por Andy Tanenbaum. Las primeras discusiones sobre Linux fueron en el grupo de noticias comp.os.minix, en estas discusiones se hablaba sobre todo del desarrollo de un pequeño sistema Unix para usuarios de Minix que querían más. El 3 de julio de 1991, Linus Torvalds mandó el primer mensaje sobre Linux al grupo de noticias comp.os.minix. ? Path: gmdzi!unido!mcsun!news.funet.fi!hydra!klaava!torvalds ? From: torva...@klaava.Helsinki.FI (Linus Benedict Torvalds) ? Newsgroups: comp.os.minix ? Subject: Gcc-1.40 and a posix-question ? Keywords: gcc, posix ? Message-ID: <1991Jul3.100050.9886@klaava.Helsinki.FI> ? Date: 3 Jul 91 10:00:50 GMT ? Organization: University of Helsinki El 25 de agosto de 1991, mandó un nuevo mensaje, el cual es considerado por muchos como el comienzo del proyecto Linux. ? Path:gmdzi!unido!fauern!ira.uka.de!sol.ctr.columbia.edu!zaphod.mps.ohio- state.edu! ? wupost!uunet!mcsun!news.funet.fi!hydra!klaava!torvalds ? From: torva...@klaava.Helsinki.FI (Linus Benedict Torvalds) ? Newsgroups: comp.os.minix ? Subject: What would you like to see most in minix? ? Summary: small poll for my new operating system ? Keywords: 386, preferences ? Message-ID: <1991Aug25.205708.9541@klaava.Helsinki.FI> ? Date: 25 Aug 91 20:57:08 GMT ? Organization: University of Helsinki Linus nunca anuncio la versión 0.01 de Linux (agosto/septiembre 1991), esta versión no era ni siquiera ejecutable, solamente incluía los principios del núcleo del sistema, estaba escrita en lenguaje ensamblador y asumía que uno tenía acceso a un sistema Minix para su compilación. El 5 de octubre de 1991, Linus anuncio la primera versión "Oficial" de Linux, versión 0.02. Con esta versión Linus pudo ejecutar Bash (GNU Bourne Again Shell) y gcc (El compilador GNU de C) pero no mucho más funcionaba. En este estado de desarrollo ni se pensaba en los términos soporte, documentación , distribución ..... Después de la versión 0.03, Linus salto en la numeración hasta la 0.10, más y más programadores a lo largo y ancho de internet empezaron a trabajar en el proyecto y después de sucesivas revisiones, Linus incremento el número de versión hasta la 0.95 (Marzo 1992), la primera capaz de ejecutar el sistema Xwindows. Más de un año después (diciembre 1993) el núcleo del sistema estaba en la versión 0.99 y la versión 1.0.0 no llego hasta el 14 de marzo de 1994. El 9 de Mayo 1996, Tux fue propuesto como mascota oficial de Linux. ? Compatible con POSIX, System V y BSD a nivel fuente. ? Emulación de iBCS2, casi completamente compatible con SCO, SVR3 y SVR4 a El 9 de junio de 1996 fue lanzada la serie 2.0.x, la 2.2.x no llegó hasta el 25 de enero de 1999 y la 2.4.x hasta el 4 de enero del 2001. El 17 de diciembre del 2003 fue lanzada la serie actual del núcleo, la 2.6.x y el desarrollo de Linux sigue avanzando día a día con la meta de perfeccionar y mejorar el sistema. nivel binario. ? Todo el código fuente está disponible, incluyendo el núcleo completo y todos los drivers, las herramientas de desarrollo y todos los programas de usuario; además todo ello se puede distribuir libremente. Hay algunos programas comerciales que están siendo ofrecidos para Linux actualmente sin código fuente, pero todo lo que ha sido gratuito sigue siendo gratuito. Características ? Control de tareas POSIX. Características más importantes de GNU/LINUX: ? Pseudo-terminales (pty's). ? Multitarea: La palabra multitarea describe la habilidad de ejecutar varios ? Emulación de 387 en el núcleo, de tal forma que los programas no tengan que programas al mismo tiempo. LINUX utiliza la llamada multitarea preventiva, la cual asegura que todos los programas que se están utilizando en un momento dado serán ejecutados, siendo el sistema operativo el encargado de ceder tiempo de microprocesador a cada programa. ? Multiusuario: Muchos usuarios usando la misma maquina al mismo tiempo. ? Multiplataforma: Las plataformas en las que en un principio se puede utilizar Linux son 386-, 486-. Pentium, Pentium Pro, Pentium II, Amiga y Atari, también existen versiones para su utilización en otras plataformas, como amd64, Alpha, ARM, MIPS, PowerPC y SPARC. ? Multiprocesador: Soporte para sistemas con más de un procesador está disponible para Intel, AMD y SPARC. ? Funciona en modo protegido 386. ? Protección de la memoria entre procesos, de manera que uno de ellos no pueda colgar el sistema. ? Carga de ejecutables por demanda: Linux sólo lee del disco aquellas partes de un programa que están siendo usadas actualmente. ? Política de copia en escritura para la compartición de páginas entre ejecutables: esto significa que varios procesos pueden usar la misma zona de memoria para ejecutarse. Cuando alguno intenta escribir en esa memoria, la página (4Kb de memoria) se copia a otro lugar. Esta política de copia en escritura tiene dos beneficios: aumenta la velocidad y reduce el uso de memoria. ? Memoria virtual usando paginación (sin intercambio de procesos completos) a disco: A una partición en el sistema de archivos, con la posibilidad de añadir más áreas de intercambio sobre la marcha. ? La memoria se gestiona como un recurso unificado para los programas de usuario y para el caché de disco, de tal forma que toda la memoria libre puede ser usada para caché y ésta puede a su vez ser reducida cuando se ejecuten grandes programas. hacer su propia emulación matemática. Cualquier máquina que ejecute Linux parecerá dotada de coprocesador matemático. Por supuesto, si el ordenador ya tiene una FPU (unidad de coma flotante), esta será usada en lugar de la emulación, pudiendo incluso compilar tu propio kernel sin la emulación matemática y conseguir un pequeño ahorro de memoria. ? Soporte para muchos teclados nacionales o adaptados y es bastante fácil añadir nuevos dinámicamente. ? Consolas virtuales múltiples: varias sesiones de login a través de la consola entre las que se puede cambiar con las combinaciones adecuadas de teclas (totalmente independiente del hardware de video). Se crean dinámicamente y puedes tener hasta 64. ? Soporte para varios sistemas de archivo comunes, incluyendo minix-1, Xenix y todos los sistemas de archivo típicos de System V, y tiene un avanzado sistema de archivos propio con una capacidad de hasta 4 Tb y nombres de archivos de hasta 255 caracteres de longitud. ? Acceso transparente a particiones MS-DOS (o a particiones OS/2 FAT) mediante un sistema de archivos especial: no es necesario ningún comando especial para usar la partición MS-DOS, esta parece un sistema de archivos normal de Unix (excepto por algunas restricciones en los nombres de archivo, permisos, y esas cosas). Las particiones comprimidas de MS-DOS 6 no son accesibles en este momento, y no se espera que lo sean en el futuro. El soporte para VFAT, FAT32 (WNT, Windows 95/98) se encuentra soportado desde la version 2.0 del nucleo y el NTFS de WNT desde la versión 2.2 (Este último solo en modo lectura). ? Soporte en sólo lectura de HPFS-2 del OS/2 2.1 ? Sistema de archivos de CD-ROM que lee todos los formatos estándar de CD- ROM. ? TCP/IP, incluyendo ssh, ftp, telnet, NFS, etc. ? Appletalk. ? Software cliente y servidor Netware. ? Librerías compartidas de carga dinámica (DLL's) y librerías estáticas. ? Lan Manager / Windows Native (SMB), software cliente y servidor. ? Se realizan volcados de estado (core dumps) para posibilitar los análisis post- ? Diversos protocolos de red incluidos en el kernel: TCP, IPv4, IPv6, AX.25, X.25, mortem, permitiendo el uso de depuradores sobre los programas no sólo en ejecución sino también tras abortar éstos por cualquier motivo. IPX, DDP, Netrom, etc.