Εμφάνιση απλής εγγραφής

dc.contributor.author Κεχαγιάς, Δημήτριος el
dc.contributor.author Γρίβας, Μιχάλης el
dc.date.accessioned 2015-05-08T19:52:09Z
dc.date.issued 2015-05-08
dc.identifier.uri http://hdl.handle.net/11400/9996
dc.rights Αναφορά Δημιουργού-Μη Εμπορική Χρήση-Όχι Παράγωγα Έργα 3.0 Ηνωμένες Πολιτείες *
dc.rights.uri http://creativecommons.org/licenses/by-nc-nd/3.0/us/ *
dc.source http://iated.org/ en
dc.subject microcomputing education
dc.subject linux kernel modules
dc.subject device drivers
dc.subject εκπαίδευση μικροπληροφορικής
dc.subject Οδηγοί συσκευών
dc.title Teaching microprocessor systems by building linux drivers en
heal.type conferenceItem
heal.classification Science
heal.classification Mathematics
heal.classification Higher education
heal.classification Επιστήμες
heal.classification Μαθηματικά
heal.classification Εκπαίδευση, Ανώτατη
heal.classificationURI http://zbw.eu/stw/descriptor/15685-2
heal.classificationURI http://zbw.eu/stw/thsys/70269
heal.classificationURI http://skos.um.es/unescothes/C01791
heal.classificationURI **N/A**-Επιστήμες
heal.classificationURI **N/A**-Μαθηματικά
heal.classificationURI **N/A**-Εκπαίδευση, Ανώτατη
heal.dateAvailable 10000-01-01
heal.language en
heal.access forever
heal.publicationDate 2009-03
heal.bibliographicCitation Kehagias, D. and Grivas, M. (2009) Teaching microprocessor systems by building linux drivers, In: Proceedings of the International Technology, Education and Development Conference (INTED 2009). Valencia, Spain, 9-11 March, 2009. [online]. p.33-38. Available from: http://iated.org/ en
heal.abstract Most of the computer science and information technology courses are about programming in a high level, based on mathematical principles and methodologies of abstraction, such as object-oriented programming, message passing, event-based, object-oriented, distributed-orientated code and data persistence. Our department follows the same guidelines. The problem that inherently appears is that high-level programming does not provide a clear understanding of what the computer really does when executing a program. Students are alienated from the infrastructure, which in turn renders impossible to understand lower-level issues, such as memory leakage and other problems, or synchronisation issues that appear in embedded or real-time systems. Most of the students build a distorted perception of hardware matters and dim view about how a program works in the digital microcosm. The course of “Microcomputers and applications” focuses on providing the low-level details of computing to students. It aims to clarify the infrastructure of computing by studying the parts of a computer (from CPU to I/O) and their functionality in terms of software. Completing the course, students have a clear understanding of the computer parts, functions and communications. A survey in several curricula agreed with our feeling that Linux kernel modules may be used excellently as educational tool. Linux kernel modules offer several advantages over user-level programs, including the availability of open-source code, while they simplify and isolate the work from the actual kernel code, although they are part of a running kernel. Also, they protect against some of the vulnerabilities of system programming. Administrative difficulties that system programming imposes are annihilated using virtual machines. In our lab session, we introduced Linux kernel modules as a long project. First, a project drives from 8086 Assembly to 32-bit Assembly and C on Linux. Then, students build a simple kernel module in C. There, they link a function in Assembly that becomes the interrupt handler for the serial port. The requirements were: (a) Introduce interrupts and IRQ handling and (b) control serial port (the UART). Previously, those issues where studied independently, in separate projects for interrupts and serial communication in 8086 Assembly. We felt that introducing C linked to Assembly, in a contemporary set-up (32-bit) and together with more operating systems experience, would increase students' interest on the course. A Linux kernel module for a serial-port device driver was the conclusion. The serial port is read -when interrupts- and the characters found are sent back. The project was introduced in autumn 2007, after discussion with the students, who responded unexpectedly positive, immediately expressing their interest. During the semester they showed initiatives to learn more in a faster, self-driven pace. The following semester it was a positive surprise that more people applied for the course. en
heal.publisher International Technology, Education and Development en
heal.fullTextAvailability false
heal.conferenceName International Technology, Education and Development Conference (INTED 2009) en
heal.conferenceItemType abstract


Αρχεία σε αυτό το τεκμήριο

Αρχεία Μέγεθος Μορφότυπο Προβολή

Δεν υπάρχουν αρχεία που σχετίζονται με αυτό το τεκμήριο.

Οι παρακάτω άδειες σχετίζονται με αυτό το τεκμήριο:

Εμφάνιση απλής εγγραφής

Αναφορά Δημιουργού-Μη Εμπορική Χρήση-Όχι Παράγωγα Έργα 3.0 Ηνωμένες Πολιτείες Εκτός από όπου ορίζεται κάτι διαφορετικό, αυτή η άδεια περιγράφεται ως Αναφορά Δημιουργού-Μη Εμπορική Χρήση-Όχι Παράγωγα Έργα 3.0 Ηνωμένες Πολιτείες