Sistema Operativo
24 views | +0 today
Follow
Sistema Operativo
"Un sistema operativo es un grupo de programas de procesos con las rutinas de control necesarias para mantener continuamente operativos dichos programas"
Curated by Yesica Caceres
Your new post is loading...
Your new post is loading...
Scooped by Yesica Caceres
Scoop.it!

Historia de los Sistemas Operativos- Generaciones

Historia de los Sistemas Operativos- Generaciones | Sistema Operativo | Scoop.it

Historia de los Sistemas Operativos- Generaciones

 "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 puede analizarse según las generaciones y sus principales características"....

Yesica Caceres's insight:

Generaciones y sus principales características del Sistema Operativo [7, Deitel]:

◘   Generación Cero (década de 1940):

Carencia total de S. O.Completo acceso al lenguaje de máquina.

◘   Primera generación (1945-1955): bulbos y conexiones:

Carencia de S. O.En los años cincuenta comienzan como transición entre trabajos, haciendo la misma más simple.

 

◘   Segunda generación (1955-1965): transistores y sistemas de procesamiento por lotes (batch):

            En los años sesenta aparecen los S. O. para sistemas compartidos con:

Multiprogramación: varios programas de usuarios se encuentran al mismo tiempo en el almacenamiento principal, cambiando el procesador rápidamente de un trabajo a otro.Multiprocesamiento: varios procesadores se utilizan en un mismo sistema para incrementar el poder de procesamiento.

           Posteriormente aparece la independencia de dispositivo:

El programa del usuario especifica las características de los dispositivos que requieren los archivos.El S. O. asigna los dispositivos correspondientes según los requerimientos y las disponibilidades.

 

◘   Tercera generación (1965-1980): circuitos integrados y multiprogramación:

Difusión de la multiprogramación:Partición de la memoria en porciones, con trabajos distintos en cada una de ellas.Aprovechamiento del tiempo de espera consecuencia de operaciones de e / s, para utilizar la CPU para otros procesos.Protección por hardware del contenido de cada partición de memoria.Aparición de técnicas de spooling:Simultaneous Peripheral Operation On Line: operación simultánea y en línea de periféricos.Almacenamiento de trabajos de entrada y de salida en dispositivos transitorios rápidos (discos), para disminuir el impacto de los periféricos más lentos.Son sistemas de modos múltiples, es decir que deben soportar sistemas de propósitos generales; son grandes y complejos pero muy poderosos.Interponen una capa de software entre el usuario y el hardware.Aparecen los lenguajes de control de trabajos, necesarios para especificar el  trabajo y los recursos requeridos.Soportan timesharing (tiempo compartido), variante de la multiprogramación con usuarios conectados mediante terminales en línea, permitiendo la operación en modo interactivo o conversacional.Aparecen los sistemas de tiempo real, que requieren tiempos de respuesta muy exigentes, especialmente para usos industriales o militares.Se difunden las computadoras de rango medio.

 

◘   Cuarta generación (1980-1990): computadoras personales:

Aparición de software amigable con el usuario, destinado a usuarios no profesionales y con una interface gráfica muy desarrollada.Desarrollo de sistemas operativos de red y sistemas operativos distribuidos.Sistemas operativos de red:Los usuarios están conscientes de la existencia de varias computadoras conectadas.Cada máquina ejecuta su propio S. O. local.Son similares a los S. O. de un solo procesador pero con el agregado de:Controlador de interfaz de la red y su software de bajo nivel.Software para conexión y acceso a archivos remotos, etc.

 

Sistemas operativos distribuidos:Aparece ante los usuarios como un S. O. de un solo procesador, aún cuando de soporte a varios procesadores.Los usuarios no son conscientes del lugar donde se ejecutan sus programas o donde se encuentran sus archivos, ya que lo debe administrar el S. O. automáticamente.Deben permitir que un programa se ejecute mediante varios procesadores a la vez, maximizando el paralelismo.Aparición de emuladores de terminal para el acceso a equipos remotos desde computadoras personales (PC).Gran énfasis en la seguridad, en especial por el desarrollo de los sistemas de comunicaciones de datos.El S. O. crea un ambiente de trabajo según el concepto de máquina virtual, que lo aísla del funcionamiento interno de la máquina.Proliferación de sistemas de bases de datos, accesibles mediante redes de comunicación.

more...
No comment yet.
Scooped by Yesica Caceres
Scoop.it!

Multiprocesamiento

Multiprocesamiento | Sistema Operativo | Scoop.it

Es una tendencia significativa en el campo de la computación.

Consiste en configurar un sistema de computación con varios procesadores.

No es un enfoque nuevo pero sí posee grandes perspectivas en función del desarrollo de los microprocesadores.

Se podrían concebir sistemas construidos por cientos o miles de microprocesadores.

Yesica Caceres's insight:

Organización del Hardware del Multiprocesador

 

El problema clave es determinar los medios de conexión de los procesadores múltiples y los procesadores de Entrada / Salida a las unidades de almacenamiento [7, Deitel].

◘   Los multiprocesadores se caracterizan por los siguientes aspectos:

Un multiprocesador contiene dos o más procesadores con capacidades aproximadamente comparables.Todos los procesadores comparten el acceso a un almacenamiento común y a canales de Entrada / Salida, unidades de control y dispositivos.Todo está controlado por un Sistema Operativo que proporciona interacción entre procesadores y sus programas en los niveles de trabajo, tarea, paso, archivo y elementos de datos.

◘   Las organizaciones más comunes son las siguientes:

Tiempo compartido o bus común (conductor común).Matriz de barras cruzadas e interruptores.Almacenamiento de interconexión multiple.

 

Tiempo Compartido o Bus Común (o Conductor Común)

 

Usa un solo camino de comunicación entre todas las unidades funcionales10.

El bus común es en esencia una unidad pasiva.

Un procesador o procesador de Entrada / Salida que desee transferir datos debe efectuar los siguientes pasos:

Verificar la disponibilidad del conductor y de la unidad de destino.Informar a la unidad de destino de lo que se va a hacer con los datos.Iniciar la transferencia de datos.

Las unidades receptoras deben poder reconocer qué mensajes del bus son enviados hacia ellas y seguir y confirmar las señales de control recibidas de la unidad emisora.

Es una organización económica, simple y flexible pero con una sola vía de comunicación, por lo cual:

◘   El sistema falla totalmente si falla el bus.

◘    La tasa neta de transmisiones está limitada por la tasa neta de transmisión del conductor.

◘   La contención por el uso del bus en un sistema sobrecargado puede ocasionar una seria degradación.

 

 

 

 

Matriz de Barras Cruzadas e Interruptores

 

En este caso existe un camino diferente para cada unidad de almacenamiento, por lo cual las referencias a dos unidades diferentes de almacenamiento no son bloqueantes sino simultáneas y la multiplicidad de caminos de transmisión puede proporcionar tasas de transferencia muy altas.

 

Almacenamiento de Interconexión Multiple

 

Se obtiene al sacar las lógicas de control, de conmutación y de arbitraje de prioridades fuera del interruptor de barras cruzadas y se las coloca en la interfaz de cada unidad de

almacenamiento12.

Cada unidad funcional puede acceder a cada unidad de almacenamiento, pero sólo en una “conexión de almacenamiento” específica, es decir que hay una conexión de almacenamiento por unidad funcional.

El conexionado es más complejo que en los otros esquemas.

Se puede restringir el acceso a las unidades de almacenamiento para que no todas las unidades de procesamiento las accedan, en tal caso habrá unidades de almacenamiento

“Privadas” de determinados procesadores.

more...
No comment yet.
Scooped by Yesica Caceres
Scoop.it!

Software

Software | Sistema Operativo | Scoop.it
Yesica Caceres's insight:

Consiste en los programas de instrucciones y datos que definen para el hardware los algoritmos necesarios para la resolución de problemas.

Los aspectos más destacados en relación con los S. O. son los siguientes [7, Deitel]:

◘   Programación en lenguaje de máquina:

“Lenguaje de máquina”:Lenguaje de programación que un computador puede comprender directamente.Es “dependiente de la máquina”: un programa en lenguaje de máquina escrito en el computador de un fabricante, generalmente no puede ser ejecutado en el de otro, salvo que su lenguaje de máquina sea compatible.Muy poco usado actualmente.

 

◘   Ensambladores y macro procesadores:

Los “lenguajes ensambladores” se desarrollaron para:Incrementar la velocidad de programación.Reducir los errores de codificación.

◘   Los programas deben ser traducidos al “lenguaje de máquina” mediante un programa “ensamblador”:

También es dependiente de la máquina.

 

◘   Los “macro procesadores”:

Se desarrollaron para acelerar la codificación de un programa ensamblador.Se incorporaron en los ensambladores.Una “macroinstrucción” indica la ejecución de varias instrucciones en lenguaje ensamblador.El “procesador de macroinstrucciones” efectúa una “macro expansión” cuando lee una macro durante la traducción de un programa:

                      -Genera una serie de instrucciones en lenguaje ensamblador                

                       Correspondientes a la macro.

◘   Compiladores:

“Lenguajes de alto nivel”: se desarrollaron para resolver el problema de la dependencia respecto a la máquina.Permiten el desarrollo de programas “independientes de la máquina”.Se logra mayor velocidad de programación, programas transportables entre sistemas diferentes y menores requerimientos de conocimientos de hardware.“Compiladores”: traducen los lenguajes de alto nivel al lenguaje de máquina.“Traductores”: es la denominación para “compiladores” y “ensambladores”.Entrada: “programa fuente” del programador.Salida: “programa objeto” o “programa resultante”.

 

◘   Compiladores rápidos y sucios versus compiladores optimizadores:

“C. rápidos y sucios”: producen rápidamente un programa objeto que puede ser ineficiente respecto de almacenamiento y velocidad de ejecución:Utiles para el desarrollo y prueba de sistemas.C. optimizadores”: producen con mayor lentitud un código de máquina altamente eficiente en almacenamiento y ejecución:Utiles en etapa de producción de los sistemas.

◘   Interpretadores:

No producen un programa objeto.Ejecutan directamente un programa fuente.Son útiles en ambientes de desarrollo de programas.Son más lentos que los códigos compilados.

 

◘   Cargadores absolutos y de relocalización:

Los programas se ejecutan en el almacenamiento principal.“Asignación”: es la asociación de instrucciones y datos con localizaciones particulares de almacenamiento.“Cargador”: es un programa que coloca las instrucciones y datos de un programa dentro de localizaciones del almacenamiento principal. “Cargador absoluto”: coloca las instrucciones y datos en las localizaciones específicas indicadas en el programa de lenguaje de máquina.“Cargador de relocalización”: puede cargar un programa en varios lugares dentro del almacenamiento principal:Depende de la disponibilidad de almacenamiento primario al momento de realizar la carga.“Tiempo de carga”: momento de realizar la carga.

 

 

 

◘   Cargadores de enlace y editores de enlace:

El programa en lenguaje de máquina producido por un traductor debe ser combinado con otros programas en lenguaje de máquina para formar una unidad ejecutable.La “combinación de programas” es realizada por “cargadores de enlace” y “editores de enlace” antes del tiempo de ejecución del programa.“Cargador de enlace”: en el momento de carga, combina cualesquiera programas requeridos y los carga directamente en el almacenamiento primario.“Editor de enlace”: ejecuta la combinación de programas mencionada y además crea una imagen de carga a memoria que preserva en el almacenamiento secundario (disco), para usos futuros:

Es muy útil en ambientes de producción, ya que la carga inmediata de la imagen de memoria previamente producida evita un nuevo proceso de combinación de programas previo a cada ejecución

more...
No comment yet.
Scooped by Yesica Caceres
Scoop.it!

Conceptos de los Sistemas Operativos

Conceptos de los Sistemas Operativos | Sistema Operativo | Scoop.it

La interfaz entre el S. O. y los programas del usuario se define como el conjunto de “instrucciones ampliadas” [23, Tanenbaum] que proporciona el S. O. y son las “llamadas al sistema”

Yesica Caceres's insight:

Crean, eliminan y utilizan objetos del software controlados por el S. O.:

        *Los más importantes son procesos y archivos.

◘   Procesos:

Es el concepto central de todos los S. O.Es básicamente un programa en ejecución.Consta del programa ejecutable, sus datos y pila, contador y otros registros, además de la información necesaria para ejecutar el programa.La información de control relacionada con los procesos se almacena en la tabla de procesos:Es administrada por el S. O.Posee un arreglo de estructuras, una por cada proceso existente en ese momento.Un proceso (suspendido) consta de:Un espacio de dirección.Los datos pertinentes de la tabla de procesos.Un proceso puede crear procesos hijo y estos nuevos procesos hijo, conformando un árbol de procesos.

◘   Archivos:

Una de las funciones principales del S. O. es brindar independencia de dispositivo.Muchos S. O. soportan el concepto de directorio como una forma de agrupar archivos.Los directorios se estructuran jerárquicamente, por lo que a cada archivo le corresponde una ruta de acceso.Existen distintos esquemas de seguridad de archivos en los distintos S. O.

◘   Llamadas al sistema:

Permiten a los programas comunicarse con el S. O. y solicitarle servicios.A cada llamada le corresponde un procedimiento:

 

Pone los parámetros de la llamada en un lugar específico para luego ejecutar una instrucción tipo “trap” de llamada a procedimiento protegido para iniciar el S. O.Luego de “trap” el S. O. recupera el control, examina los parámetros y si son válidos ejecuta el trabajo solicitado.Luego de terminar, el S. O. coloca un código de estado en un registro indicando si tuvo éxito o fracaso y ejecuta una instrucción del tipo “return from trap” para regresar el control al procedimiento.El procedimiento regresa al programa llamador con un código de estado como un valor de función; dentro de los parámetros pueden regresar valores adicionales.

 

more...
No comment yet.
Scooped by Yesica Caceres
Scoop.it!

Sistema Operativo de Multiprocesadores

Sistema Operativo de Multiprocesadores | Sistema Operativo | Scoop.it

Las capacidades funcionales de los Sistema Operativo de multiprogramación y de multiprocesadores incluyen lo siguiente

Yesica Caceres's insight:

◘   Asignación y administración de recursos.

◘   Protección de tablas y conjuntos de datos.

◘   Prevención contra el interbloqueo del sistema.

◘   Terminación anormal.

◘   Equilibrio de cargas de Entrada / Salida.

◘   Equilibrio de carga del procesador.

◘   Reconfiguración.

 

Las tres últimas son especialmente importantes en Sistemas Operativos de multiprocesadores, donde es fundamental explotar el paralelismo en el hardware y en los programas y hacerlo automáticamente.

Las organizaciones básicas de los Sistemas Operativos para multiprocesadores son las siguientes:

◘   Maestro / satélite.

◘   Ejecutivo separado para cada procesador.

◘   Tratamiento simétrico (o anónimo) para todos los procesadores.

 

Maestro / Satélite

 

Es la organización más fácil de implementar.

No logra la utilización óptima del hardware dado que sólo el procesador maestro puede ejecutar el Sistema Operativo y el procesador satélite sólo puede ejecutar programas del usuario.

Las interrupciones generadas por los procesos en ejecución en los procesadores satélites que precisan atención del Sistema Operativo deben ser atendidas por el procesador maestro y por ello pueden generarse largas colas de requerimientos pendientes.

Ejecutivos Separados

 

Cada procesador tiene su propio Sistema Operativo y responde a interrupciones de los usuarios que operan en ese procesador.

Existen tablas de control con información global de todo el sistema (por ejemplo, lista de procesadores conocidos por el Sistema Operativo) a las que se debe acceder utilizando exclusión mutua.

Es más confiable que la organización maestro / satélite.

Cada procesador controla sus propios recursos dedicados.

La reconfiguración de los dispositivos de Entrada / Salida puede implicar el cambio de dispositivos a diferentes procesadores con distintos Sistemas Operativos.

La contención sobre las tablas del Sistema Operativo es mínima.

Los procesadores no cooperan en la ejecución de un proceso individual, que habrá sido asignado a uno de ellos.

 

Tratamiento Simétrico

 

Es la organización más complicada de implementar y también la más poderosa y confiable.

El Sistema Operativo administra un grupo de procesadores idénticos, donde cualquiera puede utilizar cualquier dispositivo de Entrada / Salida y cualquiera puede referenciar a cualquier unidad de almacenamiento.

El Sistema Operativo precisa código reentrante y exclusión mutua.

Es posible equilibrar la carga de trabajo más precisamente que en las otras organizaciones.

Adquieren significativa importancia el hardware y el software para resolución de conflictos.

Todos los procesadores pueden cooperar en la ejecución de un proceso determinado.

El procesador ejecutivo es el responsable (uno sólo) en un momento dado de las tablas y funciones del sistema; así se evitan los conflictos sobre la información global.

 

more...
No comment yet.
Scooped by Yesica Caceres
Scoop.it!

El Núcleo del Sistema Operativo

El Núcleo del Sistema Operativo | Sistema Operativo | Scoop.it

El “núcleo” del Sistema Operativo controla todas las operaciones que implican procesos y representa solo una pequeña porción del código de todo el Sistema Operativo pero es de amplio uso [7, Deitel].

Yesica Caceres's insight:

Generalmente permanece en el almacenamiento primario.

El proceso de interrupciones se incluye en el núcleo ya que debe ser rápido (especialmente en sistemas multiusuario), para optimizar el uso de los recursos del sistema y proveer tiempos de respuesta aceptables a los usuarios interactivos.

El núcleo inhabilita las interrupciones mientras responde a una interrupción. Las interrupciones son habilitadas de nuevo después de completar el proceso de una interrupción.

El núcleo del Sistema Operativo generalmente realiza las siguientes funciones:

◘   Manipulación de interrupciones.

◘   Creación y destrucción de procesos.

◘   Cambio de estados de procesos.

◘   Despacho.

◘   Suspensión y reanudación de procesos.

◘   Sincronización de procesos.

◘   Comunicación entre procesos.

◘   Manipulación de bloques de control de proceso.

◘   Soporte de las actividades de Entrada / Salida.

◘   Soporte de la asignación y desasignación de almacenamiento.

◘   Soporte del sistema de archivos.

◘   Soporte de un mecanismo de llamada / regreso al procedimiento.

◘   Soporte de ciertas funciones contables (estadísticas) del sistema.

more...
No comment yet.
Scooped by Yesica Caceres
Scoop.it!

Hardware

Hardware | Sistema Operativo | Scoop.it

Los principales aspectos del hardware, de importancia para los S. O., son los siguientes

[7, Deitel]:

Yesica Caceres's insight:

◘   Compaginación del almacenamiento:

Objetivo: acelerar el acceso al almacenamiento primario (bancos de memoria).Generalmente, mientras cualquiera de las localidades de un banco de almacenamiento primario, está siendo accedida, ninguna otra referencia puede estar en curso.La compaginación del almacenamiento coloca localidades de memoria adyacentes en diferentes bancos de almacenamiento, para permitir varias referencias al mismo tiempo.

◘   Interrupciones y escrutinio:

Interrupciones:permiten a una unidad obtener la inmediata atención de otra, de manera que la primera pueda informar de un cambio de estado:Permite salvar el “estado” de la unidad interrumpida antes de procesar la interrupción.Escrutinio: técnica que permite que una unidad verifique el estado de otra unidad de funcionamiento independiente.

◘   Dispositivos periféricos:

Permiten el almacenamiento de grandes cantidades de información fuera del almacenamiento principal.Existen dispositivos secuenciales y de acceso directo.Las características y prestaciones son muy variadas.

◘   Temporizadores y relojes:

“Temporizador de intervalos”: previene que un solo usuario monopolice el procesador en sistemas multiusuario.El temporizador genera una interrupción al procesador cuando expira el intervalo asignado a un usuario.“Reloj horario”: permite al computador hacer un seguimiento de la “hora del reloj de pared”, con una exactitud de millonésimas de segundo o mayor.

◘   Almacenamiento virtual:

Los sistemas de almacenamiento virtual permiten a los programas referenciar direcciones que no necesitan corresponder con las direcciones reales disponibles en el almacenamiento primario.Las “direcciones virtuales” desarrolladas por los programas en ejecución son traducidas dinámicamente por el hardware a las “direcciones reales” de instrucciones y datos del almacenamiento principal.Los programas pueden referenciar espacios de direcciones mucho mayores que los espacios de direcciones disponibles en el almacenamiento primario.Se utilizan técnicas de:“Paginación”: bloques de datos de tamaño fijo van o vienen entre el almacenamiento primario y el secundario.“Segmentación”: identifica las unidades lógicas de los programas y datos para facilitar el control de acceso y participación.

◘   Multiprocesamiento:

Varios procesadores comparten un almacenamiento primario común y un solo S. O.Es necesario “secuencializar” el acceso a una localización (dirección) de almacenamiento compartido para que dos o más procesadores no intenten:Modificarla al mismo tiempo.Modificarla uno(s) mientras otro(s) intenta(n) leerla.

◘   Jerarquía de almacenamiento:

Los niveles de almacenamiento incluyen:Almacenamiento primario: memoria principal.Almacenamiento secundario: discos, cintas, etc.Almacenamiento “caché”: memoria muy veloz diseñada para aumentar la velocidad de ejecución de los programas:Aloja la parte (instrucciones y datos) en ejecución de un programa.Los niveles de almacenamiento crean “jerarquías de almacenamiento”: caché, almacenamiento primario, almacenamiento secundario.Al bajar en la jerarquía:Descienden el costo y la velocidad.Aumenta la capacidad.“Espacio de direcciones”: conjunto de todas las direcciones disponibles para un programa.
more...
No comment yet.
Scooped by Yesica Caceres
Scoop.it!

Sistema Operativo

Sistema Operativo | Sistema Operativo | Scoop.it
Yesica Caceres's insight:

El objetivo primario de un Sistema Operativo es:

ü  Optimizar todos los  recursos del sistema para soportar los requerimientos.

A los efectos de situar a los S. O. en el conjunto del software para computadoras, podemos clasificar a este de la siguiente manera:

-  Programas de sistema:

Controlan la operación de la computadora en sí.

-  Programas de aplicación:

Resuelven problemas para los usuarios.

En este contexto, el Sistema Operativo es el programa fundamental de todos los programas de sistema.

El S. O. protege y libera a los programadores de la complejidad del hardware, colocándose un nivel de software por sobre el hardware para:

-  Controlar todas las partes del sistema.

-  Presentar al usuario una interfaz o máquina virtual.

El esquema típico de un sistema de cómputos incluye:

-  Programas de aplicación:

Sistema bancario, reservaciones en una línea aérea, juegos, etc.

-  Programas de sistema:

Compiladores, editores, intérpretes de comandos.Sistema Operativo.

  Hardware:

Lenguaje de máquina.Microprogramación.Dispositivos físicos.

Las principales características del microprograma son:

-  Se trata de software que generalmente se localiza en la memoria de solo lectura.

-  Busca las instrucciones de lenguaje de máquina para ejecutarlas como una serie de pequeños pasos.

-  El conjunto de instrucciones que interpreta define allenguaje de máquina.

- En ciertas máquinas se implanta en el hardware y no es en realidad una capa distinta.

Respecto del lenguaje de máquina es preciso señalar que:

-  Generalmente posee entre 50 y 300 instrucciones, sirviendo la mayoría para desplazar datos, hacer operaciones aritméticas y comparar valores.

-  Los dispositivos de e / s (entrada / salida) se controlan al cargar valores en registros del dispositivo especiales.

Una de las principales funciones del S. O.es ocultar toda esta complejidad y brindar al programador un conjunto más conveniente de instrucciones para trabajar.

El S. O. se ejecuta en modo central o modo de supervisión, con máxima prioridad y generalmente con protección por hardware.

Los compiladores, editores y demás programas se ejecutan en modo usuario.

El S. O. es la serie de programas, dispuestos ya sea en el software o en la memoria fija

(Microcódigo), que hacen al hardware utilizable.

Los S.O. ponen el “poder computacional básico” del hardware convenientemente a disposición del usuario, pero consumen parte de ese poder computacional para funcionar

[7, Deitel].

Los S.O. son, en primer lugar, administradores de recursos, siendo el recurso primario el hardware del sistema.

more...
No comment yet.