domingo, 25 de noviembre de 2012

1.- INTRODUCCION A LOS SISTEMAS OPERATIVOS 1.1.- Definicion y concepto.

  • Un Sistema Operativo Es Un Programa Que Actúa Como Intermediario Entre El Usuarios Y El Hardware De Una Computadora. El Propósito De Un Sistema Operativo Es Ofrecer Un Ambiente En El Que Un Usuario Pueda Ejecutar Programas.
  • Un Sistema Operativo Es El Software Encargado De Ejercer El Control Y Coordinar El Uso Del Hardware Entre Diferentes Programas De Aplicación Y Los Diferentes Usuarios. Es Un Administrador De Los Recursos De Hardware Del Sistema. En Una Definición Informal Es Un Sistema Que Consiste En Ofrecer Una Distribución Ordenada Y Controlada De Los Procesadores, Memorias Y Dispositivos De E/S Entre Los Diversos Programas Que Compiten Por Ellos.
  • Sistema Tipo Software Que Controla La Computadora Y Administra Los Servicios Y Sus Funciones Como Así También La Ejecución De Otros Programas Compatible Con Este.

1.2.- Funciones y caracteristicas.

FUNCIONES
 
·         Aceptar Todos Los Trabajos Y Conservarlos Hasta Su Finalización.
·         Interpretación De Comandos: Interpreta Los Comandos Que Permiten Al Usuario Comunicarse Con El Ordenador.
·         Control De Recursos: Coordina Y Manipula El Hardware De La Computadora, Como La Memoria, Las Impresoras, Las Unidades De Disco, El Teclado O El Mouse.
·         Manejo De Dispositivos De E/S: Organiza Los Archivos En Diversos Dispositivos De Almacenamiento, Como Discos Flexibles, discos duros, Discos Compactos O Cintas Magnéticas.
·         Manejo De Errores: Gestiona Los Errores De Hardware Y La Pérdida De Datos.
·         Secuencia De Tareas: El Sistema Operativo Debe Administrar La Manera En Que Se Reparten Los Procesos. Definir El Orden. (Quien Va Primero Y Quien Después).
·         Protección: Evitar Que Las Acciones De Un Usuario Afecten El Trabajo Que Esta Realizando Otro Usuario.
·         Multiacceso: Un Usuario Se Puede Conectar A Otra Máquina Sin Tener Que Estar Cerca De Ella.
·         Contabilidad De Recursos: Establece El Costo Que Se Le Cobra A Un Usuario Por Utilizar Determinados Recursos.
CARACTERÍSTICAS.
· En Computadoras, El Sistema Operativo Comienza A Funcionar Cuando Finaliza El Trabajo Del BIOS Al Encenderse O Reiniciar La Computadora.
· Los Sistemas Operativos Poseen Una Interfaz Que Puede Ser Gráfica (GUI) O De Texto (Línea De Comandos).
· Los Sistemas Operativos Forman Una Plataforma Para Que Otros Sistemas O Aplicaciones La Utilicen. Aquellas Aplicaciones Que Permiten Ser Ejecutadas En Múltiples Sistemas Operativos Son Llamadas Multiplataforma.
· La Mayoría De Los Sistemas Operativos Actuales Son También Multiusuario, Aunque Existen Los Monousuario (Por Ejemplo, DOS)
· También Pueden Clasificarse En Multitarea O Monotarea. Cada Programa Que Se Ejecuta En Un Sistema Operativo, Ya Sea Aplicación O Servicio De Fondo, Es Llamado Proceso.
· Los Sistemas Operativos Pueden Ser Centralizados, Si Permiten Utilizar Recursos De Una Sola Computadora, O Distribuido Si Permiten Utilizar Recursos De Más De Una Computadora Al Mismo Tiempo.
· Todos Los Sistemas Operativos Deben Incluir Un Soporte Para Uno O Más Sistemas De Archivos. Por Ejemplo, El Sistema Operativo Windows XP Soporta NTFS Y FAT32, En Tanto Windows Vista Sólo Soporta NTFS.
· También Deben Tomar Medidas De Seguridad (Ver Seguridad Informática), Que Antes No Existían En Los Sistemas Operativos. El Principal Peligro Proviene De Las Redes Como Internet.
· Otra Característica De Los Actuales Sistemas Operativos Es Que Poseen Un Gran Conjunto De Controladores (Drivers) Para Permitir Rápida Compatibilidad Con Dispositivos De Hardware.

 

1.3.- Evolucion historica.


1a. Etapa (1945-1955): Bulbos y conexiones.

Después de los infructuosos esfuerzos de Babbage, hubo poco progreso en la construcción de las computadoras digitales, hasta la Segunda Guerra Mundial. A mitad de la década de los 40's, Howard Aiken (Harvard), John Von Newman (Instituto de Estudios Avanzados, Princeton), J. Prespe R. Eckert y Williams Mauchley (Universidad de Pennsylvania), así como Conrad Zuse (Alemania), entre otros lograron construir máquinas de cálculo mediante bulbos. Estas máquinas eran enormes y llenaban cuartos completos con decenas de miles de bulbos, pero eran mucho más lentas que la computadora casera más económica en nuestros días.

Toda la programación se llevaba a cabo en lenguaje de máquina absoluto y con frecuencia se utilizaban conexiones para controlar las funciones básicas de la máquina. Los lenguajes de programación eran desconocidos (incluso el lenguaje ensamblador). No se oía de los Sistemas Operativos el modo usual de operación consistía en que el programador reservaba cierto período en una hoja de reservación pegada a la pared, iba al cuarto de la máquina, insertaba su conexión a la computadora y pasaba unas horas esperando que ninguno de los 20,000 o más bulbos se quemara durante la ejecución. La inmensa mayoría de los problemas eran cálculos numéricos directos, por ejemplo, el cálculo de valores para tablas de senos y cosenos.

A principio de la década de los 50's la rutina mejoro un poco con la introducción de las tarjetas perforadas. Fue entonces posible escribir los programas y leerlas en vez de insertar conexiones, por lo demás el proceso era el mismo.

2a. Etapa. (1955-1965): Transistores y Sistemas de Procesamiento por lotes.

La introducción del transistor a mediados de los años 50's modificó en forma radical el panorama. Las computadoras se volvieron confiables de forma que podían fabricarse y venderse a clientes, con la esperanza de que ellas continuaran funcionando lo suficiente como para realizar un trabajo en forma.

Dado el alto costo del equipo, no debe sorprender el hecho de que las personas buscaron en forma por demás rápidas vías para reducir el tiempo invertido. La solución que, por lo general se adoptó, fue la del sistema de procesamiento por lotes.


3ra Etapa (1965-1980): Circuitos integrados y multiprogramación.
La 360 de IBM fue la primera línea principal de computadoras que utilizó los circuitos integrados, lo que proporcionó una gran ventaja en el precio y desempeño con respecto a las máquinas de la segunda generación, construidas a partir de transistores individuales. Se trabajo con un sistema operativo enorme y extraordinariamente complejo. A pesar de su enorme tamaño y sus problemas el sistema operativo de la linea IBM 360 y los sitemas operativos similares de esta generación producidos por otros fabricantes de computadoras realmente pudieron satisfacer, en forma razonable a la mayoria de sus clientes. También popularizaron varias técnicas fundamentales, ausentes de los sistemas operativos de la segunda generación, de las cuales la más importante era la de multiprogramación.

Otra característica era la capacidad de leer trabajos de las tarjetas al disco, tan pronto como llegara al cuarto de cómputo. Así, siempre que concluyera un trabajo el sistema operativo podía cargar un nuevo trabajo del disco en la partición que quedara desocupada y ejecutarlo.

4ta Etapa (1980-Actualidad): Computadoras personales.

Un interesante desarrollo que comenzó a llevarse a cabo a mediados de la década de los ochenta ha sido el crecimiento de las redes de computadoras personales, con sistemas operativos de red y sistemas operativos distribuidos.

 

En el sistema operativo de red, los usuarios están conscientes de la existencia de varias computadoras y pueden conectarse con máquinas remotas y copiar archivos de una máquina a otra. Cada máquina ejecuta su propio sistema operativo local y tiene su propio usuario.

Por el contrario, un sistema operativo distribuido es aquel que aparece ante sus usuarios como un sistema tradicional de un solo procesador, aun cuando esté compuesto por varios procesadores. En un sistema distribuido verdadero, los usuarios no deben ser conscientes del lugar donde su programa se ejecute o de lugar donde se encuentren sus archivos; eso debe ser manejado en forma automática y eficaz por el sistema operativo.

 

1.4.- Clasificacion.


 

Los Sistemas Operativos Los Podemos Clasificar En:
 
·         Sistemas operativos monotarea: Sólo pueden manejar un proceso, es decir , las tareas deben ejecutarse una tras otra. Por ejemplo, el sistema DOS es monotarea, al no poder ejecutar varias aplicaciones simultáneamente, aunque existieron varios intentos de añadirle esta capacidad.
·         Sistemas operativos multitarea: La computadora puede procesar varias tareas al mismo tiempo.
·         Sistemas Operativos distribuidos: Permiten distribuir trabajos, tareas o procesos, entre un conjunto de procesadores. Puede ser que este conjunto de procesadores esté en un equipo o en diferentes, en este caso es trasparente para el usuario. Existen dos esquemas básicos de éstos. Un sistema fuertemente acoplado es a es aquel que comparte la memoria y un reloj global, cuyos tiempos de acceso son similares para todos los procesadores. En un sistema débilmente acoplado los procesadores no comparten ni memoria ni reloj, ya que cada uno cuenta con su memoria local. Los sistemas distribuidos deben de ser muy confiables, ya que si un componente del sistema se compone otro componente debe de ser capaz de reemplazarlo. Entre los diferentes Sistemas Operativos distribuidos que existen tenemos los siguientes: Sprite, Solaris-MC, Mach, Chorus, Spring, Amoeba, Taos, etc.
·         Tiempo Real: Responde a las entradas inmediatamente. Los sistemas operativos como DOS y UNIX, no funcionan en tiempo real.
·         Sistemas Operativos por lotes: Los Sistemas Operativos por lotes, procesan una gran cantidad de trabajos con poca o ninguna interacción entre los usuarios y los programas en ejecución. Se reúnen todos los trabajos comunes para realizarlos al mismo tiempo, evitando la espera de dos o más trabajos como sucede en el procesamiento en serie. Estos sistemas son de los más tradicionales y antiguos, y fueron introducidos alrededor de 1956 para aumentar la capacidad de procesamiento de los programas.

 

CLASIFICACIÓN
EJEMPLO
MULTIUSUARIO
LINUX
MONOUSUARIO
WINDOWS 3.0 Y 3.1 (PRIMERAS VERSIONES)
MULTITAREA
UNIX
TIEMPO REAL
WINDOWS CE, Mac Os
MULTIPROCESADOR
WINDOWS NT
DISTRIBUIDO
SOLARIS
CENTRALIZADO
MY SQL
LOTES SENCILLO
MS-DOS
HIBRIDO
ARCHGNU/LINUX

 

 

1.5.- Estructura: Niveles o Estratos de diseño.


ESTRUCTURA MONOLÍTICA

 

Es la estructura de los primeros sistemas operativos. Fundamentalmente por un solo programa compuesto de un conjunto de rutinas entrelazadas de tal forma que cada una puede llamar a cualquier otra.

CARACTERÍSTICAS

·         Ø Construcción de programa final a base de módulos compilados separadamente que se une a través del editor de enlaces.

·         Ø Buena definición de parámetros de enlace entre la rutinas existentes.

·         Ø Carecen de protección y privilegios al entrar y manejan diferentes aspectos de la computadora.

·         Ø Generalmente están hechos a la medida

·         Ø Por ejemplo los cajeros automáticos donde sólo tienen que cumplir una determinada función siguiendo una serie de procesos ya determinados.

 
EJEMPLOS

Entre los sistemas operativos que cuentan con núcleos monolíticos se encuentran:

 

·         § Núcleos tipo Unix

·         § Linux

·         § Syllable

·         § Unix

·         § BSD (FreeBSD,NetBSD,OpenBSD)

·         § Solaris

·         § Núcleos tipo DOS

·         § DR-DOS

·         § MS-DOS

·         § Familia Microsoft Windows 9x (95, 98, 98SE, Me)

·         § Núcleos del Mac OS hasta Mac OS 8.6

·         § OpenVMS

·         § XTS-400

 

 

ESTRUCTURA JERÁRQUICA.
Consiste en organizar el sistema operativo con una jerarquía de capas cada una construida sobre la que esta bajo ella.

CARACTERÍSTICAS.

Ø Las zonas mas intensas o nucleo están mas protegidas de posibles accesos indeseados desde las capas mas externas.

Ø Tienes un contacto mas próximo con el hardware

Ø Núcleo mínimo, mas seguro y ágil.

En esta estructura se basan prácticamente la mayoría de los SO actuales. Otra forma de ver este tipo de sistema es la denominación de anillos concéntricos o “RINGS”

 
EJEMPLOS

·         Ø Multics

·         Ø Unix.

 
ESTRUCTURA MAQUINA VIRTUAL

Se trata de un SO que presenta una interfaces cada proceso, mostrando una máquina que parece idéntica a la máquina real subyacente. Estos SO separan dos conceptos: Multiprogramación y La Máquina Extendida Su objetivo es distinguir distintos SO dando la sensación de ser varias máquinas. Tiene capacidad de utilizar varios SO simultáneamente.

CARACTERÍSTICAS

Ø Se puede hacer varios sistemas operativos sin necesidad de crear particiones.

Ø Se puede simular el hardware

Ø Gran capacidad de disco duro-memoria ram

Ø Protección cada maquina virtual esta aislada de las otras y no puede inferir.

EJEMPLOS

 

·         Ø Nachos: sistema operativo se ejecuta en una virtual mips, cuyo emulador corre sobre Linux.

·         Ø IBM IV: ofrecía a cada usuario su propia maquina virtual no multiprogramado.

ESTRUCTURA CLIENTE-SERVIDOR

Es el tipo más reciente de los SO, que puedenser ejecutados en la mayoría de lascomputadoras, ya sean grandes o pequeñas. Este sistema sirve para todo, por lo tanto esde propósito general y se basa en lo mismoque el resto de los SO convencionales: núcleoy procesos, presentando grandes diferenciasen cuanto a la forma de distribuir los trabajosentre sus diferentes partes.

CARACTERÍSTICAS

Ø Coordina, permite el trabajo entre iguales.

Ø Cliente; inicia las solicitudes o peticiones (maestro)

Ø Espera y recibe respuesta del servidor

Ø Se puede conectar a varios servidores a la vez .

Ø Servidor:

Ø Esclavo, espera las solicitudes del cliente

Ø Aceptan conexiones desde un gran numero de clientes.

EJEMPLOS

Ø Sistema operativo Novell NetWare 1983, plataforma mas fiable para ofrecer acceso seguro.

Ø Windows 2000

Ø Cualquiera de este puede compartir sus recursos con otro Windows 2000

Ø Windows xp