sábado, 28 de marzo de 2009

Gestion de Memoria

Gestion de Memoria

La memoria es uno de los principales recursos de la computadora, la cual debe de administrarse con mucho cuidado. Aunque actualmente la mayoría de los sistemas de cómputo cuentan con una alta capacidad de memoria, de igual manera las aplicaciones actuales tienen también altos requerimientos de memoria, lo que sigue generando escasez de memoria en los sistemas multitarea y/o multiusuario.
La parte del sistema operativo que administra la memoria se llama administrador de memoria y su labor consiste en llevar un registro de las partes de memoria que se estén utilizando y aquellas que no, con el fin de asignar espacio en memoria a los procesos cuando éstos la necesiten y liberándola cuando terminen, así como administrar el intercambio entre la memoria principal y el disco en los casos en los que la memoria principal no le pueda dar capacidad a todos los procesos que tienen necesidad de ella.

Los sistemas de administración de memoria se pueden clasificar en dos tipos: los que desplazan los procesos de la memoria principal al disco y viceversa durante la ejecución y los que no.
El propósito principal de una computadora es el de ejecutar programas, estos programas, junto con la información que accesan deben de estar en la memoria principal (al menos parcialmente) durante la ejecución.
Para optimizar el uso del CPU y de la memoria, el sistema operativo debe de tener varios procesos a la vez en la memoria principal, para lo cual dispone de varias opciones de administración tanto del procesador como de la memoria. La selección de uno de ellos depende principalmente del diseño del hardware para el sistema. A continuación se observarán los puntos correspondientes a la administración de la memoria.

Sistemas Operativos

Capitulo 1

Aspectos fundamentales de un sistema Operativo

• Proceso.
• Gestión de memoria.
• Comunicación y sincronización de procesos.
• e/s.
• sistema de archivos.
• Protección y seguridad.

El proceso es la entidad mas importante del sistema Operativo.
Un proceso en ejecución reside siempre en la memoria de la computadora.
El archivo es la unidad fundamental de almacenamiento que maneja el usuario.
El directorio es la unidad de estructuración del conjunto de archivos.
Un sistema de computación debe ser seguro.

Capitulo 1: Conceptos Arquitectónicos de la computadora.

Estructura y Funcionamiento de Una computadora:



Datos resultados


Instrucciones de maquina


Componentes básicos de una computadora:

• Unidad aritmética (consta de la memoria RAM y ROM, así como los datos a procesar, resultados y el programa maquina a ejecutar).
• Unidad de control (estando ubicados el estado, cantidad de programas, registro de instrucción y puntero de pila).
• Unidad de E/S (todos aquellos periféricos teclado, monitor, mouse, impresora, etc.).

Programa maquina (o código):

Es aquel conjunto de instrucciones maquina que tiene por objeto que la computadora realice una determinada función.

Un programa escrito es cualquier lenguaje de programación tiende a convertirse en un programa maquina. Para que pueda ser ejecutado por la computadora.
La unidad aritmética es la que permite realizar operaciones aritmética y lógicas sobre uno o 2 operandos.
La unidad de control establece el funcionamiento de la computadora. Lee de memoria las instrucciones maquina que forma el programa, interpretando, ejecutando la instrucción leída, así como también almacena el resultado de la misma.

La Unidad de Control tiene Asociado una Serie de Registros:

• Contador de programas (PC, Program Counter), el cual indica la dirección de la siguiente instrucción de maquina a ejecutar.

• Puntero de pila (SP, Snack Pointer), permite manejar cómodamente una pila en memoria principal. Contiene la dirección de la cabecera de la pila.

• Registro de Instrucción (RI), permite almacenar la instrucción de maquina a ejecutar.

• Registro de estado (RE), almacena información producida por la ejecución de las instrucciones y el comportamiento de la computadora (interrupción, estados, etc.).

La unidad E/S:

Hace la transferencia de información con la memoria principal los periféricos.

Procesador:

es el conjunto de la unidad aritmética y de control, construido en un único circuito integrado.

Niveles de Ejecución:

• Nivel menos permisivo (nivel de usuario): aquí la computadora ejecuta algunas instrucciones maquinas, quedando prohibidas otras.

• Nivel más permisivo (Nivel de Núcleo): aquí la computadora ejecuta todas las instrucciones si restricción permitiendo el acceso al registro y el mapa de direcciones.

Interrupciones:

Es una señal recibida por el procesador de un Ordenador, indicando que debe interrumpir el curso de ejecución actual y pasar a ejecutar otro programa.

El ciclo de aceptación de interrupción realiza:

1. Salva algunos registros (PC y estado).
2. Eleva el nivel de ejecución pasándolo a núcleo.
3. El PC con un nuevo valor por lo tanto pasa a ejecutar otro programa.

La tabla de interrupciones y la rutina de tratamiento de la interrupción se considera parte del S.O por razones de seguridad, es decir, para evitar que lo programa que ejecuta un usuario pueda perjudicar lo programas o datos de otros usuarios.

Las interrupciones se pueden generar por:

• Excepciones de programas (cuando un programa presenta un problema en la ejecución).
• Interrupciones de reloj o Ticks.
• Interrupciones de E/S.
• Excepciones del hardware.
• Instrucciones de TRAP.
La instrucción maquina RETI permite restituir los registros de estado y PC desde que fueron salvados en el ciclo de aceptación de interrupción.

El Reloj:

• (oscilador) señal que gobierna el ritmo de ejecución de las instrucciones maquinas.
• Generador de interrupciones periódicas.
• Contador de fecha y hora.

Jerarquía de La Memoria:

• Nivel 0: registros  gestionado por el programador o compilador.
• Nivel 1: Memoria cache  gestionado por el hardware.
• Nivel 2: Memoria Principal  gestionado por el S.O.
• Nivel 3: Discos  gestionado por el S.O
El nivel 0,2 y 3 usa migración de información bajo demanda explicita.


Memoria Virtual

Contiene: memoria principal y memoria de respaldo, disco o memoria expandida. Espacio de memoria momentáneo que reside en la memoria principal o de almacenamiento.

• Pág. Virtual--> pagina del espacio virtual.
• Pag. De intercambio --> pagina residente en el disco.
• Marcos de pag. --> espacio en que se divide la memoria principal.

Cada marco de pagina es capaz de albergar una pagina virtual sin restricción de direccionamiento.

La unidad de hardware MMU (Memo Management Unit), es el encargado de traducir las direcciones virtuales a direcciones de memoria principal.

El S.O tiene como función asignar espacio virtual a los programas para su ejecucion.


Tabla de Paginas:

Reside en memoria principal, es una estructura de información que contiene la información de donde reside las paginas de un programa en ejecución, permitiendo sabersi una pagina esta en memoria principal y en que marco especifico se encuentra.

Las computadoras presentan 3 modos de realizar operaciones de E/S:

1. E/S programada: Exige que el procesador este ejecutando un programa de E/S, no hay consecuencias entre el procesador y la E/S.

2. E/S por interrupciones y por DMA(direct Memory Access): El procesador no tiene que atender directamente a la E/S por lo tanto puede ejecutar otro programa entonces hay concurrencia entre E/S y el procesador.

Toda la E/S es accesible solo con el nivel de núcleo.

Capitulo 2: Introduccion a los Sistemas Operativos

Maquina Desnuda: es una computadora que no tiene un S.O, es decir la maquina por si sola no hace nada.

Sistema Operativo: programa que tiene encomendada muchas funciones diferentes cuyo objeto es simplificar el manejo y la utilización de la computadora, haciéndolo seguro y eficiente.

Funciones:

1. Gestión de los recursos de la computadora.
2. Ejecución de servicios para los programas.
3. Ejecución de los comandos de los usuarios.

el S.O esta formado por:

• La capa mas cercana del hardware (núcleo=Kernel), la cual gestiona los recursos hardware, se ejecuta en nivel núcleo.

• La capa de servicio (llamadas del sistema): ofrece a los programas servicios en forma de interfaz de programación o API ( application Programing interface), esta extiende la funcionalidad de la computadora.

• La capa de Interprete de mandato (Shell): suministra una interfaz donde el usuario puede dialogar de manera interactiva con la computadora, se ejecuta en nivel de usuario.

La diferencia entre un proceso listo y uno en ejecucion es que el que esta en ejecucion utilize recursos y tiempo de procesamiento mientras que el listo esta esperando por ser antendido aunque se puede decir que esta en espera de un recurso.

El proceso listo puede usar recursos (memoria) pero no usar el tiempo de procesamiento.

¿Cuál es el principal obstáculo de los procesos?

La interrupciones porque el sistema operativo detiene la ejecución del los procesos cuando detecta la existencia o se genera una interrupción, deteniendo escritura de registros y procesos para tratar la interrupción.

Operaciones Sobre Los Procesos:
• Crear un proceso.
• Destruir un proceso.
• Cambiar la prioridad del proceso.
• Reanudar un proceso.
• Permitir la comunicación entre procesos.
Creación de un Proceso:
• Dar un nombre al proceso.
• Inserta en la tabla de procesos.
• Determina la prioridad inicial.
• Asignar los recursos iniciales.


Destrucción de un proceso:
• se remueve de la tabla de procesos
• se devuelven los recursos al sistema
• su PCB se borra.


Jerarquía de procesos:
• familia de procesos.
• Proceso hijo
• Proceso padre.
• Proceso hermano.
• Proceso abuelo.

Estado de los procesos ligeros:

El estado de los procesos es la combinación de los estados de sus procesos ligeros, se puede decir que el estado del proceso hijo afecta el estado del proceso padre.
• Si se tiene un proceso ligero en ejecución el proceso padre esta en ejecución.
• Si no tiene procesos ligeros en ejecución pero tiene alguno listo el proceso esta en estado listo.
• Si todos los procesos ligeros están bloqueados el proceso esta bloqueado.


Estados de un Proceso






Planificación de Proceso

Permite que el S.O decida que proceso debe ejecutarse primero con respecto a los otros, si el CPU esta disponible.
El elemento del sistema que toma la decisión se llama planificador.

Objetivos de la Planificacion


• Equidad
• Eficacia
• Eficiencia
• Tiempo de respuesta
• Tiempo de regreso
• Rendimiento.

Tipos de Planificacion

• No apropiativa: luego que el CPU es asignado a un proceso, no se le puede quitar, ya que el SO espera hasta que el mismo l libere de forma voluntaria.

• Apropiativa: el SO puede quitarle el tiempo de procesamiento asignado a un proceso en particular.

sábado, 7 de febrero de 2009

"La Guerra entre un Profesor y un Alumno es con un mismo cuchillo"
Miguel Angel Bracho.

"Se aprende el nombre de la Novela y no el del Protagonista"
Miguel Angel Bracho.

"Lo que nada nos cuesta hagamoslo fiesta"
Miguel Angel Bracho.

"lo Importante no es ser el dueño del mundo, sino el hijo del dueño del mundo"
Miguel Angel Bracho.

LOS SISTEMAS OPERATIVOS

QUE ES UN SISTEMA OPERATIVO?¿?¿?¿?

Un sistema operativo es un software de sistema, es decir, un conjunto de programas de computación destinado a muchas tareas entre las que destaca la administración eficaz de sus recursos.

Comienza a trabajar cuando en memoria se carga un programa especifico y aun antes de ello, que se ejecuta al iniciar el equipo, o al iniciar una máquina virtual, y gestiona el hardware de la máquina desde los niveles más básicos, brindando una interfaz con el usuario.

Un sistema operativo se puede encontrar normalmente en la mayoría de los aparatos electrónicos que utilicen microprocesadores para funcionar, ya que gracias a éstos podemos entender la máquina y que ésta cumpla con sus funciones (teléfonos móviles, reproductores de DVD, autoradios, computadoras, radios,etc).







1era Generacion:


En Teoria no existia el sistema operativo, pero el programador en este caso administraba las tareas (Programar, Controlar Recursos) Se usaban las Tarjetas Perforadas.


La tarjeta perforada es una cartulina con unas determinaciones al estar perforadas, lo que supone un código binario. Fueron los primeros medios que servían para ingresar información e instrucciones a un computador en los años 1960 y 1970. Fueron inventadas por Herman Hollerith en 1885.

Las tarjetas perforadas fueron utilizadas no solo en la informática, sino también en los telares inspiradas por Joseph Marie Jacquard. De hecho, la informática adquirió las tarjetas perforadas de los telares. Con la misma lógica de perforación o ausencia de perforación, se utilizaron las cintas perforadas.

Actualmente las tarjetas perforadas han caído en el reemplazo por medios magnéticos y ópticos de ingreso de información. Sin embargo, muchos de los dispositivos de almacenamiento actuales, como por ejemplo el CD-ROM también se basan en un método similar al usado por las tarjetas perforadas, aunque por supuesto los tamaños, velocidades de acceso y capacidad de los medios actuales no admiten comparación con las viejas tarjetas.


En los años 30, se hablaba de sistemas operativos, se podia recuperar informacion en caso de que existieran errores. Es aqui donde l programador interactua con la maquina. Aparecen los primeros Dispositivos Entrada/Salida.

* LOS DISPOSITIVOS DE ENTRADA/SALIDA:

Son aquellos que permiten la comunicación entre la computadora y el usuario.

* DISPOSITIVOS DE ENTRADA:

Son aquellos que sirven para introducir datos a la computadora para su proceso. Los datos se leen de los dispositivos de entrada y se almacenan en la memoria central o interna. Los dispositivos de entrada convierten la información en señales eléctricas que se almacenan en la memoria central.

Los dispositivos de entrada típicos son los teclados, otros son: lápices ópticos, palancas de mando (joystick), CD-ROM, discos compactos (CD), etc. Hoy en día es muy frecuente que el usuario utilice un dispositivo de entrada llamado ratón que mueve un puntero electrónico sobre una pantalla que facilita la interacción usuario-máquina.





* DISPOSITIVOS DE SALIDA:

Son los que permiten representar los resultados (salida) del proceso de datos. El dispositivo de salida típico es la pantalla o monitor. Otros dispositivos de salida son: impresoras (imprimen resultados en papel), trazadores gráficos (plotters), bocinas, entre otros...


Los Años 50 se marcan por la creacion de los dispositivos de entrada y salida.

La multiprogramacion: Varios procesos al mismo tiempo, se empieza a tomar en cuenta la distribucion del tiempo.
En los años 60 se empiezan a usar los registros integrados.

Multiprocesador: Varios procesadores y una sola memoria.

Multicomputador: Varias computadoras realizando tareas con un solo procesador.

Los primeros sistemas eran distribuidos, varios trabajadores trabajando al mismo tiempo.

Primer Sistema Operativo Multics, Años 70 Surge UNIX.

LOS PARADIGMAS UNIX:

-. Sistemas Integrados
-. Ayuda a la Creacion de los Lenguajes de Alto Nivel
-. Administracion de Recursos
-. Se entra en la Programacion

Lo Transendental de los Sistemas Operativos fue lo Grafico.














sábado, 31 de enero de 2009

UNIDAD DE CONTROL

"EL PROCESADOR COMO TAL NO ES NADIE" Miguel Angel Bracho.

Maquina Desnuda

El término de máquina desnuda se aplica a una computadora carente de sistema operativo, el término es interesante porque resalta el hecho de que una computadora en si misma no hace nada y para realizar una determinada función es necesario que contenga un sistema operativo.

"LA NECESIDAD ES LA MADRE DE TODAS LAS INVENCIONES"

IBM X.25

Registros: Bancos de Memorias

En la memoria se realiza todo.

El Lenguaje de maquina solo entendible por el procesador.

Interpretador o Compilador: Traduce el lenguaje de alto nivel a baja nivel.

"NASA VENEZOLANA (Neumaticos Acarigua Sociedad Anonima)".
Miguel Angel Bracho.

"CREAREMOS UNA NUEVA CIENCIA, LA TEOLOGIA DE LOS SISTEMAS OPERATIVOS"
Miguel Angel Bracho.

"LEYENDO CUALQUIERA RESPONDE"
Miguel Angel Bracho.

"PONEN A UN CIEGO A CORRER CONMIGO Y LLEGO DESPUES DE LA AMBULANCIA"
Miguel Angel Bracho.

"BAILASTE CON LA CIEGA"
Miguel Angel Bracho.

"A ESA SOPA LE HACE FALTA SAL"
Miguel Angel Bracho.

"YO CREO EN DIOS PADRE TODOPODEROSO"
Miguel Angel Bracho.








Conceptos Obtenidos en clase:


FECHA: (20-01-09) y (22-01-09)

Dato:
unidad Basica de la informacion, por si solo no tiene importancia.

Sistema de Computacion: Esta compuesto por Softwares y Hardwares , es una maquina, produce operaciones logicas y aritmeticas, por medio de dispositos de entradas y salidas (teclado, mouse, escaner) sin intervencion humana.

Unidad Aritmetica-Logica: Lleva todos los procesos de matematica y los logicos (AND, OR).

Unidad de Control: Lee, Busca datos, y lleva el control del proceso.

Procesador: (4to Bate, Protagonista, Dueño del equipo) Siempre busca la Prioridad. Usa 0 y 1 porque trabaja con altos y bajos, o es si o es no, o esta encendido o esta apagado.

Memoria Principal: Es limitado y volatil.

BIOS: (sistema basico de entradas y salidas) esta en la ROM, es de solo lectura chequea los instrumentos de entrada y salida, y luego arranca el sistema operativo.

RAM (Memory Random Access): Puede producir cualquier proceso de forma aleatoria .

Sistema Operativo: Asume el control de toda la maquina.

TIPS: Las Tecnologias muchas veces evitan su evolucion por agentes contaminantes.




"Debe ser por eso que todavía no comercializamos Windows 95" (Durante la presentación mundial de Windows 95, se trató de conectar al sistema una impresora y salió un Pantallazo azul en la pantalla gigante; entonces Gates pronunció la famosa, cómica e irónica frase).

PROFESORES, SI MICROSOFT (VENTANA) COMETE ERRORES COMO PARA QUE BILL SE EQUIVOQUE EN UNA PRESENTACION MUNDIAL DE WINDOWS, ENTONCES UN ESTUDIANTE VENEZOLANO TAMBIEN LO PUEDE HACER!!

miércoles, 28 de enero de 2009

Increible Grace (Editorial)


Grace Murray Hopper (Nueva York, 9 de diciembre de 1906 - Condado de Arlington, 1 de enero de 1992) fue una científica especializada en Matemáticas y también una militar norteamericana, con grado de almirante, se considera una pionera en el mundo de la informática. Fue la primera programadora que utilizó el Mark I y entre las décadas de los 50s y 60s, propició la aplicación de los compiladores para el desarrollo de los lenguajes de programación y métodos de validación. Era conocida por sus amistades como la increíble Grace.


Biografía

Grace Brewster Murray, nació en Nueva York (EEUU). Grace fue una bisnieta de Alexander Russell, un almirante de la Armada de los Estados Unidos. Este fue su modelo y su héroe personal. También fue nieta de un ingeniero civil, John Van Horne. Sus padres fueron Walter Fletcher Murray, corredor de seguros y Mary Campbell Van Horne. Desde muy pequeña demostró aptitudes para las ciencias y las matemáticas. Recibió siempre el apoyo de su abuelo y de su padre para que las estudiara, pues quería que sus hijas tuvieran las mimas oportunidades que su hijo varón. También le atrajo mucho cualquier tipo de dispositivo mecánico, tanto es así, que con 7 años desarmó todos los relojes de su casa para ver si podía entender como funcionaban. En 1930 se casa con Vincent Foster Hopper, un doctor en inglés, que durante muchos años fue presidente del departamento de inglés de la universidad de Nueva York. Vicent y Grace se divorciaron en 1945 sin tener hijos.


Estudios

Hopper estudió en varias escuelas privadas para mujeres, y en 1924 ingresó en Vassar College en Nueva York, donde estudió en matemáticas y física, graduándose con honores en 1928. Poco después, obtuvo una beca para cursar un master en matemáticas en la universidad de Yale, donde se graduó en 1930. Le ofrecieron un puesto como asistente en el departamento de matemáticas de Vassar College, en donde permaneció hasta 1943. Mientras continuó sus estudios en Yale, donde se doctoró en matemáticas en 1934.


Ingreso en la armada

Siguiendo los pasos de su bisabuelo, en 1943 decidió unirse a las fuerzas armadas en plena segunda guerra mundial, para lo que tuvo que obtener un permiso especial. Asistió a la escuela de cadetes navales para mujeres, graduándose la primera de su clase en 1944 y con el rango de teniente. Fue enviada a Harvard para trabajar en el proyecto de computación que dirigía el comandante Howard Aiken, la construcción de la Mark I. Al acabar la Segunda Guerra Mundial, Hooper quiso seguir en la Armada pero había cumplido los 40 años en 1946 (el límite eran 38) por lo que fue rechazada, aunque pudo permanecer en la reserva. Así que siguió en Harvard como investigadora junto a Aiken. Desarrolló varias aplicaciones contables para la Mark I, que estaba siendo utilizada por una compañía de seguros. Permaneció en Harvard hasta 1949, cuando Hopper empezó a trabajar en la Eckert - Mauchly Corporation en Filadelfia, que en esos momentos estaban desarrollando las computadoras BINAC y UNIVAC I. Trabajó en esa compañía y en sus sucesoras hasta su retiro en 1971. Allí fue donde Hopper realizó sus mayores contribuciones a la programación moderna. En 1952, desarrolló el primer compilador de la historia, el A-0, y en 1957 realizó el primer compilador para procesamiento de datos que usaba comandos en inglés, el B-0 (FLOW-MATIC), utilizado principalmente para el cálculo de nóminas.


Cobol

Tras su experiencia con FLOW-MATIC, Hopper pensó que podía crearse un lenguaje de programación que usara comandos en inglés y que sirviera para aplicaciones de negocios. Con esta idea, las bases para COBOL habían sido establecidas, y 2 años después se creó el comité que diseño este lenguaje. Aunque Hopper no tuvo un papel preponderante en el desarrollo del lenguaje, fue miembro del comité original para crearlo, y el FLOW-MATIC fue una influencia tan importante en el diseño de COBOL, que Hopper ha pasado a la historia de la informática como su creadora. COBOL fue el primer lenguaje que ofreció una auténtica interfaz a los recursos disponibles en el ordenador, de forma que el programador no tenía que conocer los detalles específicos. Además, los programas desarrollados para una plataforma concreta podían ser ejecutados en un ordenador diferente a aquél en el cual se habían programado sin necesidad de hacer cambios.Al final de su carrera profesional participó en los comités de estandarización de los lenguajes de programación COBOL y FORTRAN.


Reingreso en la armada

Hopper permaneció en la reserva hasta finales de 1966, cuando tuvo que retirarse con el grado de comandante, por haber alcanzado el límite de edad nuevamente. Pero este retiro duró poco, ya que la Armada la volvió a llamar en agosto de 1967 en principio, por un periodo de seis meses para que estandarizara los lenguajes de alto nivel que usaban, pero fue de forma indefinida. Se retiró de nuevo en 1971 pero se le pidió volver al servicio activo de nuevo en 1972. Fue ascendida a capitán en 1973. En 1986, Hopper se retiró de la Armada de manera definitiva, siendo en ese momento la oficial de más edad de la Armada de los Estados Unidos. Tras su retiro, se incorporó como asesora en Digital Equipment Corporation, participando en foros industriales, dando unas 200 conferencias por año y participando en programas educativos hasta su muerte. Falleció mientras dormía en su domicilio de Arlington, Virginia, el 1 de enero de 1992 a los ochenta y cinco años. Fue enterrada con todos los honores militares el 7 de enero en el cementerio Nacional de Arlington.


Curiosidades



  • A lo largo de gran parte de su carrera, Hopper era muy demandada como oradora en eventos relacionados con la informática. Era conocida por su animado e irreverente estilo de oratoria, así como por sus historias de guerra.


  • A menudo, se le atribuye erróneamente la invención del término bug para referirse a un error o fallo en un programa. Trabajando con un Mark II en la universidad de Harvard el 9 de septiembre de 1947, los ingenieros encontraron una polilla enganchada a uno de los relés del ordenador y que impedía el funcionamiento del mismo. Dicho lepidóptero pasó a la historia de la informática por ser pegado al libro de registro de actividad del ordenador con el comentario «First actual case of bug being found», en español «Primer caso real de bug encontrado» (el termino bug no se traduce al castellano por considerarse una palabra técnica). Como ella misma reconoció, no fue ella la que encontró el insecto.

Premios y reconocimientos


A lo largo de su vida, recibió numerosos reconocimientos, que incluyen más de 40 doctorados honoris causa, la Medalla Wilbur Lucius Cross de Yale, el rango de capitán en 1973, el de comodoro en 1983 y el de contraalmirante en 1985. Única mujer con el grado de almirante de su país. Podemos destacar:



1969 – Paradójicamente recibió el título de Hombre del año en ciencias de la computación (Data Processing Management Association).


1973 - Primera mujer nombrada miembro distinguido de la British Computer Society. 1986 - Tras su jubilación, recibió la Medalla de Servicio Distinguido de Defensa.


1988 – Recibió el Premio Golden Gavel en la convención Toastmasters Internacional en Washington, DC. 1991 – Medalla nacional de tecnología.


1996 – Se pone en marcha el buque de guerra, USS Hopper (DDG-70). Apodado Amazing Grace en su honor.



Este blog esta realizado con la finalidad de mejorar el aprendizaje y profundizar los conceptos de los sistemas operativos y su funcionalidad, todo esto se hizo en funcion de las clases de Sistema Operativo. Larga vida al S.O.