Los logros de la vida de Dijkstra

dixtra nació el 11 de mayo de 1930 en una familia intelectual de Rotterdam, Países Bajos, el tercero de cuatro hermanos. Su padre era un químico e inventor que se desempeñó como presidente de la Sociedad Química Holandesa. Su madre es matemática.

La infancia de Dikstra transcurrió bajo el talón de hierro de las fuerzas de ocupación fascistas alemanas. Debido a la escasez de alimentos, lo enviaron a vivir con un amigo de su padre en el campo. Después de la rendición de la Alemania nazi, Dykstra se reunió con su familia en julio de 1945, que se encontraba en un estado de salud muy débil. Ditra originalmente planeó estudiar derecho y trabajar en las Naciones Unidas para mantener la paz mundial después de graduarse. Pero cuando se graduó de la escuela secundaria, sus calificaciones en matemáticas y física fueron particularmente buenas, por lo que su padre lo convenció de estudiar matemáticas y física en la Universidad de Leiden, 65438 a 0948. Mientras estudiaba física teórica, Dixtra descubrió que muchos problemas en este campo requerían una gran cantidad de cálculos complejos, por lo que decidió aprender programación informática. En 1951, viajó al Reino Unido por su propia cuenta para asistir a una clase de formación en programación impartida por la Universidad de Cambridge. Trabajó en la EDSAC (Calculadora automática de almacenamiento con retardo electrónico), la primera del mundo diseñada y desarrollada por Wilkes, otro ganador del premio. el primer premio Computer Pioneer Award. Aprendió métodos de programación en una computadora con programa almacenado y se convirtió en uno de los primeros programadores del mundo. Al año siguiente, el Centro de Matemáticas de Ámsterdam se enteró de esta situación y planeó contratarlo como programador a tiempo parcial. Dixtra dudó al principio porque en ese momento no existía la profesión de "programador" en el mundo. a. van Wijingaarden (1916-1987), director del Departamento de Computación del Centro de Matemáticas, uno de los diseñadores del lenguaje Algol y pionero de la tecnología informática holandesa. Propuso una nueva gramática con fuertes capacidades descriptivas para resolver contextos. Problemas relacionados al diseñar Algol 68. También se conoce como gramática de segundo nivel. Fue uno de los ganadores del premio Computer Pioneer Award de 1986 y también influyó en la investigación de N. Wirth, otro ganador del primer premio Computer Pioneer. Le dijo que aunque la programación aún no se ha convertido en una materia y no se toma en serio, dado que las computadoras ya existen y están en la etapa pionera, es posible que la programación sea una materia respetada en el futuro. Esta conversación convenció a Dixtra de aceptar el puesto y su interés fue cada vez mayor. De esta manera, al año siguiente terminó sus estudios en la Universidad de Leiden y se convirtió en miembro del personal de tiempo completo del Centro de Matemáticas. A partir de entonces, entró en el campo de la informática y poco a poco se convirtió en un conocido experto en este campo, como predijo D. Gongol Teng, creando muchas "primicias".

En 1956, diseñó e implementó con éxito un algoritmo eficiente para encontrar el camino más corto entre dos lugares con obstáculos. Este algoritmo se denomina "algoritmo DiStella" y resuelve un problema muy crítico en robótica, a saber, el problema de planificación de la trayectoria del movimiento. Todavía se utiliza ampliamente en la actualidad y se considera un ejemplo exitoso de diseño de algoritmos utilizando métodos codiciosos.

En 1959, mientras actualizaba su computadora ARMAC original, Dixtra diseñó un controlador que resolvió con éxito el problema de la "interrupción en tiempo real". La tesis doctoral de Dixtra se completó en torno a este tema y obtuvo su doctorado defendiendo su tesis en la Universidad de Amsterdam.

En agosto de 1960, poco más de medio año después de la publicación del texto de Algol 60, Dixtra y su colega J.A Zonneveld en el Centro de Matemáticas tomaron la iniciativa en la implementación del primer compilador Algol 60 del mundo, por delante de otros. Académicos europeos y americanos. Más de un año antes. Este logro despertó el asombro de los estudiosos de la informática de todo el mundo y, por tanto, estableció la posición de Dixtra como un estudioso de la informática de talla mundial en la comunidad científica.

Del año 65438 al 0962, Dixtra dejó el Centro de Matemáticas y se convirtió en profesor de matemáticas en la Universidad Técnica de Eynde, en el sur de los Países Bajos. Aquí, la computadora X8 se desarrolla, diseña e implementa utilizando un sistema de programación múltiple. Estas son las iniciales de la Escuela Técnica Holandesa Eindhoven en Eindhoven.

Una serie de métodos y tecnologías propuestos por Dick THE sentaron las bases de los sistemas informáticos, especialmente algunas ideas y conceptos importantes como la arquitectura multicapa, el mecanismo de exclusión entre procesos secuenciales, etc., que fueron propuestos por primera vez por Dick Stella en 2000 y posteriormente. adoptados por UNIX y otros utilizados por el sistema operativo. Para determinar si un proceso puede ocupar el procesador en un solo procesador, Dijkstra divide cada proceso en tres estados de trabajo: listo, en ejecución y bloqueado. Debido a que sólo un proceso puede utilizar el procesador a la vez, el proceso que ocupa el procesador se denomina proceso "en ejecución". Un proceso está en estado "listo" cuando tiene acceso condicional a un procesador, pero actualmente no hay ningún procesador disponible para su uso. Cuando un proceso en ejecución no puede continuar ejecutándose por algún motivo, deja de ocupar el procesador y entra en el estado "bloqueado", y luego entra en el estado "listo" cuando se levanta la condición que provocó que dejara de ejecutarse. En cuanto a la sincronización (es decir, para evitar errores, cuando un proceso accede a los datos, el otro proceso no accede a ellos) y la exclusión mutua (es decir, dos procesos no pueden utilizar el mismo recurso reutilizable en un área crítica al mismo tiempo, como como una relación de búfer de lectura y escritura), Dixtra utiliza inteligentemente el sistema de control de operación del tren. El llamado semáforo es en realidad una unidad de almacenamiento que representa un determinado recurso y se utiliza para controlar el estado del proceso. Por ejemplo, P1 y P2 son dos procesos que envían datos al búfer B y leen datos del búfer B respectivamente. Para evitar que se produzcan errores cuando dos procesos son concurrentes, Dijkstra diseñó un mecanismo de sincronización llamado "operación PV". La operación p y la operación V son dos primitivas del sistema operativo que no se interrumpen durante la ejecución. Cuando se realiza la operación P P(S), el valor del semáforo S disminuye en 1. Si el resultado no es negativo, P(S) finaliza; de lo contrario, el proceso que realiza la operación P se suspende en espera de su liberación. Cuando se ejecuta la operación V V(S), el valor de S aumenta en 1. Si el resultado no es mayor que 0, se libera el proceso que espera ejecutar P(S). Para P1 y cóncavo se pueden definir dos semáforos S1 y S2, con valores iniciales de 1 y 0 respectivamente. El proceso P1 realiza la operación P P (S1) antes de enviar datos al búfer B y realiza la operación V V (S2) después de enviar datos. El proceso P2 realiza la operación P antes de leer los datos del búfer B (S2) y la operación V V(s 1) después de leer los datos. Cuando P1 envía datos al búfer B, el valor del semáforo S1 se vuelve 0. Después de leer los datos, el valor de S1 vuelve a ser 1. Por lo tanto, el siguiente número no se envía antes de que se lea el número anterior, asegurando la sincronización entre P1 y P2. Los lectores chinos a menudo no entienden por qué este mecanismo de sincronización se llama operación fotovoltaica. Resulta que Dijkstra lo definió en holandés, porque en holandés, la operación fotovoltaica lleva el nombre de llamar a passeren y liberar VRIJGEVEN. Este es uno de los pocos ejemplos de términos informáticos que no están expresados ​​en inglés.