Sistemas operativos

Clasificación de Software. Sistemas operativos. Sistema Unix. Características. Estructura. Ventajas. Inconvenientes. Gestión de memoria. Iniciar Sesión Remota. Cerrar Sesión. Programa Telnet

  • Enviado por: Puria Shahdoost Rad
  • Idioma: castellano
  • País: España España
  • 9 páginas
publicidad
publicidad

Introducción a los Sistemas Operativos

Clasificación de Software

Se entiende por Software como todos aquellos programas que junto con la máquina adecuada, permiten tratar automáticamente la Información.

Teniendo en cuenta lo anterior el Software se puede clasificar:

-PROGRAMAS DE CONTROL

Gestión del Sistema

Gestión de trabajos

Gestión de datos

SOFTWARE

- SOFTWARE

DE BASE

- PROGRAMAS DE SERVICIO

Copias de Seguridad

Editores

Traductores

Utilidades

- PAQUETES STANDARD

- SOFTWARE DE

APLICACION

- PROGRAMAS DE USUARIO

Concepto de Sistema Operativo

El Sistema Operativo es el Software de Base, y és el conjunto de programas formado por los de Control y los de Servicio. Y por tanto, estará encargado de:

  • Controlar (gestionar) el sistema.

  • Dar servicio al usuario

De forma que se facilite el trabajo al usuario y se obtenga el máximo rendimiento a los diferentes dispositivos del ordenador.

Todos los programas que forman el S.O. deben estar almacenados en un soporte de datos (disco) y preparados para ser cargados en memoria en el momento que se les requiera, y de esta forma realizar la función para la que fueron diseñados.

Algunos de estos programas son siempre necesarios, ya que están ejecutándose continuamente, y por ello, deberán permanecer cargados en la memoria central desde el momento del arranque del sistema. Este conjunto de programas recibe el nombre de núcleo.

Generalmente, los programas de control constituyen el núcleo del Sistema Operativo.

El Sistema Operativo si lo definimos, teniendo en cuenta su funcionalidad sería la interface (unión-conexión) entre la máquina y la aplicación, y de esta forma resolver un problema de forma automática.

Dado que el S.O. depende de la máquina (actualmente esto ha cambiado) la forma de resolver el problema dependerá del S.O. elegido, ya que cada uno tiene unas características u opciones propias.

Opciones de los Sistemas Operativos

Las formas de utilización (explotación) de un ordenador, dependen de las características propias del S.O. que en él esté instalado.

A continuación, se estudian algunos conceptos de los S.O.:

  • Monoprogramación: Hay, en todo momento, un solo programa en memoria ejecutándose. Los demás deben esperar a que este acabe para poder ejecutarse.

  • Multiprogramación: Pueden estar ejecutándose varios programas simultáneamente.

  • Multiproceso: Trabajan varios procesadores simultáneamente, compartiendo memorias internas, externas y periféricos. Se justifica en la necesidad de gran velocidad de tratamiento o para asegurar el funcionamiento continuado del proceso en caso de avería.

  • Monousuario o Monopuesto: Solo puede trabajar un usuario o un puesto de trabajo en un momento dado.

  • Multiusuario o Multipuesto: Pueden existir varios usuarios trabajando simultáneamente, compartiendo memorias externas y periféricos.

  • Memoria virtual: Es conocido, que para ejecutar un programa debe estar almacenado en Memoria Principal, y también los datos que está tratando. Puede ocurrir que todo ello no quepa en Memoria. Un sistema con memoria virtual divide un programa ejecutable en páginas, de manera que, cuando no cabe todo en la misma, almacena en memoria secundaria páginas inactivas de código y de datos, quedándose en memoria primaria la página con las instrucciones a ejecutar inmediatamente y los datos necesarios para ello. Esto también recibe el nombre de técnica swapp o swapping.

  • Tiempo compartido: Permite la utilización simultánea del Ordenador por varios usuarios independientes. Pero el ordenador atiende a los diferentes usuarios durante pequeños intervalos de tiempo.

  • Tiempo real: Garantiza la respuesta del programa en un tiempo lo suficientemente corto como para que se considere real , automático, inmediato o simultáneo.

  • Explotación Batch o por lotes: Es lo contrario de lo anterior y consiste en planificar trabajos o procesos para que sean ejecutados por el ordenador con un retraso en el tiempo.

Introducción al UNIX

El SO UNIX ha evolucionado durante los pasados 30 años desde su invención como un experimento informático hasta llegar a convertirse en uno de los entornos informáticos más populares e influyentes del mundo.

Características únicas del sistema UNIX.

  • Herramientas software. El sistema UNIX introdujo una nueva idea en la computación: los problemas pueden ser resueltos y las aplicaciones creadas mediante interconexión de unas cuantas piezas simples. Estas piezas son generalmente componentes completos diseñados para realizar una única tarea, y hacerla bien. Grandes aplicaciones pueden construirse a partir se secuencias de órdenes simples.

  • Portabilidad. El sistema UNIX ha sido trasvasado a casi cualquier ordenador. Sólo unos cuantos cambios y adaptaciones mínimos han sido necesarios para hacer el UNIX utilizable sobre cualquier ordenador, y hay un acuerdo general en que no existe un SO más portable. El UNIX permite el fácil traslado de las aplicaciones de un ordenador a otro,

  • Flexibilidad. Un atractivo importante del sistema UNIX para los creadores de software y hardware es su flexibilidad. El UNIX ha sido adaptado a aplicaciones tan divergentes como la automatización de fábricas, los sistemas de computación telefónica, y los juegos y juguetes personales. Se han ido añadiendo nuevas funciones y órdenes a paso rápido, y la mayoría de los creadores manifiestan su preferencia por ele sistema UNIX como “banco de trabajo” para sus aplicaciones.

  • Potencia. El sistema UNIX es uno de los sistemas operativos más potentes disponibles para cualquier ordenador. Su sintaxis de órdenes clara y concisa permite a los usuarios hacer muchas cosas rápida y sencillamente, cosas que ni siquiera son posibles con otros sistemas operativos.

  • Multiusuario y multitarea. Debido a que el sistema UNIX es un entorno multitarea de tiempo compartido, puede hacer más de una cosa a la vez fácilmente. En un sistema UNIX personal un usuario puede estar editando un fichero, imprimiendo otro fichero sobre una impresora, enviando correo electrónico a otra máquina y utilizando una hoja de cálculo electrónica simultáneamente. También es un entorno multiusuario, que soporta las actividades de más de una persona a la vez. No es infrecuente en versiones del sistema UNIX sobre grandes unidades centrales soportar varios cientos de usuarios a la vez, y todos estos usuarios tienen la misma visión “privada” del sistema que tiene un solo usuario sobre un computador.

  • Elegancia. El sistema UNIX está ampliamente considerado como uno de los sistemas operativos más elegante. Una vez que los usuarios comprenden algunos de los conceptos básicos del sistema UNIX, pueden realizar muchas y grandes tareas de un modo sencillo. Los usuarios de UNIX que se pasan a otros sistemas operativos se preguntaban a menudo por qué las cosas no son ni siquiera posibles en otros entornos. Los creadores de otros sistemas operativos y otras aplicaciones con frecuencia toman prestadas ideas y temas del sistema UNIX para enriquecer sus propios sistemas.

El saber y la controversia del sistema UNIX

Prácticamente nadie queda indiferente al trabajar con UNIX. Unos lo alaban por su elegancia, potencia, y flexibilidad, mientras sus enemigos critican su sintaxis mínima y sus extraños nombres de órdenes, su documentación escasa y su complejidad de administración. Los expertos en informática entran generalmente en la categoría de “entusiastas”, mientras que los principiantes caen en la categoría de enemigos.

Hay que tener en cuenta que el SO UNIX fue desarrollado originalmente por expertos para su propio uso de modo que, en los primeros tiempos las necesidades de los usuarios novatos fueron ignoradas ea favor de la velocidad y precisión.

Las últimas versiones de sistema UNIX han sido destinadas a usuarios menos experimentados, y sin reducir la potencia del sistema ni sus otras ventajas se han centrado en las siguientes características:

  • Robustez. El sistema UNIX ha sido endurecido de modo que se requiere muy poco mantenimiento software para mantener el sistema ajustado operando a rendimiento máximo. Muchas tareas rutinarias del administrador anteriores, tales como la supresión periódica de ficheros de registro o el arranque del sistema, se han hecho automáticas o innecesarias.

  • Consistencia. Casi todas las órdenes han evolucionado a lo largo de los años para adoptar una sintaxis más consistente, de modo que la utilización confusa e inconsistente de diferentes órdenes se ha reducido.

  • Documentación. Cada día que pasa existe más documentación sobre el sistema UNIX.

  • Agentes de usuario. La mayoría de las implementaciones proporcionan herramientas simplificadas para ayudar a la configuración y administración del sistema.

  • Nuevas características. Cada día que pasa se le añaden nuevas características al sistema UNIX para hacerlo más sencillo, potente, y adaptarlo a las nuevas tecnologías (soporte de red, entornos gráficos, comunicaciones, aplicaciones estándar, adaptación a las nuevas tecnologías y periféricos, etc.).

  • Compartición del SO. Las modernas versiones permiten que la máquina y sus ficheros sean compartidas entre el sistema UNIX y otros sistemas (MS-DOS, WINDOWS, WINDOWS NT, OS-2, etc.).

Pero, no nos equivoquemos, el sistema UNIX es un sistema potente y complejo.

Historia del SO UNIX.

El SO UNIX fue diseñado por un grupo de personas que trabajaban en los laboratorios Bell Telephone Laboratories y General Electric AT&T y que se dedicaban a la investigación. Se basaron en el SO MULTICS (uno de los primeros sistemas de tiempo compartido y multitarea) desarrollado en MIT (Massachusts Institute Tecnology). Desgraciadamente MULTICS sufrió las consecuencias de su papel innovador y resultó mucho más complejo y pesado de lo que era necesario.

A finales de los sesenta AT&T abandonó el proyecto MULTICS, dejando a un grupo de investigadores con talento, y un montón de ideas acerca de lo que un sistema de tiempo compartido debía ser, totalmente frustrados. En el año 1.969, este grupo de personas se quedaron sin un SO moderno con el que trabajar, de modo que crearon uno nuevo. Los diseñadores originales Ken Thompson y Dennis Ritchie construyeron el sistema basado en un diseño elaborado por Rudd Canaday. Pronto se les unieron varios otros informáticos capaces (J.F. Ossanna y R.Morris). Se las apañaron para adquirir un ordenador DEC PDP-7 de desecho y se pusieron a trabajar. Como muchos de los mejores proyectos, éste comenzó con la creación de un juego: Thompsom y Ritchie desarrollaron un juego de viaje espacial para el PDP-7. Después de esta experiencia, crearon una nueva estructura de ficheros y un nuevo software que es muy similar al sistema de ficheros modernos. Le añadieron un entorno de procesos con planificación y completaron el resto de un SO rudimentario al que llamaron UNIX. El sistema estuvo operativo sobre el PDP-7 a comienzos de 1970, y a mediados de esa década habían pasado el proyecto a una máquina DEC PDP-11 de reciente aparición.

El propósito inicial era crear un entorno para facilitar la investigación y el desarrollo de software. La primera versión fue implementada en ensamblador, pero pronto Dennis Ritchie en el DEC PDP-11, usando el UNIX desarrolló el lenguaje “C” (basado en el lenguaje BCPL y el FORTRAN Ritchie desarrollo el lenguaje B y más tarde el C).

El lenguaje C fue utilizado inmediatamente en la continuación del desarrollo del sistema UNIX, y en 1973 el núcleo se recodificó en C. Hoy sólo unas cuantas subrutinas del núcleo de alto rendimiento están escritas en lenguaje ensamblador. Este fue el primer intento de codificar un SO entero en un lenguaje de alto nivel, y la portabilidad que se consiguió está ampliamente considerada como una de las razones principales de la popularidad del sistema, ya que hasta entonces para cada marca o modelo de ordenador (para cada hardware se desarrollaba un SO exclusivo, codificado en el ensamblador de la máquina, que era distinto en cada una de ellas).

Más tarde se fue generalizando con mucha rapidez:

  • Ampliación del sistema para soportar multiprogramación.

  • Uso generalizado en los laboratorios Bell y extensión gradual a algunas universidades.

  • 1.978: Versión 7, antecedente de sistemas UNIX más modernos.

  • A partir de entonces: comercialización en profundidad.

  • 1.982: System III, con prestaciones de la Versión 7 y de la 32V (adaptación a máquinas VAX) y de UNIX/RT (para tiempo real)

  • Por su lado, la Universidad de California en Berkeley incorporó gestión de memoria virtual; así como otras muchas prestaciones de otros sistemas operativos, mejorando notablemente el diseño y la implementación de UNIX: Versión 3BSD

  • 1.983: se lanzó el System V.

  • Desde entonces: crecimiento en popularidad y extensión a diversos sistemas de computación

  • UNIX sobre 80386 está basado en System V

  • Aparición del XENIX y el MINIX (versión de UNIX para microcomputadoras).

  • En 1991 aparece el LINUX.

El SO LINUX.

El mayor inconveniente de Unix es que es muy grande, y caro. Aquí es donde aparece el Linux, pues, como se explica con más adelante, fue diseñado para ser pequeño, rápido y barato.

Linux fue creado originalmente por Linus Torvalds en la Universidad de Helsinki, Finlandia. Linus baso el Linux en una pequeña implementación de UNIX para PC denominada minix. A finales de 1991 Linux fue hecho público por primera vez. En Noviembre de ese mismo año apareció la versión 0.10. Un mes después, en Diciembre, apareció la versión o.11. Linus hizo que el código fuente fuera de libre disposición y animó a otras personas a colaborar en su desarrollo. Lo hicieron. Linux continúa su desarrollo hoy en día gracias a un equipo mundial, dirigido por Linus, que trabaja a través de Internet.

La versión actual de Linux es la 2.0. Linux no utiliza código AT&T ni ningún otro código propietario. Gran parte del software desarrollado para Linux es creado por el proyecto GNU de la Free Software Foundation. Por tanto, Linux es muy económico, de hecho, es gratuito (pero no barato).

Estructura del SO UNIX

El SO UNIX es un sistema de tiempo compartido y, por tanto, multiusuario, en el que existe portabilidad para la implantación en distintas computadoras.

Está formado por una serie de elementos que pueden representarse en forma de capas concéntricas donde, en primer lugar, alrededor del hardware de la máquina se encuentra el núcleo (kernel), que interactúa directamente con el hardware, aislando a éste de los usuarios, además de adaptar el resto del SO a la máquina, debido a la portabilidad que existe en el mismo.

En una segunda capa se encuentran los comandos, que no son otra cosa que el interface entre los programas de aplicación y el núcleo del SO.

La última capa contiene los programas de aplicación.

Veamos la siguiente figura:

Ventajas e inconvenientes:

Entre las ventajas que permiten al SO UNIX gozar de la popularidad que en la actualidad tiene, se pueden citar las siguientes:

  • Gran potencia.

  • Portabilidad. Puede ser trasvasado a cualquier ordenador.

  • Resulta de fácil lectura por estar escrito en lenguaje de alto nivel (C).

  • Es un sistema jerárquico de procesos y archivos.

  • Posee una interface con periféricos consistente y uniforme.

  • Es un sistema multiusuario y multiproceso.

  • Adapta los programas fuente a cualquier máquina con S.O. UNIX.

  • No esta ligado a una marca comercial fabricante de computadoras.

  • Permite la combinación de utilidades para producir otras nuevas.

  • Posee la posibilidad de trabajar en multipantalla.

  • Esta diseñado para recuperarse, automáticamente, después de una interrupción

  • Seguridad en el acceso de la información.

  • Aprovecha la disponibilidad de más memoria y menos disco para que sea mucho más rápido.

  • El SO UNIX esta orientado a terminales basados en carácter. Se necesita un software especial adicional para hacer que funcioné con pantallas gráficas de mapas de bits. Por otra parte, permite a los usuarios utilizar terminales baratos, sobre líneas telefónicas baratas. Esto permite utilizar terminales remotos.

  • La comunicación entre la computadora y el terminal teclado-pantalla que utilizará el usuario para trabajar bajo control del SO es siempre Full-Duplex y podrán ser tecleados todos los caracteres que se deseen, mas los caracteres de control.

Por otra parte, los inconvenientes que presenta el sistema son:

  • Comandos poco claros y con demasiadas opciones.

  • Escasa protección entre usuarios.

  • Sistema de archivos lento.

Gestión de memoria

La gestión de memoria en el SO UNIX se basa en el intercambio (Swapping) y paginación. La paginación de la memoria se lleva a cabo si el hardware de la computadora la soporta. La política de carga y descarga de un proceso en la memoria depende del tiempo que lleve en la misma, de su actividad y del tamaño.

El SO UNIX se compone de bloques funcionales, según podemos ver en el siguiente gráfico:

Iniciar una Sesión Remota

  • Desde el menú Inicio de Windows seleccionar Ejecutar y teclear telnet 192.168.0.101, o bien telnet A401 (si tenemos un archivo hosts local o un servidor DNS en la red para resolver el nombre). Aparecerá el login:

  • Introduciremos como username el nombre de usuario y como password la contraseña de nuestra cuenta. Al pulsar Enter, aparecerá como símbolo de prompt de usuario un dólar ($).

  • Cerrar la Sesión

  • Para salir de una sesión remota escribir desde el prompt de usuario ($) el comando logout o exit.

  • A continuación saldremos del programa telnet.

  • Otros programas

    Herramientas

    De

    desarrollo

    Editor

    de

    texto

    Compiladores

    Intérprete de Comandos

    Shell

    Kernel

    Núcleo

    HARDWARE

    Nivel

    Hardware

    Control de Hardware

    Control de Hardware

    Nivel

    Kernel

    Carácter Bloque

    Drivers de dispositivo

    Buffer caché

    Gestor de

    memoria

    Planificador

    IPC

    Subsistema

    De

    Control

    De

    Procesos

    Subsistema

    De

    Archivos

    Interface de llamadas al S.O.

    Nivel

    De

    Usuario

    Programas de usuario

    Librerías