2 Tổng quan về hệ điều hành
2.1
Khái niệm hệ điều hành
Xem clip (tiếng Việt):
Xem clip (tiếng Anh): (từ phút thứ 10 > 16)
Đọc thêm trang 3, tài liệu môn Hệ điều hành:
Hệ điều hành
(Operating System) là gì?
Hệ điều hành là một phần mềm chạy trên máy tính, dùng để điều
hành, quản lý các thiết bị phần cứng và các tài nguyên phần mềm trên máy tính.
Hệ điều hành đóng vai trò trung gian trong việc giao tiếp giữa
người sử dụng và phần cứng máy tính, cung cấp một môi trường cho phép người sử
dụng phát triển và thực hiện các ứng dụng của họ một cách dễ dàng.
Nói nôm na: hệ điều hành là một hệ thống (system) chương
trình dùng để điều hành (operating) máy tính.
Như hình dưới đây, nếu không có hệ điều hành thì người dùng,
lập trình viên sẽ phải trực tiếp điều khiển phần cứng, một công việc không hề dễ
dàng. Nhờ có hệ điều hành người dùng và lập trình viên chỉ cần gọi các chức
năng, hàm, API do hệ điều hành cung cấp, nghĩa là làm việc với một cái máy ảo. Khi
đó việc giao tiếp, điều khiển máy thật sẽ đơn giản hơn rất nhiều.
Các ứng dụng, phần
mềm (user-level applications)
|
(giao tiếp với máy ảo – virtual machine
interface)
|
Hệ
điều hành (operating system)
|
(giao tiếp với máy thật – physical machine
interface)
|
Phần cứng
(hardware)
|
2.2
Học về hệ điều hành để làm gì?
Xem clip (tiếng Anh): (từ phút thứ 21 > 23)
– Hiểu được cách thức hoạt động của máy tính
– Hiểu được cách thức làm việc của bộ nhớ, CPU, các tài
nguyên, và khả năng tính toán của hệ thống
– Biết cân đối giữa hiệu suất xử lý và chức năng của hệ thống
– Học được các kĩ thuật từ hệ điều hành để áp dụng trong quá
trình phát triển các phần mềm khác
2.3
Phân loại hệ điều hành
Xem clip số 2 (tiếng Việt):
Đọc trang 4 >
8 tài liệu sau:
Phân loại theo loại máy tính sử dụng hệ điều hành:
– Hệ điều hành dùng cho máy Mainframe
– Hệ điều hành dùng cho máy Server
– Hệ điều hành dùng cho máy nhiều CPU
– Hệ điều hành dùng cho PC
– Hệ điều hành dùng cho thiết bị di động
– Hệ điều hành dùng cho máy chuyên biệt
– Hệ điều hành dùng cho thẻ chip (smartcard)
– Hệ điều hành đám mây (web-based, cloud-based)
Phân loại theo số người truy xuất tài nguyên cùng lúc:
– Một người dùng
– Nhiều người dùng (ngang hàng, client-server)
Phân loại theo số chương trình có thể chạy tại một thời điểm:
– Hệ điều hành đơn chương
– Hệ điều hành đa chương
Phân loại theo hình thức xử lý:
– Xử lý theo lô (batch)
– Hệ thống chia sẻ thời gian
– Hệ thống song song
– Hệ thống phân tán
– Hệ thống xử lý thời gian thực
2.4
Cấu trúc hệ điều hành
Xem clip số 3 (tiếng Việt):
Hệ điều hành gồm hai lớp:
– Lớp trong được gọi là lớp hạt nhân (kernel): gồm các hàm hạt
nhân, là cơ sở để xây dựng các chương trình còn lại
– Lớp ngoài là lớp vỏ (shell): giao tiếp với người dùng
qua các thiết bị nhập/xuất
Hệ điều hành gồm các thành phần chính:
– Hệ thống quản lý tiến trình
– Hệ thống quản lý bộ nhớ
– Hệ thống quản lý nhập xuất
– Hệ thống quản lý tập tin
– Hệ thống bảo vệ
– Hệ thống thông dịch lệnh
– Hệ thống quản lý mạng
Đọc thêm trang 8
đến trang 11 tài liệu sau:
https://drive.google.com/file/d/1P_zsBstk_qvbf531CAV_-rV9GxSE7WwV/view
2.5 Tổ chức hoạt động của hệ điều hành
Xem clip số 4 (tiếng Việt):
Nhìn từ bên ngoài:
Nhìn từ bên trong:
Quá trình khởi động
|
Quá trình phục vụ
|
Quá trình kết thúc
|
– Kiểm tra hệ thống
– Khởi động thiết bị cần thiết
– Khởi tạo môi trường
– Nạp chương trình Shell
|
– Chương trình Shell liên tục kiểm
tra và nhận tín hiệu từ các thiết bị nhập, các cổng vào
– Xuất thông tin, kết qua ra các
thiết bị xuất, cổng ra
– Hệ thống nhận và xử lý các tín
hiệu/yêu cầu từ các tiến trình
|
– Gửi tín hiệu đóng các tiến
trình
– Lưu dữ liệu cần thiết ra bộ nhớ
ngoài
– Đưa các thiết bị về trạng thái
an toàn
– Tắt máy
|
Quá trình khởi động của hệ điều hành (boot)
Xem clip (tiếng Anh) sau:
https://www.coursera.org/lecture/technical-support-fundamentals/the-boot-process-6C34G
Xem thêm (tiếng Việt) từ phút thứ 9:
Đọc bài viết về quá trình khởi động của Windows:
2.6 Lịch sử phát triển của hệ điều hành
Xem clip số 5 (tiếng Việt):
Xem clip (tiếng Anh), từ phút 24:40
Đọc thêm ở đây:
Gồm bốn thế hệ:
– Thế hệ 1 (1945 – 1955): chương trình được viết bằng ngôn
ngữ máy, chưa có hệ điều hành thực sự
– Thế hệ 2 (1955 – 1965): xử lý theo lô
– Thế hệ 3 (1965 – 1980): hệ xử lý đa chương
– Thế hệ 4 (1980 – ): hệ thống mạng, phân tán, thời gian thực,
nhúng, song song. P2P, web, cloud
Danh sách một số hệ điều hành phổ biến[i]:
MS-DOS và Microsoft Windows
|
Android
|
iOS
|
Mac OS X
|
Windows Phone
|
Linux (Chrome
OS, Linux Mint, Fedora, Ubuntu)
|
Symbian OS
|
UNIX (FreeBSD,
Solaris)
|
Red Star OS
|
2.7 Câu hỏi ôn tập
Câu hỏi 1. Chọn đáp án đúng
1. Các hệ điều phổ biến nào dùng cho điện thoại di động?
a) iOS, Windows Phone, DOS
b) Android, Symbian, Windows
c) Windows Phone, iOS, Android
d) Unix, Windows, Linux
2. Các hệ điều hành của Microsoft?
a) FreeBSD, Fedora, Windows 7
b) Ubuntu, Windows 10, DOS
c) DOS, Windows XP, Windows server
2016
d) Mac OS X, Fedora, Solaris
3. Hệ điều hành
là gì?
a) Là phần mềm giúp soạn thảo văn bản
b) Là phần mềm quản lý và điều hành
mọi tài nguyên trên máy tính
c) Là phần mềm ứng dụng
d) Là thư viện lập trình
4. Quá trình khởi
động của Hệ điều hành?
a) Bật nguồn > POST > nạp Kernel
> tìm OS > tìm và chạy Bootloader
b) Bật nguồn > tìm OS > POST >
nạp Kernel > tìm và chạy Bootloader
c) Bật nguồn > POST > tìm và chạy
Bootloader > tìm OS > nạp Kernel
d) Bật nguồn > tìm và chạy Bootloader
> POST > nạp Kernel > tìm OS
Câu hỏi 2. Phân biệt BIOS, CMOS và UEFI?
Câu hỏi 3. So sánh MBR và GPT?
Gợi ý: https://www.howtogeek.com/193669/whats-the-difference-between-gpt-and-mbr-when-partitioning-a-drive/
Câu hỏi 4. Phân biệt các hệ thống: đa chương, đa nhiệm, đa
xử lý, hệ thống xử lý phân tán?
Câu hỏi 5. Chương trình điều khiển thiết bị (drivers for specific
hardware devices) do hệ điều hành hay hãng sản xuất thiết bị cung cấp? Bạn hiểu
gì về cài driver?
2.8 Thực hành
Lab 1. Làm quen với Shell
Mở chương trình Excel bằng 4 cách sau:
– Cách 1: Vào menu Start, hoặc nhấp đúp chuột vào biểu tượng
trên màn hình Desktop để chạy, cách này giống như một người sử dụng bình thường
– Cách 2: Mở cửa sổ Run, gõ cmd, sau đó dùng lệnh Start để
chạy
– Cách 3: Mở cửa sổ Run, gõ cmd, sau đó dùng các lệnh chuyển
thư mục (cd), xem nội dung thư mục (dir), để tìm tới vị trí của tập tin thực
thi (excel.exe), gõ tên tập tin thực thi để mở
– Lập trình bằng một ngôn ngữ bất kì, gọi một hàm của ngôn
ngữ đó để mở chương trình Excel. Ví dụ, trong C# có thể sử dụng System.Diagnostics.Process.Start(“đường
dẫn\tên chương trình cần chạy”)
Lab 2.
Tạo máy ảo
– Tải về máy và cài đặt phần mềm Virtual Box
– Tạo máy tính ảo
– Tải đĩa CD Hiren Boot về máy
– Đưa đĩa Hiren Boot vào máy ảo
– Chỉnh CMOS để cho máy ảo khởi động bằng đĩa CD
– Sử dụng chương trình Fdisk trên đĩa Hiren để chia ổ đĩa
thành 3 ổ: C:\, D:\, E:\
– Cài đặt hệ điều hành MS DOS vào ổ đĩa C:\
– Trong D:\, tạo thư mục có tên DuLieu, trong thư mục
DuLieu, tạo tiếp thư mục HeDieuHanh, trong thư mục HeDieuHanh, tạo tập tin
baihoc.txt, nhập nội dung “Xin chào thế giới” vào tập tin baihoc.txt
[một số gợi ý]
– Tải về máy và cài đặt phần mềm Virtual Box
Vào google gõ từ khóa Virtual Box, tới trang https://www.virtualbox.org, tải phiên bản
mới nhất về máy. Thực hiện cài đặt.
– Tạo máy tính ảo
Việc tạo máy tính ảo cũng tương tự với việc đi ra ngoài tiệm
bán máy tính, mua: CPU, RAM, đĩa cứng, ổ CD…về để ráp lại thành cái máy tính. Vì
sẽ cài đặt hệ điều hành DOS, nên trong mục chọn hệ điều hành cài đặt (Type) nên
chọn là Other, mục Version chọn DOS.
Sau bước này, máy tính chỉ gồm phần cứng, chưa cài đặt hệ điều
hành. Thử bấm nút khởi động máy ảo. Máy tính chỉ có khả năng chạy đoạn mã trong
BIOS, để tìm và khởi động hệ điều hành. Tuy nhiên, do chưa có hệ điều hành nên
máy tính sẽ xuất thông báo “not bootable medium found”, nghĩa là không tìm thấy
thiết bị có chứa mã khởi động, và hệ điều hành. Đọc thêm về BIOS tại đây: https://vi.wikipedia.org/wiki/BIOS
– Tải đĩa CD Hiren Boot về máy (nên chọn bản hiren 10 cho nhẹ, khoảng 180 MB)
Đây là đĩa chứa chương trình khởi động hệ điều hành, chứa hệ
điều hành DOS, hệ điều hành Windows mini, tiện ích để chia đĩa, và các tiện ích
khác.
– Đưa đĩa Hiren Boot vào máy ảo
Động tác này giống như cho đĩa CD vào ổ đĩa CD trên máy thật.
– Chỉnh CMOS để cho máy ảo khởi động bằng đĩa CD (lưu
ý: Virtual Box không cho truy cập vào CMOS, nên khi máy tính vừa khởi động, bấm
phím F12 để chọn thiết bị khởi động)
Vì đĩa cứng của máy ảo chưa có hệ điều hành, nên phải khởi động
máy tính bằng đĩa CD, khởi động bằng đĩa CD sẽ có hệ điều hành DOS, từ đây có
thể thực hiện chia đĩa cứng, định dạng đĩa cứng và cài đặt hệ điều hành cho đĩa
cứng.
– Sử dụng chương trình Fdisk trên đĩa Hirens để chia ổ đĩa
thành 3 ổ: C:\, D:\, E:\
Mục đích để hiểu về việc tạo các ổ đĩa con (logic) trên đĩa
cứng vật lý, sẽ cài đặt hệ điều hành vào ổ đĩa C:\. Dữ liệu sẽ chứa trong ổ đĩa
D:\, E:\
– Cài đặt hệ điều
hành MS DOS vào ổ đĩa C:\ (gõ lệnh format c: /s để cài hệ điều hành DOS vào ổ đĩa C:\)
(Xem mã nguồn của hệ điều hành MS DOS: https://github.com/Microsoft/MS-DOS?utm_campaign=Grokking%20Newsletter&utm_medium=email&utm_source=Revue%20newsletter)
Học cách cài đặt một hệ điều hành.
– Trong D:\, tạo thư mục có tên DuLieu, trong thư mục
DuLieu, tạo tiếp thư mục HeDieuHanh, trong thư mục HeDieuHanh, tạo tập tin
baihoc.txt, nhập nội dung “Xin chào thế giới” vào tập tin baihoc.txt
Học cách sử dụng một số lệnh cơ bản trong hệ điều hành.
Cập nhật: 02/09/2019
-------
Bài tiếp theo: Hệ điều hành (2) - Hệ thống tập tin
Danh sách các bài học