Download Temario de informática

Document related concepts

DOS wikipedia , lookup

Linux International wikipedia , lookup

WinLinux wikipedia , lookup

QEMU wikipedia , lookup

Historia de los sistemas operativos wikipedia , lookup

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: [email protected] (Linus Benedict Torvalds)
?
Newsgroups: comp.os.minix
?
Subject: Gcc-1.40 and a posix-question
?
Keywords: gcc, posix
?
Message-ID: <[email protected]>
?
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: [email protected] (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: <[email protected]>
?
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.