00.What is Operating System
Định nghĩa¶
Hệ điều hành (Operating System - OS) là một loại phần mềm hệ thống đóng vai trò như cầu nối giữa phần cứng máy tính và người dùng. Nó quản lý tài nguyên phần cứng và cung cấp các dịch vụ cần thiết cho các ứng dụng phần mềm, cho phép người dùng vận hành thiết bị của họ một cách mượt mà và hiệu quả.
Chức năng chính của Hệ điều hành¶
1. Quản lý tài nguyên phần cứng¶
- Quản lý CPU: Phân bổ thời gian xử lý cho các chương trình
- Quản lý bộ nhớ: Điều phối việc sử dụng RAM và bộ nhớ ảo
- Quản lý thiết bị lưu trữ: Kiểm soát ổ cứng, SSD và các thiết bị lưu trữ khác
- Quản lý thiết bị ngoại vi: Điều khiển máy in, chuột, bàn phím, v.v.
2. Giao diện người dùng¶
- Cung cấp GUI (Graphical User Interface) hoặc CLI (Command Line Interface)
- Cho phép người dùng tương tác với máy tính dễ dàng
- Quản lý desktop, windows, icons, và menus
3. Quản lý file và thư mục¶
- Tổ chức và quản lý hệ thống file
- Cung cấp quyền truy cập và bảo mật file
- Hỗ trợ các thao tác copy, move, delete, rename
4. Quản lý tiến trình (Process Management)¶
- Khởi tạo, thực thi và kết thúc các chương trình
- Multitasking: Cho phép nhiều chương trình chạy đồng thời
- Scheduling: Lên lịch thực thi các tiến trình
5. Bảo mật và kiểm soát truy cập¶
- Xác thực người dùng (login/password)
- Phân quyền truy cập tài nguyên
- Bảo vệ dữ liệu khỏi truy cập trái phép
Các thành phần chính¶
1. Kernel (Nhân)¶
- Thành phần cốt lõi của hệ điều hành
- Quản lý trực tiếp phần cứng
- Cung cấp các dịch vụ cơ bản cho các ứng dụng
2. Device Drivers¶
- Phần mềm điều khiển thiết bị phần cứng cụ thể
- Cho phép OS giao tiếp với các thiết bị khác nhau
3. Shell¶
- Giao diện dòng lệnh
- Cho phép người dùng tương tác với hệ điều hành
4. File System¶
- Quản lý cách dữ liệu được lưu trữ và truy xuất
- Ví dụ: NTFS, FAT32, ext4
Các loại Hệ điều hành¶
1. Theo cách sử dụng¶
- Desktop OS: Windows, macOS, Linux distributions
- Mobile OS: Android, iOS
- Server OS: Windows Server, Linux Server
- Embedded OS: Cho các thiết bị nhúng
2. Theo kiến trúc¶
- Single-user: Chỉ một người dùng tại một thời điểm
- Multi-user: Nhiều người dùng đồng thời
- Single-tasking: Chỉ chạy một chương trình
- Multi-tasking: Chạy nhiều chương trình đồng thời
3. Theo cách xử lý¶
- Batch Processing: Xử lý theo lô
- Real-time: Xử lý thời gian thực
- Time-sharing: Chia sẻ thời gian
Ví dụ các Hệ điều hành phổ biến¶
1. Microsoft Windows¶
- Hệ điều hành phổ biến nhất cho PC
- Giao diện đồ họa thân thiện
- Hỗ trợ nhiều phần mềm ứng dụng
2. macOS (Apple)¶
- Dành cho máy tính Mac
- Thiết kế tinh tế, bảo mật cao
- Tích hợp tốt với hệ sinh thái Apple
3. Linux¶
- Mã nguồn mở, miễn phí
- Nhiều bản phân phối (Ubuntu, CentOS, Debian)
- Phổ biến cho servers và developers
4. Android & iOS¶
- Hệ điều hành di động
- Android (Google) - mã nguồn mở
- iOS (Apple) - đóng, bảo mật cao
Tầm quan trọng¶
Hệ điều hành là thành phần không thể thiếu của bất kỳ hệ thống máy tính nào vì:
- Quản lý tài nguyên hiệu quả: Đảm bảo phần cứng được sử dụng tối ưu
- Cung cấp nền tảng: Cho các ứng dụng chạy trên đó
- Bảo mật: Bảo vệ dữ liệu và hệ thống
- Giao diện người dùng: Giúp người dùng tương tác dễ dàng
- Ổn định hệ thống: Đảm bảo máy tính hoạt động ổn định
Tóm lại, hệ điều hành là "bộ não" của máy tính, điều phối mọi hoạt động và làm cho việc sử dụng máy tính trở nên đơn giản và hiệu quả.