Explore all courses in this category.
Explore all courses in this category.
Nguyễn Đình Cường
0 comment
09 Nov, 2026
Bạn mở trình duyệt, nghe nhạc, chạy trình soạn thảo code cùng lúc mà máy vẫn mượt. Đó là nhờ hệ điều hành, người điều phối âm thầm đứng giữa phần cứng và ứng dụng. Với lập trình viên, hiểu vai trò của nó là kiến thức nền rất đáng giá.
Hệ điều hành (operating system, OS) là phần mềm quản lý tài nguyên phần cứng và cung cấp dịch vụ cho các chương trình khác. Nếu không có nó, mỗi ứng dụng phải tự biết cách điều khiển ổ đĩa, bàn phím, card mạng của hàng nghìn loại máy khác nhau. Các nhiệm vụ chính:
Kernel (nhân) là phần cốt lõi luôn chạy trong bộ nhớ, có đặc quyền cao nhất để truy cập phần cứng. Ứng dụng thông thường chạy ở "chế độ người dùng" và chỉ làm việc với phần cứng thông qua system call (lời gọi hệ thống). Ví dụ khi bạn gọi open("a.txt"), thực chất thư viện sẽ nhờ kernel mở file hộ.
Một tiến trình (process) là chương trình đang chạy, có vùng nhớ riêng. Trong tiến trình có thể có nhiều luồng (thread) chia sẻ cùng vùng nhớ và chạy xen kẽ hoặc song song. Hệ điều hành dùng cơ chế chia sẻ thời gian: mỗi tiến trình được dùng CPU một lát rất ngắn rồi nhường cho tiến trình khác, nhanh đến mức ta thấy mọi thứ chạy đồng thời.
import os
print("PID của tiến trình này:", os.getpid())
print("Thư mục hiện tại:", os.getcwd())
print("Hệ điều hành:", os.name)| Hệ điều hành | Đặc điểm thường gặp |
|---|---|
| Windows | Phổ biến trên máy tính để bàn, nhiều phần mềm và game |
| macOS | Dùng trên máy Mac, cần thiết để lập trình ứng dụng iOS |
| Linux | Mã nguồn mở, rất phổ biến trên máy chủ |
| Android, iOS | Hệ điều hành di động |
Android dựa trên nhân Linux, còn macOS có nguồn gốc từ họ Unix. Nhờ vậy nhiều lệnh dòng lệnh như ls, cd, grep dùng giống nhau trên Linux và macOS.
pwd: xem thư mục hiện tại.ls (Windows: dir): liệt kê file.cd thu_muc: chuyển thư mục.mkdir, rm, cp, mv: tạo, xóa, sao chép, di chuyển.cat tep: xem nội dung file.Thay vì chỉ đọc lý thuyết, hãy quan sát tiến trình thật trên máy:
top trên Linux, và xem tiến trình nào đang dùng nhiều CPU và RAM nhất.while True: pass. Bạn sẽ thấy một nhân CPU bị dùng gần hết. Dừng bằng Ctrl+C.import subprocess
import sys
kq = subprocess.run([sys.executable, "-c", "print('xin chào từ tiến trình con')"],
capture_output=True, text=True)
print(kq.stdout.strip())
print("Mã thoát:", kq.returncode)Đoạn code khởi động một tiến trình con và đọc kết quả của nó. Mã thoát 0 theo quy ước nghĩa là thành công, khác 0 là có lỗi. Quy ước này là nền tảng để các script, hệ thống triển khai biết lệnh chạy có thành công hay không.
Hệ điều hành là lớp trung gian giúp ứng dụng chạy an toàn trên phần cứng đa dạng. Bạn không cần là chuyên gia, nhưng nên quen dòng lệnh và hiểu khái niệm tiến trình, file, quyền truy cập. Một mẹo hay là cài thử Linux trong máy ảo hoặc WSL để làm quen mà không ảnh hưởng máy chính.
Bạn có thể tiếp tục hành trình với những khóa học lập trình trên codebem.com, học theo tốc độ của riêng mình.
Nguyễn Đình Cường
0 comment