Hệ điều hành
Hệ điều hành
- Phần đầu bao gồm những khái niệm chung về hệ điều hành, vai trò trong hệ thống máy tính, các thành phần chức năng và một số kiểu kiến trúc thông dụng. Được thực hành cài đặt hệ điều hành Linux và thao tác cũng như sử dụng một số câu lệnh cơ bản và chuyên sâu với Bash Shell. Ngoài ra, còn được thao tác với một số thuật toán liên quan tới lập lịch cũng như là việc cấp phát bộ nhớ.
- Phần hai sẽ được trình bày về quản lý bộ nhớ. Một số vấn đề liên quan tới bộ nhớ và địa chỉ, một số kỹ thuật tổ chức chương trình, phân chương, phân trang, phân đoạn bộ nhớ và cách tổ chức quản lý bộ nhớ ảo, từ đó áp dụng thực tế để thực hành liên quan tới quản lý bộ nhớ trong hệ điều hành Linux như: tính toán thời gian trung bình, tính toán thời gian phân bổ TLB, bài toán về thuật toán thay thế trang,...
- Trong phần ba và bốn sẽ tìm hiểu về quản lý tiến trình và luồng trong hệ điều hành, tập trung vào việc đồng bộ hóa trong hệ thống với một CPU và nhiều tiến trình. Việc thao tác và làm việc với hệ thống file sẽ được thể hiện trực quan trên hệ điều hành Linux, làm quen và thao tác với một số câu lệnh nâng, bài toán liên quan tới xử lý về cấp phát và quản lý không gian lưu trữ file, tổ chức bên trong của file và thư mục. Một số khái niệm quan trọng về tổ chức vào ra của máy tính và phân hệ quản lý vào/ra của hệ điều hành cũng được thực hành và thể hiện trong hai phần cuối này.
ĐỐI TƯỢNG THAM GIA
- Là những người có mong muốn học lấy bằng Đại Học
- Là những người muốn bổ sung kiến thức, kỹ năng cơ bản trong hệ điều hành máy tính
- Là những người muốn có kỹ năng quản lý tài nguyên trên máy tính gồm phần cứng và phần mềm ứng dụng, dữ liệu
- Là những người muốn khám phá một số hoạt động của hệ điều hành Linux, xây dựng được chương trình tương tác và sử dụng các cơ chế điều khiển của hệ điều hành
MỤC TIÊU MÔN HỌC
Sau khi học xong môn này, học viên sẽ đạt được các chuẩn kiến thức, kỹ năng đầu ra như sau:
- Trình bày khái niệm cơ bản và kiến trúc hệ điều hành hiện đại.
- Sử dụng các thao tác để xem thông tin hệ thống trong hệ điều hành.
- Sử dụng và thao tác ngôn ngữ C / C++ trên Linux
- Giải thích được khái niệm tiến trình, trạng thái và vòng đời của tiến trình.
- Sử dụng các thao tác để làm việc với thư mục trong Linux.
- Trình bày được các dạng của bộ lập lịch CPU.
- Giải thích được thuật toán và cơ chế lập lịch của hệ điều hành Linux.
- Trình bày và giải thích được các kỹ thuật về cấp phát bộ nhớ.
- Thực hành được các câu lệnh làm việc với Bash Shell
- Giải thích được khái niệm và các dạng của phân trang tương ứng.
- Trình bày khái niệm về bộ nhớ ảo và thời gian truy cập của bộ nhớ trung bình.
- Trình bày khái niệm của bộ đệm và phân bổ khung cho tiến trình.
- Trình bày khái niệm về chia sẻ bộ nhớ và cơ chế đồng bộ hóa.
- Giải thích được các cơ chế đồng bộ hóa tương ứng.
- Thao tác và trình bày được bài toán Producer - Consumer
- Trình bày khái niệm về tắc nghẽn (deadlock)
- Giải thích được kỹ thuật và cách kiểm soát đối với deadlock.
- Trình bày được cấu trúc và thao tác với thuộc tính trong quản lý tệp tin của hệ điều hành
- Giải thích được những lời gọi hệ thống khi làm việc với hệ thống nhập/xuất
- Sử dụng các thao tác để làm việc với tệp tin trong hệ điều hành
- Trình bày được các phương pháp phân bổ tệp.
- Thao và giải thích được hoạt động của đa luồng / đa tiến trình.
- Biên dịch và chạy chương trình đa luồng / đa tiến trình trong hệ điều hành Linux
THÔNG TIN VỀ KHÓA HỌC
TRẢI NGHIỆM HỌC TẬP
Môn học sẽ có 4 học phần với 21 bài học. Mỗi bài sẽ có một (hoặc vài) đoạn video yêu cầu học viên phải xem kỹ, thực hành theo hướng dẫn và trả lời quiz. Xuyên suốt môn học, các bài Quiz, Lab sẽ giúp các bạn tăng cường việc ghi nhớ và vận dung lý thuyết đã học vào các bài toán thực tế. Ở mỗi phần học, môn học thiết kế các bài tập lớn (Assignment) giúp các bạn có hình dung và trải nghiệm thao tác quản lý trên hệ điều hành.
Trong thời gian học (dự kiến là 6 tuần), việc phân bổ tuần học là rất quan trọng. Nếu các bạn có bất cứ câu hỏi nào hãy kết nối với Mentor để được giải đáp.
CẤU TRÚC MÔN HỌC
Phần 1: Cơ bản về hệ điều hành
- Bài 1 - Tổng quan về hệ điều hành
- Bài 2 - Tiến trình và đa chương trình
- Bài 3 - Các dạng của bộ lập lịch CPU
- Bài 4 - Các dạng của thuật toán lập lịch
- Bài 5 - Các thuật toán lập lịch nâng cao
- Bài 6 - Các thuật toán lập lịch nâng cao (tiếp theo) và hệ thống số
- Bài 7 - Kỹ thuật về cấp phát bộ nhớ
Phần 2: Quản lý bộ nhớ
- Bài 8 - Phân trang
- Bài 9 - Các dạng của phân trang
- Bài 10 - Bộ nhớ ảo
- Bài 11 - Bộ đệm và phân bổ khung
Assignment 01 - Lập trình với Bash Shell
Phần 3: Đồng bộ hóa và Deadlock
- Bài 12 - Chia sẻ bộ nhớ và cơ chế đồng bộ hóa
- Bài 13 - Các cơ chế đồng bộ hóa
- Bài 14 - Các kỹ thuật nâng cao
- Bài 15 - Deadlock và phương pháp xử lý
- Bài 16 - Làm việc với hệ thống tệp tin
- Bài 17 - Làm việc với hệ thống tệp tin (tiếp theo)
Assignment 02 - Sử dụng các hàm thư viện lập trình để thao tác với tệp tin và thư mục
Phần 4: Hệ thống tệp tin và luồng
- Bài 18 - Các phương pháp phân bổ tệp
- Bài 19 - Lời gọi hệ thống
- Bài 20 - Luồng và Đa luồng trong Linux
- Bài 21 - Quản lý I/O
Assignment 03 - Thao tác tiến trình và luồng
CHUYÊN GIA THIẾT KẾ VÀ PHẢN BIỆN MÔN HỌC
Chuyên gia Bùi Trọng Tùng
- Giảng viên tại Viện Công nghệ thông tin và Truyền thông, Đại học Bách khoa Hà Nội
- 10 năm kinh nghiệm giảng dạy và đào tạo thực hành tại các trường Đại học, cơ quan, công ty (Đại học Bách khoa Hà Nội, Đại học Hùng Vương, Đại học Tây Bắc, Bộ Công an, Tập đoàn VNPT) trong các lĩnh vực Mạng máy tính, An toàn bảo mật thông tin
- 7 năm kinh nghiệm quản trị mạng và hệ thống
- Personal Website: https://users.soict.hust.edu.vn/tungbt/
Chuyên gia Nguyễn Quốc Long
- Giảng viên bộ môn IT – Trường Đại học FPT
- 12 năm kinh nghiệm làm việc trong lĩnh vực CNTT, thiết kế và thi công hệ thống Mạng máy tính và nghiên cứu An toàn thông tin.
- 10 năm giảng dạy và đào tạo thực hành các môn học, chứng chỉ quốc tế (Đại học FPT, Đại học Duy Tân, iSpace, NIIT, Trường Tân Center)
- Đạt các chứng chỉ: Google UX Certificate, UI/UX Design của California Institute of the Arts, Web Design for Everybody của University of Michigan...
- Profile Online: https://www.linkedin.com/in/nguyen-quoc-long-18534b19b/
NGUỒN HỌC LIỆU
Khóa học MOOC này được cung cấp trên nền tảng Udemy. Đây là nền tảng cung cấp các khóa học trực tuyến đại chúng mở được đánh giá rất cao trong các nền tảng MOOC hiện nay trên thế giới.