Trabajo de Sistemas Operativos

11.436 visualizaciones

Publicado el

Trabajo de Sistemas Operativos para la asignatura de Informatica

Publicado en: Educación
1 comentario
12 recomendaciones
Estadísticas
Notas
  • Oh Información necesaria para la prueba que tendre! Que Dios te bendiga Lilliana . Atte: Ronald. Estudiante de ing de Sistema en la Santiago Mariño.
       Responder 
    ¿Estás seguro?    No
    Tu mensaje aparecerá aquí
Sin descargas
Visualizaciones
Visualizaciones totales
11.436
En SlideShare
0
De insertados
0
Número de insertados
10
Acciones
Compartido
0
Descargas
0
Comentarios
1
Recomendaciones
12
Insertados 0
No insertados

No hay notas en la diapositiva.

Trabajo de Sistemas Operativos

  1. 1. REPUBLICA BOLIVARIANA DE VENEZUELA MINISTERIO DEL PODER POPULAR PARA LA EDUCACION INSTITUTO UNIVERSITARIO POLITECNICO “SANTIAGO MARIÑO” Sistema de Aprendizaje Interactivo a Distancia (SAIA) SISTEMAS OPERATIVOS Estudiante: Liliana Timaure C.I. No.: 14.590.342 Materia: Informática Profesora: Ing. Claudia Zamarelli Junio 2014
  2. 2. Introducción. Al inicio las computadoras eran sistemas tan complejas que solo podían ser operados por experto, se requería de mucho tiempo para introducir un programa y resultaba poco provechosa la utilización de computadoras para resolución de problemas prácticos. Es entonces cuando surge la idea de crear un medio para que el usuario pueda operar la computadora con un entorno, lenguaje y operación bien definido para hacer un verdadero uso y explotación de esta, de esta forma surgen los sistemas operativos. En este sentido se desarrollara a lo largo de este trabajo una breve reseña histórica y evolutiva de lo que han sido los sistemas operativos en el manejo de las computadoras hasta los sistemas actuales con poderosos microprocesadores, teléfonos, televisores y equipos multimedias inteligentes entre otras muchas cosas que nos aporta la tecnología hoy en día.
  3. 3. SISTEMA OPERATIVO (SO) Definición Un Sistema Operativo (SO) es el software básico de una computadora que provee una interfaz entre el resto de programas del computador, controlando y administrando todos los recursos de hardware y proporciona la base sobre la cual pueden escribirse los programas de aplicación y todos los programas ofimáticos, encargándose de brindar de forma ordenada, sencilla y segura la administración, operación, interpretación, codificación y emisión de las órdenes a la computadora (procesador central) para que esta realice las tareas necesarias y específicas para completar una orden, proceso o tarea específica1 Funciones de los Sistemas Operativos En un sistema operativo desempeña seis funciones básicas en la operación de un sistema informático 1. Interpreta los comandos que permiten al usuario comunicarse con el ordenador, permitiendo la comunicación de tal manera que se puedan cargar programas, acceder archivos y realizar otras tareas. Existen tres tipos básicos de interfaces: las que se basan en comandos, las que utilizan menús y las interfaces gráficas2 2. Coordina y manipula el hardware de la computadora, memoria, impresoras, unidades de disco, teclado, mouse; administrando de igual forma los recursos del hardware y de redes de un sistema informativo, como el CPU, memoria, dispositivos de almacenamiento secundario y periféricos3 3. Organiza los archivos en diversos dispositivos de almacenamiento, como discos flexibles, discos duros, discos compactos o cintas magnéticas. El sistema de 1 http://solvasquez.wordpress.com/2011/01/24/definicion-de-sistema-operativo/ 2 http://blog.pucp.edu.pe/ 3 http://canal-ayuda.org
  4. 4. información contiene programas de administración de archivos que controlan la reacción, borrado y acceso de archivos de datos y de programas. También implica mantener el registro de la ubicación física de los archivos en los discos magnéticos y en otros dispositivos de almacenamiento4 4. Los programas controlan que áreas tiene acceso al CPU y por cuánto tiempo. Las funciones de administración de tareas pueden distribuir una parte específica del tiempo del CPU para una tarea en particular, e interrumpir al CPU en cualquier momento para sustituirla con una tarea de mayor prioridad. Servir de base para la creación del software logrando que equipos de marcas distintas funcionen de manera análoga, salvando las diferencias existentes entre ambos. De igual manera Los programas de administración de tareas de un sistema operativo administran la realización de las tareas informáticas de los usuarios finales5 . 5. Los servicios de soporte de cada sistema operativo dependerán de la implementación (programas orientados a diferentes tareas, como editores de texto, administradores de archivos, navegadores, etc.) particular de éste con la que estemos trabajando. Estos servicios de soporte suelen consistir en la configuración del entorno para el uso del software y los periféricos; dependiendo del tipo de máquina que se emplea, debe establecerse en forma lógica la disposición y características del equipo, una microcomputadora tiene físicamente unidades de disco, puede simular el uso de otras unidades de disco, pueden ser virtuales utilizando parte de la memoria principal para tal fin. En caso de estar conectado a una red, el sistema operativo se convierte en la plataforma de trabajo de los usuarios y es este quien controla los elementos o recursos que comparten. De igual forma, provee de protección a la información que almacena6 4 http://www.audienciaelectronica.net/ 5 http://www.magomez.net/SSOO/document/Funciones.htm 6 http://www.magomez.net/SSOO/document/Funciones.htm
  5. 5. Evolución de los Sistemas Operativos En la década de 1940, los primeros sistemas electrónicos digitales no tenían sistemas operativos. Los ordenadores de esta época eran tan primitivos comparados con los de hoy en día que los programas se introdujeron a el ordenador un poco a la vez en las filas de los interruptores mecánicos. Eventualmente, los lenguajes de máquina (que consisten encadenas de 0 y 1) se introdujeron lo que aceleró el proceso de programación. Los sistemas de la década de 1950 en general funcionaban solamente con un proceso a la vez. Y se permitía una sola persona a la vez para utilizar la máquina. Todos los recursos de la máquina estaban a disposición del usuario. La facturación por el uso de la computadora era simple porque el usuario tenía toda la máquina. De hecho, los mecanismos habituales de tiempo se basaban en un “reloj” en la pared. A un usuario se le daba permiso de usar la máquina por algún intervalo de tiempo y se pagaba una tarifa plana. Originalmente, cada usuario escribía todo el código necesario para implementar una aplicación concreta, incluidas las muy detalladas de la máquina de nivel de entrada / salida de instrucciones. Muy rápidamente, la codificación de entrada / salida necesarias para implementar funciones básicas se consolidó en un sistema de control de entrada / salida (IOCS). El primer sistema como tal, considerado por muchos como el primer sistema operativo, fue diseñado por el Laboratorio de Investigación de General Motors, para su arquitectura IBM 701 a principios de 1956.Su éxito ayudó a establecer la computación por lotes separados por tarjetas de control que instruyó a los equipos acerca de las características de cada trabajo. El lenguaje de programación que utilizan las tarjetas de control se llama lenguaje de control de trabajos (JCL). Estas tarjetas creadas por el trabajo indicaban a la computadora si las siguientes tarjetas contenían datos o programas, qué lenguaje de programación se utilizaba, el tiempo de ejecución aproximado. Cuando terminaba el trabajo actual, el lector leía automáticamente la tarjeta para el siguiente trabajo y realizaba las tareas de limpieza adecuadas para facilitar la transición7 . 7 http://www.aeromental.com/2006/08/16/evolucion-de-los-sistemas-operativos/
  6. 6. La época entre los años 60's y 80's fue una temporada repleta de cambios en el ámbito informático y el inicio de la computación como se la conoce. Aparecieron técnicas como la multiprogramación y los sistemas de tiempo compartido, las cuales en su noción básica se conservan hasta la actualidad. Obviamente la implementación de estas nuevas técnicas supuso un cambio a los sistemas operativos previos (IOCS, Sistema por lotes) A. Multiprogramación Una de las dificultades del sistema por lotes simple es que el equipo tiene que leer las tarjetas antes de poder a comenzar a ejecutar el trabajo. Al ser esta operación muy lenta, hacía que el computador estuviera prácticamente inactivo durante bastante tiempo. Esto llevó, dado que es muchísimo más rápido leer desde una cinta magnética que de toda la pila de tarjetas, a que los centros de computación empezaran a tener uno o varios computadores menos potentes, además de la máquina principal para ejecutar esta tarea. Las tarjetas eran leídas por los de más computadores y almacenaban los datos y programas en una cinta magnética que luego era llevada a la máquina principal, donde se procesaba y emitía los resultados en otra cinta, que de nuevo se llevaba a los pequeños computadores que la imprimían. La gran ventaja es que en una sola cinta se podían poner varios trabajos de sistemas por lotes. En general, la multiprogramación se refiere a que en la memoria principal de un computador se albergara programas y se trabaja en todos por períodos de tiempo específicos en cada uno de ellos, por ejemplo mientras un programa realiza procesos de entrada y salida. Todo esto no hubiera sido posible si no se hubiera empezado a construir memorias con mucha más capacidad de almacenamiento. Esto hizo necesario crear un mecanismo para garantizar los procesos comunes entre los programas:  Comenzar los trabajos de usuario.  Operación simultánea de periféricos en línea.  Entrada y salida para los procesos.  Cambio entre tareas de usuario  Garantizar una protección adecuada mientras se realiza lo anterior.
  7. 7. De hecho, la multiprogramación es una técnica que permanece vigente en todos los sistemas actuales. B. Sistemas de Tiempo Compartido Los sistemas de tiempo compartido surgen de la necesidad de que el usuario se sintiera más cerca de la máquina y poder tener una interacción real con ella. Por esto, en los centros de cómputo se fue adoptando este sistema que extiende el concepto de la multiprogramación. Un sistema de tiempo compartido consiste en que varias terminales se conectan al equipo y cada terminal tiene asociado uno o más procesos en él. El sistema operativo entonces, era el encargado de la conmutación entre los procesos favoreciendo la interacción con el usuario. Si los cambios de contexto en los proceso se producían con la suficiente rapidez y en los momentos adecuados, el usuario podría tener la percepción de una comunicación fluida con la máquina y que se relacionaba con ella de manera directa. Así, a los procesos interactivos se les da una prioridad más alta de modo que cuando se solicita entrada o salida, el proceso asociado se comienza a ejecutar rápidamente de modo que la entrada o salida pueda sea procesada por la unidad central de procesamiento8 . La década de los 80’s se caracteriza por el uso de los microprocesadores, los computadores dejan de ser un lujo que solo poseían empresas y universidades importantes para pasar al servicio de personas del común, ya que los avances en la integración a gran escala, permitió reducir el tamaño de los equipos apareciendo los computadores personales que como iban dirigidos a un público poco conocedor de la informática, debían poseer sistemas operativos intuitivos, simples y amigables para el usuario lo que ocasiona el surgimiento de menús e interfaces gráficas, utilizando principalmente utilizaron leguajes de programación como: C, C++, Haskell, Miranda, Eiffel y Smaltalk. A mediados de los 80`s se desarrollan redes de computadoras personales con sistemas operativos en red y distribuidos, siendo MS-DOS y Unix los más usados. 8 http://es.wikipedia.org/wiki/Historia_de_los_sistemas_operativos
  8. 8.  Mac OS: Desarrollado por Apple para su Macintosh en 1984, siendo su interfaz gráfica de usuario (“GNU”) su principal atractivo, además de efectuar multitareas y la novedad del mouse, que permitía una mayor interacción entre el usuario y la interfaz de este sistema operativo.  MS-DOS: Sistema operativo creado por Microsoft tras modificar el sistema operativo QDOS, que compro en1981.  Microsoft Windows: No se le considera un sistema operativo como tal y más bien una interfaz gráfica para el MS-DOS con el uso de diskettes para correr los programas. En la década de los 90’s con la aparición del Internet y el gran uso de redes, hacen que los sistemas operativos por obligación permitan el manejo en estos dos servicios sin perder la amabilidad con que tiene acostumbrado a los usuarios. También las aplicaciones multimedia empiezan a ser parte esencial de los sistemas operativos demandando más potencia, flexibilidad y compatibilidad, siendo esto último algo muy importante debido a la gran variedad de productos de hardware con los que el computador puede interactuar (ejemplo: Cámaras fotográficas y de video, micrófonos, parlantes y una de las más importantes la USB) Una de las mayores “estrellas” de los 90’s fue Linux presentando su primer núcleo en septiembre de 1991 siendo un sistema operativo completamente libre basado en la plataforma UNIX desarrollado por un sinfín de colaboradores dirigidos por Linus Tolvalds que después se unirían con el proyecto GNU para pasar a llamarse GNU/Linux. Microsoft durante esta década mejora su sistema operativo Windows a través de varias versiones (Windows 3.0, Windows 3.1, Windows 95 y Windows 98) en las que se mejora notablemente el aspecto gráfico, que atrae a muchos usuarios llegando a tener hasta el 90% del mercado de los sistemas operativos y en 1993 Microsoft lanza la primera versión de la familia NT (MS Windows NT 3.1) que estarían diseñadas para ofrecer una mejor fiabilidad a las empresas.
  9. 9. Aparece también el ReactOS (React Operating System), que al igual que Linux es de código abierto, pero cambiaron el núcleo que era compatible con MS-DOS para obtener compatibilidad con las diferentes herramientas diseñadas para Windows NT. Con la aparición de diferentes dispositivos móviles surge una gran variedad de sistemas operativos debido a que muchos de los fabricantes hacían que sus dispositivos móviles funcionaran con sistema diseñado solo para ellos. Estos sistemas operativos fueron siempre diseñados para ofrecerle al usuario final las características de simple, práctico y fácil de usar, sin olvidar por supuesto la portabilidad y el uso de las interfaces gráficas que en varios dispositivos se usaban pantallas táctiles. Otro gran factor en el uso de los sistemas operativos móviles es la comunicación, por lo que muchos de ellos permitían la conexión a la red, a través de servicios como el email. Algunos de estos sistemas operativos móviles durante los 90’s fueron:  Palm OS o Garnet OS: Desarrollado por Palm, Inc en 1996 para PDA’S (“Computadoras de mano”), basando su diseño en la simplicidad y el uso de touchscreen.  Nokia S40: Desarrollado por Nokia en 1999 para su celular Nokia 7110.  Windows CE: Desarrollado por Microsoft en 1996.  Symbian: Es el resultado de una alianza entre empresas como: Nokia, Sony Ericsson, Siemenes, Motorola. Que en 1997 se unieron para combatir a otras empresas. El nuevo milenio produjo grandes cambios en el mercado de los sistemas operativos aumentando en gran medida la competencia entre los diferentes desarrolladores siendo Windows, Unix y Mac OS los más competitivos, siempre buscando la facilidad y mejoramiento de recursos para el usuario. Un gran cambio se da en los microprocesadores, no solo por el paso de 32 bits a 64 bits, también por el uso de más de un núcleo tanto virtual como físico; lo que conlleva a que los nuevos sistemas operativos puedan dividir tareas en busca de una mayor velocidad y mejor manejo de datos, todo esto con la disminución de los precios en hardware ayuda a crear sistemas
  10. 10. operativos impensables antes del 2000, pero claro mucho más robustos. Uno de los sistemas operativos que ha venido cogiendo más fuerza es Linux, por razones como: Ya no está dirigido solo a programadores de alto nivel, ahora está también siendo usado por usuarios comunes debido a los grandes avances en su interfaz gráfica y la mayor cantidad de ayudas que ofrece al momento de algún error, problema o durante la instalación.  Posee gran estabilidad, adaptabilidad y seguridad al momento de trabajar con servidores.  Tiene una mayor adaptabilidad para Notebooks y computadores portátiles.  Las tareas del sistema se ejecutan con mayor rapidez y menor inestabilidad.  También le ha ayudado el aumento del pensamiento de software libren entre la población.  Linux en 2011 presenta a MeeGo su sistema operativo para dispositivos móviles en cooperación con Nokia e Intel, inicialmente para el celular smartphone Nokia N9, ahora también usado en Netbooks, Tablets, Handset y televisores Smart TV, y apoyados por muchas otras compañías. Microsoft sigue a la delantera, aunque ha sufrido varios tropiezos que acercan a sus competidores. Durante estos años ha sacado al público los siguientes sistemas operativos: Windows 2000, Windows ME, Windows XP, Windows Vista, Windows 7 y el más reciente Windows 8. Cada uno con diferentes versiones dirigidas a algún público en particular ya sea para oficina, empresas medianas y grandes, servidores de varias índoles y para el hogar y el estudio. Además también poseen actualizaciones a través de Windows Update ya sea para corregir fallos, mejorar diferentes procesos y mantener la seguridad. Microsoft también posee un sistema operativo móvil llamado Windows Phone para teléfonos inteligentes que busca competir con iOS de Apple y Android de Google. Al primero de estos solo se le permite ser usado en dispositivos Apple y el segundo fue desarrollado por la empresa Android, Inc, comprada por Google y basada en Linux para ser usado principalmente en dispositivos de pantalla táctil como: Smartphone y tabletas. Otros sistemas operativos para dispositivos móviles son: Java ME, Symbian, Blackberry y Firefox OS. El futuro apunta a sistemas operativos en la nube, llamados Web OS que actualmente están en desarrollo y donde no se requiere instalar software, solo tenemos
  11. 11. que escoger el programa adecuado para realizar lo que queramos hacer, mediante conexión a internet y un navegador recibiendo la información o las solicitudes que nosotros queramos ya que el procesamiento estaría del otro lado, es decir del lado del servidor. Ejemplos de estos sistemas son EyeOs, Icloud y Woos. Otra de las innovaciones que se espera es la forma como el usuario interactúa con el sistema operativo dejando atrás periféricos como el teclado y el mouse, para dar paso a lo táctil, reconocimiento de voz y movimiento (Cuerpo, manos, ojos)9 . Tipos de Sistemas Operativos Los sistemas operativos, básicamente se cubrirán tres clasificaciones: sistemas operativos por su estructura (visión interna), sistemas operativos por los servicios que ofrecen y, finalmente, sistemas operativos por la forma en que ofrecen sus servicios (visión externa). 1. Sistemas Operativos por su Estructura Se deben observar dos tipos de requisitos cuando se construye un sistema operativo, los cuales son:  Requisitos de usuario: Sistema fácil de usar y de aprender, seguro, rápido y adecuado al uso al que se le quiere destinar.  Requisitos del software: Donde se engloban aspectos como el mantenimiento, forma de operación, restricciones de uso, eficiencia, tolerancia frente a los errores y flexibilidad. A continuación se describen las distintas estructuras que presentan los actuales sistemas operativos para satisfacer las necesidades que de ellos se quieren obtener.  Estructura monolítica: Es la estructura de los primeros sistemas operativos constituidos fundamentalmente por un solo programa compuesto de un conjunto de rutinas entrelazadas de tal forma que cada una puede llamar a cualquier otra. Las características fundamentales de este tipo de estructura son: 9 http://es.wikipedia.org/wiki/Historia_de_los_sistemas_operativos
  12. 12.  Construcción del programa final a base de módulos compilados separadamente que se unen a través del ligador.  Buena definición de parámetros de enlace entre las distintas rutinas existentes, que puede provocar mucho acoplamiento.  Carecen de protecciones y privilegios al entrar a rutinas que manejan diferentes aspectos de los recursos de la computadora, como memoria, disco, etc. Generalmente están hechos a medida, por lo que son eficientes y rápidos en su ejecución y gestión, pero por lo mismo carecen de flexibilidad para soportar diferentes ambientes de trabajo o tipos de aplicaciones.  Estructura jerárquica: A medida que fueron creciendo las necesidades de los usuarios y se perfeccionaron los sistemas, se hizo necesaria una mayor organización del software, del sistema operativo, donde una parte del sistema contenía subpartes y esto organizado en forma de niveles. Se dividió el sistema operativo en pequeñas partes, de tal forma que cada una de ellas estuviera perfectamente definida y con un claro interface con el resto de elementos. Se constituyó una estructura jerárquica o de niveles en los sistemas operativos, el primero de los cuales fue denominado THE (Technische Hogeschool, Eindhoven), de Dijkstra, que se utilizó con fines didácticos. Se puede pensar también en estos sistemas como si fueran `multicapa'. Multics y Unix caen en esa categoría.
  13. 13. En la estructura anterior se basan prácticamente la mayoría de los sistemas operativos actuales. Otra forma de ver este tipo de sistema es la denominada de anillos concéntricos. En el sistema de anillos, cada uno tiene una apertura, conocida como puerta o trampa (trap), por donde pueden entrar las llamadas de las capas inferiores. De esta forma, las zonas más internas del sistema operativo o núcleo del sistema estarán más protegidas de accesos indeseados desde las capas más externas. Las capas más internas serán, por tanto, más privilegiadas que las externas.  Máquina Virtual. Se trata de un tipo de sistemas operativos que presentan una interface a cada proceso, mostrando una máquina que parece idéntica a la máquina real subyacente. Estos sistemas operativos separan dos conceptos que suelen estar unidos en el resto de sistemas: la multiprogramación y la máquina extendida. El objetivo de los sistemas operativos de máquina virtual es el de integrar distintos sistemas operativos dando la sensación de ser varias máquinas diferentes. El núcleo de estos sistemas operativos se denomina monitor virtual y tiene como misión llevar a cabo la multiprogramación, presentando a los niveles superiores
  14. 14. tantas máquinas virtuales como se soliciten. Estas máquinas virtuales no son máquinas extendidas, sino una réplica de la máquina real, de manera que en cada una de ellas se pueda ejecutar un sistema operativo diferente, que será el que ofrezca la máquina extendida al usuario10 . 2. Sistemas Operativos por Servicios Esta clasificación es la más comúnmente usada y conocida desde el punto de vista del usuario final. Esta clasificación se comprende fácilmente con el cuadro sinóptico que a continuación se muestra.  Monousuarios. Son aquéllos que soportan a un usuario a la vez, sin importar el número de procesadores que tenga la computadora o el número de procesos o tareas que el usuario pueda ejecutar en un mismo instante de tiempo. Las computadoras personales típicamente se han clasificado en este renglón. 10 http://es.wikibooks.org/wiki/Sistemas_operativos/Por_su_estructura
  15. 15.  Multiusuarios. Son los capaces de dar servicio a más de un usuario a la vez, ya sea por medio de varias terminales conectadas a la computadora o por medio de sesiones remotas en una red de comunicaciones. No importa el número de procesadores en la máquina ni el número de procesos que cada usuario puede ejecutar simultáneamente.  Monotareas. Son aquellos que sólo permiten una tarea a la vez por usuario. Puede darse el caso de un sistema multiusuario y monotarea, en el cual se admiten varios usuarios al mismo tiempo pero cada uno de ellos puede estar haciendo solo una tarea a la vez.  Multitareas. Un sistema operativo multitarea es aquél que le permite al usuario estar realizando varias labores al mismo tiempo. Por ejemplo, puede estar editando el código fuente de un programa durante su depuración mientras compila otro programa, a la vez que está recibiendo correo electrónico en un proceso en background. Es común encontrar en ellos interfaces gráficas orientadas al uso de menús y el ratón, lo cual permite un rápido intercambio entre las tareas para el usuario, mejorando su productividad.  Uniproceso. Un sistema operativo uniproceso es aquél que es capaz de manejar solamente un procesador de la computadora, de manera que si la computadora tuviese más de uno le sería inútil. El ejemplo más típico de este tipo de sistemas es el DOS y MacOS.  Multiproceso. Un sistema operativo multiproceso se refiere al número de procesadores del sistema, que es más de uno y éste es capaz de usarlos todos para distribuir su carga de trabajo. Generalmente estos sistemas trabajan de dos formas: simétrica o asimétricamente. Cuando se trabaja de manera asimétrica, el sistema operativo selecciona a uno de los procesadores el cual jugará el papel de procesador maestro y servirá como pivote para distribuir la carga a los demás procesadores, que reciben el nombre de esclavos. Cuando se trabaja de manera simétrica, los procesos o
  16. 16. partes de ellos (threads) son enviados indistintamente a cualquiera de los procesadores disponibles, teniendo, teóricamente, una mejor distribución y equilibrio en la carga de trabajo bajo este esquema. Se dice que un thread es la parte activa en memoria y corriendo de un proceso, lo cual puede consistir de un área de memoria, un conjunto de registros con valores específicos, la pila y otros valores de contexto11 . 3. Sistemas Operativos por la Forma de Ofrecer sus Servicios Esta clasificación también se refiere a una visión externa, que en este caso se refiere a la del usuario, el cómo accede a los servicios. Bajo esta clasificación se pueden detectar dos tipos principales: sistemas operativos de red y sistemas operativos distribuidos. Sistemas Operativos de Red. Los sistemas operativos de red se definen como aquellos que tiene la capacidad de interactuar con sistemas operativos en otras computadoras por medio de un medio de transmisión con el objeto de intercambiar información, transferir archivos, ejecutar comandos remotos y un sin fin de otras actividades. El punto crucial de estos sistemas es que el usuario debe saber la sintaxis de un conjunto de comandos o llamadas al sistema para ejecutar estas operaciones, además de la ubicación de los recursos que desee acceder. Por ejemplo, si un usuario en la computadora moreno necesita el archivo matriz.pas que se localiza en el directorio /software/codigo en la computadora villegas bajo el sistema operativo UNIX, dicho usuario podría copiarlo a través de la red con los comandos siguientes: moreno% moreno% rcp villegas:/software/codigo/matriz.pas .moreno% En este caso, el comando rcp que significa (remote copy) trae el archivo indicado de la computadora villegas y lo coloca en el directorio donde se ejecutó el mencionado comando. Lo importante es hacer ver que el usuario puede acceder y compartir muchos recursos. Sistemas Operativos Distribuidos Los sistemas operativos distribuidos abarcan los servicios de los de red, logrando integrar recursos (impresoras, unidades de respaldo, memoria, procesos, unidades centrales de proceso) en una sola máquina virtual que el usuario accede en forma transparente. Es decir, ahora el usuario ya no necesita saber la 11 http://es.wikibooks.org/wiki/Sistemas_operativos/Por_servicios
  17. 17. ubicación de los recursos, sino que los conoce por nombre y simplemente los usa como si todos ellos fuesen locales a su lugar de trabajo habitual. Todo lo anterior es el marco teórico de lo que se desearía tener como sistema operativo distribuido, pero en la realidad no se ha conseguido crear uno del todo, por la complejidad que suponen: distribuir los procesos en las varias unidades de procesamiento, reintegrar sub- resultados, resolver problemas de concurrencia y paralelismo, recuperarse de fallas de algunos recursos distribuidos y consolidar la protección y seguridad entre los diferentes componentes del sistema y los usuarios. Los avances tecnológicos en las redes de área local y la creación de microprocesadores de 32 y 64 bits lograron que computadoras más o menos baratas tuvieran el suficiente poder en forma autónoma para desafiar en cierto grado a los mainframes, y a la vez se dio la posibilidad de intercomunicarlas, sugiriendo la oportunidad de partir procesos muy pesados en cálculo en unidades más pequeñas y distribuirlas en los varios microprocesadores para luego reunir los sub-resultados, creando así una máquina virtual en la red que exceda en poder a un mainframe. El sistema integrador de los microprocesadores que hacer ver a las varias memorias, procesadores, y todos los demás recursos como una sola entidad en forma transparente se le llama sistema operativo distribuido. Las razones para crear o adoptar sistemas distribuidos se dan por dos razones principales: por necesidad (debido a que los problemas a resolver son inherentemente distribuidos) o porque se desea tener más fiabilidad y disponibilidad de recursos. En el primer caso tenemos, por ejemplo, el control de los cajeros automáticos en diferentes estados de la república. Ahí no es posible ni eficiente mantener un control centralizado, es más, no existe capacidad de cómputo y de entrada/salida para dar servicio a los millones de operaciones por minuto. En el segundo caso, supóngase que se tienen en una gran empresa varios grupos de trabajo, cada uno necesita almacenar grandes cantidades de información en disco duro con una alta fiabilidad y disponibilidad. La solución puede ser que para cada grupo de trabajo se asigne una partición de disco duro en servidores diferentes, de manera que si uno de los servidores falla, no se deje dar el servicio a todos, sino sólo a unos cuantos y, más aún, se podría tener un sistema con discos en espejo a través de la red, de manera que si un servidor se cae, el servidor en espejo continúa trabajando y el usuario ni cuenta se da de estas fallas, es decir, obtiene acceso a recursos en forma transparente12 . 12 http://es.wikibooks.org/wiki/Sistemas_operativos/Por_la_forma_de_servicio

×