jueves, 1 de diciembre de 2011

Modulo II. Funcionamiento (SOFTWARE Y SISTEMAOPERATIVO)


Software (Definición),    Tipos de Software,         Definición Sistemas Operativos, Clasificación de los SO,           Diferentes Tipos de SO,          Elementos básicos que conforman los SO,         Características de los SO, Funciones de los SO, Diferentes versiones de los SO,       Interfaz Gráfica del SO,          Sistema Operativo DOS Administración de Memoria,          Tipos de Memoria, Herramientas de memoria,         __________________________________________________________________________

SOFTWARE:
Es el conjunto de los programas de cómputo, procedimientos, reglas, documentación y datos asociados que forman parte de las operaciones de un sistema de computación

El software libre
Es la denominación del software que respeta la libertad de los usuarios sobre su producto adquirido y, por tanto, una vez obtenido puede ser usado, copiado, estudiado, modificado, y redistribuido libremente.


Según la Free Software Foundation, el software libre se refiere a la libertad de los usuarios para ejecutar, copiar, distribuir, estudiar, modificar el software y distribuirlo modificado.

El software libre suele estar disponible gratuitamente, o al precio de costo de la distribución a través de otros medios; sin embargo no es obligatorio que sea así, por lo tanto no hay que asociar software libre a "software gratuito" (denominado usualmente freeware), ya que, conservando su carácter de libre, puede ser distribuido comercialmente ("software comercial").

En contraste con el hardware, el software es intangible, lo que significa que "no se puede tocar". Software a veces también se usa en un sentido más estrecho, lo que significa la aplicación de software solamente. En otros casos el término incluye datos que no se han asociado tradicionalmente con las computadoras, tales como películas, cintas y discos.

Ejemplos de software:
  • El software de aplicación donde se incluyen aplicaciones de usuario final tales como procesadores de textos, hojas de cálculo o juegos.
  • El middleware controla y coordina los sistemas distribuidos.
  • Los lenguajes de programación definen la sintaxis de los programas de ordenador. Por ejemplo, muchas aplicaciones bancarias, o de adultos, fueron escritos en el lenguaje COBOL, originalmente inventado en 1959. Las nuevas aplicaciones se escriben a menudo en lenguajes de programación más modernos.
  • El software del sistema incluye los sistemas operativos, que rigen los recursos informáticos.
  • Testware es un software para pruebas de hardware o un paquete de software.
  • Los controladores de dispositivos, tales como discos duros, impresoras, unidades de CD o monitores de ordenador.
Una relación muy verídica y acertada para entender la división del software y hardware, es la división teológica entre cuerpo y alma.
Tal y como he definido el software, éste es un conjunto de programas. La pregunta ahora es: ¿qué es un programa? Un programa es una secuencia de instrucciones que pueden ser interpretadas por un computador, obteniendo como fruto de esa interpretación un determinado resultado que ha sido predeterminadamente establecido por el ser humano.
La Clasificación Básica del SOFTWARE:
  1.  Software de Sistema, Software de Aplicación, Software de Usuario.
El software de sistema: es el software básico o sistema operativo. Es un conjunto de programas cuyo objeto es facilitar el uso del computador (aísla de la complejidad de cada dispositivo, y presenta al exterior un modelo común de sistema de manejo para todos los dispositivos) y conseguir que se use eficientemente (ejemplo: realizar operaciones mientras se ejecuta un programa). Administra y asigna los recursos del sistema (hard-ware).

El software de aplicación son los programas que controlan y optimización la operación de la máquina, establecen una relación básica y fundamental entre el usuario y el computador, hacen que el usuario pueda usar en forma cómoda y amigable complejos sistemas hardware, realizan funciones que para el usuario serían engorrosas o incluso imposibles, y actúan como intermediario entre el usuario y el hardware.

Software de Usuario: Consiste en herramientas de software que permiten el desarrollo de algunas aplicaciones directamente por los usuarios finales y sin los programadores profesionales. Los lenguajes de cuarta generación tienden a ser de no procedimientos o menos procedimientos que los lenguajes convencionales de programación. Los lenguajes de no procedimientos necesitan sólo especificar qué es lo que se tiene que alcanzar en vez de proporcionar detalles de cómo llevar a cabo la tarea. Entonces, un lenguaje de no procedimiento puede llevar a cabo la misma tarea con menos pasos y líneas de código de programación que el lenguaje de procedimientos

____________________________________________________

Sistema Operativo DOS Administración de Memoria

La parte del sistema operativo que administra la memoria se llama administrador de la memoria. Para ello existen diferentes esquemas de administración de memoria desde los más simples hasta los más elaborados entre los cuales se ubican:

  • Administración de la memoria sin intercambio o paginación
Los sistemas de administración de memoria se pueden clasificar en dos tipos. Los que desplazan los procesos de la memoria principal al disco y viceversa durante la ejecución (intercambio y paginación) y aquellos que no.

  • Monopogramación sin intercambio o paginación.
Es en forma secuencial pues solo se tiene un objeto en memoria en cada instante, el usuario carga toda la memoria con un programa, esto implica que cada proceso debe contener controladores de dispositivo para cada uno de los dispositivos E/S que utilice.

  •  Multiprogramación y uso de la memoria.
La multiprogramación facilita la programación de una aplicación al dividirla en dos o más procesos. La mayoría de los procesos tardan cierto tiempo en la espera de datos de dispositivos E/S.
Un modelo para el uso y aprovechamiento de la CPU es el modelo probabilístico dado por la fórmula:
Uso de la CPU = 1 - pn.

  • Multiprogramación con particiones fijas.
El objetivo en todo esto es tener más de un proceso en memoria a la vez, solución posible sería dividir la memoria en n partes al inicio de una sesión de uso de la máquina, pero aún así se obtiene el desperdicio de particiones grandes con una tarea pequeña, la respuesta puede ser tener particiones pequeñas también.
Las tareas que van llegando se forman hasta que una partición adecuada está disponible, en cuyo momento la tarea se carga en esa partición y se ejecuta hasta terminar.

  • Intercambio
En un sistema por lotes la organización de la memoria en particiones fijas es adecuado pero en un ambiente multiusuario la situación es distinta con el tiempo compartido, ya que existen más usuarios de los que puede albergar la memoria, por lo que es conveniente albergar el exceso de los procesos en disco., por supuesto para ser ejecutados estos procesos deben ser trasladados a la memoria principal. Al traslado de procesos de disco a memoria y viceversa se le llama intercambio.

  • Multiprogramación con particiones variables.
Mediante un algoritmo de administración de memoria las particiones variables varían de forma dinámica durante el uso de la máquina, evitando desperdicio de memoria.
Otros métodos de administración de memoria que tenemos son:
-  La administración de memoria con mapa de bits.
      La memoria se divide en unidades de asignación, a cada asignación le corresponden un bit en el mapa de bits, un mapa de bits es una forma sencilla para llevar un registro de las palabras de la memoria en una cantidad fija de memoria.
-  La administración de memoria con listas ligadas.
     Otra forma de mantener un registro en memoria es mediante una lista ligada donde cada entrada de la lista específica un hueco o un proceso
-  La administración de memoria con el sistema de los asociados.
Basado en el sistema binario o utiliza para las direcciones.

  • Memoria Virtual:
      El método diseñado por Fotheringham en 1961 se conoce como Memoria Virtual, la idea es que el tamaño combinado de la pila, programa y datos puede exceder la memoria física disponible para ello. El S.O. mantiene en memoria aquellas partes del programa que se deben permanecer en memoria y el resto lo deja en disco, las partes entre el disco y la memoria se intercambian de modo que se vayan necesitando.
  • Paginación
     El espacio de direcciones de cada proceso se divide en bloques de tamaño uniforme llamados páginas, los cuales se pueden colocar dentro de cualquier para página marco disponible en memoria. Cuando las tablas de páginas son muy grandes se puede utilizar un esquema de paginación de varios niveles para que las páginas se paginen a sí mismas.
Existen distintos niveles de paginación y a su vez distintos modelos de computadoras han trabajado con ellas.
  1. Paginación de nivel 1: PDP-11
  2. Paginación de 2 niveles: la VAX
  3. Paginación de 3 niveles: la SPARC
  4. Paginación de 4 niveles: la 68030
  •  Algoritmos de reemplazo de páginas.
Cuando ocurre un fallo de página el sistema operativo debe elegir una página para retirarla de la memoria y hacer un espacio para la página por recuperar. Si la página por eliminar fue modificada mientras estaba en memoria, debe escribirla en el disco para mantener actualizada la copia del disco, si por el contrario la página no ha sido modificada la copia del disco ya está actualizada por lo que no es necesario volver a escribir, la página por leer sólo escribe encima de la página por retirar.
Aunque es posible elegir una página al azar para el reemplazo relacionado con un fallo de página, el rendimiento del sistema es mucho mejor si se elige una página de poco uso.

  • Algoritmo de reemplazo de páginas optimo
Mejor algoritmo posible para reemplazo de páginas pero irrealizable en la práctica.
Al momento de ocurrir un fallo de página cierto conjunto de páginas se encuentran en la memoria, en la siguiente instrucción se hará referencia a una de estas páginas, otras páginas no se utilizaran sino hasta mucho después, cada página puede ejecutarse con el número de instrucciones ejecutadas antes de la primera referencia a esa página, el algoritmo dice que se elimine la página con la mayor etiqueta; si una página no va a utilizase sino hasta mucho después que otra la eliminación de la primera retrasa el fallo de página lo más posible, el único problema de este algoritmo es que es irrealizable. Al momento del fallo de página el S.O. no tiene forma de saber a qué página se hace referencia.
  • Algoritmo de página de uso no muy reciente.
En un fallo de página , el sistema operativo inspecciona todas las páginas y las divide en cuatro categorías según los valores actuales de los bits R y M
Clase 0: No se ha hecho referencia ni ha sido modificada
Clase 1: No se ha hecho referencia pero ha sido modificada
Clase 2: Se ha hecho referencia pero no ha sido modificada
Clase 3: Se ha hecho referencia y ha sido modificada.

  • Algoritmo de reemplazo " primero en entrar, primero en salir FIFO"
El sistema operativo tiene una lista de todas las páginas que se encuentran en memoria, siendo la primera página la más antigua y la última la más reciente, en un fallo de página, se elimina la primera página y se añade la nueva al final de la lista.

  • Algoritmo de reemplazo de páginas de la segunda oportunidad
Una modificación simple del FIFO que evita deshacerse de una página de uso frecuente inspecciona el bit R de la página mas antigua, busca una página antigua sin referencias durante el anterior intervalo de tiempo.
  • Algoritmo de reemplazo de páginas del reloj
Aunque el anterior algoritmo es razonable un mejor enfoque es mantener las páginas en una lista circular con la forma de un reloj, una manecilla apunta hacia la mas antigua. Al ocurrir un fallo de página se inspecciona la página a la que apunta la manecilla si su bit R=0 se retira de la memoria, se inserta la nueva página en su lugar en el reloj y la manecilla avanza una posición, si R=1 la manecilla avanza una posición y el bit se limpia, esto continua hasta encontrar una página con R=0.
  • Segmentación
         La memoria virtual que hemos analizado hasta ahora es unidimensional, puesto que cada segmento constituye un espacio independiente de direcciones, los distintos segmentos pueden crecer o reducirse en forma independiente sin afectar a los demás.
         Una memoria segmentada tiene otras ventajas como hacer mas sencilla la administración de las estructuras de datos que crecen o se reducen, si cada procedimiento ocupa un segmento independiente con la posición inicial cero el ligado independiente de los procesos compilados es mucho mas sencillo.
 
 



  




Traductores de lenguajes
Interpretadores
Compiladores
Programas de utilerías
Operaciones rutinarias (sort, list, print)
Administrar datos (crea archivos, fusiona archivos)

SISTEMA OPERATIVO.
Un Sistema Operativo (SO) es el software básico de una computadora que provee una interfaz entre el resto de programas del ordenador, los dispositivos hardware y el usuario.

Funciones Básicas:
Las funciones básicas del Sistema Operativo son administrar los recursos de la máquina, coordinar el hardware y organizar archivos y directorios en dispositivos de almacenamiento.
Los Sistemas Operativos más utilizados son Dos, Windows, Linux y Mac. Algunos SO ya vienen con un navegador integrado, como Windows que trae el navegador Internet Explorer.


ELEMENTOS DE LOS SISTEMAS OPERATIVOS
Un sistema operativo está compuesto por un conjunto de paquetes de software que pueden utilizarse para gestionar las interacciones con el hardware, estos elementos se incluyen por lo general en este conjunto de software:
  • El núcleo, que representa las funciones básicas del sistema operativo, por ejemplo, la gestión de memoria, de los procesos, de los archivos, de las entradas/salidas principales y de las funciones de comunicación.
  • El intérprete de comandos, que posibilita la comunicación con el sistema operativo a través de un lenguaje de control, permitiendo al usuario controlar los periféricos sin conocer las características del hardware utilizando, la gestión de las direcciones físicas, etc.
  • El sistema de archivos, que permite que los archivos se registren en una estructura arbórea.

CLASIFICACIÓN DE LOS SISTEMAS OPERATIVOS
Sistema operativo multitareas:
Es el modo de funcionamiento disponible en algunos sistemas operativos, mediante el cual una computadora procesa varias tareas al mismo tiempo.
Sistema operativo monotareas:
Los sistemas operativos monotareas son más primitivos y es todo lo contrario al viso anteriormente, es decir, solo pueden manejar un proceso en cada momento o que solo puede ejecutar las tareas de una en una.
Sistema operativo monousuario:
Los sistemas operativos monousuarios son aquellos que nada más puede atender a un solo usuario, gracias a las limitaciones creadas por el hardware, los programas o el tipo de aplicación que se esté ejecutando.
Sistema operativo multiusuario:
Es todo lo contrario a monousuario, y en esta categoría se encuentran todos los sistemas que cumplen simultáneamente las necesidades de dos o más usuarios, que comparten mismos recurso.

OBJETIVOS DE LOS SISTEMAS OPERATIVOS
El objetivo principal de un sistema operativo es lograr que el sistema de computación se use de manera cómoda, y el objetivo secundario es que el hardware de la computadora se emplee de manera eficiente.

Los Sistemas Operativos más utilizados son: Dos, Windows, Linux y Mac. Algunos SO ya vienen con un navegador integrado, como Windows que trae el navegador Internet Explorer.

Ejemplos de Sistema Operativo
A continuación detallamos algunos ejemplos de sistemas operativos:
Familia Windows:
  • Windows 95
  • Windows 98
  • Windows ME
  • Windows NT
  • Windows 2000
  • Windows 2000 server
  • Windows XP
  • Windows Server 2003
  • Windows CE
  • Windows Mobile
  • Windows XP 64 bits
  • Windows Vista (Longhorn)
Familia Macintosh:

  • Mac OS 7

  • Mac OS 8

  • Mac OS 9

  • Mac OS X
Familia UNIX:
  • AIX
  • AMIX
  • GNU/Linux
  • GNU / Hurd
  • HP-UX
  • Irix
  • Minix
  • System V
  • Solaris
  • UnixWare
 
 


¿QUÉ ES WINDOWS?
       Windows (Ventanas), es un programa que nos permite trabajar con diferentes ventanas (programas) simultáneamente, permitiendo la manipulación de información entre una y otra, ya que es la característica principal.


¿QUÉ ES LINUX?
        Linux es un sistema operativo diseñado por cientos de programadores de todo el planeta, aunque el principal responsable del proyecto es Linus Tovalds.  Su objetivo inicial es propulsar el software de libre distribución junto con su código fuente para que pueda ser modificado por cualquier persona, dando rienda suelta a la creatividad. El hecho de que el sistema operativo incluya su propio código fuente expande enormemente las posibilidades de este sistema.

¿QUE ES UNIX?
      Es un sistema operativo de tiempo compartido, controla los recursos de una computadora y los asigna entre los usuarios. Permite a los usuarios correr sus programas. Controla los dispositivos de periféricos conectados a la máquina. Además es un sistema multiusuario, en el que existe la portabilidad para la implementación de distintas computadoras.
Esta formado por una serie de elementos que pueden representarse en forma de capas concéntricas donde, en primer lugar, alrededor del hardware, aislando a este de los usuarios, además de adaptar el resto del sistema operativo a la maquina debido a la portabilidad que existe en el mismo.

LENGUAJE DE COMUNICACION
      Es el medio a través del cual el usuario interactúa directamente con el sistema operativo y está formado por comandos que son introducidos a través de algún dispositivo. Generalmente un comando consta de dos partes, la primera formada por una palabra que identifica el comando y la acción a realizar y la segunda parte por un conjunto de valores o parámetros que permiten seleccionar diversas operaciones de entre los que dispone el comando.

UTILERIA DE SISTEMA
    Son programas o rutinas del sistema operativo que realizan diversas funciones de uso común o aplicación frecuente como son: clasificar, copiar e imprimir información.
RECOMENDAMOS ESTAS PAGINAS: