Giáo trình Hệ điều hành - PGS. Từ Minh Phương (Học viện Bưu chính Viễn thông)

Chuyên ngành

Hệ Điều Hành

Người đăng

Ẩn danh

Thể loại

Giáo Trình

2023

279
0
0

Phí lưu trữ

55 Point

Tóm tắt

I. Tổng quan giáo trình hệ điều hành Nền tảng khoa học máy tính

Giáo trình hệ điều hành cung cấp kiến thức nền tảng và cốt lõi trong ngành khoa học máy tính. Đây là một thành phần không thể thiếu, đóng vai trò trung gian giữa phần cứng và người sử dụng. Việc nắm vững các nguyên lý từ tài liệu hệ điều hành là cơ sở để hiểu sâu sắc về toàn bộ hệ thống máy tính. Môn học này không chỉ trang bị kỹ năng cài đặt, sử dụng và khai thác hệ thống hiệu quả mà còn đi sâu vào các khía cạnh thiết kế và xây dựng. Nội dung giáo trình tập trung vào việc trình bày các khái niệm và nguyên lý hoạt động một cách tổng quát, thay vì chỉ dựa trên một hệ điều hành cụ thể như hệ điều hành Windows hay hệ điều hành Linux. Mục tiêu là giúp người học có cái nhìn toàn diện, từ đó có thể áp dụng vào nhiều nền tảng khác nhau. Các khái niệm trung tâm như quản lý tiến trình, quản lý bộ nhớ, và hệ thống tập tin được diễn giải chi tiết, kết hợp với các ví dụ minh họa thực tiễn để liên kết lý thuyết và thực tế. Một hệ thống máy tính điển hình bao gồm phần cứng (CPU, bộ nhớ, thiết bị I/O) và phần mềm (hệ điều hành, chương trình ứng dụng). Hệ điều hành quản lý các tài nguyên phần cứng, tạo ra một môi trường thuận tiện và hiệu quả cho các chương trình ứng dụng hoạt động. Nó che giấu sự phức tạp của phần cứng thông qua các lớp trừu tượng, cung cấp một giao diện lập trình ứng dụng (API) nhất quán. Nhờ đó, lập trình viên không cần phải làm việc trực tiếp với các thanh ghi hay lệnh máy cấp thấp. Các slide hệ điều hànhbài tập hệ điều hành thường xoay quanh các chủ đề này, giúp củng cố kiến thức về cấu trúc máy tính và nguyên tắc vận hành của hệ thống.

1.1. Vai trò của môn học hệ điều hành trong đào tạo CNTT

Trong chương trình đào tạo công nghệ thông tin, môn học hệ điều hành được xem là môn học cơ sở bắt buộc. Kiến thức từ môn học này mang lại ba lợi ích chính. Thứ nhất, nó cung cấp kỹ năng cài đặt, sử dụng và đánh giá hệ điều hành một cách hiệu quả, cần thiết cho chuyên gia vận hành hạ tầng. Thứ hai, nó trình bày kiến thức từ góc độ thiết kế và xây dựng, phục vụ cho các chuyên gia hệ thống. Thứ ba, và cũng là mục tiêu chính của nhiều giáo trình, là cung cấp kiến thức về các khái niệm và nguyên lý chung, giúp người học hiểu sâu hơn về cấu trúc máy tính. Theo PGS. Từ Minh Phương, việc nắm vững kiến thức này là "cơ sở cho việc hiểu biết sâu sắc hệ thống máy tính nói chung".

1.2. Cấu trúc hệ thống máy tính Phần cứng và phần mềm

Một hệ thống máy tính được chia thành bốn thành phần chính: phần cứng, hệ điều hành, chương trình ứng dụng và người dùng. Phần cứng, bao gồm CPU, bộ nhớ và các thiết bị vào/ra, cung cấp các tài nguyên tính toán cơ bản. Hệ điều hành là lớp phần mềm quản lý và điều phối việc sử dụng phần cứng giữa các ứng dụng khác nhau. Các chương trình ứng dụng, như trình duyệt web hay trình soạn thảo văn bản, định nghĩa cách các tài nguyên hệ thống được sử dụng để giải quyết vấn đề của người dùng. Hệ điều hành đóng vai trò như một "chính phủ", phân bổ tài nguyên một cách công bằng và hiệu quả, đảm bảo hệ thống hoạt động ổn định.

1.3. Các thành phần chính của một hệ điều hành tiêu biểu

Một hệ điều hành hiện đại thường bao gồm nhiều thành phần cốt lõi. Quản lý tiến trình chịu trách nhiệm tạo, xóa và điều phối các tiến trình. Quản lý bộ nhớ theo dõi phần nào của bộ nhớ đang được sử dụng, cấp phát và thu hồi không gian bộ nhớ khi cần. Quản lý hệ thống tệp tin cung cấp một cái nhìn logic, nhất quán về việc lưu trữ thông tin. Ngoài ra còn có hệ thống quản lý I/O để che giấu sự phức tạp của các thiết bị phần cứng cụ thể và hệ thống mạng để hỗ trợ giao tiếp giữa các máy tính. Tất cả các thành phần này cùng nhau tạo nên một cấu trúc hệ điều hành hoàn chỉnh.

II. Vấn đề cốt lõi của hệ điều hành Quản lý tài nguyên phức tạp

Một trong những thách thức lớn nhất mà mọi giáo trình hệ điều hành đều phải đề cập là việc quản lý tài nguyên hệ thống một cách hiệu quả và công bằng. Tài nguyên máy tính, bao gồm thời gian CPU, không gian bộ nhớ, không gian lưu trữ và các thiết bị vào/ra, đều có giới hạn. Trong một môi trường đa nhiệm, nhiều chương trình (tiến trình) cùng cạnh tranh để được sử dụng các tài nguyên này. Hệ điều hành phải đóng vai trò là người quản lý, quyết định tiến trình nào được cấp phát tài nguyên nào, trong bao lâu và theo thứ tự nào. Việc phân phối không hợp lý có thể dẫn đến hiệu suất hệ thống kém, thời gian chờ đợi kéo dài, hoặc thậm chí là tình trạng tê liệt hệ thống. Ví dụ, nếu hai tiến trình cùng yêu cầu ghi ra đĩa, hệ điều hành phải quyết định thứ tự thực hiện để tối ưu hóa việc truy cập. Vấn đề trở nên phức tạp hơn khi các tiến trình cần hợp tác và chia sẻ tài nguyên. Quá trình đồng bộ hóa là cực kỳ quan trọng để đảm bảo dữ liệu được nhất quán và tránh xung đột. Tuy nhiên, các cơ chế đồng bộ hóa nếu không được thiết kế cẩn thận có thể dẫn đến deadlock (bế tắc), một tình huống mà hai hay nhiều tiến trình chờ đợi lẫn nhau vô thời hạn và không tiến trình nào có thể tiếp tục. Giải quyết và phòng tránh deadlock là một trong những bài toán kinh điển của khoa học máy tính. Bên cạnh đó, hệ điều hành còn phải đảm bảo tính bảo mật và an toàn, ngăn chặn một tiến trình truy cập trái phép vào vùng nhớ hoặc tài nguyên của tiến trình khác. Đây là nhiệm vụ sống còn để duy trì sự ổn định của toàn hệ thống.

2.1. Thách thức trong phân phối tài nguyên CPU bộ nhớ I O

Việc phân phối tài nguyên là một bài toán tối ưu hóa phức tạp. Đối với CPU, hệ điều hành phải sử dụng các thuật toán lập lịch CPU để quyết định tiến trình nào sẽ chạy tiếp theo, nhằm tối đa hóa thông lượng và giảm thiểu thời gian chờ. Đối với bộ nhớ, thách thức là cấp phát không gian cho nhiều tiến trình trong khi bộ nhớ vật lý có hạn. Đối với các thiết bị I/O, hệ điều hành phải quản lý hàng đợi các yêu cầu và điều phối hoạt động để tránh xung đột. Mỗi loại tài nguyên đòi hỏi một chiến lược quản lý riêng biệt, và hệ điều hành phải cân bằng tất cả các yêu cầu này.

2.2. Vấn đề đồng bộ hóa và nguy cơ deadlock trong đa nhiệm

Khi các tiến trình đồng thời truy cập vào dữ liệu dùng chung, nguy cơ sai lệch dữ liệu là rất cao nếu không có cơ chế đồng bộ hóa. Các kỹ thuật như semaphore, mutex, và monitor được sử dụng để đảm bảo rằng tại một thời điểm chỉ có một tiến trình được phép truy cập vào vùng dữ liệu quan trọng (critical section). Tuy nhiên, việc sử dụng sai các công cụ này có thể dẫn đến deadlock. Một hệ điều hành phải có khả năng phát hiện, phòng ngừa, tránh né hoặc phục hồi từ các tình huống bế tắc để đảm bảo hệ thống không bị treo.

2.3. Đảm bảo an ninh và bảo mật trong môi trường đa người dùng

Trong hệ thống đa người dùng, việc bảo vệ tài nguyên của người dùng này khỏi người dùng khác là tối quan trọng. Hệ điều hành phải thực thi các cơ chế kiểm soát truy cập. Ví dụ, nó cần đảm bảo một tiến trình không thể đọc hoặc ghi vào vùng nhớ của một tiến trình khác, trừ khi được cho phép rõ ràng. Tương tự, hệ thống tệp tin phải có các quyền truy cập (đọc, ghi, thực thi) để kiểm soát ai có thể làm gì với một tệp tin. Các cơ chế này là nền tảng để xây dựng một hệ thống an toàn và đáng tin cậy.

III. Phương pháp quản lý tiến trình và bộ nhớ trong hệ điều hành

Để giải quyết các thách thức về tài nguyên, giáo trình hệ điều hành trình bày chi tiết hai phương pháp quản lý cốt lõi: quản lý tiến trình và quản lý bộ nhớ. Quản lý tiến trình là hoạt động giám sát các chương trình đang chạy, được gọi là tiến trình. Mỗi tiến trình là một thực thể động, cần tài nguyên như CPU và bộ nhớ để hoàn thành nhiệm vụ. Hệ điều hành chịu trách nhiệm tạo, xóa, tạm dừng và tiếp tục các tiến trình. Một phần quan trọng của quản lý tiến trình là lập lịch CPU, tức là quyết định tiến trình nào được sử dụng CPU tại một thời điểm nhất định. Các thuật toán lập lịch khác nhau sẽ tối ưu hóa các tiêu chí khác nhau, chẳng hạn như thời gian đáp ứng hoặc hiệu suất tổng thể. Song song đó, quản lý bộ nhớ là nhiệm vụ không kém phần quan trọng. Bộ nhớ chính (RAM) là một tài nguyên quý giá và cần được phân chia một cách hiệu quả giữa các tiến trình. Hệ điều hành phải theo dõi các vùng nhớ đang được sử dụng và các vùng còn trống. Các kỹ thuật như phân trang (paging) và phân đoạn (segmentation) được sử dụng để cấp phát bộ nhớ. Hơn nữa, để vượt qua giới hạn của bộ nhớ vật lý, khái niệm bộ nhớ ảo ra đời. Kỹ thuật này cho phép một tiến trình sử dụng không gian địa chỉ lớn hơn nhiều so với bộ nhớ RAM thực có, bằng cách sử dụng một phần của đĩa cứng làm không gian trao đổi. Hệ điều hành quản lý việc ánh xạ giữa địa chỉ ảo và địa chỉ vật lý, mang lại sự linh hoạt và hiệu quả cho việc thực thi chương trình.

3.1. Kỹ thuật quản lý tiến trình và phương pháp lập lịch CPU

Quản lý một tiến trình bao gồm việc lưu trữ thông tin về nó trong một khối quản lý tiến trình (Process Control Block - PCB), bao gồm trạng thái, bộ đếm chương trình, các thanh ghi, và thông tin lập lịch CPU. Hệ điều hành sử dụng các hàng đợi (sẵn sàng, chờ I/O) để tổ chức các tiến trình. Các thuật toán lập lịch như First-Come First-Served (FCFS), Shortest-Job-First (SJF), và Round Robin (RR) được áp dụng để phân phối thời gian CPU, mỗi thuật toán có ưu và nhược điểm riêng phù hợp với các loại hệ thống khác nhau.

3.2. Cách thức tổ chức và quản lý bộ nhớ chính bộ nhớ ảo

Bộ nhớ chính được quản lý bằng nhiều kỹ thuật. Phân chương cố định và động là các phương pháp ban đầu, nhưng dễ gây ra phân mảnh. Phân trang chia bộ nhớ logic và vật lý thành các khối có kích thước cố định (page và frame), giúp giải quyết vấn đề phân mảnh ngoại. Trong khi đó, bộ nhớ ảo kết hợp RAM và đĩa cứng để tạo ra một không gian địa chỉ lớn. Khi một tiến trình cần truy cập một trang không có trong RAM, một ngắt (page fault) xảy ra và hệ điều hành sẽ tải trang đó từ đĩa vào bộ nhớ.

3.3. Giao diện lập trình API và vai trò của lời gọi hệ thống

Để các chương trình ứng dụng có thể yêu cầu dịch vụ từ hệ điều hành (ví dụ: tạo tiến trình mới, đọc file), chúng sử dụng một giao diện được gọi là Lời gọi hệ thống (System Call). Lời gọi hệ thống chuyển quyền điều khiển từ chế độ người dùng sang chế độ kernel (chế độ hạt nhân), nơi hệ điều hành có thể thực hiện các thao tác đặc quyền. Các lập trình viên thường không gọi trực tiếp các lời gọi hệ thống mà thông qua Giao diện lập trình ứng dụng (API), chẳng hạn như Win32 API trên hệ điều hành Windows hoặc POSIX API trên hệ điều hành Linux và Unix. API cung cấp một lớp trừu tượng tiện lợi và đảm bảo tính di động của mã nguồn.

IV. Bí quyết tối ưu hệ thống tập tin và quản lý thiết bị I O

Bên cạnh việc quản lý CPU và bộ nhớ, một hệ điều hành hiệu quả phải có khả năng quản lý lưu trữ và các thiết bị ngoại vi một cách tối ưu. Hệ thống tệp tin là một trong những thành phần dễ thấy nhất của hệ điều hành, cung cấp một cơ chế trừu tượng hóa để lưu trữ và truy xuất dữ liệu trên các thiết bị lưu trữ thứ cấp như đĩa cứng. Thay vì làm việc với các khối (block) vật lý trên đĩa, người dùng và chương trình tương tác với các thực thể logic là tệp (file) và thư mục (directory). Hệ điều hành chịu trách nhiệm ánh xạ các tệp này lên đĩa, quản lý không gian trống, và cung cấp các thao tác như tạo, xóa, đọc, ghi tệp. Cấu trúc hệ điều hành trong phần này bao gồm các phương pháp cấp phát không gian đĩa như cấp phát liên tục, liên kết, hoặc chỉ mục (indexed), mỗi phương pháp đều có sự đánh đổi giữa hiệu suất, không gian và độ phức tạp. Song song với đó, quản lý I/O (vào/ra) là một nhiệm vụ quan trọng khác. Hệ điều hành phải quản lý một loạt các thiết bị đa dạng, từ bàn phím, chuột cho đến các ổ đĩa tốc độ cao. Để che giấu sự khác biệt của các thiết bị này, hệ điều hành sử dụng một hệ thống con I/O bao gồm các trình điều khiển thiết bị (device drivers). Trình điều khiển là phần mềm chuyên biệt, hiểu rõ cách giao tiếp với một thiết bị cụ thể. Hệ thống I/O cũng cung cấp các dịch vụ như bộ đệm (buffering) và caching để cải thiện hiệu suất, giảm thiểu số lần truy cập vật lý đến thiết bị. Một kỹ thuật quan trọng là Truy cập bộ nhớ trực tiếp (DMA), cho phép thiết bị truyền dữ liệu trực tiếp đến/từ bộ nhớ mà không cần sự can thiệp liên tục của CPU.

4.1. Cấu trúc hệ thống tệp tin File thư mục và phương pháp cấp phát

Hệ thống tệp tin tổ chức dữ liệu thành các file, mỗi file có các thuộc tính như tên, loại, kích thước, và quyền truy cập. Các file được nhóm lại trong các thư mục để tạo thành một cấu trúc phân cấp, giúp việc quản lý trở nên dễ dàng. Hệ điều hành sử dụng các phương pháp cấp phát khác nhau để lưu trữ file trên đĩa. Cấp phát liên tục nhanh nhưng gây phân mảnh. Cấp phát liên kết linh hoạt nhưng truy cập tuần tự chậm. Cấp phát chỉ mục (như trong hệ thống file của Unix) giải quyết được nhiều nhược điểm nhưng đòi hỏi không gian cho các khối chỉ mục.

4.2. Nguyên tắc quản lý I O Driver và truy cập bộ nhớ trực tiếp

Mục tiêu của hệ thống con quản lý I/O là cung cấp một giao diện đơn giản và đồng nhất cho các chương trình ứng dụng, bất kể thiết bị vật lý bên dưới là gì. Điều này đạt được thông qua các trình điều khiển thiết bị (drivers). Khi một ứng dụng yêu cầu thao tác I/O, hệ điều hành sẽ gọi driver tương ứng. Để tăng hiệu quả cho việc truyền khối dữ liệu lớn, cơ chế Truy cập bộ nhớ trực tiếp (Direct Memory Access - DMA) được sử dụng, giải phóng CPU để thực hiện các công việc khác trong khi dữ liệu đang được truyền.

4.3. Tìm hiểu về Kernel và Shell Giao diện cốt lõi của hệ thống

Hai thành phần tương tác chính của hệ điều hành là KernelShell. Kernel (nhân) là phần cốt lõi, chạy ở chế độ đặc quyền và quản lý trực tiếp phần cứng. Nó cung cấp các dịch vụ cơ bản nhất. Shell (vỏ) là giao diện người dùng, nhận lệnh và yêu cầu kernel thực hiện chúng. Shell có thể là dạng dòng lệnh (Command-Line Interface - CLI) như bash trên Linux, hoặc giao diện đồ họa (Graphical User Interface - GUI) như Windows Explorer. Shell đóng vai trò là cầu nối giữa người dùng và các chức năng mạnh mẽ của kernel.

V. Phân tích các hệ điều hành mã nguồn mở Linux và các biến thể

Lịch sử phát triển hệ điều hành chứng kiến sự ra đời và thống trị của nhiều hệ thống khác nhau, trong đó hệ điều hành Linux và gia đình Unix chiếm một vị trí đặc biệt quan trọng. Bắt nguồn từ Unix, được phát triển tại Bell Labs vào cuối những năm 1970, các hệ điều hành này đã đặt nền móng cho nhiều khái niệm hiện đại. Unix là hệ điều hành đầu tiên được viết phần lớn bằng ngôn ngữ bậc cao (ngôn ngữ C), mang lại khả năng di động cao trên nhiều kiến trúc phần cứng. Nó giới thiệu cấu trúc hệ thống tệp tin phân cấp, khái niệm tiến trình và đường ống (pipes), những ý tưởng vẫn còn nguyên giá trị cho đến ngày nay. Sự thành công của Unix trong môi trường học thuật đã tạo ra nhiều biến thể, nổi bật nhất là Berkeley Software Distribution (BSD). Tuy nhiên, khi Unix dần bị thương mại hóa, nhu cầu về một hệ điều hành tự do, miễn phí đã thúc đẩy Linus Torvalds tạo ra Linux vào năm 1991. Linux là một hệ điều hành mã nguồn mở, có nghĩa là mã nguồn của nó được công khai và mọi người đều có quyền sửa đổi, cải tiến và phân phối lại. Điều này đã thu hút một cộng đồng lập trình viên khổng lồ trên toàn thế giới, góp phần làm cho Linux trở nên cực kỳ mạnh mẽ, ổn định và linh hoạt. Linux tuân thủ chuẩn POSIX, đảm bảo khả năng tương thích cao với các ứng dụng Unix. Ngày nay, hệ điều hành Linux được sử dụng rộng rãi trên các máy chủ, siêu máy tính, thiết bị nhúng và cả máy tính để bàn thông qua các bản phân phối (distributions) như Ubuntu, Fedora và Debian.

5.1. Lịch sử phát triển và đặc điểm của hệ điều hành Unix

Unix được Ken Thompson và Dennis Ritchie phát triển, mang triết lý thiết kế "mọi thứ là một tệp tin" và sử dụng các công cụ nhỏ, chuyên dụng có thể kết hợp với nhau. Việc cung cấp mã nguồn cho các trường đại học đã thúc đẩy sự phát triển nhanh chóng và tạo ra nhiều cải tiến quan trọng như bộ nhớ ảo và giao thức mạng TCP/IP trong phiên bản BSD. Unix đã trở thành tiêu chuẩn de facto cho các hệ thống máy chủ và máy trạm chuyên nghiệp trong nhiều thập kỷ.

5.2. Hệ điều hành mã nguồn mở Linux và các bản phân phối

Linux ban đầu chỉ là một kernel, được Linus Torvalds phát triển như một dự án cá nhân. Để tạo thành một hệ điều hành hoàn chỉnh, nó được kết hợp với các công cụ và tiện ích từ dự án GNU. Thành công của Linux đến từ mô hình phát triển mở, cho phép nó nhanh chóng thích ứng với các công nghệ mới. Các bản phân phối Linux (distros) như Ubuntu hay Red Hat Enterprise Linux đóng gói kernel Linux cùng với một bộ phần mềm và công cụ quản lý, cung cấp một hệ điều hành sẵn sàng để sử dụng cho người dùng cuối và doanh nghiệp.

5.3. So sánh cấu trúc vi nhân microkernel và nguyên khối monolithic

Unix và hệ điều hành Linux ban đầu được xây dựng theo cấu trúc hệ điều hành nguyên khối (monolithic). Trong cấu trúc này, toàn bộ hệ điều hành chạy trong không gian kernel, mang lại hiệu suất cao do việc giao tiếp giữa các thành phần rất nhanh. Ngược lại, cấu trúc vi nhân (microkernel) chỉ giữ lại các chức năng tối cần thiết trong kernel (như quản lý tiến trình và liên lạc), còn các dịch vụ khác (như hệ thống file, driver) chạy như các tiến trình ở chế độ người dùng. Cấu trúc này an toàn và linh hoạt hơn nhưng có thể chậm hơn do chi phí giao tiếp giữa các tiến trình.

VI. Xu hướng phát triển tương lai của các hệ điều hành hiện đại

Lĩnh vực hệ điều hành không ngừng phát triển để đáp ứng những yêu cầu mới của công nghệ. Giáo trình hệ điều hành hiện đại không chỉ dừng lại ở các khái niệm kinh điển mà còn mở rộng sang các xu hướng định hình tương lai của ngành khoa học máy tính. Một trong những xu hướng quan trọng nhất là ảo hóa (virtualization). Ảo hóa là kỹ thuật cho phép một máy tính vật lý chạy nhiều hệ điều hành khách (guest OS) cùng một lúc, mỗi hệ điều hành chạy trên một máy ảo (virtual machine). Công nghệ này mang lại sự linh hoạt, tối ưu hóa việc sử dụng tài nguyên phần cứng và là nền tảng cốt lõi cho điện toán đám mây. Điện toán đám mây (Cloud Computing) là một mô hình cung cấp tài nguyên tính toán (như CPU, lưu trữ, phần mềm) dưới dạng dịch vụ qua mạng Internet. Các hệ điều hành được thiết kế cho đám mây phải có khả năng quản lý hàng ngàn máy chủ, tự động hóa việc cấp phát và thu hồi tài nguyên, đồng thời đảm bảo tính sẵn sàng và khả năng chịu lỗi cao. Một xu hướng nổi bật khác là tính toán di động. Sự bùng nổ của điện thoại thông minh và máy tính bảng đã tạo ra một thế hệ hệ điều hành mới như Android và iOS. Các hệ điều hành này phải được tối ưu hóa cho các thiết bị có tài nguyên hạn chế, đặc biệt là về năng lượng (pin), đồng thời cung cấp giao diện người dùng thân thiện dựa trên màn hình cảm ứng và hỗ trợ mạnh mẽ các kết nối không dây. Những thách thức này đòi hỏi các giải pháp mới trong quản lý tiến trìnhquản lý bộ nhớ.

6.1. Ảo hóa và vai trò trong các hệ thống tính toán hiện đại

Công nghệ ảo hóa cho phép một hệ quản lý máy ảo (Virtual Machine Manager - VMM hay hypervisor) tạo ra và quản lý nhiều máy ảo trên một hệ thống phần cứng duy nhất. Điều này cho phép các doanh nghiệp hợp nhất máy chủ, giảm chi phí vận hành và tăng cường khả năng phục hồi sau thảm họa. Các hệ điều hành như hệ điều hành Windows Server và hệ điều hành Linux hiện nay đều tích hợp sâu các tính năng hỗ trợ ảo hóa.

6.2. Điện toán đám mây Cloud Computing và tác động lên hệ điều hành

Điện toán đám mây cung cấp các mô hình dịch vụ như IaaS (Hạ tầng như một dịch vụ), PaaS (Nền tảng như một dịch vụ) và SaaS (Phần mềm như một dịch vụ). Hệ điều hành trong môi trường đám mây phải hỗ trợ khả năng co giãn linh hoạt, quản lý tài nguyên phân tán trên quy mô lớn và cung cấp các API mạnh mẽ để tự động hóa việc triển khai và quản lý ứng dụng. Các dự án như OpenStack là ví dụ về các nền tảng đám mây hệ điều hành mã nguồn mở.

6.3. Tính toán di động Thách thức mới cho hệ điều hành di động

Hệ điều hành di động đối mặt với những thách thức riêng biệt. Chúng phải quản lý năng lượng một cách chặt chẽ để kéo dài thời gian sử dụng pin. Quản lý vòng đời ứng dụng cũng khác biệt, các ứng dụng có thể bị tạm dừng hoặc tắt khi không hoạt động để tiết kiệm tài nguyên. Ngoài ra, vấn đề bảo mật trên thiết bị di động cũng rất quan trọng, đòi hỏi các cơ chế sandbox và quản lý quyền truy cập nghiêm ngặt để bảo vệ dữ liệu người dùng khỏi các ứng dụng độc hại.

25/07/2025