The purpose of this course is to provide an understanding of issues in the design and implementation of embedded systems as well as related operating system and virtualization support. Topics include: Communication and peripherals, interrupt handling, NAND FLASH and memory technologies, concurrency, real-time characteristics, operating systems support, kernel drivers, memory management, network and storage I/O in the kernel, system virtualization for processor, memory, I/O. CS428 is a lab-oriented course with hands-on assignments that guide you through working with embedded processors and the Linux operating system. We prototype a working runtime system for the Lego NXT platform that controls all peripherals and we review in a hand-on manner the fundamentals of ARM-based Linux virtualization.
Learning Objectives:
Communication and peripherals: interrupt controllers, LCDs, sound, serial interfaces, busses
Interrupts and interrupt handling NAND FLASH and memory technologies
Concurrency, real-time characteristics
Operating systems support
Kernel drivers, memory management, network and storage I/O in the kernel
System virtualization: processor, memory, I/O
Grading:
Specific details on grading can be found on the course’ s website
The courses of the Computer Science Department are designated with the letters "CS" followed by three decimal digits. The first digit denotes the year of study during which students are expected to enroll in the course; the second digit denotes the area of computer science to which the course belongs.
First Digit
Advised Year of Enrollment
1,2,3,4
First, Second, Third and Fourth year
5,6
Graduate courses
7,8,9
Specialized topics
Second Digit
Computer Science Area
0
Introductory - General
1
Background (Mathematics, Physics)
2
Hardware Systems
3
Networks and Telecommunication
4,5
Software Systems
6
Information Systems
7
Computer Vision and Robotics
8
Algorithms and Theory of Computation
9
Special Projects
The following pages contain tables (one for each course category) summarizing courses offered by the undergraduate studies program of the Computer Science Department at the University of Crete. Courses with code-names beginning with "MATH" or "PHYS" are taught by the Mathematics Department and Physics Department respectively at the University of Crete.