Skip to main content

Hệ điều hành

Enrollment in this course is by invitation only

xin chào tất cả các bạn!

Thuật ngữ "hệ điều hành" được biết đến rộng rãi bởi mọi người, mà hầu như ai cũng từng nghe đến những cái tên như Windows 10, Android, iOS, MacOS...  khi lần đầu tiên sử dụng hoặc lựa chọn khi mua máy tính hoặc thiết bị di động như smartphone. Chúng ta cũng đều hiểu rằng, để các thiết bị đó có thể hoạt động và cài đặt các ứng dụng tiện ích đó thì hệ điều hành luôn phải được cài đặt trước tiên. Vậy hệ điều hành có vai trò gì trong hệ thống máy tính? Hệ điều hành hoạt động như thế nào? Khóa học này được thiết kế để cung cấp cho học viên các kiến thức về kiến trúc và nguyên lý hoạt động của hệ điều hành máy tính.

ĐỐI TƯỢNG THAM GIA

  • Là những người có mong muốn học lấy bằng Đại Học, hoàn thành xong chứng chỉ CC3 có thể trở thành lập trình viên, kỹ sư phần mềm
  • 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 được khái niệm cơ bản và kiến trúc hệ điều hành hiện đại
  • Trình bày được nguyên lý thiết kế và kiến trúc hệ điều hành Linux, MacOS
  • Sử dụng các thao tác để xem thông tin hệ thống trong hệ điều hành
  • 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
  • Biên dịch và chạy chương trình đa tiến trình trên hệ điều hành Linux
  • Tương tác với đa tiến trình trên hệ điều hành Linux
  • Trình bày được quy tắc lập lịch CPU cho tiến trình và cơ chế truyền thông giữa các tiến trình
  • Sử dụng các hàm thư viện lập trình để tạo và điều khiển luồng
  • Biên dịch và chạy chương trình đa luồng trong hệ điều hành Linux
  • Giải thích được hoạt động của tiến trình đa luồng
  • Sử dụng các cơ chế đồng bộ luồng trong tiến trình đa luồng
  • Trình bày được khái niệm tắc nghẽn (deadlock)
  • Phân biệt chương trình đa tiến trình và chương trình đa luồng
  • Trình bày được mô hình điều khiển hướng sự kiện, cách sử dụng mô hình đa luồng trong một số ứng dụng
  • Trình bày cách đánh giá hiệu năng của các mô hình xử lý đồng thời
  • Giải thích được thuật toán và cơ chế lập lịch của hệ điều hành Linux
  • Giải thích được sự cần thiết và cơ chế quản lý bộ nhớ trong hệ điều hành
  • Giải thích được cách thức giao tiếp, điều khiển của CPU với thiết bị nhập/xuất
  • Trình bày được cấu trúc và cơ chế quản lý tệp tin của hệ điều hành
  • Sử dụng hệ thống tệp tin trên hệ điều hành Linux
  • Sử dụng các hàm thư viện lập trình để truy cập, thao tác và hiển thị lỗi thao tác với tệp tin và thư mục
  • Giải thích được cơ chế truyền thông điệp, chia sẻ bộ nhớ
  • Giải thích được cấu trúc đồng bộ spinlock, semaphore
  • Trình bày được vai trò của phần cứng trong đồng bộ hóa
  • Trình bày được các mức độ ảo hóa
  • Trình bày được các giải pháp thực hiện ảo hóa
  • Giải thích được sự cần thiết của điện toán đám mây
  • Trình bày được các công nghệ nền tảng để xây dựng điện toán đám mây

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 11 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, Exercise và 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) và Progress test 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 ĐIỂM CỦA MÔN HỌC

Khóa học được thiết kế nhằm cung cấp các kiến thức và kỹ năng nền tảng mà một kỹ sư phần mềm cần phải có:

  • Hiểu biết các khái niệm cơ bản trong hệ điều hành máy tính
  • Hiểu cách thức quản lý các tài nguyên trên máy tính bao gồm phần cứng, phần mềm ứng dụng, dữ liệu
  • Sử dụng các chức năng nâng cao để khám phá một số hoạt động của hệ điều hành Linux
  • Hiểu cách thức xây dựng cá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

CHUYÊN GIA THIẾT KẾ VÀ PHẢN BIỆN MÔN HỌC

THIẾT KẾ 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 Trần Đại Dương

File preview

  • Trình độ chuyên môn: Kỹ thuật Máy tính
  • Nghề nghiệp: Giảng viên
  • Nơi công tác: Trường ĐH Công nghệ Thông tin, ĐHQG-HCM
  • Kinh nghiệm: 2 năm kinh nghiệm trong lĩnh vực Thiết kế Bán dẫn, 4 năm kinh nghiệm giảng dạy trong lĩnh vực Công nghệ Thông tin và Kỹ thuật Máy tính

PHẢN BIỆN MÔN HỌC

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/

File preview

Chuyên gia Ngô Hải Anh

  • Nghiên cứu viên chính, Phó trưởng phòng Tin học viễn thông, Viện Công nghệ thông tin (Viện Hàn lâm Khoa học và công nghệ Việt Nam)
  • 13 năm kinh nghiệm trong lĩnh vực nghiên cứu & phát triển, đào tạo mạng máy tính, an toàn thông tin.
  • 12 năm kinh nghiệm giảng dạy và đào tạo thực hành, chứng chỉ CNTT quốc tế cho các công ty, trường đại học (Đại học FPT, Học viện An ninh, Đại học Điện lực, FPT Software, Vietsoftware International, SoftTech, Aptech, NIIT).
  • Ủy viên hội đồng sát hạch kỹ sư công nghệ thông tin theo chuẩn Nhật Bản (ITPEC).
  • Profile online: https://www.linkedin.com/in/ngohaianh (LinkedIn); https://www.facebook.com/haianh.ioit (Facebook)

FUNIX WAY

Mục đích của các chương trình học theo FUNiX Way là người học tự tin và thành thạo trong môi trường số, có thể kiếm được thu nhập bằng nghề mà mình theo học hoặc sử dụng những gì đã học được để làm tốt hơn việc hiện tại, có động lực và khả năng nâng cao tay nghề, có thể làm thành viên dự án chuyên môn và tham gia cộng đồng nghề như một thành viên có trách nhiệm.

NGUỒN HỌC LIỆU

Khóa học MOOC này được cung cấp trên nền tảng Udacity. Đâ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.

Việc liệt kê nguồn dưới đây không nhất thiết hàm ý rằng FUNiX có sự hợp tác chính thức với chủ sở hữu của nguồn Introduction to Operating Systems của Udacity.


KÊNH PHẢN HỒI

FUNiX sẵn sàng đón nhận và trao đổi về mọi ý kiến góp ý, phản hồi liên quan đến học liệu qua email program@funix.edu.vn