Ưu đãi trong tuần: Nhập mã UD50 giảm 50k cho đơn từ 300k!
Trang chủ
Menu

Write Your Own Operating System From Scratch - Step by Step

Tự viết hệ điều hành từ đầu - từng bước một

Tự viết hệ điều hành từ đầu - từng bước một

Xây dựng hệ điều hành 64-bit của riêng bạn - trên kiến trúc x86

4.4
(418 đánh giá)
5,742 học viên
Giảng viên
x-BIT Development
Phụ đề Việt chất lượng cao Phụ đề tiếng Anh Bán chạy Đánh giá cao
50.000đ 1.419.000đ -96%
✓ Xem giỏ hàng và thanh toán
Bao gồm phụ đề tiếng Việt, tiếng Anh
10.0 giờ video
65 bài giảng
Truy cập vĩnh viễn
Học trên mọi thiết bị
Cập nhật: 28/05/2026

Bạn sẽ học được gì

Có thể xây dựng một hệ điều hành đơn giản cho kiến trúc x86
Hiểu về real mode
Hiểu về protected mode và long mode
Cách xử lý ngắt và ngoại lệ trong chế độ 64-bit
Cách viết kernel hệ điều hành bằng hợp ngữ và ngôn ngữ C
Viết được hàm in ký tự lên màn hình
Xây dựng được bộ quản lý bộ nhớ dùng cơ chế phân trang x86
Cách viết bộ xử lý timer cho trình quản lý tiến trình
Cách xây dựng trình quản lý tiến trình để lập lịch và chuyển đổi trạng thái tiến trình (ngủ, sẵn sàng, kết thúc)
Cách triển khai module gọi hệ thống để chạy chương trình người dùng trong hệ thống
Viết driver bàn phím (PS/2)
Viết console đơn giản và tương tác với kernel qua lệnh
Viết được module hệ thống tập tin đơn giản hỗ trợ đọc fat16

Yêu cầu

Kiến thức cơ bản về hợp ngữ x86 và ngôn ngữ C
Có máy tính thử nghiệm và ổ USB flash (nếu muốn chạy OS trên máy thật)

Đối tượng phù hợp

Học viên đã học các khái niệm về hệ điều hành và muốn áp dụng vào thực tế
Học viên tò mò về cơ chế nền tảng được dùng trong hệ điều hành
Người muốn xây dựng một hệ điều hành sở thích nhưng chưa biết bắt đầu từ đâu

Nội dung khóa học

11 phần • 65 bài giảng
1 Giới thiệu
2 BẮT BUỘC XEM
3 Các khái niệm hệ điều hành
4 Cấu trúc hệ điều hành
1 Làm việc với Windows 10 & 11 (Phần I Windows Subsystem)
2 Làm việc với Windows 10 & 11 (Phần II Công cụ khác)
3 Làm việc với MacOS
4 Làm việc với Linux (Ubuntu)
5 Cách sử dụng tài nguyên
1 Chương trình đầu tiên
2 Kiểm thử trên Windows
3 Kiểm thử trên Linux (Ubuntu)
4 Kiểm thử trên MacOS
5 Dịch vụ mở rộng đĩa kiểm thử
1 Loader
2 Hỗ trợ Long Mode
3 Nạp tệp kernel
4 Lấy bản đồ bộ nhớ
5 Kiểm tra dòng A20
6 Thiết lập chế độ video
7 Protected Mode
8 Long Mode
1 Nhảy tới kernel
2 Nạp lại GDT
3 Xử lý ngoại lệ và ngắt
4 Lưu thanh ghi
5 Thiết lập bộ điều khiển ngắt
6 Vào Ring3
7 Xử lý ngắt trong Ring3 Phần I
8 Xử lý ngắt trong Ring3 Phần II
9 Xử lý ngắt giả
1 Hàm chính của kernel
2 Kết hợp mọi thứ
3 Các hàm thư viện đơn giản
4 Hàm in
5 Kiểm tra lỗi
1 Lấy bản đồ bộ nhớ
2 Phân trang
3 Bộ cấp phát bộ nhớ
4 Trang bộ nhớ
5 Giải phóng trang bộ nhớ
6 Không gian người dùng
1 Tiến trình đầu tiên
2 Gọi hệ thống
3 Lập lịch
4 Ngủ và đánh thức
5 Thoát và chờ đợi
6 Kết thúc một tiến trình
1 Viết driver bàn phím PS/2 1
2 Viết driver bàn phím PS/2 2
3 Tương tác với kernel qua console
1 Giới thiệu
2 Làm việc với Windows
3 Làm việc với Linux (Ubuntu)
4 Làm việc với MacOS
5 Loader Mới
6 Cấu trúc FAT16
7 Nạp tệp từ ảnh FAT16
8 Tiến trình rảnh rỗi
9 Module tệp
10 Fork
11 Exec
12 Console Mới
13 Lệnh LS
1 Kết luận

Giới thiệu khóa học

Welcome to write your own 64-bit operating system course.

This course teaches you how to build a simple operating system from scratch. It covers basics about the x86 architecture and low-level programming. In this course, we will take you through the process of building a small working system step by step.

The first part of the course teaches all you need to know (processor modes, paging, exceptions and interrupts handling, etc.) before you can build the kernel on the x86 architecture. In this part, we will see how to prepare for mode switching. We switch from real mode to protected mode and then jump to long mode. Our kernel is running in 64-bit mode. After we switch to 64-bit mode, we will see how to handle exceptions and interrupts, how to switch between kernel mode and user mode.

The second part of the course teaches you how to build kernel modules such as processes, memory management, interrupt handling, etc. In this part, we will see how to write a keyboard driver and a console, how to interact with the OS kernel using the console. After finishing this part, you should know how to write user programs and make them run in your own operating system.


  • In this course you will learn:

         How to build a simple operating system for the x86 architecture.

         Understand real mode

         Understand protected mode and long mode

         How to handle interrupts and exceptions in the 64-bit mode

         How to write OS kernel with the assembly code and C code

         Be able to write print function to print characters on the screen

         Be able to build a memory manager using x86 paging mechanism

         How to write timer handler for the process manager

         How to build a process manager to schedule processes and change them among different states (sleep, ready, killed)

         How to implement system call module to make user programs running in the system

         Write a keyboard driver (PS/2)

         Write a simple console and interact with OS kernel using commands

         Be able to write a simple file system module which supports reading fat16 system.


At the end of the course, you should be able to develop your own 64-bit operating system.

Khóa học liên quan

Khám phá thêm các khoá học cùng chủ đề

Hiển thị tất cả khoá học Operating System Creation
Hiển thị tất cả khoá học Operating Systems
Hiển thị tất cả khoá học System Programming
Zalo
Tôi có thể tư vấn khoá học cho bạn 😊