












Preview text:
lOMoAR cPSD| 61552889
1. Quản lí tiến trình - Tiến
trình >< Luồng: Tiến trình Luồng
Tiến trình có đoạn mã/dữ liệu/heap & các
Luồng không có đoạn dữ liệu hay heap riêng đoạn khác
Luồng không đứng riêng mà nằm trong một
Phải có ít nhất một luồng trong mỗi tiến trình tiến trình
Các luồng trong phạm vi một tiến trình chia sẻ
Có thể tồn tại nhiều luồng trong mỗt tiến
mã/dữ liệu/heap, vào/ra nhưng có stack và trình. tập thanh ghi riêng
Luồng đầu là luồng chính và sở hữu không
Thao tác khởi tạo, luân chuyển tiến trình tốn
gian stack của tiến trình kém
Thao tác khởi tạo và luân chuyển luồng không
Bảo vệ tốt do có không gian điạ chỉ riêng Khi tốn kém
tiến trình kết thúc, các tài nguyên được đòi lại
Không gian điạ chỉ chung, cần phải bảo vệ
và các luồng phải kết thúc theo
Luồng kết thúc, stack của nó được thu hồi
- Điều phối công việc :
• Chọn các tiến trình từ hàng đợi tiến trình được lưu trong các vùng đệm (đĩa từ) và đưa vào bộ nhớ để thực hiện
• Thực hiện không thường xuyên (đơn vị giây/phút)
• Điều khiển mức độ đa chương trình (số t/trình trong bộ nhớ )
• Khi mức độ đa chương trình ổn định, điều phối công việc được gọi chỉ khi có tiến trình rời khỏi hệ thống
• Vấn đề lựa chọn công việc
Tiến trình thiên về vào/ra: sử dụng ít thời gian CPU
Tiến trình thiên về tính toán: sử dụng nhiều thời gian CPU
Cần lựa chọn lẫn cả 2 loại tiến tình
⇒ tt vào ra: hàng đợi sẵn sàng rỗng, lãng phí CPU ⇒
tt tính toán: hàng đợi thiết bị rỗng, lãng phí thiết bị - Điều phối CPU :
• Điều phối CPU - CPU scheduler: lựa chọn trong số các tiến trình ở queue sẵn sàng và phân bổ CPU cho 1 trong số đó
Hàng đợi có thể sắp xếp theo nhiều cách khác nhau
Điều phối CPU xảy ra khi tiến trình:
1. Chuyển từ running sang waiting state
2. Chuyển từ running sang ready state
3. Chuyển từ waiting sang ready 4. Kết thúc
• Trường hợp 1 và 4, không có lựa chọn điều phối. Một tiến trình khác (nếu có trong hàng đợi) phải
được lựa chọn để phân bổ.
• Trường hợp 2 và 3, có thể có lựa chọn.
• Xử lí song song nếu các xử lí đó tồn tại đồng thời – các tiến trình có thể hđ như nhau
Khai thác tối đa hệ đa xử lí
Giảm thời gian tính toán
• Xử lí độc lập: chỉ cần quan tâm đến lập lịch cho bộ xử lí, không mất toàn vẹn data
• Tương tranh là các tiến trình tương tác trao đổi thông tin với nhau, hoặc truy cập đến tài nguyên chung, chia làm 2 loại:
Đồng bộ: các tiến trình phối hợp nhịp nhàng, giảm vấn đề phát sinh lOMoAR cPSD| 61552889
Di bộ : Nhu cầu trao đổi thông tin 1 cách ngẫu nhiên có thể xảy ra xung đột khi chúng đề cập
các tài nguyên chung => dễ cso nguy cơ mất toàn vẹn data, sau 1 time cần đồng bộ và tương tác với nhau 2. Tài nguyên găng
- Tài nguyên găng: Tài nguyên hạn chế về khả năng sử dụng chung Cần đồng thời cho nhiều tiến trình
Tài nguyên găng có thể là thiết bị vật lý hay dữ liệu dùng chung
- Vấn đề: Dùng chung tài nguyên găng có thể dẫn đến không đảm bảo tính toàn vẹn dữ liệu
⇒ Đòi hỏi cơ chế đồng bộ hóa các tiến trình
- Đoạn găng (chỗ hẹp): khi bộ xử lí truy nhập đến dữ liệu dung chung thì ta nói lúc đó bộ xử lí nằm
trong đoạn gang. Khi tiến trình nằm trong đoạn gang, không tiến trình nào khác có thể tiến vào nó.
Mỗi tiến trình phải xin phép trước khi vào đoạn gang, ra và các đoạn khác nhau - Yêu cầu chương trình điều độ:
• Loại trừ nhau: Chỉ có 1 tiến trình trong đoạn
• Phát triển: Nếu không có tiến trình nào trong đoạn mà có tiến trình muốn vào thì nó phải
được vào Chờ đợi hữu hạn : Thời gian chờ vào đoạn gang phải là hữu hạn
- Chờ đợi tích cực: là một kỹ thuật trong đó một quá trình liên tục kiểm tra xem liệu một điều kiện có đúng hay không
- Điều độ đoạn gang:
• Nhóm giải pháp busy waiting: Giai pháp phần mềm: Dekker
Giai pháp phần cứng : T&S
• Giai pháp sleep and wakeup : Semaphore
Ứng dụng : cấp phát tài nguyên
Yêu cầu cấp : P(S) ( Nếu S> 0 thì cấp, S<=0 thì chờ)
Trả lại tài nguyên: V(S) (Nếu có tiến trình đang chờ cấp thì cấp cho nó, nếu không thì S=S+1) Đồng bộ:
Khi tiến trình P1 có 1 sự kiện mà cần phải có tiến trình P2 xử lý
Produre process1 (tạo ra sự kiện) V(event); Produre process2
P(event);(Nếu không còn sk cần xử lí thì xử lí, nếu không thì trong trạng thái chờ )
- Bế tắc : Bế tắc là tình trạng hai hay nhiều tiến trình cùng chờ đợi một sự kiện nào đó xảy ra Nếu
không có sự tác động gì từ bên ngoài, thì sự chờ đợi đó là vô hạn - Điều kiện cần:
Cần có 4 điều kiện sau, không được thiếu điều kiện nào
• Loại trừ nhau: 1 tiến trình độc chiếm tài nguyên mà nó đang xử dụng
• Giữ và chờ : tiến trình giữ cho mình tài nguyên đã được cấp đồng thời yêu cầu tài nguyên bị giữ bởi chương trình khác
• Không trưng dụng: 1 tài nguyên có thể được giải phóng bởi chính tiến trình đang nắm giữ sau khi
kết thúc việc sử dụng
• Chờ đợi vòng tròn : tồn tại vòng kín các tiến trình trong đó mỗi tiến trình giữ tài Nguyên mà tiến
trình kế tiếp đang đòi hỏi - Phương pháp: • Chiến lược Havender:
Ngtac 1:đòi hỏi process phải yêu cầu tất cả tài nguyên mà nó cần ngay từ đầu
Ngtac 2: Nếu 1 process k được cấp phát tài nguyên khi nó yêu cầu thì nó phải giải phóng toàn bộ tài nguyên nó đang nắm giữ lOMoAR cPSD| 61552889
Ngtac 3: tất cả tài nguyên được gán 1 số duy nhất và các process phải yêu cầu tài nguyên với số tang dần
Nhược : - Sử dụng tn không hiệu quả - Tăng khả năng process phải chờ vô tận – Anhr hưởng
đến users trong quá trình làm việc • Banker:
Mô hình đơn giản, yêu cầu mỗi tiến trình khai báo số tài nguyên tối đa có thể yêu cầu
Tự động kiểm tra trạng thái cung cấp tài nguyên để đảm bảo không thể xảy ra chờ đợi vòng tròn
Trạng thái cung cấp tài nguyên được xác định dựa trên số lượng tài nguyên sẵn sàng, số lượng đã phân bố
và nhu cầu tối đa của tiến trình - Cơ chế tạm dừng và kích hoạt:
• Suspend : khi vận hành hệ thống mà dẫn đến quá tải, thiếu hụt tài nguyên thì giải pháp là
suspend, tạm dừng và đưa tiến trình vào trạng thái ngủ đông và giải phóng tài nguyên đã cấp cho tiến trình
• Active : là thao tác đưa process về trạng thái mà nó bị tạm dừng trước đó, cấp lại tài nguyên đã lấy
3. Quản lí bộ nhớ
- Các loại địa chỉ :
+ địa chỉ luận lý ( logic ) : là tham chiếu đến một vị trí nhớ độc lập với cấu trúc và tổ
chức vật lý của bộ nhớ
+ địa chỉ vật lý : là vtrí thực trong bộ nhớ chính, đchỉ vli còn gọi là đc tuyệt đối/thực
Phân chương cố định : Nguyên tắc :
Bộ nhớ được chia thành n phần
- Mỗi phần gọi là một chương (partition) lOMoAR cPSD| 61552889
- Chương không nhất thiết có kích thước bằng nhau
- Chương được sử dụng như một vùng nhớ độc lập
• Tại một thời điểm chỉ cho phép một chương trình tồn tại
• Các chương trình nằm trong vùng nhớ cho tới khi kết thúc Nhận xét :
Đơn giản, dễ tổ chức bảo vệ
• Chương trình và vùng nhớ có một khóa bảo vệ
• So sánh 2 khóa với nhau khi nạp chương trình
Giảm thời gian tìm kiếm
Phải sao các modul điều khiển ra làm nhiều bản và lưu ở nhiều nơi
Hệ số song song không thể vượt quá n Bị phân đoạn bộ nhớ
• Kích thước chương trình lớn hơn kích thước chương lớn nhất
• Tổng bộ nhớ tự do còn lớn, nhưng không dùng để nạp các chương trình khác
⇒Sửa lại cấu trúc chương, kết hợp một số chương kề nhau Áp dụng
• Thường dùng cho quản lý các đĩa dung lượng lớn
• Hệ điều hành OS/360 của IBM
Phân chương động : Nguyên tắc :
Chỉ có một danh sách quản lý bộ nhớ tự do
• Thời điểm ban đầu toàn bộ bộ nhớ là tự do với các tiến trình
⇒ vùng trống lớn nhất (hole)
Khi một tiến trình yêu cầu bộ nhớ
• Tìm trong DS vùng trống một phần tử đủ lớn cho yêu cầu • Nếu tìm thấy
Vùng trống được chia thành 2 phần
Một phần cung cấp theo uêu cầu
Một phần trả lại danh sách vùng trống tự do • Nếu không tìm thấy
Phải chờ tới khi có được một vùng trống thỏa mãn
Cho phép tiến trình khác trong hàng đợi thực hiện (nếu độ ưu tiên đảm bảo)
Khi một tiến trình kết thúc
• Vùng nhớ chiếm được trả về DS quản lý vùng trống tự do
• Kết hợp với các vùng trống khác liên kề nếu cần thiết
Chuyển đổi địa chỉ phân đoạn :Khi thực hiện ct :Bảng quản lý đoạn được nạp vào bộ nhớ
STBR (Segment-table base register): Vị trí SCB trong bộ nhớ
STLR (Segment-table length register): Số phần tử của SCB
Truy nhập tới địa chỉ logic < s, d > lOMoAR cPSD| 61552889 • s ≥ STLR : Lỗi
• STBR + s : Vị trí phần tử s trong SCB
• Kiểm tra trường dấu hiệu M của phần tử SCBs
M = 0: Đoạn s chưa tồn tại trong bộ nhớ ⇒ Lỗi truy nhập ⇒Hệ điều hành phải nạp đoạn
• Xin vùng nhớ có kích thước được ghi trong trường L
• Tìm modul tương ứng ở bộ nhớ ngoài và nạp và định vị vào vùng nhớ xin được
• Sửa lại trường địa chỉ A và trường dấu hiệu M(M = 1)
• Truy nhập bộ nhớ như trường hợp không gặp lỗi truy nhập
M = 1 :Đoạn s đã tồn tại trong bộ nhớ
• d ≥ Ls : Lỗi truy nhập (vượt quá kích thước đoạn)
• d + As : Địa chỉ vật lý cần tìm Nhược điểm phân đoạn :
Hiệu quả sử dụng phụ thuộc vào cấu trúc chương trình Bị phân mảnh bộ nhớ
• Phân phối vùng nhớ theo các chiến lược first fit /best fit...
• Cần phải bố trí lại bộ nhớ (dịch chuyển, swapping)
Có thể dựa vào bảng SCB
M ← 0 : Đoạn chưa được nạp vào
Vùng nhớ được xác định bởi A và L được trả về DS tự do
Vấn đề lựa chọn modul cần đưa ra
Đưa ra modul tồn tại lâu nhất
Đưa ra modul có lần sử dụng cuối cách xa nhất
Đưa ra modul có tần xuất sử dụng thấp nhất
⇒Cần phương tiên ghi lại số lần và thời điểm truy nhập đoạn
Ưu điểm phân đoạn :
Sơ đồ nạp modul không cần sự tham gia của người sử dụng
Dễ dàng thực hiện nhiệm vụ bảo vệ đoạn
• Kiểm tra lỗi truy nhập bộ nhớ
Địa chỉ không hợp lệ :vươt quá kích thước đoạn
• Kiểm tra tính chất truy nhập Đoạn mã: chỉ đọc
Viết vào đoạn mã: lỗi truy nhập
• Kiểm tra quyền truy nhập modul
Thêm trường quyền truy nhập(user/system) vào SCB
• Cho phép sử dụng chung đoạn Chiến lược phân trang :
Bộ nhớ vật lý được chia thành từng khối có kích thước bằng
nhau: trang vật lý (frames)
• Trang vật lý được đánh số 0, 1, 2, . . . : địa chỉ vật lý của trang
• Trang được dùng làm đơn vị phân phối nhớ lOMoAR cPSD| 61552889
Bộ nhớ logic (chương trình) được chia thành từng trang có
kích thước bằng trang vật lý: trang logic (pages)
Khi thực hiện chương trình
• Nạp trang logic (từ bộ nhớ ngoài) vào trang vật lý
• Xây dựng một bảng quản lý trang (PCB: Page Control Block) dùng để xác định mối
quan hệ giữa trang vật lý và trang logic
• Mỗi phần tử của PCB ứng với một trang chương trình Cho biêt biết trang vật lý
chứa trang logic tương ứng Ví dụ PCB[8] = 4 ⇒ ? • Địa chỉ truy nhập:
Số hiệu trang (p) : Chỉ số trong PCB để tìm đ/chỉ cơ sở trang
Độ lệch trong trang (d): Kết hợp địa chỉ cơ sở của trang để tìm ra đ/chỉ vật lý
Chuyển đổi địa chỉ phân trang :
PTRB + p : Địa chỉ phần tử p của PCB trong bộ nhớ Kiểm tra Mp
• Mp = 0 : Lỗi trang, sinh một ngắt để tiến hành nạp trang Xin trang vật lý tự do
Tìm kiếm trang logic ở bộ nhớ ngoài
Sửa lại trường địa chỉ A và dấu hiệu M
• Mp = 1 : Trang đã tồn tại .Lấy Ap ghép với d ra địa chỉ cần tìm Nhận xét phân trang : Nhận xét :
• Số trang vật lý dành cho chương trình lớn ⇒ Thực hiện nhanh nhưng hệ số song song giảm
• Số trang vật lý dành cho chương trình bé ⇒Hệ số song song cao nhưng thực hiện chậm do hay thiếu trang
• Hiệu quả phụ thuộc các chiến lược nạp trang và thay thế trang
Các chiến lược nạp trangg
• Nạp tất cả Nạp toàn bộ chương trình
• Nạp trước Dự báo trang cần thiết tiếp theo
• Nạp theo yêu cầu Chỉ nạp khi cần thiết
Các chiến lược thay thế trang FIFO First In First Out
• LRU Least Recently Used …. Ưu điểm phân trang : Tăng tốc độ truy nhập
• Hai lần truy nhập bộ nhớ (vào PCB và vào địa chỉ cần tìm)
• Thực hiện phép ghép thay vì phép cộng
Không tồn tại hiện tượng phân đoạn ngoài Hệ số song song cao lOMoAR cPSD| 61552889
• Chỉ cần một vài trang của chương trình trong bộ nhớ
• Cho phép viết chương trình lớn tùy ý
Dễ dàng thực hiện nhiệm vụ bảo vệ
• Địa chỉ truy nhập hợp lệ (vượt quá kích thước)
• Tính chất truy nhập (đọc/ghi)
• Quyền truy nhập (user/system) Cho phép sử dụng chung trang
Nhược điểm phân trang :
Tồn tại hiện tượng phân đoạn trong
• Luôn xuất hiện ở trang cuối cùng
• Giảm hiện tượng phân đoạn trang bởi giảm kích thước trang ? Hay gặp lỗi trang Bảng quản lý trang lớn
• Đòi hỏi hỗ trợ của phần cứng
Chi phí cho chiến lược phân trang lớn
Khi chương trình lớn, bảng quản lý trang nhiều phần tử
Chương trình được biên tập theo chế độ phân đoạn
• Tạo ra bảng quản lý đoạn SCB
• Mỗi phần tử của bảng quản lý đoạn ứng với một đoạn, gồm 3 • trường M, A, L
Mỗi đoạn được biên tập riêng theo chế độ phân trang
• Tạo ra bảng quản lý trang cho từng đoạn
Địa chỉ truy nhập: bộ 3 < s, p, d >
Thực hiện truy nhập địa chỉ
• STBR + s ⇒: địa chỉ phần tử s Kiểm tra trường dấu hiệu Ms • , nạp PCBs nếu cần
• As + p ⇒ Địa chỉ phần tử p của PCBs
• Kiểm tra trường dấu hiệu Mp, nạp PCBs nếu cần
• Ghép Ap với d ra được địa chỉ cần tìm Chuyển địa chỉ phân đoạn trang : lOMoAR cPSD| 61552889
a) Phân phối liên tục : Nguyên tắc : File được phân phối các khối nhớ liên tiếp nhau *File có
độ dài n và bắt đầu ở khối b sẽ chiếm các khối b, b+1,..,b+n-1
- Hai khối b và b+1 liên tiếp nhau
=>Không phải dịch chuyển đầu từ khi đọc
=>Tốc độ truy nhập nhanh
-Cho phép truy nhập trực tiếp khối i của file
=> truy nhập khối b + i-1 trên thiết bị lưu trữ
*Lựa chọn vùng trống khi có yêu cầu lưu trữ
-Các chiến lược First/Worst/Best
-Hiện tượng phân đoạn ngoài
*Khó khan khi muốn tang kích thước file
b) Phân phối liên kết : Nguyên tắc: File được phân phối các khối nhớ không liên tục. Cuối mỗi
khối là con trỏ, trỏ tới vị trí tiếp theo
*Chỉ áp dụng hiệu quả cho các file truy nhập tuần tự
*Để truy nhập khối n, phải duyệt qua n-1 khối trước đó
-Các khối không liên tục, phải định vị lại từ đầu
-Tốc độ truy cập chậm
*Các khối trong fike được liên kết con trỏ
-Bị mất dữ liệu do mất liên kết tới con trỏ
-Liên kết tới khối ko có dữ liệu hoặc khối của file khác c) Thư mục file lOMoAR cPSD| 61552889
- Thuộc tính file lưu trong bản ghi file : tên file, định danh file; định danh file xác định các thông tin còn lại
=> Các bản ghi file lưu trong thư mục file thường được lưu trữ trên thiết bị nhớ ngoài, được
đưa từng phần vào bộ nhớ khi cần thiết
*Mỗi một phân khu lưu các thông tin về file trong nó
-Các thông tin file được lưu trong thư mục thiết bị - thư mục
*Thư mục là bảng chuyển cho phép ánh xạ từ một tên (file)thành một phần tử trong thư mục
-Thư mục có thể được cài đặt bằng nhiều cách khác nhau *Các thao tác
-Tìm kiếm file/Tạo file/Xóa file/Liệt kê thư mục/Đổi tên file/Duyệt hệ thống file
Khái niệm bản quyền, phần mềm mã mở, bản quyền của phần mềm mã
mở, mô hình kinh doanh với phần mềm mã mở
- Bản quyền là quyền pháp lý được cấp cho tác giả, chủ sở hữu hoặc người đại diện có quyền
sử dụng, sao chép, phân phối và phát triển các tác phẩm sáng tạo, bao gồm cả phần mềm.
- Phần mềm mã mở (open source software) là phần mềm được phát hành với các giấy
phép cho phép người dùng sử dụng, sao chép, phân phối và phát triển miễn phí hoặc với
giá cả thấp hơn so với phần mềm thương mại.
- Bản quyền của phần mềm mã mở có thể được bảo vệ bằng các giấy phép GPL, BSD,
Apache, MIT và nhiều giấy phép khác. Những giấy phép này đều cho phép người dùng
sử dụng, sao chép, phân phối và phát triển phần mềm mã mở.
- Mô hình kinh doanh với phần mềm mã mở bao gồm nhiều hình thức khác nhau như
dịch vụ hỗ trợ, bán quyền sử dụng, quảng cáo, tài trợ, v.v. Một số công ty nổi tiếng như
Red Hat, Canonical và MongoDB đã thành công trong việc kinh doanh với phần mềm mã mở.
- Tuy nhiên, mô hình này cũng đối mặt với nhiều thách thức, bao gồm cạnh tranh với các
sản phẩm miễn phí và việc tìm kiếm nguồn tài trợ để phát triển phần mềm.
Ưu điểm của phần mềm mã nguồn mở (open source software) so với phần mềm thương mại
(proprietary software) bao gồm:
1. Tính linh hoạt: Phần mềm mã nguồn mở có thể được sửa đổi và tùy chỉnh để phù
hợpvới nhu cầu của người dùng. Bất kỳ ai cũng có thể tạo ra một phiên bản mới của phần
mềm mã nguồn mở và đóng góp vào cộng đồng phát triển.
2. Tiết kiệm chi phí: Do không cần trả phí bản quyền, nên việc sử dụng phần mềm
mãnguồn mở giúp tiết kiệm chi phí cho người dùng. lOMoAR cPSD| 61552889
3. Sự độc lập: Người dùng có quyền kiểm tra mã nguồn của phần mềm, đảm bảo tính
antoàn và tin cậy cho hệ thống.
4. Tính tương thích: Phần mềm mã nguồn mở được thiết kế để tương thích với nhiều
hệthống khác nhau, giúp tăng tính tương thích và linh hoạt.
5. Cộng đồng lớn: Cộng đồng phát triển phần mềm mã nguồn mở rộng lớn, giúp cải
thiệnvà phát triển liên tục phần mềm theo nhu cầu của người dùng.
Tuy nhiên, phần mềm mã nguồn mở cũng có nhược điểm:
1. Thiếu sự hỗ trợ chuyên nghiệp: Không có đội ngũ hỗ trợ chuyên nghiệp đứng sau, vì
vậyngười dùng có thể gặp khó khăn trong việc tìm hiểu và sử dụng phần mềm.
2. Không đảm bảo tính bảo mật: Không có đội ngũ chuyên gia bảo mật chuyên nghiệp,
dođó phần mềm mã nguồn mở có thể có lỗ hổng bảo mật và dễ bị tấn công.
3. Không có cam kết bảo trì: Không có cam kết bảo trì, nên nếu có lỗi hoặc vấn đề xảy
ra,người dùng phải tìm cách giải quyết một mình hoặc tìm kiếm giúp đỡ từ cộng đồng.
4. Độ phức tạp của phần mềm: Phần mềm mã nguồn mở có thể phức tạp và khó sử
dụng,đặc biệt là với những người dùng không có.
Khái niệm phần mềm tự do. Ưu điểm của phần mềm tự do
Phần mềm tự do (free software hay software libre) là phần mềm có thể được sử dụng, sao
chép, nghiên cứu, thay đổi và tái phân phối không hạn chế, hơn nữa còn có thể được sao
chép, phân phối lại cả dạng đã được thay đổi hoặc giữ nguyên mà không có hạn chế, hoặc
chỉ bị hạn chế một cách tối thiểu nhằm đảm bảo những người tiếp nhận sau đó cũng có thể
làm những việc tương tự, đồng thời cũng nhằm tránh việc các nhà sản xuất phần cứng ngăn
chặn các sửa đổi của người dùng đối với phần cứng của họ. Ưu điểm:
+ tự do dùng chương trình cho bất cứ mục đích nào
+ tự do sửa đổi chương trình thích hợp với nhu cầu của mình
+ tự do phân bố các bản sao miễn phí hoặc với lệ phí
+ tự do phân bố các phiên bản đã được sửa đổi của chương trình với mục đích cộng
đồng người dùng được phúc lợi của sự nâng cao chương trình từ đóng góp của bạn. Lịch sử HDH Linux -
Hệ điều hành Linux được phát triển từ năm 1991 bởi Linus Torvalds, một sinh viên
người Phần Lan đang học tại Đại học Helsinki. Ý tưởng ban đầu của ông là tạo ra một hệ điều
hành miễn phí dựa trên Unix để sử dụng trên máy tính cá nhân của mình. Sau khi phát triển
và phổ biến trên Internet, Linux đã thu hút được sự quan tâm của các nhà phát triển và người
dùng trên toàn thế giới.Trong những năm đầu, Linux được sử dụng chủ yếu trong các máy chủ và thiết bị nhúng. lOMoAR cPSD| 61552889 -
Tuy nhiên, với sự phát triển của các giao diện đồ họa như GNOME và KDE, Linux đã
trở thành một lựa chọn phổ biến cho máy tính cá nhân và laptop. Linux hiện đang được sử
dụng trong nhiều lĩnh vực khác nhau, từ máy tính cá nhân, máy chủ, thiết bị nhúng, điện
thoại thông minh đến máy tính siêu việt và các trung tâm dữ liệu lớn.
Một số sự kiện nổi bật trong lịch sử phát triển của Linux bao gồm:
+Năm 1991: Linus Torvalds phát hành phiên bản đầu tiên của Linux (phiên bản 0.01)
+Năm 1992: Linux được phát hành dưới giấy phép GPL (General Public License)
+Năm 1993: Slackware, một bản phân phối Linux đầu tiên, được phát hành
+Năm 1994: Debian, một bản phân phối Linux có tổ chức được thành lập
+Năm 1996: Red Hat, một trong những công ty phát triển và phân phối Linux hàng đầu, được thành lập
+Năm 1998: Apache, phần mềm máy chủ web mã nguồn mở, trở thành phần mềm máy
chủ web phổ biến nhất trên thế giới
+Năm 2001: Nhà sản xuất máy tính IBM công bố sẽ sử dụng Linux trên các máy chủ của mình
+Năm 2003: Red Hat Enterprise Linux (RHEL), một bản phân phối Linux dành cho doanh
nghiệp, được phát hành
+Năm 2008: Google công bố sử dụng hệ điều hành Linux cho các máy chủ của mình
+Năm 2011: Linux kernel phiên bản 3.0 được phát hành
+Năm 2021: Linux kernel phiên bản 5.11 được phát hành -
Linux đã trở thành hệ điều hành phổ biến trên nhiều loại thiết bị, từ máy tính để bàn, máy
chủ đến điện thoại thông minh, thiết bị IoT. Các bản phân phối Linux như Ubuntu, Red
Hat, CentOS, Debian, Fedora, SUSE, và Mint đều đã và đang được sử dụng rộng rãi trong
cả môi trường doanh nghiệp và cá nhân. -
Các tính năng mới được thêm vào Linux liên tục, bao gồm hỗ trợ phần cứng mới,
tăng cường bảo mật và cải tiến hiệu suất. Cộng đồng Linux ngày càng lớn mạnh và đóng góp
đầy đủ vào việc phát triển hệ điều hành này. Bên cạnh đó, việc Linux là phần mềm mã
nguồn mở cũng cho phép các nhà phát triển trên toàn thế giới có thể tham gia phát triển và
sử dụng nó một cách miễn phí. -
Tuy nhiên, cũng có những thách thức và hạn chế trong việc sử dụng Linux, như sự
khó khăn trong việc cài đặt và sử dụng đối với người dùng bình thường. Ngoài ra, việc
tương thích phần mềm và phần cứng có thể là vấn đề cho một số người dùng. Bên cạnh đó,
việc không có một công ty lớn nào đứng sau Linux cũng có thể khiến một số doanh nghiệp
và tổ chức ngại sử dụng nó. lOMoAR cPSD| 61552889
Một số đặc điểm chính của HDH Linux
1. Tính đa nền tảng: Linux được thiết kế để hoạt động trên nhiều loại máy tính và thiết
bịkhác nhau, từ máy tính cá nhân đến máy chủ, thiết bị nhúng, điện thoại di động, máy
tính bảng và hệ thống nhúng.
2. Tính đa nhiệm: Linux có thể xử lý nhiều công việc cùng một lúc thông qua việc sử
dụnghệ thống lập lịch và quản lý tài nguyên hiệu quả.
3. Tính bảo mật cao: Linux là một trong những hệ điều hành an toàn nhất hiện nay nhờ
vàokiến trúc của nó, cũng như cộng đồng người dùng và nhà phát triển tích cực tìm kiếm
và vá các lỗ hổng bảo mật.
4. Tính tương thích: Linux hỗ trợ nhiều định dạng tập tin và giao thức mạng khác
nhau,giúp tương thích với nhiều phần mềm và thiết bị khác nhau.
5. Tính mở: Linux là một hệ điều hành mã nguồn mở, cho phép người dùng truy cập vàsửa
đổi mã nguồn của nó để tùy chỉnh và cải tiến hệ thống.
6. Hiệu suất cao: Linux thường có hiệu suất tốt hơn so với các hệ điều hành khác
trongnhiều tình huống, đặc biệt là trong việc xử lý tập tin lớn và các ứng dụng phức tạp. Nhược điểm LINUX
Linux chưa phổ biến nên chưa được các nhà sản xuất máy tính khai thác.
Phần mềm hỗ trợ còn hạn chế.
Một số nhà sản xuất không có Driver hỗ trợ hệ điều hành Linux.
Môi trường giao diện đồ họa trong Linux
Mặc dù Linux là hệ điều hành mạnh và phát triển, nhưng nếu chỉ làm việc qua giao diện dòng
lệnh thì Linux sẽ trở thành khó sử dụng và không thể hấp dẫn người dùng do phải nhớ một
danh sách dài các câu lệnh. Vậy nên ngay từ những ngày đầu phát triển của Linux đã có giao
diện "thân thiện" hơn so với giao diện dòng lệnh, đó là giao diện đồ họa. Giao diện đồ họa,
thường được gọi là GUI, là môi trường đồ họa của hệ điều hành của bạn - nơi bạn có màn
hình nền và con trỏ chuột. Màn hình của bạn cũng hiển thị các bảng ứng dụng và biểu tượng
của bạn. Mỗi mục trên màn hình của bạn đại diện cho các tệp và chương trình trên hệ thống
của bạn. Bạn có thể nhấp vào các biểu tượng đó bằng chuột để mở chúng thay vì gõ lệnh. Tính ổn định cao
Hệ điều hành Linux đang có khả năng cùng một lúc xử lý những khối lượng công việc lớn và ít xảy
ra tình trạng mất ổn định, xuống cấp. Chính vì vậy xứng đáng là sự lựa chọn vô cùng hoàn hảo
dành cho những doanh nghiệp nhờ vào việc hạn chế những rủi ro xảy ra một cách tối đa của hệ điều hành.
Có khả năng bảo mật tốt
Hiện tại Linux đang được xây dựng dựa vào nền tảng của Unix – 1 hệ điều hành đa nhiệm. Chính vì
vậy chỉ root user và quản trị mới có khả năng cấp quyền truy cập dùng những cách của quan trọng.
Chính vì vậy hiện tại VPS Linux có độ bảo mật vô cùng cao. Khá linh hoạt lOMoAR cPSD| 61552889
Linux hiện có tính linh hoạt cao. Chính vì vậy nó đang cho phép mở rộng cũng như hoàn toàn có
thể hoạt động tốt với bất cứ một máy tính nào. Hệ điều hành sẽ không bị kiến trúc máy và bộ xử lý
ảnh hưởng. Tính chủ động
Hiện tại người dùng hoàn toàn có thể kết hợp tự do và lựa chọn những gì mà bản thân cảm thấy
phù hợp. Chính vì vậy ở thời điểm hiện tại doanh nghiệp không cần phải lo lắng tới vấn đề bản quyền. Chi phí rẻ
Một trong những lý do quan trọng khiến nhiều người lựa chọn hệ điều hành Linux là vì nó miễn
phí. Linux có mã nguồn mở, điều này có nghĩa là bạn có thể tải và sử dụng nó mà không phải trả bất kỳ khoản phí nào.
Không có giá mua bản quyền, không phải trả tiền hàng năm, và không có hạn chế về sự tự do sử
dụng. Điều này rất hữu ích cho người dùng cá nhân, doanh nghiệp và tổ chức mà muốn tiết kiệm
chi phí trong việc quản lý hệ thống máy tính.