# data[].attributes.headline
CARACTERÍSTICA  DE LOS SISTEMAS OPERATIVOS

# data[].attributes.subject
CARACTERÍSTICA  DE LOS SISTEMAS OPERATIVOS

# data[].attributes.body
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 (gestionar a través del kernel). 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.

Técnicas de recuperación de errores.

Evita que otros usuarios interfieran. El Sistema Operativo evita que los usuarios se bloqueen entre ellos, informándoles si esa aplicación esta siendo ocupada por otro usuario.

Generación de estadísticas.

Permite que se puedan compartir el hardware y los datos entre los usuarios.

# data[].attributes.body
Los Sistemas Operativos han estado relacionados históricamente con la arquitectura de las computadoras en las cuales se ejecutan, razón por la cual su historia. Los Sistemas Operativos, al igual que el Hardware de los computadores, han sufrido una serie de cambios revolucionarios llamados generaciones.

En el caso del hardware, las generaciones han sido marcadas por grandes avances en los componentes utilizados, pasando de válvulas(primera generación ) a transistores (segunda generación), a circuitos integrados (tercera generación), a circuitos integrados de gran y muy gran escala (cuarta generación).

Cada generación Sucesiva de hardware ha ido acompañada de reducciones substanciales en los costos, tamaño, emisión de calor y consumo de energía, y por incrementos notables en velocidad y capacidad. En la actualidad existe gran variedad de Sistemas Operativos como pueden ser Windows 98, Windows NT, Linux, etc.

Primera generación (Finales de la década de los 50's)

En esta década aparecen los sistemas de procesamiento por lotes, donde los trabajos se reunían por grupos o lotes. Cuando se ejecutaba alguna tarea, ésta tenía control total de la máquina. Al terminar cada tarea, el control era devuelto al sistema operativo, el cual limpiaba, leía e iniciaba la siguiente tarea. Aparece el concepto de nombres de archivo del sistema para lograr independencia de información. Los laboratorios de investigación de General Motors poseen el crédito de haber sido los primeros en poner en operación un sistema operativo para su IBM 701.

Segunda generación (Mitad de la década de los 60's)

En esta generación se desarrollan los sistemas compartidos con multiprogramación, en los cuales se utilizan varios procesadores en un solo sistema, con la finalidad de incrementar el poder de procesamiento de la máquina. El programa especificaba tan sólo que un archivo iba a ser escrito en una unidad de cinta con cierto número de pistas y cierta densidad. El sistema operativo localizaba entonces una unidad de cinta disponible con las características deseadas, y le indicaba al operador que montara una cinta en esa unidad.

Tercera generación

En esta época surge la familia de computadores IBM/360 diseñados como sistemas para uso general, por lo que requerían manejar grandes volúmenes de información de distinto tipo, lo cual provocó una nueva evolución de los sistemas operativos: los sistemas de modos múltiples, que soportan simultáneamente procesos por lotes, tiempo compartido, procesamiento en tiempo real y multiprocesamiento.

Cuarta generación (Mitad de la década de los 70's hasta nuestros días)

Los sistemas operativos conocidos en la época actual son los considerados sistemas de cuarta generación. Con la ampliación del uso de redes de computadoras y del procesamiento en línea es posible obtener acceso a computadoras alejadas geográficamente a través de varios tipos de terminales. Con estos sistemas operativos aparece el concepto de máquinas virtuales, en el cual el usuario no se involucra con el hardware de la computadora con la que se quiere conectar y en su lugar el usuario observa una interfaz gráfica creada por el sistema operativo.

# data[].attributes.body
En el inicio de la computación el programador debía tener un conocimiento y contacto profundo con el hardware, y en el infortunado caso de que su programa fallara, debía examinar los valores de los registros y paneles de luces indicadoras del estado de la computadora para determinar la causa del fallo y poder corregir su programa, además de enfrentarse nuevamente a los procedimientos de apartar tiempo del sistema y poner a punto los Compiladores, ligadores, etc para volver a correr el programa.