martes, 27 de septiembre de 2016



GLOSARIO



¿Que es un Sistema Distribuido?



Un Sistema Distribuido es aquel cuyos componentes hardware y software, que están en ordenadores conectados en red, se comunican y coordinan sus acciones mediante el paso de mensajes, para el logro de un objetivo. Se establece la comunicación mediante un protocolo prefijado por un esquema Cliente - Servidor.


Características:

  • Concurrencia: Esta característica de los sistemas distribuidos permite que los recursos disponibles en la red puedan ser utilizados simultáneamente por los usuarios y/o agentes que interactúan en la red.


  • Carencia de reloj global.- Las coordinaciones para la transferencia de mensajes entre los diferentes componentes para la realización de una tarea, no tienen una temporización general, esta más bien distribuida a los componentes.


  • Fallos independientes de los componentes.- Cada componente del sistema puede fallar independientemente, con lo cual los demás pueden continuar ejecutando sus acciones. Esto permite el logro de las tareas con mayor efectividad, pues el sistema en su conjunto continua trabajando.



¿Que es un Sistema Compartido?



Se refiere a compartir de forma concurrente un recurso computacional (tiempo de ejecución en la CPU, uso de la memoria, etc.) entre muchos usuarios por medio de las tecnologías de multiprogramación y la inclusión de interrupciones de reloj por parte del sistema operativo, permitiendo a este último acotar el tiempo de respuesta del computador y limitar el uso de la CPU por parte de un proceso dado.

Al permitir que un gran número de usuarios interactuara y ejecutara diversos programas de forma simultanea en una sola computadora, el coste del servicio de computación bajó drásticamente, mientras que al mismo tiempo hacía la experiencia computacional mucho más interactiva.


Planificador de Linux y Windows

..Planificadores..




Planificador de Windows


El planificador de Windows utiliza un sistema de multi-cola ordenadas por prioridades. Son 32 niveles de prioridades (de 0 a 31) que se dividen de la siguiente forma:
  • Niveles 16 a 31: Tiempo real
  • Niveles 1 - 15: Variable
  • Nivel 0: Reservado para el Sistema

El planificador utiliza Round Robin para recorrer las distintas colas. Tiene un quantum fijo que por defecto valdrá q=2 o q=12, dependiendo de si es un Sistema Operativo de servidor o de usuario. El quantum se puede cambiar entre estos dos valores a través del sistema. Windows utiliza este sistema de planificación desde Windows NT.

Planificador de Linux


Es un algoritmo planificador desarrollado con la meta de maximizar el uso de la CPU con las diferentes tareas que se lanzan en un sistema Linux basándose en el Fair QueuingEste planificador fue desarrollado en 62 horas con 100 Kbytes de código añadido. tambien llamado ePlanificador Completamente Justo (Completely Fair Scheduler - CFS)
Este algoritmo tiene como objetivo el maximizar el uso de la CPU pero permitiendo el uso interactivo de la máquina. Es decir, tratará de que en ningún momento un usuario vea una bajada de rendimiento.
Este planificador posee 140 prioridades (de 0 a 139)
  • 0 a 99 son para tiempo real.
  • 100 a 139 basadas en el Nice(de -20 a 19) para el resto de procesos que no son de tiempo real.

Posee un mapa de bits (140 bits), 1 bit para cada prioridad. 
Esta ultima estructura posee el número de procesos preparados y dos colas, una para los procesos pendientes y otra para los que ya han consumido su quantum. Cuando un proceso solo consume una parte de su quantum es insertado al final de la cola de pendientes con lo que le queda de su ventana de tiempo(es decir, si ha consumido el 25% la siguiente vez que sea asignado al procesador solo tendra el 75% del quantum), y si consume totalmente su tiempo de asignación al procesador este pasa a la cola de consumido hasta que este totalmente vacía la cola de pendientes. (Esto se hace para compensar los procesos más interactivos)

Esquema de estructura de SCHED_OTHER:

        struct{
           int num_procesos_preparados
           cola pendientes
           cola consumido_quantum
        }

lunes, 12 de septiembre de 2016

Linux & Windows - Kernel y Shell

KERNEL

Es un software que constituye una parte fundamental del sistema operativo, y se define como la parte que se ejecuta en modo privilegiado (conocido también como modo núcleo). Es el principal responsable de facilitar a los distintos programas acceso seguro al hardware de la computadora o en forma básica, es el encargado de gestionar recursos, a través de servicios de llamada al sistema. Como hay muchos programas y el acceso al hardware es limitado, también se encarga de decidir qué programa podrá usar un dispositivo de hardware y durante cuánto tiempo, lo que se conoce como multiplexado

Resultado de imagen para kernel

SHELL

Son interprete de órdenes, son aplicaciones capaces de interpretar las órdenes del usuario a través de comandos escritos, como por ejemplo el sistema MS-DOS o los terminales de consola de los sistemas operativos Linux. Estas aplicaciones permiten al usuario interactuar con el ordenador, normalmente a través de una sencilla interfaz de texto plano, y suponen la forma más básica de interacción de un usuario con su ordenador, escribiendo las ordenes en este Shell a través de comandos y recogiendo las respuestas de la máquina.



DIFERENCIA KERNEL Y SHELL
WINDOWS Y LINUX


WINDOWS
LINUX

K
E
R
N
E
L
El kernel de Windows no se conoce por políticas de Microsoft.
Fue concebido por el entonces estudiante de ciencias de la computación finlandés Linus Torvalds en 1991
El tamaño en líneas de código en Windows aumenta en cada versión (actualmente 10 millones de líneas) de forma exagerada
Maneja un núcleo monolítico (es una arquitectura de sistema operativo donde esté en su totalidad trabaja en espacio del núcleo, estando él solo en modo supervisor) solo define una interfaz virtual de alto nivel sobre el hardware del ordenador.
Utiliza un "micronucleo", es decir un núcleo muy básico que se hace servir de controladores (o "drivers") para el manejo de la mayoría del hardware.
 Un conjunto primitivo de llamadas al sistema implementa todos los servicios propios del sistema operativo tales como la planificación de procesos, concurrencia, sistema de archivos, gestión de memoria, etc.
Tiempo de desarrollo 38 meses
Tiempo de desarrollo 35 meses
El tamaño resultante del kernel (sin drivers/módulos) 4,6 Mb
El tamaño resultante del kernel (sin drivers/módulos) 1.7 Mb
Limitaciones de hardware: Windows soporta 4-32 y 4-64
Limitaciones de hardware: Linux soporta 1024 CPUs de 32 o 64 bits
En temas de memoria 1GB/<4GB y hasta 128GB (según versiones) respectivamente. 
En temas de memoria 64GB de RAM de 32 bits PAE o 1024GB - 8.589.934.592GB de RAM de 64 bits


WINDOWS
LINUX
S
H
E
L
L
Es el contenedor dentro del cual toda la interfaz de usuario se presenta, incluyendo la barra de tareas, el escritorio, el explorador de Windows, así como muchos de los cuadros de diálogo y controles de interfaz
Intérprete de comandos, el cual consiste en la interfaz de usuario tradicional de los sistemas operativos basados en Unix y similares como GNU/Linux.
se describe como MS-DOS ejecutivo y gestor de programas.
Mediante las instrucciones que aporta el intérprete, el usuario puede comunicarse con el núcleo y por extensión, ejecutar dichas órdenes, así como herramientas que le permiten controlar el funcionamiento de la computadora.
El valor por defecto se llama shell de Windows Explorer, este es el programa que determina el aspecto del escritorio (es decir, se crea la barra de tareas, el área de notificación, el menú de inicio, etc).
Los comandos que aportan los intérpretes, pueden usarse a modo de guion si se escriben en ficheros ejecutables denominados shell-scripts, de este modo, cuando el usuario necesita hacer uso de varios comandos o combinados de comandos con herramientas, escribe en un fichero de texto marcado como ejecutable

Sin ser un shell estrictamente un lenguaje de programación, al proceso de crear scripts de shell se le denomina programación shell o en inglés, shell programming o shell scripting.


jueves, 1 de septiembre de 2016

TIPOS DE MEMORIA


TIPOS DE MEMORIA


En el siguiente enlace:

https://drive.google.com/file/d/0B9uITO3lmB7gWVU2b3BmNVYtQ1E/view


Encontrara el documento TIPOS DE MEMORIA, realizado por:


  • Luisa Fernanda Micolta
  • Andrea Lizeth Pacagüi
  • Daniel Torres Vega

Estudiantes de la UPTC de la asignatura Sistemas Operativos, El cual contiene los diferentes tipos de memoria, que encontramos en un ordenador.