The book

Solo disponible en BuenasTareas
  • Páginas : 23 (5737 palabras )
  • Descarga(s) : 0
  • Publicado : 9 de septiembre de 2010
Leer documento completo
Vista previa del texto
Pr´cticas de Perif´ricos a e
F. Javier Gil Gabriel J. Garc´ G´mez ıa o DFISTS Curso 2009-10

1

1.

Sobre las pr´cticas a

Esta secci´n fu´ escrita en el momento en que decid´ cambiar el modelo o e ı de pr´cticas, que anteriormente era un modelo de enunciados abiertos. La a mantengo porque las consideraciones que hice entonces siguen siendo instructivas. 1. Durante el curso pasadodetect´ algunas deficiencias en programaci´n. e o Estas deficiencias se han ido acentuando con el paso de los a˜os. En el n curso pasado se rebas´, hacia abajo, el umbral que marca la diferencia o entre poder o no poder hacer las pr´cticas. a La causa fundamental, a mi juicio, ha sido el abandono de los lenguajes de programaci´n de bajo nivel en favor de lenguajes de m´s alto nivel. o a De Pascal se pas´a C, y luego a C++ y Java. Como resultado, se o han perdido competencias de programaci´n a bajo nivel, que en la o programaci´n de sistemas son imprescindibles. o Algunas de las deficiencias o errores t´ ıpicos encontrados entre los alumnos del curso pasado son los siguientes: Desconocimiento de las operaciones de bits Desconocimiento de la representaci´n interna de los n´ meros. Por o u ejemplo,creencia de que el n´ mero ’5’ ocupa un byte mientras que u el n´ mero ’1234’ ocupa 4 bytes. u Incapacidad para usar correctamente los punteros: declararlos, asignarlos, usar moldeadores de tipo con ellos, uso de punteros a punteros, manejo de memoria din´mica, punteros a funciones. a Desconocimiento de la diferencia entre n´ meros de 8 bits, tipo de u dato ’car´cter’, c´digo ASCII y figuraasociada para su represena o taci´n en pantalla. o Manejo deficiente de cadenas de caracteres y su relaci´n con el o tipo ’puntero a car´cter’ a 2. A estos problemas causados por el cambio en el paradigma de programaci´n se une otro, y es el cambio en el paradigma del entorno de o programaci´n. Muchos alumnos no comprenden que las herramientas o de alto nivel funcionan sobre sistemas completos. Cuando seprograma a bajo nivel, el sistema a´ n no existe y por tanto no existen aplicau ciones sofisticadas, como depuradores de c´digo o editores elaborados, o para ayudar en la tarea. 2

Es preciso que el alumno se familiarice con un entorno de programaci´n o m´s austero. Y es preciso que el alumno se familiarice con herramiena tas que han sido dise˜ adas para funcionar bien en entornos austeros: ncompiladores en l´ ınea de ´rdenes, editores ligeros, ensamblador y deso ensamblador. 3. Otro problema, consecuencia de los anteriores, viene del hecho de que se han abandonado lo que siempre fueron consideradas ’buenas pr´cticas’ a de programaci´n. En particular, he encontrado con inusitada frecuencia o los siguientes defectos: C´digo con formato deficiente e incluso sin formato alguno o Muydeficiente factorizaci´n del c´digo, con funciones de cientos o o de l´ ıneas. Desconocimiento de la existencia de distintas capas en que se organiza el c´digo del sistema. Esto lleva, por ejemplo, a pretender o usar la funci´n printf() dentro del controlador de pantalla. o Una actitud casi un´nime de precipitaci´n hacia el teclado, cuando a o el trabajo importante se hace antes, con papel y l´piz. a Uso deabstracciones innecesarias. Por ejemplo, cuando se necesita una pila, que no es m´s que un vector cuyo primer elemento se usa a como ´ ındice, casi todos los alumnos de pr´cticas en el curso ana terior usaron una lista doblemente enlazada, que es algo as´ como ı diez veces m´s compleja que la representaci´n obvia de una pila. a o 4. Todo esto me obliga a replantear el contenido y objetivos de laspr´ctia cas de Perif´ricos, una vez constatadas estas deficiencias. Durante los e a˜ os anteriores, he usado preferentemente un peque˜ o sistema operan n tivo (m´ ınimo) con una arquitectura que permit´ escribir los controlaıa dores de dispositivo en C, sin tener que recurrir al ensamblador. Este sistema pod´ ejecutar varias tareas y permit´ ’entrar’ en el controlaıa ıa dor de pantalla,...
tracking img