Categoría: Uncategorized

  • Proyecto Unix-Jun72

    Se ha creado un proyecto para la recuperación del Unix primera edición datado de Junio de 1972 tal y como está especificado en el Unix Programmer’s Manual del 3 Noviembre de 1971.

    Actualmente se esta intentando ejecutar en una version ligeramente modificada de SIMH el listado del kernel que está en bitsaversPreliminaryUnixImplementationDocument_Jun72 (pdf 12Mb).

    En su página web podemos leer:

     

    Este proyecto creará codigo legible y compilable a partir del las copias impresas del la primera edición de Unix del año 1972. Muchos programas ejecutables todavía existen en forma binaria y este proyecto intentará restaurar un incompleto pero funcional sistema de la primera edición de Unix. El software mantendrá el copyright de los autores originales, el cual está actualmente licenciado libremente bajo la licencia de Caldera ancient UNIX license.

     

    Para mas información se puede ver la página del proyecto unix-jun72, o subscribirse a la lista de correo https://minnie.tuhs.org/mailman/listinfo/unix-jun72.

     

    Actualización (07 – Junio – 2008):

    El kernel de la 1ª edición de Unix ha podido ser ejecutado de nuevo bajo SIMH. La única versión conocida del kernel era un listado impreso que tuvo que ser escaneado, despues editado a mano, y por ultimo, depurado.

    El kernel consiste en 4200loc, escrito en ASM del PDP11, corre en una máquina de 24Kbyte y soporte 8 usuarios concurrentes.

    Todo esto es muy interesante para aquellos interesados en kernels, Unix, o la historia de los sistemas operativos y la computación, y al alcance de tu mano en la página del proyecto enlazada anteriormente.

  • Los orígenes de Ctrl-Alt-Del

    Una vez más, Pacolinux nos rescata parte de la historia de la computación. Esta vez, en un esfuerzo de traducción, nos detalla en un documento gráfico la historia que envuelve a esta curiosidad en la historia de los PC: Orígenes del Alt-Ctrl-Del

     

  • Orígenes del Alt-Ctrl-Del

    David Bradley se graduó en 1971 por la Universidad de Dayton (Ohio), el mismo año que Intel lanzó el procesador 4004, y recibió su Ph.D. por la universidad de Purdue el mismo año que salió el kit de construcción del Altair. «El primer ordenador que habría utilizado habría sido un [IBM] 360», dijo. Se incorporó a IBM en junio de 1975 y trabajó y trabajó con un System/23 Datamaster en 1978, el primer ordenador de IBM con un procesador no-IBM. Para el PC, él escribió la totalidad de la BIOS. «Escribí todo el código con la excepción del control de cassete y los test de power-on» comentó.

    Recientemente nos ha contado como ideó la combinación Alt-Ctrl-Del:

    En algún momento durante el desarrollo de la BIOS del IBM PC, probablemente de enero de 1981, tuvimos un problema de desarrollo. Un montón de nuevo software estaba saliendo y siendo puesto a prueba y, como frecuentemente sucede con el nuevo software, éste deja de correr, y deja colgada a la máquina. Cuando los programas que realizas son en ensamblador, hay muchas posibilidades de que algo como esto suceda. A menos que estés trabajando con una placa base que no esté dentro de una caja, la única manera de reiniciar la máquina era desconectar la corriente, esperar unos segundos para que los condensadores se descarguen, entonces encender de nuevo la máquina. A continuación, esperar a que el «Power On Self Test» se ejecute, lo que puede llegar a tardar hasta un minuto si hay una gran cantidad de memoria instalada en la máquina, esperar que arranque el DOS (desde el disquete, por supuesto), y entonces relanzar el programa bajo prueba y tratar de averiguar lo que salió mal.

    La solución mas simple habría sido un botón de reinicio. Sin embargo, la construcción mecánica del interior del PC habria hecho difícil localizar un lugar y, además, siempre estaba el problema de pulsarlo inadvertidamente. Así que decidimos usar el teclado. Había que escoger un juego de teclas que fuera difícil pulsar accidentalmente. Dado que la BIOS tenía que caber en 8KB y ya estabamos casi por 9KB, debía de ser muy breve la secuencia de instrucciones que lo detectara. Por ello dos de las teclas debian de ser de cambio de estado (shift) ya que la BIOS de teclado las monitoriza y mantiene el estado en RAM. Por eso escogí las mas nuevas y menos usadas ‘shift keys’:  Ctrl y Alt. Finalmente escogí la tecla de acción lo mas alejada posible de ellas.  Si miras en el teclado original de 83 teclas del IBM PC (significativamente diferente de los teclados actuales, verás que solo hay una instancia de las teclas Ctrl y Alt en el lado izquierdo y un solo Del el el lado mas derecho del teclado. Podría haber elegido ‘Enter’ en lugar de ‘Del’, pero (a) Enter es una tecla mas grande, con lo cual hay mas posibilidades de pulsarla por accidente, y (b) ‘Del’ es un mejor mnemotécnico que ‘Enter’ para la drástica acción que se va a realizar.

    IBM Model F XT

    El código para controlar la pulsación del C-A-D fue de 9 instrucciones, ocupando 30 bytes de longitud. Después de detectar dos cambios de estado de las teclas modificadoras y la tecla «Supr», almacena una bandera en una posición de memoria especial, y luego salta a la posición de reset del 8088. El código del POST detecta la bandera especial (0x1234 en el área de RAM BIOS) después de haber hecho la inicialización del sistema, pero antes de hacer la larga prueba de memoria. Se supone que la memoria ya ha sido probada en el encendido inicial de la máquina, y otra prueba de memoria es probablemente innecesario. Además es mucho más rápido de esta manera.

    Esta no era la primera vez que usaba una secuencia de tres teclas para acceder a una función del sistema. El system/23 DataMaster, el cual usaba un microprocesador Intel 8085, fue un prototipo del IBM PC en muchos sentidos. Yo había escrito un pequeño depurador para usar en nuestro sistema de desarrollo del S/23 (podéis pensar en el DEBUG del disquette original del DOS). Un desarrollador podía acceder a ese depurador con una secuencia de tres teclas similar al del C-A-D (aunque no idéntica, ya que aunque el teclado era el mismo, el interfaz y las teclas especiales no). Así que usar una secuencia de tres teclas para resetear/reiniciar el IBM PC era lo más natural.

    Ctl-Alt-Del fue una simple solución a un problema. No fue la solución completa, ya que si el programa que fallaba hubiera desactivado las interrupciones (una instrucción de un solo byte en el x86) nada de lo que hicieras en el teclado provocaria una interrupión a la BIOS. Pero funcionó en la mayoría de los casos. Y desde entonces fue uno de los cientos de pequeños (y grandes) problemas que tuvimos que solucionar antes de que el PC pudiera ser anunciado, despues de 10 minutos de diseño, codificación y testeo, fue momento de pasar al siguiente problema.

    Has empleado casi tanto tiempo en leer esto como yo tardé en crear e implementar el C-A-D

    Bueno,  yo creo que he tardado mas en traducir esto. Espero os haya gustado

    Paco.

  • Presentación de PacoLinux

    Hola a todos:

     

    Mis principales intereses en el mundo de la Informática son las
    máquinas y sus  Sistemas Operativos, los compiladores y lenguajes de
    programación. Como actualmente existe poca diversidad de Sistemas
    Operativos y hardware, me interesa bastante ir hacia atrás en el tiempo
    y conocer otras máquinas. A algunas de ellas, todavía se puede tener
    acceso, pero a otras no. Es más, algunas de estas máquinas ya no
    existen, con lo cual la única forma de estudiarlas es bajo emulación.
    Aquí ire hablando de distintos Sistemas Operativos, algo de historia,
    algo de hardware, etc.. En algunas ocasiones contaré como instalar
    determinado Sistemas Operativos bajo un emulador para podernos hacer
    una idea de cómo era. También hare referencia a los distintos
    emuladores que hay y a los múltiples OSes que hay o han habido y que
    presentan interés.

     

    Espero os sea útil,

    Paco

  • ksplice: patches en caliente para el kernel linux

    Una herramienta bastante interesante llamada ksplice nos permite aplicar parches al kernel de linux sin tener que parar la maquina. Interesante para poder aplicar los últimos parches de seguridad, o simplemente para ‘trastear’ con el kernel. En la documentación hay un ejemplo muy bueno de como cambiar la funcion printk estandar por una personalizada.

  • Anuncio de emulador de Multics

    En alt.os.multics se ha anunciado la disponibilidad de un emulador en estado pre-alpha de Multics/ge635. Se puede ver el código en https://sourceforge.net/projects/h6180/ o descargarlo via:

    svn checkout https://svn.code.sf.net/p/h6180/code/ h6180-code

    El autor indica que esta dispuesto a trabajar o discutir el diseño, ya que esta en una fase muy preliminar.

Creative Commons License
Except where otherwise noted, the content on this site is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License.