miércoles, 27 de abril de 2016

CLASIFICACIÓN DE LOS SISTEMAS OPERATIVOS


  • S.O de Multiprogramación: Modo de funcionamiento disponible en algunos sitemas operativos, mediante el cuál una computadora procesa varias tareas al mismo tiempo. Se distinguen por sus habilidades para poder soportar la ejecución de dos o más trabajos activos al mismo tiempo.
  • S.O Monotareas: Es todo lo contrario a la multiprogramación; solo pueden manejar un proceso o solo puede realizar tareas de una en una.
  • S.O Monousuario: Solo puede atender a un solo usuario, por las limitaciones creadas por el hardware, los programas que se estén ejecutando.
  • S.O Multiusuario: Cumplen simultaneamente las necesidades de dos o más usuarios, que comparten el mismo recurso.
  • S.O por lotes: Procesan gran cantidad de trabajos con poca interacción entre los usuarios y 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 procesamiento en serie. 

ESTRUCTURA BÁSICA DEL SISTEMA OPERATIVO

Administración de Procesos: Un proceso es una entidad activa, mientras que un programa una entidad pasiva. Sabiendo entonces que es un proceso, podemos decir que el sistema operativo es el encargado de su administración, de proveer servicios para que cada proceso pueda realizar su tarea. Entre los servicios se encuentran:
• Crear y destruir procesos
• Suspender y reanudar procesos
• Proveer mecanismos para la sincronización y comunicación entre procesos
• Proveer mecanismos para prevenir dead-locks o lograr salir de ellos.

Administración de Memoria: Es un área de almacenamiento común a los procesadores y dispositivos, donde se almacenan programas, datos, etc. Administra el lugar libre y ocupado, y será el encargado de las siguientes tareas:
• Mantener que partes de la memoria están siendo usadas, y por quien.
• Decidir cuales procesos serán cargados a memoria cuando exista espacio de
memoria disponible, pero no suficiente para todos los procesos que deseamos.
• Asignar y quitar espacio de memoria según sea necesario.

Subsistema de Entrada/Salida: El sistema operativo deberá ocultar las características específicas de cada dispositivo y ofrecer servicios comunes a todos. Estos servicios serán, entre otros:
• Montaje y desmontaje de dispositivos
• Una interfaz entre el cliente y el sistema operativo para los device drivers.
• Técnicas de cache, buffering y spooling.
• Device drivers específicos

Administración de Almacenamiento secundario:  Dado que la memoria RAM es volátil y pequeña para todos los datos y programas que se precisan guardar, se utilizan discos para guardar la mayoría de la información. El sistema operativo será el responsable de:
• Administrar el espacio libre
• Asignar la información a un determinado lugar
• Algoritmos de planificación de disco (estos algoritmos deciden quien utiliza un
determinado recurso del disco cuando hay competencia por él)

Subsistema de Archivos: Proporciona una vista uniforme de todas las formas de almacenamiento, implementando el concepto de archivo como una colección de bytes. El Sistema Operativo deberá proveer métodos para:
• Abrir, cerrar y crear archivos
• Leer y escribir archivos


Sistema de protección: Se refiere a los mecanismos por los que se controla el acceso de los procesos a los recursos.  En un sistema multiusuario donde se ejecutan procesos de forma concurrente se deben tomar medidas que garanticen la ausencia de interferencia entre ellos. Estas medidas deben incorporar la posibilidad de definir reglas de acceso, entre otras cosas.

KERNEL

El Kernel o núcleo de Linux se puede definir como el corazón de este sistema operativo. Es el encargado de que el software y el hardware del ordenador puedan trabajar juntos.

Las funciones más importantes del mismo, aunque no las únicas, son:

* Administración de la memoria para todos los programas y procesos en ejecución.
* Administración del tiempo de procesador que los programas y procesos en ejecucion utilizan.

* Es el encargado de que podamos acceder a los periféricos/elementos de nuestro ordenador de una manera cómoda.

miércoles, 20 de abril de 2016

S/O MULTIPROCESADOR PARALELOS Y DISTRIBUIDOS



Esta  clasificación de los sistemas  con barios procesadores  esta basada  en la maquina relaciona  con sus instrucciones de datos que tienen que procesar.

significado:


*SISD: (single,instruction,sigle data) se refiere a las computadoras convencionales  de von neuman.ejm pc's. en la categoría SISD esta la gran mayoría de las computadoras  existentes. son equipos con  un solo computador que trabajo con un solo dato  y a la vez,  a estos equipos se les llama también  computadores secuenciales .




 *SIMD:(single,instruction,multiple  data) arreglo de procesadores , cada procesador  sigue el conjunto de  de instrucciones , diferentes elementos  de información son signados  a cada procesador.utiliza memoria distribuida, son utilizada en redes neuronales.
Las computadoras tiene una sola unidad de control y múltiples unidades  unidades funcionales  . la unidad de control se encarga de enviar  la misma función a todas las unidades. estos equipos tiene un objetivo especifico es decir son apropiados para ciertas aplicaciones  particulares por ejem el procesamiento de imágenes.



*MISD: (single,instruction,sigle data) no son usados y no son significativos.                            PIPELINE: es una serie de modulo que son capases de ejecutar  fases de instrucciones , si un computador tiene dos pipeline  es capaz de ejecutar  dos instricciones en una sola  fase en un momento dado, cada uno de estas  piprline  , se lanza cada uno de de los dos  flujos resultados de afectuar o no el salto.



*MIMD: tienen un número de procesadores que funcionan de manera asíncrona e independiente



¿QUE FUNCIÓN TIENE  ?
Sistemas fuertemente acoplado
*Sistema de vilmente acoplado
*Sistemas operativos de red
*Sistemas operativos distribuidos


lunes, 11 de abril de 2016

MAQUINA VIRTUAL



Es un Sofware que simula una computadora, permitiendo la ejecución de programas y un sistema operativo, el almacenamiento de datos. Puede usarse cualquier sistema operativo (LINUX, UNIX, WINDOWS, por ejemplo).

PRINCIPALES VENTAJAS DE MAQUINAS VIRTUALES

1. Permite trabajar con programas de mayor tamaño que la memoria física.
2. Permite tener más programas cargados a la vez.
3. Permite que los programas se empiecen a ejecutarse antes.
4. Reduce la frecuencia de intercambios de procesos
5. Hay menor trabajo de E/S durante el intercambio de procesos.

SISTEMA OPERATIVO

Para que un ordenador pueda hacer funcionar un programa informático, debe contar con la capacidad necesaria para realizar cierta cantidad de operaciones preparatorias que puedan garantizar el intercambio entre el procesador, la memoria y los recursos físicos (periféricos). Se encarga de crear el vínculo entre los recursos materiales, el usuario y las aplicaciones (procesador de texto, videojuegos, etcétera). Cuando un programa desea acceder a un recurso material, no necesita enviar información específica a los dispositivos periféricos; simplemente envía la información al sistema operativo, el cual la transmite a los periféricos correspondientes a través de su driver (controlador). Si no existe ningún driver, cada programa debe reconocer y tener presente la comunicación con cada tipo de periférico.

Funciones del Sistema Operativo:
* Administración del procesador: el sistema operativo administra la distribución del procesador entre los distintos programas por medio de un algoritmo de programación. El tipo de programador depende completamente del sistema operativo, según el objetivo deseado.

* Gestión de la memoria de acceso aleatorio: el sistema operativo se encarga de gestionar el espacio de memoria asignado para cada aplicación y para cada usuario, si resulta pertinente. Cuando la memoria física es insuficiente, el sistema operativo puede crear una zona de memoria en el disco duro, denominada "memoria virtual".

* Gestión de entradas/salidas: el sistema operativo permite unificar y controlar el acceso de los programas a los recursos materiales a través de los drivers (también conocidos como administradores periféricos o de entrada/salida).

* Gestión de ejecución de aplicaciones: el sistema operativo se encarga de que las aplicaciones se ejecuten sin problemas asignándoles los recursos que éstas necesitan para funcionar. Esto significa que si una aplicación no responde correctamente puede "sucumbir".

* Administración de autorizaciones: el sistema operativo se encarga de la seguridad en relación con la ejecución de programas garantizando que los recursos sean utilizados sólo por programas y usuarios que posean las autorizaciones correspondientes.

* Gestión de archivos: el sistema operativo gestiona la lectura y escritura en el sistema de archivos, y las autorizaciones de acceso a archivos de aplicaciones y usuarios.


* Gestión de la información: el sistema operativo proporciona cierta cantidad de indicadores que pueden utilizarse para diagnosticar el funcionamiento correcto del equipo.


LINUX

Historia

1991,  nacido desde un pequeño número de archivos en lenguaje C bajo una licencia que prohíbe la distribución comercial a su estado actual de cerca de 296 MiBs de fuente bajo la Licencia pública general de GNU. Hurd demostró desarrollarse muy inactivamente, porque encontrar y reparar errores era muy difícil, debido a las características técnicas del diseño del micronúcleo.  Linus Torvalds se propone como entretenimiento hacer un sistema operativo que se comporte exactamente igual al sistema operativo Unix, pero que funcione sobre cualquier ordenador compatible PC. Linus escribió un pequeño núcleo que tenía lo necesario para leer y escribir ficheros en un disquette.

Desarrollo

En 1991, en Helsinki, Linus Torvalds comenzó un proyecto que llegó a ser el núcleo Linux. Torvalds solía tener acceso en los grandes servidores Unix de la universidad.  El sistema operativo que él usó durante el desarrollo fue Minix, y el compilador inicial fue el GNU C compiler, que aún es la opción principal para compilar Linux hoy. Un factor decisivo para el desarrollo y aceptación de Linux va a ser la gran expansión de Internet. Internet facilitó el trabajo en equipo de todos los que quisieron colaborar con Linus y fueron aportando todos los programas que vienen con Unix.

Ventajas

*  Es muy robusto, estable y rápido. Ideal para servidores y aplicaciones distribuidas. Puede funcionar en máquinas humildes: Linux puede correr servicios en un x86 a 200 MHz con calidad.

* Linux es libre. Esto implica no sólo la gratuidad del software, sino también que es modificable y tiene una gran cantidad de aplicaciones libres en Internet. Todo ello arropado por la inmensa documentación de Linux que puede encontrarse en la Red

* Linux ya no está restringido a personas con grandes conocimientos de informática: Los desarrolladores de Linux han hecho un gran esfuerzo por dotar al sistema de asistentes de configuración y ayuda, además de un sistema gráfico muy potente.

Desventajas


* Windows es incompatible con Linux: no quiere decir que no podamos tener instalados ambos Sistemas. Uno de los problemas es que desde Windows no podremos escribir en particiones Linux.

* En la mayoría de distribuciones Linux hay que conocer nuestro Hardware a la hora de instalar. Sin embargo, distribuciones de Linux como Knoppix reconocen todo el sistema a lo Windows.

Comunicación

Las comunicaciones entre usuarios del sistema operativo Linux son de una gran importancia, ya que permite al superusuario avisar a los usuarios de los cambios que se produzcan en el sistema, nuevos usuarios, nuevas normas, apagado del sistema, noticias, etc. Pero también se utilizan para comunicarse entre los usuarios.

Comandos:
write: Comunicación unidireccional con otro usuario que esté en el sistema en ese momento. Permite que un usuario envíe un mensaje a un terminal.
write nombreusuario < ficheromensaje o bien write nombreusuario
Escribir el mensaje: CTRL+D para finalizar el mensaje
En lugar del nombre de usuario podríamos poner el nombre del terminal (tty).
Para que el usuario o terminal puedan recibir mensajes tendremos que haber ejecutado la orden: mesg y.

echo: Comunicación unidireccional con otro usuario que esté en el sistema en ese momento. Básicamente realiza la misma función que el write pero utilizando un mecanismo diferente.
echo “hola que tal” >/dev/ttyp3

wall: Comunicación unidireccional con todos los usuarios que estén conectados al sistema en ese momento. Se utiliza para informar a todos los usuarios sobre algún tema que les afecte, por ejemplo, avisar que vamos a apagar el sistema. Normalmente este comando es utilizado por administrador del sistema.
wall ficheromensaje o bien wall.

Seguridad


Soporta múltiples usuarios, ofrece muchos modos de acceder al sistema, además de diversas herramientas y órdenes relativas a la seguridad. El tema de seguridad es muy amplio podemos distinguir en una primera categoría la protección que Linux proporciona al solicitar la identificación y contraseña la identificación a cada usuario para poder acceder al sistema de cualquiera de las formas posibles: local, remoto, etc. La segunda categoría es la protección de ficheros, tanto desde el sistema operativo, como de los ficheros de usuario.