2020 Faculty Courses School of Computing Department of Computer Science Graduate major in Computer Science
System Development Studio: Advanced II
- Academic unit or major
- Graduate major in Computer Science
- Instructor(s)
- Katsuhiko Gondow / Kota Uchida / Miho Nagase
- Class Format
- Exercise (Zoom)
- Media-enhanced courses
- -
- Day of week/Period
(Classrooms) - 5-8 Fri (Zoom)
- Class
- -
- Course Code
- CSC.T437
- Number of credits
- 020
- Course offered
- 2020
- Offered quarter
- 4Q
- Syllabus updated
- Jul 10, 2025
- Language
- Japanese
Syllabus
Course overview and goals
An operating system (OS) is one of the most basic software in a computer system.
To learn a computer science deeply, it is a good method to dive into OS and struggle with codes.
In this class, students learn components of a recent computer based on x86-64 and construct an OS for it by their hand.
Course description and aims
Students gain an understanding of components for a recent computer system.
They also gain an experience of adding and modifying features for a sample operating system.
Keywords
Operating system, x86-64
Competencies
- Specialist skills
- Intercultural skills
- Communication skills
- Critical thinking skills
- Practical and/or problem-solving skills
Class flow
Lecture and work.
Students will write codes for a sample OS provided in this course.
Course schedule/Objectives
Course schedule | Objectives | |
---|---|---|
Class 1 | Operating systems | to know the concepts of an OS |
Class 2 | UEFI and 64 bits environment | to know boot sequence |
Class 3 | Screen drawing and fonts | to know how to draw on a screen |
Class 4 | PS/2 and USB mouse | to know how to input using USB devices |
Class 5 | APIC and interrupts | to know interrupt handling |
Class 6 | Memory management | to know concepts and methods of memory management |
Class 7 | Timers | to know how to measure times |
Class 8 | Multi tasking | to know how to run tasks concurrently |
Class 9 | File systems | to know concepts of file systems |
Class 10 | Applications | to know how to run an application contained in a separated file |
Class 11 | Address translation | to know concepts of address translation |
Class 12 | System calls | to know how to implement system calls |
Class 13 | File access from an application | to know how to implement file descriptors |
Class 14 | Memory management in an application | to know concepts of demand paging |
Study advice (preparation and review)
To enhance effective learning, students are encouraged to spend approximately 100 minutes preparing for class and another 100 minutes reviewing class content afterwards (including assignments) for each class.
They should do so by referring to textbooks and other course material.
Textbook(s)
None
Reference books, course materials, etc.
To be specified in class
Evaluation methods and criteria
Students must submit codes (including modification to a sample OS) with reports describing the codes.
Impressiveness of the modifications and reports is assessed.
Related courses
- MCS.T314 : Operating Systems
- CSC.T371 : System Software
Prerequisites
It is preferable to be able to use Linux terminal commands.
Other
http://www.itpro.titech.ac.jp/