introd a los sistemas operativos

14
TEMA 1: INTRODUCCIÓN A LOS SISTEMAS INFORMÁTICOS. SISTEMAS OPERATIVOS. 1 INFORMÁTICA. DEFICIÓN. La informática es la ciencia técnica aplicada al tratamiento automático de la información mediante ordenadores. Una computadora u ordenador es una máquina que lee, almacena y manipula información. Antes ligada al ámbito militar y científico. Hoy abierta más al ocio y el uso personal. 2 SISTEMA INFORMÁTICO. Conjunto de partes interrelacionadas las cuales son: hw+sw+recursos humanos Hardware son los componentes físicos de un ordenador: placa, circuitos integrados, cables, memoria, procesador, periféricos etc Software son los componentes lógicos de un ordenador, los datos y los programas. Recursos humanos: personas que participan en la dirección, diseño, desarrollo, implantación y uso de un sistema informático. 3 COMPONENTES LÓGICOS. DATOS. SOFTWARE. Componentes lógicos: Datos, Sistema Operativo y aplicaciones. Datospara que un ordenador funcione necesita información que se representa en forma de datos. Para manejar esos datos necesita de programas o aplicaciones informáticas. También un sistema informático necesita de otro software fundamental o de base que se compone de datos y programas es el llamado sistema operativo. Se define como componente sw que sirve para que la información pueda ser procesada por las aplicaciones informáticas mediante el uso de los componentes físicos del SI. Aplicaciones informáticas: son los programas que maneja el usuario del SI. 4 SOFTWARE. Componentes software. Sistema Operativo y aplicaciones. o Software básico. Sistema Operativo. Comunica hard y soft. Controla los recursos de la máquina Se verá extensamente en temas posteriores. o Software de aplicación Programas y datos Da utilidad real a la máquina. Hacen un trabajo concreto. Los programas están diseñados en un lenguaje de programación y están compuestos de instrucciones que ejecuta la máquina. Se clasifica en estándar (adquirido en el mercado con características predeterminadas para solucionar un problema concreto) o personalizado (diseñado

Upload: santiago-garcia-blanco

Post on 06-Nov-2015

215 views

Category:

Documents


0 download

DESCRIPTION

introd a los sistemas operativos

TRANSCRIPT

  • TEMA 1: INTRODUCCIN A LOS SISTEMAS INFORMTICOS. SISTEMAS OPERATIVOS.

    1 INFORMTICA. DEFICIN. La informtica es la ciencia tcnica aplicada al tratamiento automtico de la informacin

    mediante ordenadores.

    Una computadora u ordenador es una mquina que lee, almacena y manipula informacin.

    Antes ligada al mbito militar y cientfico. Hoy abierta ms al ocio y el uso personal.

    2 SISTEMA INFORMTICO. Conjunto de partes interrelacionadas las cuales son: hw+sw+recursos humanos

    Hardware son los componentes fsicos de un ordenador: placa, circuitos integrados, cables, memoria, procesador, perifricos etc

    Software son los componentes lgicos de un ordenador, los datos y los programas.

    Recursos humanos: personas que participan en la direccin, diseo, desarrollo, implantacin y uso de un sistema informtico.

    3 COMPONENTES LGICOS. DATOS. SOFTWARE. Componentes lgicos: Datos, Sistema Operativo y aplicaciones.

    Datospara que un ordenador funcione necesita informacin que se representa en forma de datos.

    Para manejar esos datos necesita de programas o aplicaciones informticas.

    Tambin un sistema informtico necesita de otro software fundamental o de base que se compone de datos y programas es el llamado sistema operativo. Se define como componente sw que sirve para que la informacin pueda ser procesada por las aplicaciones informticas mediante el uso de los componentes fsicos del SI.

    Aplicaciones informticas: son los programas que maneja el usuario del SI.

    4 SOFTWARE. Componentes software. Sistema Operativo y aplicaciones.

    o Software bsico. Sistema Operativo. Comunica hard y soft.

    Controla los recursos de la mquina

    Se ver extensamente en temas posteriores.

    o Software de aplicacin Programas y datos

    Da utilidad real a la mquina. Hacen un trabajo concreto.

    Los programas estn diseados en un lenguaje de programacin y estn compuestos de instrucciones que ejecuta la mquina.

    Se clasifica en estndar (adquirido en el mercado con caractersticas predeterminadas para solucionar un problema concreto) o personalizado (diseado

  • 2

    e implementado por programadores cubriendo las necesidades especficas del usuario).

    Lenguajes de programacin: permite el desarrollo del software.

    Clasificacin en funcin de la aproximacin al lenguaje mquina (el que entiende la mquina, ceros y unos) .

    Lenguaje mquina

    Las instrucciones son una sucesin de ceros y unos agrupados en una palabra que la mquina sabe interpretar.

    La palabra se compone de cdigo de operacin y operandos

    El lenguaje mquina depende de la mquina.

    Es muy complejo, programar en 0 y 1.

    Lenguaje intermedio o ensamblador

    Nemotcnicos para los cdigos de operacin.

    Etiquetas para referirse a direcciones de memoria

    Dan lugar a una instruccin en lenguaje mquina.

    Necesita de un ensamblador.

    Depende de la maquina, el tipo de instrucciones.

    Lenguaje de alto nivel

    Independientes de la estructura de la mquina. Transportables.

    Una instruccin genera una o varias en lenguaje mquina.

    Adaptados al lenguaje natural (ingls).

    Son los utilizados habitualmente para programar.

    Clasificacin en funcin del paso del programa fuente a ejecutable (lenguaje mquina). Traduccin.

    Ensamblados.

    Traducen lenguaje ensamblador a lenguaje mquina.

    Necesitan LINKAGE para sustituir direcciones simblicas por direcciones reales y aadir mdulos especializados al programa.

    Finalmente se reubican en memoria y se ejecutan.

    Interpretados.

    Traducen un lenguaje de alto nivel a lenguaje mquina pero en vez de hacerlo en bloque lo hacen instruccin por instruccin.

    Cada ejecucin del programa necesita traduccin previa.

    Compilados.

    Al igual que los ensambladores traducen en bloque y en dos fases.

    Anlisis : Examinan el cdigo eliminando errores sintcticos y generan un modulo intermedio llamado objeto.

    Sntesis : Se genera el programa ejecutable igual que con los ensambladores que ya puede ser ejecutado y no necesita de nuevas compilaciones (si funciona, claro).

    Compilados con mquina virtual o entorno de ejecucin. (Ver siguiente)

  • 3

    5 SISTEMA OPERATIVO. 5.1 Definicin.

    Programa o conjunto de programas que sirven de intermediario entre el usuario/programa y el hardware del ordenador.

    Tiene dos objetivos:

    1. Proporcionar a los programas de usuario una mquina abstracta

    2. Administrar eficientemente los recursos del ordenador

    El sistema operativo como mquina abstracta

    El hardware y el software del ordenador se estructuran en forma jerrquica, en niveles, de forma que cada nivel utiliza los servicios del nivel inmediatamente inferior para prestar unos servicios mejorados al nivel inmediatamente superior.

    El SO proporciona al resto de aplicaciones una mquina abstracta, es decir, oculta los detalles concretos del ordenador y las complejidades del hardware. Para ello, proporciona una API

    Hardware

    Sistema

    Operativo

    Usuario

    Aplicacin

    Aplicacin Compuesta de cdigo escrito en uno o varios lenguajes, p.e.

    Visual Basic

    C# J#

    Ensamblado1 Ensamblado 2

    Ensamblado 3

    MSIL (Cdigo intermedio)

    NET. FRAMEWORK (PPC, Pentium,..) Es especfico para cada mquina. Necesario para el entorno de

    ejecucin.

    Maquina virtual

  • 4

    (Application Programming Interface, Interfaz de programacin de aplicaciones), que es un conjunto de funciones que pueden utilizar los programas de usuario.

    Podemos ver esto con un ejemplo: Supongamos que tenemos un programa que escribe un mensaje en pantalla. Necesita que la pantalla (un recurso hardware) muestre una informacin. Los programas no envan rdenes directamente al hardware, sino que llaman a funciones que ofrece del API del sistema operativo. Estas funciones son las que envan las rdenes al hardware, teniendo en cuenta el software especfico para gestionar ese hardware (el driver).

    Es el compilador el que sustituye las instrucciones en un lenguaje concreto (ej. printf) por la llamada a una funcin del API del sistema operativo.

    Por este motivo, los programas slo funcionan en el SO (o sistemas) para los que se ha desarrollado.

    La ocultacin del Hardware a las aplicaciones de los usuarios tiene dos objetivos:

    Abstraccin: La tendencia actual del software es la de dar una visin global y abstracta del ordenador haciendo fcil su uso, ocultando por completo la gestin interna.

    Seguridad: Existen instrucciones en la mquina que pueden detener el ordenador, interferir procesos, etc. Pero ello, es necesario restringir determinadas operaciones a los usuarios creando diferentes niveles de privilegio, de forma que cada usuario tenga protegida su informacin y procesos.

    5.1.1 1.5.2. Conceptos previos.

    Recurso es un componente hardware necesario para llevar a cabo un trabajo. En los ordenadores existen cuatro tipos de recursos: el procesador, la memoria principal, el almacenamiento secundario y los perifricos de entrada/salida.

    Programa: Conjunto de instrucciones + estructuras de datos es un concepto esttico.

    Proceso (trabajo, JOB): Programa en ejecucin concepto dinmico.

    Observaciones relacionadas con los conceptos de programa y proceso:

    Un programa puede dar lugar a distintos procesos (segn los datos, etc).

    El sistema operativo va a gestionar los programas en ejecucin (procesos).

    Procesador (CPU): Ente capaz de ejecutar procesos.

    6 EVOLUCIN DE LOS SISTEMAS OPERATIVOS. La evolucin de los SO est ntimamente ligada a la de las generaciones de ordenadores:

    1. Primera generacin: 1945-1955 Desde la construccin de los primeros computadores (1943) hasta aproximadamente el

    ao 1955 no existen sistemas operativos. El usuario que deseaba utilizar un ordenador deba apuntarse en un cuaderno de reservas de horas. Cuando llegaba su turno, el programador, que haca tambin las funciones de operador, introduca su programa (con conmutadores) y esperaba a que poco a poco fuesen escribindose en una impresora los resultados.

    El programa se daba a travs de tarjeta perforada y se redactaba a mano en lenguaje mquina. Los datos tambin se suministraban al computador con tarjetas perforadas.

    Posteriormente, se idearon los ensambladores. Despus de ensamblar el programa, el programa objeto obtenido (en lenguaje mquina) se montaba manualmente; es decir, se juntaba con otros paquetes de tarjetas que contenan las funciones utilizadas en el programa y no definidas en el mismo (multiplicacin o raz cuadrada, por ejemplo). El paquete total de tarjetas, por ltimo, se ejecutaba con los datos del programa. En resumen, la mquina, durante su utilizacin, estaba totalmente bajo el control directo del usuario.

  • 5

    Con esta forma de trabajar no se obtena un aprovechamiento adecuado del computador. Cuando la CPU estaba trabajando, los dispositivos de E/S estaban inactivos, y cuando un dispositivo de E/S estaba actuando, las dems unidades, incluyendo la CPU, no trabajaban. Las grandes posibilidades operativas de la CPU, en cuanto a velocidad de ejecucin, no se aprovechaban adecuadamente.

    Como resumen de esta primera etapa (1943 a 1955) podemos decir que la introduccin y control de la ejecucin de programas se haca manualmente, uno a uno: no existan sistemas operativos. Procesamiento en serie.

    2. Segunda etapa: 1956-1965 En la segunda etapa en vez de utilizar slo lectoras de tarjetas e impresoras, se utilizan

    soportes de informacin intermedios, como cinta magntica.

    Inicialmente, en cinta magntica slo se encontraban los traductores, funciones de biblioteca, etc., necesitndose dar por tarjeta nicamente el programa y datos del usuario.

    Posteriormente, se dio un paso importante. Se utiliz un ordenador perifrico para gestionar las entradas/salidas, y el ordenador principal (ms potente) nicamente lea/escriba sobre cinta magntica. Este era el caso del computador IBM-7090, que se utilizaba en conjuncin con un IBM-140l.

    El sistema era gestionado por personas especializadas u operadores, que eran quienes manipulaban los computadores. El IBM-1401 contena programas, suministrados por el fabricante, que volcaban sobre cinta magntica los programas en tarjeta de los usuarios. En la cinta se tenan as grabadas imgenes de tarjeta. Posteriormente, y una vez que en una cinta haba una cola de trabajos, el operador desmontaba la cinta del 1401 y la montaba en el 7090. El 7090 lea los programas de la cinta, y los resultados a imprimir los escriba en otra cinta magntica, obtenindose as por cada programa un archivo de impresin grabado en cinta. El operador, con cierta regularidad, montaba la cinta de archivos de impresin en el 1401, y ste los iba escribiendo por las impresoras.

    El operador organizaba el trabajo incluyendo, por ejemplo, en una misma cinta todos los

    trabajos con programas en FORTRAN, en otra los trabajos con programas en COBOL, etc. Cuando se pasaban al IBM-7090 los trabajos en FORTRAN, se montaba en otra unidad la cinta con el compilador y bibliotecas de FORTRAN, cargndose en el computador cuando fuese necesario.

    El procedimiento de funcionamiento descrito, desde el punto de vista del usuario-programador, es mucho ms sencillo que el de la primera etapa. Pero es necesario un control automtico del flujo o cola de trabajos. En efecto, este tipo de funcionamiento, denominado por lotes o batch, es posible gracias a la existencia de un sistema operativo; es decir, un programa de control. Este programa de control que planifica los trabajos se suele denominar monitor.

    Poco a poco los monitores se perfeccionaron, incluyendo rutinas de control de E/S, mdulos controladores del tiempo mximo de CPU (para evitar que un programa se est

  • 6

    ejecutando por tiempo indefinido, a causa de un error de programacin), mdulo de contabilidad del uso del computador por los usuarios, etc.

    Esta segunda etapa la podramos denominar de procesamiento de trabajos en lotes, o tambin de utilizacin de dispositivos de E/S fuera de lnea.

    3. Tercera y cuarta etapa: 1966 a 1981 La tercera etapa se caracteriza fundamentalmente por el perfeccionamiento del sistema

    de trabajos por lotes, el desarrollo de sistemas operativos en multiprogramacin que permite a una mquina estar realizando varios procesos a la vez; los usuarios pueden trabajar en forma interactiva/conversacional y se introduce el concepto de memoria virtual.

    En un sistema de tipo multiusuario, existen varios usuarios con un terminal en lnea (usuarios interactivos), se llama sistema de tiempo compartido. En estos sistemas se divide el tiempo del procesador central, y de los dems recursos del ordenador, de forma que cada usuario tiene la ilusin de que todo el ordenador se le dedica exclusivamente a l, al recibir unos tiempos de respuesta aceptables. En un sistema de tiempo compartido los usuarios suelen ejecutar programas cortos (por ejemplo, compilar un programa), frente a los programas largos (por ejemplo, ordenar una cinta de un milln de datos) que se suelen dar en los sistemas batch.

    Hay que indicar que algunos sistemas operativos permiten tanto usuarios interactivos como lotes de trabajos batch. En estos sistemas se atiende a los usuarios interactivos con mayor prioridad, ejecutndose los programas batch cuando no hay programas de usuario.

    Tambin aparecen las tcnicas spooling gracias a las cuales se almacenan trabajos en colas de espera.

    4. Quinta y sexta etapa: 1982-actualidad La quinta y sexta etapa se caracteriza por el desarrollo de sistemas operativos para

    computadores personales (MS-DOS, OS/2, etc.), SO con interfaces grficos, y para estaciones de trabajo (UNIX, Windows-NT, etc.).

    Tambin se desarrollan sistemas operativos de red y sistemas operativos distribuidos. Los sistemas operativos en red no se diferencian sustancialmente de los sistemas operativos convencionales, ya que pueden considerarse como una ampliacin de stos con programas de control de interfaz con la red y permiten realizar una sesin de trabajo con un computador remoto.

    Los sistemas operativos distribuidos son mucho ms complejos, ya que permiten que un usuario ejecute, de forma transparente, uno o varios programas en varios procesadores trabajando simultneamente y, posiblemente, con datos distribuidos en diferentes servidores de archivos, lo cual requiere un SO adecuado.

    7 CLASIFICACIN DE LOS SISTEMAS OPERATIVOS. Segn la perspectiva con la que se observen los SO, pueden realizarse mltiples

    clasificaciones. Entre ellas se pueden incluir las siguientes:

    7.1 Por su estructura interna. Esta clasificacin tiene en cuenta cmo se disean los sistemas a la hora de ser

    creados.

    Monoltica: es la estructura utilizada en los primeros SO en la que todas las funciones se implementaban en el Kernel o ncleo. Puede decirse que su estructura consista en que no exista una estructura como tal.

    El SO estaba constituido por un nico programa compuesto por multitud de rutinas interrelacionadas entre s, de forma que cada una de ellas poda llamar a cualquier otra. Un ejemplo de SO de este tipo es el MS-DOS para PC.

  • 7

    Por capas o jerrquica: A medida que los SO fueron creciendo, fue necesario tener una estructura ms organizada. Para ello el SO se dividi en distintos niveles, cada uno de ellos con funciones concretas y especializadas. Estos niveles dieron lugar a una jerarqua entre funciones, de ah que se conozcan como SO jerrquicos. Estos SO se estructuran en las siguientes capas:

    o Hardware: nivel mas bajo de todo el sistema. o Gestin de procesos o Gestin de memoria o Gestin de E/S o Gestin del sistema de archivos o Control de programas de usuario

    La funciones de nivel superior solo pueden invocar a las de nivel inferior.

    Mquina virtual: se trata de un tipo de SO que presenta una interfaz a cada proceso, mostrando una mquina que parece idntica a la mquina real subyacente.

    Estos SO separan dos conceptos que suelen estar unidos en el resto de sistemas: la multiprogramacin y la mquina extendida.

    El ncleo de estos SO se denomina monitor virtual y tiene como misin llevar a cabo la multiprogramacin, presentando a los niveles superiores tantas mquinas virtuales como se soliciten.

    La principal ventaja de esta estructura reside en que permite implementar varios tipos de SO sobre cada mquina virtual. No obstante presenta el problema de que los SO implementados son disjuntos, lo cual complica enormemente la interaccin, comunicacin y comparticin que necesitan.

    Unix MS-DOS

    Hw virtual Hw virtual

    HARDWARE

    Cliente-Servidor: es la ms difundida. El ncleo se hace cada vez ms descargado de cdigo, dotndole solamente de funciones criticas. Ahora son los programas los que realizan las funciones del SO. Los procesos pueden ser clientes y servidores. Adems el ncleo se encargara de establecer la comunicacin entre los clientes y los servidores.

    Orientada a objetos: El SO se ve como una coleccin de objetos en vez de funciones. Un objeto sera un programa, las funciones del SO etc. El ncleo del SO es el responsable del mantenimiento de las definiciones de los tipos de objetos soportados y del control de los privilegios de acceso a los mismos.

    Un ejemplo de SO que utilizaba esta estructura es el Windows NT de Microsoft.

    7.2 Por los modos de explotacin. Responden a la forma en que el usuario interacta con los procesos que se ejecutan.

  • 8

    Procesamiento por lotes (batch): (interaccin nula), se llaman as a aquellos sistemas que emplean procesos (trabajos) que no necesitan la interaccin con el usuario, se cargan, se procesan y devuelven un resultado sin apenas intervencin por parte del usuario. Lo que supone que la mayor parte del tiempo del proceso est dedicado al procesamiento de los datos y muy poco a gestionar los lentos procesos de entrada y salida de la informacin. Ejemplos de estos sistemas seran: SCOPE (procesamiento cientfico) y EXEC II (procesamiento acadmico).

    Actualmente se puede llevar a cabo este tipo de procesamiento en tareas como: procesos de actualizacin de bases de datos, la cola de trabajos de impresin de una impresora, los ficheros de procesamiento por lotes de MS-DOS, etc.

    Tiempo compartido (hay algo de interaccin entre usuario y SO) en estos SO durante la ejecucin de los programas se pueden pedir datos al usuario y aceptar sus respuestas. La entidad a controlar por el sistema son las sesiones y no los trabajos. Una sesin comprende el intervalo de tiempo transcurrido desde el momento en que un usuario se identifica en el PC hasta que lo abandona. Durante una sesin el usuario cree que todos los recursos del PC los tiene asignados y disponibles, a pesar de que pueda haber ms sesiones de otros usuarios activas a la vez.

    En estos sistemas se produce una interrogacin secuencial a los distintos usuarios (son conversacionales), asegurando que cada cierto intervalo de tiempo el sistema atender a cada uno de ellos. Adems usan tcnicas de buffering y spooling para que las respuestas hacia los usuarios se emitan lo ms rpido posible. Ejemplos de estos sistemas seran: UNIX, Windows XP etc.

    Tiempo real:( hay total interaccin entre el usuario y el SO) existe una interaccin continua entre el usuario que se encarga de introducir la informacin y el proceso. Adems el resultado del procesamiento de los datos se obtiene de forma inmediata.

    A veces las respuestas que se obtienen proceden de sucesos externos al propio sistema, por ejemplo aquellos sistemas empleados para el control de instalaciones (telecomunicaciones, trfico areo etc).

    Algunos ejemplos de estos sistemas seran: Solaris, Spectra etc.

    7.3 Por los servicios ofrecidos. En esta clasificacin se tiene en cuenta la visin del usuario final y puede ser:

    7.3.1 Por el nmero de usuarios.

    Atendiendo al nmero de usuarios que pueden utilizar los recursos del sistema.

    Monousuario: son aquellos que nicamente soportan un usuario a la vez. En estos sistemas todos los recursos estn a disposicin de ese usuario y no pueden ser utilizados por nadie ms hasta que ste no finalice. Como ejemplos se tienen el MS-DOS, Windows XP, Vista, 7 etc.

    Multiusuario: varios usuarios podrn utilizar simultneamente los recursos del sistema. Pueden compartir, sobre todo, los dispositivos externos de almacenamiento y perifricos de salida (impresora). Tambin pueden compartir el acceso a una misma Base de Datos etc. Como ejemplos tenemos: UNIX, Windows Server etc.

    7.3.2 Por el nmero de tareas o procesos.

    Esta clasificacin se hace atendiendo al nmero de programas que pueden ejecutarse simultneamente en el equipo.

    Monoprogramacin o monotarea: el sistema solamente puede ejecutar un programa a la vez. De esta forma, los recursos del sistema estarn dedicados al programa hasta que finalice su ejecucin. MS-DOS es un sistema de este tipo.

  • 9

    El que un sistema sea monotarea no implica que no pueda ser multiusuario. Se pueden tener varios usuarios usando el mismo equipo pero cada uno de ellos ejecutando una sola tarea. Se controla la tarea de cada usuario de manera secuencial. Cuando termina una empieza la del siguiente.

    Multiprogramacin o multitarea: el sistema permite ejecutar varios programas simultneamente. De manera real slo se consigue la simultaneidad en aquellos sistemas que tienen ms de un procesador. En los casos que solo exista un procesador, la CPU compartir su tiempo entre los diferentes programas a ejecutar. Ejemplos de estos sistemas seran: LINUX, Windows XP, Vista, 7 etc.

    7.3.3 Por el nmero de procesadores.

    Esta clasificacin depende del nmero de procesadores que el SO es capaz de gestionar.

    Monoprocesador: el ordenador consta de un solo procesador. Todos los trabajos pasarn por l ya sean de uno o varios usuarios. Este procesador slo ser capaz de atender en cada momento a un nico proceso, pero se podr simular la multitarea repartiendo su tiempo entre los distintos procesos.

    Multiprocesador: el ordenador cuenta con 2 o mas procesadores. Los programas se podrn ejecutar sobre cualquier procesador. Adems permite el multiprocesamiento, es decir, la ejecucin de varios procesos de manera simultnea.

    Hay dos formas de utilizar los distintos procesadores por parte del SO:

    Multiproceso simtrico (SMP): el SO distribuir la carga de procesamiento por igual entre todos los procesadores existentes.

    Multiproceso asimtrico (AMP): el SO reparte las tareas que esta realizando a cada procesador en funcin de su prioridad. En el caso que se tenga un sistema biprocesador, se pueden ejecutar unas tareas concretas en uno y en el otro el resto de tareas (programas de usuario). Podra darse el caso que un procesador este siempre trabajando y el otro, en ocasiones, ste totalmente parado.

    7.4 Por la forma de ofrecer los servicios. En esta clasificacin se encuentran:

    Sistemas centralizados: hasta que los computadores no tuvieron un precio accesible y suficiente potencia, la mayora de los sistemas utilizaban el modelo de proceso centralizado. Con este tipo de modelo los computadores mainframe se encargaban de todo el procesamiento y los usuarios manejaban nicamente terminales tontos (sin memoria ni procesador). Ejemplos de estos sistemas seran: OS/390, Linux etc.

    Sistemas distribuidos: son sistemas cuasi-independientes que permiten distribuir los trabajos, tareas o procesos entre un conjunto de procesadores. Puede ocurrir que este conjunto de procesadores se encuentren en el mismo equipo o en equipos distintos (siendo en este ltimo caso transparente para el usuario).

    Los sistemas distribuidos ms extendidos son: Solaris-MC, Spring, Taos etc.

    Sistemas operativos en red: son aquellos que mantienen a dos o ms computadoras unidas a travs de algn medio de comunicacin (fsico o no), con el objetivo de primordial de poder compartir los diferentes recursos y la informacin del sistema. En este entorno cada computador mantiene su propio sistema operativo y su propio sistema de archivos local.

    Los sistemas en red mas usados son: Novell NetWare, Windows Server, Linux Server etc.

    Sistemas operativos de escritorio: estos sistemas son los que se utilizan en los equipos de sobremesa, estaciones de trabajo o porttiles. Tambin se les puede

  • 10

    denominar sistemas operativos cliente. Entre ellos se encuentran: Windows XP Professional, Windows Vista, Windows 7 y Linux.

    7.5 Por su disponibilidad. En esta clasificacin se encuentran:

    Sistemas propietarios: son aquellos que son propiedad intelectual de alguna empresa. Esto implica que se necesitan licencias de uso para que el usuario ejecute el software y no se dispone de acceso a su cdigo fuente o, aun teniendo acceso a l, no se tiene derecho a modificarlo ni distribuirlo. En este grupo se encuentra Windows.

    Sistemas libres: son aquellos que garantizan las 4 libertades del software:

    1. La libertad de usar el programa con cualquier propsito.

    2. La libertad de estudiar como funciona el programa y modificarlo, adaptndolo a las necesidades que tuviera el usuario.

    3. La libertad de distribuir copias del programa con lo que se puede ayudar a otros usuarios.

    4. La libertad de mejorar el programa y hacer publicas dichas mejoras a otros usuarios de modo que toda la comunidad se beneficie de ello.

    Las libertades 2 y 4 requieren acceso al cdigo fuente para estudiar y modificar dicho software, por lo que al final el software libre es tambin software de cdigo abierto.

    El software libre suele estar disponible gratuitamente o al precio de coste de la distribucin a travs de otros medios, sin embargo no es obligatorio que sea as, por lo tanto, no hay que asociar software libre a software gratuito, ya que, conservando su carcter libre, podr ser distribuido comercialmente (software comercial).

    Del mismo modo, el software gratuito puede incluir el cdigo fuente, pero eso no quiere decir que se pueda considerar como libre a no ser que se garanticen los derechos de modificacin y redistribucin de las versiones modificadas del programa.

    Tampoco debe confundirse software libre con software de dominio pblico. Este ltimo es aquel que no requiere de licencia pues sus derechos de explotacin pertenecen a todos por igual y cualquiera puede hacer uso de l, siempre con fines legales y consignando su autora original.

    8 FUNCIONES DE UN SISTEMA OPERATIVO. A continuacin se muestran las funciones principales que realiza todo sistema operativo:

    Control de la ejecucin de los programas. Para ello, acepta los trabajos, administra la manera en que se realizan, les asigna los recursos y los conserva hasta su finalizacin.

    Administracin de perifricos. Coordinando y manipulando los dispositivos conectados al ordenador.

    Gestin de permisos y de usuarios. Adjudica los permisos de acceso a los usuarios y evita que las acciones de uno afecten el trabajo que est realizando otro.

    Control de concurrencia. Establece prioridades cuando diferentes procesos solicitan el mismo recurso.

    Control de errores. Gestiona los errores de hardware y la prdida de datos.

    Administracin de memoria. Asigna memoria a los procesos y gestiona su uso.

    Control de seguridad. debe proporcionar seguridad tanto para los usuarios como para el software y la informacin almacenada en los sistemas.

  • 11

    En concordancia con estas funciones principales, es posible analizar la estructura de un sistema operativo en cinco niveles. Los primeros dos niveles entraran dentro de la parte del sistema operativo dependiente del hardware, el resto de los niveles pertenecen a la parte portable del mismo (vase la figura mostrada a continuacin).

    Cada uno de estos niveles se comunica con el inmediatamente inferior y superior coordinando sus funciones.

    Nivel 1. Gestin del procesador. En este nivel se encuentra el Kernel o ncleo que es la parte del sistema operativo encargada de la gestin de la CPU. Cuando arranca el ordenador se carga en memoria y permanece all realizando las siguientes funciones:

    o Comunicacin y conmutacin de procesos. Controla los procesos activos, trasladando el control de CPU de un proceso y guardando el estado de un proceso. El planificador de procesos realiza la asignacin de CPU a cada uno de los procesos.

    o Control de interrupciones. o Manejo de condiciones de error.

    Nivel 2. Gestin de memoria. Es el encargado de repartir la memoria disponible entre los recursos. Las acciones principales son:

    o Asignacin y liberacin de memoria. o Control de violacin de acceso a zonas no permitidas de memoria.

    Nivel 3. Gestin de procesos. Es el encargado de la creacin y destruccin de procesos, intercambio de mensajes y deteccin y arranque de los mismos.

    Nivel 4. Gestin de dispositivos. Se encarga de la funcin de creacin de procesos de E/S, asignacin y liberacin de dispositivos de E/S y planificacin de E/S.

    Nivel 5. Gestin de la informacin. Gestiona el espacio de nombres lgicos, para simplificar el acceso a los recursos y proteccin de la informacin realizando funciones de creacin y eliminacin de ficheros, apertura y cierre de ficheros, lectura y escritura de ficheros, y proteccin de acceso.

    9 INTERFAZ DE COMUNICACIN CON EL USUARIO. Hay que destacar las interfaces como medio de comunicacin entra hardware y software

    a travs del sistema operativo. Las interfaces se pueden clasificar en:

    Interfaz tipo texto: si el sistema operativo tiene una interfaz de tipo texto, todas las rdenes que el usuario introduzca y las respuestas que el sistema operativo d, se introducirn o se visualizarn mediante cadenas de caracteres.

  • 12

    Interfaz tipo grfico: hoy en da, la mayora de los sistemas operativos utilizan medios de comunicacin entre usuario y mquina de tipo grfico.

    10 TIPOS DE APLICACIONES. En funcin del tipo de software, las aplicaciones pueden ser:

    Gratuitas (freeware) o comerciales: esta clasificacin es interesante en el momento de la planificacin, del anlisis del entorno y de la adquisicin de las aplicaciones, y es fundamental para evaluar los costes. Adems tiene fuertes repercusiones en la etapa de mantenimiento del software.

    Libres o propietarias:

    o Las licencias de software libre se basan en la distribucin del cdigo fuente junto con el programa, as como en las 4 premisas indicadas en un apartado anterior.

    Hay que dejar claro de nuevo que el que un determinado programa sea libre no implica en ningun momento que sea o deba ser gratuito (freeware). Es perfectamente compatible el que se trate de un software libre y a su vez sea un programa comercial, en el que se pida un pago por licencia.

    o Las licencias de software propietario son aquellas en las que los usuarios tienen limitadas las posibilidades de usarlo, modificarlo o redistribuirlo (con o sin modificaciones).

    Otra clasificacin a resear es la que divide las aplicaciones en opensource (cdigo abierto al usuario) o privativas (cuyo cdigo fuente no est disponible o el acceso a l se encuentra restringido).

    Tambin aqu la repercusin en las fases de la implantacin es importante, ya que una aplicacin opensource va a permitir un afinamiento ms adaptado, barato y simple que una privativa. La consecuencia es una mejora en el ciclo de vida de la implantacin a un menor coste. Aunque debido a contingencias en la compatibilidad e interconexin de aplicaciones, es necesario habitualmente instalar software privativo.

    11 TIPOS DE LICENCIAS. Una licencia de software es una autorizacin formal con carcter contractual que un

    autor de un software da a un interesado para ejercer actos de explotacin cumpliendo una serie de trminos y condiciones establecidas dentro sus clusulas.

    11.1 Tipos de licencia de software comercial.

    Desde el punto de vista del software comercial, existen distintos grupos de licencias:

    Licencias OEM: se trata de un tipo de licencia que supedita su venta a que forme parte de un equipo nuevo, estando prohibido venderlo si no es bajo esta condicin. si bien afecta ms que nada a sistemas operativos, tambin puede afectar a otro tipo de software. aunque el software comprado bajo este tipo de licencia implica la propiedad del mismo por parte del que lo compra, los fabricantes pueden poner ciertas limitaciones a su uso, como el nmero mximo de veces que se puede reinstalar.

    Los programas adquiridos bajo este tipo de licencia no se pueden vender ni ceder a terceros, salvo en las mismas condiciones en las que se compraron (es decir, como parte de un equipo).

    Licencias Retail: son las versiones de venta de software. en este caso, el programa es de la entera propiedad del usuario, pudiendo ste cederlo libremente a terceros o venderlo.

  • 13

    Licencias por volumen: es un tipo de licencia de software destinado a grandes usuarios (empresas), normalmente bajo unas condiciones similares a las de las licencias oem, aunque sin estar supeditadas a equipos nuevos.

    Bsicamente, se trata de estipular un determinado nmero de equipos que pueden utilizar el mismo cdigo de licencia, quedando el fabricante de dicho software autorizado para hacer las comprobaciones que considere oportunas para ver que las licencias que se estn utilizando son las adquiridas.

    Normalmente, estas licencias se venden en paquetes de x nmero de licencias (por ejemplo, en paquetes de 25 licencias como mnimo). Este tipo de licencia no se puede ceder a terceros, ni total ni parcialmente.

    11.2 Tipos de licencia de software libre. Desde el punto de vista del software libre, existen distintos grupos de licencias:

    Licencias BSD (Berkeley Software Distribution): Este tipo de licencias se utilizan en el software distribuido junto a los sistemas operativos Bsd (sistemas operativos derivados del sistema unix desarrollados por la universidad de california en Berkeley). este tipo de licencias mantienen la proteccin de los derechos de autor nicamente para la renuncia de garanta y para requerir la adecuada atribucin de la autora en trabajos derivados, pero permite la libre redistribucin y modificacin, incluso si dichos trabajos tienen propietario.

    Son muy permisivas y son fcilmente absorbidas al mezclarse con las licencias Gnu GpL, con las cuales son compatibles.

    Licencias GNU GPL (Licencia pblica General de Gnu): Este tipo de licencias conservan los derechos de autor y permiten la redistribucin y modificacin bajo trminos diseados para asegurarse de que todas las versiones modificadas del software permanecen bajo los trminos ms restrictivos de la propia Gnu GpL. Esto hace que no se pueda crear un producto con partes no licenciadas GpL. por lo tanto, el conjunto tiene que ser GpL.

    Es decir, esta licencia obliga a que si se reutiliza en un mismo programa cdigo a licenciado bajo licencia Gnu GpL y cdigo B licenciado bajo otro tipo de licencia libre, el cdigo final c, independientemente de la cantidad y calidad de cada uno de los cdigos a y B, deber estar bajo licencia Gnu GpL.

    Aproximadamente el 60% del software licenciado como software libre emplea una licencia GpL.

    Licencias GNU LGPL (Licencia pblica General Limitada de Gnu): La licencia GpL ofrece grandes beneficios pero hay algunas veces en las que ofrece ciertas restricciones. por ejemplo, cuando se utilicen partes o bibliotecas de software GpL en un software propietario o distribuido bajo otra licencia, estara obligada a distribuir todo su software bajo GpL, lo que, seguramente, no les interesara.

    Sin embargo, con este tipo de licencias, que es una versin reducida de la licencia Gnu GpL LGpL, no es obligatorio que el software derivado tenga que ser libre.

    Otras actividades que no sean copia, distribucin o modificacin no estn cubiertas en esta licencia y estn fuera de su alcance.

  • 14

    Como ejemplo de este tipo de licencia se puede citar el proyecto openoffice.org de sun microsystems.

    Licencias MPL (Licencia pblica de mozilla): Este tipo de licencia evita el efecto de la GpL (es decir, que si se utiliza cdigo licenciado GpL, el desarrollo final tiene que ser obligatoriamente licenciado GpL). no obstante, la licencia mpL no es tan excesivamente permisiva como las licencias Bsd.

    Tiene un gran valor porque fue el instrumento que emple netscape communications corp. para liberar su netscape communicator 4.0 y empezar con el proyecto mozilla.

    Se utilizan en gran cantidad de productos de software libre de uso cotidiano en todo tipo de sistemas operativos, como por ejemplo, mozilla Firefox.

    Licencias Copyleft: este tipo de licencia permite ejercer el derecho de autor permitiendo la libre distribucin de copias y versiones modificadas de una obra u otro trabajo, exigiendo que los mismos derechos sean preservados en las versiones modificadas.

    Hay que hacer constar que el titular de los derechos de autor (copyright) de un software bajo licencia copyleft puede tambin realizar una versin modificada bajo su copyright original y venderla bajo cualquier licencia que desee, adems de distribuir la versin original como software libre.

    Esta tcnica ha sido usada por una serie de empresas que realizan software libre (por ejemplo mysqL).

    Multilicencia. Con este tipo de licencias, una obra se puede publicar bajo los trminos de varias licencias. De esta manera, terceras personas pueden reproducir, distribuir, comunicar pblicamente, interpretar y transformar, por cualquier medio, la obra, en cualquier momento o lugar, licenciando o multilicenciando, segn sea el caso, la obra original o la obra derivada, bajo los trminos de una de las licencias o bajo los trminos de un subconjunto de ellas, sujeto a las condiciones particulares que recojan las definiciones de cada una de las licencias.