A continuación se muestra una tabla muy completa con diferentes sistemas operativos y sus características.
Blog dedicado a la materia Sistemas Operativos II impartida por el Dr. Jesus Francisco Gutierrez Ocampo
miércoles, 29 de agosto de 2012
1.3 Características de un sistema operativo moderno
Funciones de los sistemas operativos modernos.
- Proporcionar ya sea una interfaz de línea de comando o una interfaz gráfica al usuario, para que este último se pueda comunicar con la computadora. Interfaz de línea de comando: tú introduces palabras y símbolos desde el teclado de la computadora, ejemplo, el MS-DOS. Interfaz gráfica del Usuario (GUI), seleccionas las acciones mediante el uso de un Mouse para pulsar sobre figuras llamadas iconos o seleccionar opciones de los menús.
- Administrar los dispositivos de hardware en la computadora. Cuando corren los programas, necesitan utilizar la memoria, el monitor, las unidades de disco, los puertos de Entrada/Salida (impresoras, módems, etc.). El SO sirve de intermediario entre los programas y el hardware.
- Administrar y mantener los sistemas de archivo de disco. Los SO agrupan la información dentro de compartimientos lógicos para almacenarlos en el disco. Estos grupos de información son llamados archivos. Los archivos pueden contener instrucciones de programas o información creada por el usuario. El SO mantiene una lista de los archivos en un disco, y nos proporciona las herramientas necesarias para organizar y manipular estos archivos.
- Apoyar a otros programas. Otra de las funciones importantes del SO es proporcionar servicios a otros programas. Estos servicios son similares a aquellos que el SO proporciona directamente a los usuarios. Por ejemplo, listar los archivos, grabarlos a disco, eliminar archivos, revisar espacio disponible, etc. Cuando los programadores escriben programas de computadora, incluyen en sus programas instrucciones que solicitan los servicios del SO. Estas instrucciones son conocidas como "llamadas del sistema"
Algunas caracteristicas de los SO son tan comunes que hoy en día son impresindibles |
Características de los sistemas operativos modernos.
En general, se puede
decir que un Sistema Operativo tiene las siguientes características:
- Conveniencia: Un Sistema Operativo hace más conveniente el uso de una computadora.
- Eficiencia: Un Sistema Operativo permite que los recursos de la computadora se usen de la manera más eficiente posible.
- Habilidad para evolucionar: Un Sistema Operativo deberá construirse de manera que permita el desarrollo, prueba o introducción efectiva de nuevas funciones del sistema sin interferir con el servicio.
- Encargado de administrar el hardware: El Sistema Operativo se encarga de manejar de una mejor manera los recursos de la computadora en cuanto a hardware se refiere, esto es, asignar a cada proceso una parte del procesador para poder compartir los recursos.
- Relacionar dispositivos: El Sistema Operativo se debe encargar de comunicar a los dispositivos periféricos, cuando el usuario así lo requiera.
- Organizar datos para acceso rápido y seguro.
- Manejar las comunicaciones en red: El Sistema Operativo permite al usuario manejar con alta facilidad todo lo referente a la instalación y uso de las redes de computadoras.
- Procesamiento por bytes de flujo a través del bus de datos.
- Facilitar las entradas y salidas: Un Sistema Operativo debe hacerle fácil al usuario el acceso y manejo de los dispositivos de Entrada/Salida de la computadora.
1.2.3 Proceso Asíncrono
Es una señal generada
por un proceso que requiere atención por parte de otro proceso
independientemente de lo que estén haciendo.
Desde hace algún tiempo
se ha descubierto que los procesos asíncronos son muy adecuados en
muchas circunstancias de procesamiento. A medida que se van
encontrando situaciones reales para las cuales este tipo de
procesamiento es adecuado, se descubren nuevas ventajas y nuevas
desventajas.
Una de las desventajas
más importantes consiste en que los procesos asíncronos, a
diferencia de los procesos sincrónicos necesitan dejar un rastro de
ejecución y además una interfaz administrativa para consultar y
tomar decisiones.
Esta administración
adicional hace menos factible el uso de procesamiento asíncrono,
pero muchas veces esta funcionalidad adicional ofrece una mayor
flexibilidad, facilita el monitoreo y permite conocer el estado o la
evolución del servicio.
El procesamiento
asíncrono es una buena alternativa para ciertas soluciones, como
todo, debe aplicarse donde realmente tenga sentido, si no es así
puede tener un efecto no deseado como ejemplos puede ser el complicar
la interacción en el usuario y el sistema, demorar un proceso que
requiere información en línea y agregar complejidad administrativa.
1.2.2 Concurrencia
La concurrencia es la
propiedad de los sistemas que permiten que múltiples procesos sean
ejecutados al mismo tiempo, y que potencialmente puedan interactuar
entre sí.
Los procesos concurrentes
pueden ser ejecutados realmente de forma simultánea, sólo cuando
cada uno es ejecutado en diferentes procesadores. En cambio, la
concurrencia es simulada si sólo existe un procesador encargado de
ejecutar los procesos concurrentes, simulando la concurrencia,
ocupándose de forma alternada en uno y otro proceso a pequeñísimos
intervalos de tiempo. De esta manera simula que se están ejecutando
a la vez.
Los temas fundamentales
del diseño de sistemas operativos están relacionados con la gestión
de procesos e hilos:
- Multiprogramación: consiste en la gestión de varios procesos dentro de un sistema mono-procesador.
- Multiprocesamiento: consiste en la gestión de varios procesos, dentro de un sistema multiprocesador.
- Procesamiento distribuido: consiste en la gestión de varios procesos, ejecutándose en sistemas de computadores múltiples y distribuidos. La reciente proliferación de las agrupaciones es el principal ejemplo de este tipo de sistemas.
La concurrencia es
fundamental en todas estas áreas y para el diseño sistemas
operativos. La concurrencia comprende un gran número de cuestiones
de diseño, incluida la comunicación entre procesos, compartición y
competencia por los recursos, sincronización de la ejecución de
varios procesos y asignación del tiempo de procesador a los
procesos.
Gracias a la concurrencia podemos realizar varias tareas al mismo tiempo en un SO |
Labores del sistema operativo
Elementos de gestión y
diseño que surgen por causa de la concurrencia:
- El sistema operativo debe seguir a los distintos procesos activos
- El sistema operativo debe asignar y retirar los distintos recursos a cada proceso activo, entre estos se incluyen:
- Tiempo de procesador
- Memoria
- Archivos
- Dispositivos de E/S
- El sistema operativo debe proteger los datos y los recursos físicos de cada proceso contra injerencias no intencionadas de otros procesos.
1.2.1 Comunicación en red
1.2.1 Comunicación en red
El crecimiento de las redes locales a mediados de los años ochenta hizo que cambiase nuestra forma de comunicarnos con las computadoras y la forma en que las computadoras se comunicaban entre sí. La importancia de las LAN reside en que en un principio se puede conectar un número pequeño de computadoras que puede ser ampliado a medida que crecen las necesidades.
Uno de los primeros SO ampliamente distribuidos con capacidad para trabajar en red fue Windows 3.11 for Worgroups |
Medios de comunicación
El cable par trenzado
Lo que se denomina cable de Par Trenzado consiste en dos alambres de cobre aislados, que se trenzan de forma helicoidal, igual que una molécula de DNA. De esta forma el par trenzado constituye un circuito que puede transmitir datos.
Esto se hace porque dos alambres paralelos constituyen una antena simple. Cuando se trenzan los alambres, las ondas de diferentes vueltas se cancelan, por lo que la radiación del cable es menos efectiva. Así la forma trenzada permite reducir la interferencia eléctrica tanto exterior como de pares cercanos.
Un cable de par trenzado está formado por un grupo de pares trenzados, normalmente cuatro, recubiertos por un material aislante.
El cable coaxial
El cable coaxial tenía
una gran utilidad en sus inicios por su propiedad idónea de
transmisión de voz, audio y video, además de textos e imágenes.Se
usa normalmente en la conexión de redes con topología de Bus como
Ethernet y ArcNet, se llama así porque su construcción es de forma
coaxial. La construcción del cable debe de ser firme y uniforme,
porque si no es así, no se tiene un funcionamiento adecuado.
Elementos del cable coaxial |
Fibra Óptica
La fibra óptica es el material que constituye la base de las modernas redes de telecomunicaciones de alta capacidad. Una fibra óptica no es más que un larguísimo filamento de vidrio, tan fino que es perfectamente flexible, debidamente protegido por una camisa plástica. A traves de estos haces se transmiten, mediante un láser acoplado, señales luminosas que se detectan en el destino.
Pero evidentenente, para tener una gran capacidad de transmisión a larga distancia, la fibra debe tener unas características muy particulares. La fabricación de fibra óptica es un proceso de alta tecnología. Tengamos en cuenta que el grosor estándar de la fibra es 125 micras (aproximadamente el doble que un cabello humano) y el núcleo es de unas 8 micras (en fibras monomodo, que son las usadas para comunicaciones a larga distancia). Y evidentemente, es crítico mantener la pureza y la regularidad del núcleo.
Todo ello convierte la fabricación de fibra en un proceso complicado. Sin embargo, el fundamento es sencillo (y es una idea brillante). Se trata de construir grandes tubos de vidrio que reproducen a escala macroscópica la estructura de la fibra. Estos tubos se llaman preformas. Posteriormente, la preforma se va fundiendo y estirando hasta que obtenemos un filamento alargado cuyo fino diámetro reproduce a escala microscópica la preforma original.
El proceso de fabricación de las preformas no es en absoluto sencillo ya que evidentemente no estamos hablando de simple vidrio, sino de unas características muy concretas y una extrema pureza. Un modo de fabricación de preformas es el que mostramos en el siguiente vídeo del Discovery Channel (hay un grave error de doblaje, cuando dice ‘silicona’ en realidad quiere decir ‘sílice’, en inglés silica).
1.2 Características de desarrollo en aplicaciones modernas
Continuando con los conceptos básicos podemos encontrar algunos tipos de aplicaciones modernas que incluyen:
- Base de datos
- Win/Web
- Internet/Intranet/Extranet
- Web services
- SOA
- BMP
- BI
- Multiplataforma (incluyendo nuevos aparatos)
- Dispositivos Móviles
- Funcionamiento conectado o desconectado
- Usuarios no entrenados
Las aplicaciones modernas
del la computación empiezan desde, aproximadamente, el año 1960 con
la creación del disco flexible, el código ASCII y el sistema DOS.
Sin embargo estas solo son las bases para la comunicación actual; ya
que estos eran solo el principio para lo que ahora utilizamos
frecuentemente, como los sistemas de almacenamiento información, lo
que ahora son las unidades USB, celulares, etc., anotaciones hechas
en Word, Excel, Word Pad, etc., búsqueda que se realizan en foros,
encartas, paginas de búsqueda como Wikipedia, etc.) y con ello
complementar nuestras tareas cotidianas como lo son las
investigaciones, proyectos, e incluso los pasatiempos. También esta
sección se remonta del clásico juego llamado "pacman" que
ha evolucionado ahora con los juegos on line o algunas consolas,
tales como el X-Box, Play Station y Nintendo. Actualmente también se
utiliza la computación como un medio de comunicación con el Chat,
el correo electrónico, foros y otros medios más. Y aun existen
incontables medios más profesionales que ayudan a lo que ahora son
los profesionistas como en el caso de la arquitectura e ingeniería
el Archicad, Autocad y programas más complejos.
Hoy en día fácilmente podemos reconocer las marcas mas importantes que dominan el mercado del software |
1.1 Conceptos Básicos
A continuación se definirán algunos conceptos básicos que se utilizaran durante las siguientes unidades.
Sistema Operativo
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.
El objetivo es mantener al usuario alejado de los componentes mas complicados, en este caso el hardware |
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.
A pesar de que todos
nosotros usamos sistemas operativos casi a diario, es difícil
definir qué es un sistema operativo. En parte, esto se debe a que
los sistemas operativos realizan dos funciones diferentes.
Proveer una máquina
virtual, es decir, un ambiente en el cual el usuario pueda ejecutar
programas de manera conveniente, protegiéndolo de los detalles y
complejidades del hardware. Administrar eficientemente los recursos
del computador.
Los sitemas operativos mas usados son MacOSX, Linux y Windows |
Multitarea
Un sistema operativo
multitarea es aquél que le permite al usuario estar realizando
varias labores al mismo tiempo. Por ejemplo, puede estar editando el
código fuente de un programa durante su depuración mientras compila
otro programa, a la vez que está recibiendo correo electrónico en
un proceso en background. Es común encontrar en ellos interfaces
gráficas orientadas al uso de menús y el ratón, lo cual permite un
rápido intercambio entre las tareas para el usuario, mejorando su
productividad.
Monousuario
Los sistemas 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 este ejecutando.
Estos tipos de sistemas
son muy simples, porque todos los dispositivos de entrada, salida y
control dependen de la tarea que se esta utilizando, esto quiere
decir, que las instrucciones que se dan, son procesadas de inmediato;
ya que existe un solo usuario. Y están orientados principalmente por
los microcomputadores.
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 recursos. Este tipo de sistemas se emplean
especialmente en redes.
En otras palabras
consiste en el fraccionamiento del tiempo (timesharing).
Multiproceso
Las computadoras que
tienen más de un CPU son llamadas multiproceso. Un sistema operativo
multiproceso coordina las operaciones de las computadoras
multiprocesadoras. Ya que cada CPU en una computadora de multiproceso
puede estar ejecutando una instrucción, el otro procesador queda
liberado para procesar otras instrucciones simultáneamente.Al usar
una computadora con capacidades de multiproceso incrementamos su
velocidad de respuesta y procesos. Casi todas las computadoras que
tienen capacidad de multiproceso ofrecen una gran ventaja.
Los sistemas operativos modernos permiten utilizar varios CPU simultaneamente para optimizar el rendimiento y trabajar como una sola unidad |
Los primeros Sistemas
Operativos Multiproceso realizaban lo que se conoce como:
- Multiproceso asimétrico: Una CPU principal retiene el control global de la computadora, así como el de los otros procesadores. Esto fue un primer paso hacia el multiproceso pero no fue la dirección ideal a seguir ya que la CPU principal podía convertirse en un cuello de botella.
- Multiproceso simétrico: En un sistema multiproceso simétrico, no existe una CPU controladora única. La barrera a vencer al implementar el multiproceso simétrico es que los Sistema Operativo tienen que ser rediseñados o diseñados desde el principio para trabajar en un ambiente multiproceso. Las extensiones de Unix, que soportan multiproceso asimétrico ya están disponibles y las extensiones simétricas se están haciendo disponibles.
Temario
Temario
Unidad I
Tema: Introducción
1.1 Conceptos basicos
1.2 Características de desarrollo en aplicaciones modernas o Base de datos
1.3 Características de un sistema operativo moderno
Unidad II
Tema: Comunicación en los sistemas operativos distribuidos.
2.1 Comunicacion: comunicación con cliente - servidor, comunicación con llamada a procedimiento remoto, comunicación en grupo, tolerancia a fallos.
2.2 Sincronización: relojes físicos, relojes lógicos, usos de la sincronización.
2.3 Nominación: características y estructuras, tipos de nombres, resolución y distribución, servidores y agentes de nombre, mapeo de direcciones, mapeo de rutas, modelo de Terry.
2.4 Comunicación de procesos a través del paso de mensajes en sistemas distribuidos.
Unidad III
Tema: Procesos y procesadores en sistemas operativos distribuidos.
3.1 Conceptos básicos de procesos y procesadores.
3.2 Métodos de distribución de carga(hilos, tareas, procesos).
3.3 Modelos de procesadores: de estación de trabajo, de pila de procesadores, híbrido.
3.4 Asignación de procesadores: modelo y algoritmos con sus aspectos de diseño e implantación.
3.5 Coplanificación.
3.6 Tolerancia a fallos: nivel proceso, nivel almacenamiento.
3.7 Esquemas de seguridad en sistemas distribuidos.
3.8 Sistemas operativos distribuidos en tiempo real.
3.9 Balanceo de carga en sistemas distribuidos.
Unidad IV
Tema: Memoria compartida distribuida(MCD).
4.1 Configuraciónes de memoria compartida distribuida: de circuitos, basada en bus, anillo o con conmutador.
4.2 Modelos de consistencia: estricta, casual, secuencia, débil, de liberación, y de entrada.
4.3 Memoria compartida distribuida en base a paginas: diseño, replica, granulada, consustencia, propietario, y copias.
4.4 Memoria compartida distribuida en base a variables.
4.5 Memoria compartida distribuida en base a objetos.
4.6 Administradores memorias en clusters.
Unidad V
Tema: Usos y tendencias de los sistemas operativos distribuidos.
5.1 Administración de sistemas operativos distribuidos: instalación, configuración y control.
5.2 Instalación de clusters.
5.3 Estándares de administración en sistemas operativos distribuidos.
5.4 Computo de alto rendimiento a bajo costo.
5.5 Súper computo basado en clustering como solución a la necesidad de alto procesamiento en la nueva era.
5.6 Tendencias de la investigación.
5.7 Sistemas distribuidos como infraestructura para el soporte de las empresas en las TI.
Suscribirse a:
Entradas (Atom)