Hệ điều hành MS-DOS (tiếng Anh Microsoft Disk Operating System MS-DOS) là hệ điều hành cho các máy tính cá nhân của công ty Microsoft (xt. Máy tính cá nhân IBM).
MS-DOS được phát triển dựa trên hệ điều hành (HĐH) DOS do công ty Seattle Computer Products phát triển từ năm 1980 và bán cho công ty Microsoft năm 1981. Công ty IBM bán ra thị trường chiếc máy tính cá nhân đầu tiên của mình là IBM-PC kèm theo MS-DOS. Từ đó trở đi các nhà sản xuất máy tính cá nhân đều coi MS-DOS là hệ điều hành chuẩn cho PC và mua bản quyền MS-DOS để bán kèm theo máy tính của họ. Tính đến đầu những năm 1990 đã có trên một trăm triệu bản copy của MS-DOS được bán ra thị trường.
Trong khi MS-DOS đang được sử dụng rộng rãi, Microsoft đã phát triển phiên bản hệ điều hành Windows dựa trên MS-DOS nhưng có giao diện đồ họa. Nhiều phiên bản cải tiến, nâng cấp của Windows đã lần lượt được đưa ra thị thường và được sử dụng rộng rãi trên đa số các máy tính cá nhân ngày nay. PC-DOS (Personal Computer DOS) là một phiên bản của MS-DOS được công ty IBM bán trên thị trường. Về phía người sử dụng, PC-DOS và MS-DOS nói chung là giống hệt nhau.
Thành phần chính[sửa]
ROM-BIOS (Read Only Memory Basic Input Output System)[sửa]
ROM-BIOS là một phần của bộ nhớ ROM, chứa các chương trình phục vụ các thao tác vào (input), ra (output) sơ đẳng và cơ bản nhất của hệ thống máy tính, chúng luôn luôn được sử dụng tích cực trong suốt thời gian máy tính làm việc. Các chương trình phục vụ nói trên thường được gọi là chương trình con xử lý ngắt (xt. Ngắt), các chương trình này điều khiển các thiết bị ngoại vi chuẩn của máy tính như: màn hình, bàn phím, máy in, ổ đĩa, bộ truyền tin không đồng bộ. Trong ROM-BIOS còn chứa các chương trình quản lý ngày, giờ, v.v.
Các thành phần khác trong ROM ngoài ROM-BIOS:
- Chương trình tự kiểm tra khi bật máy - POST (Power On Self Test).
- Chương trình tải HĐH từ đĩa (Bootstrap loader).
- ROM-BASIC: làm hạt nhân cho ngôn ngữ lập trình BASIC. Thành phần này thực sự chỉ có trong thế hệ máy IBM-PC đầu tiên.
- ROM mở rộng: gồm các chương trình thêm vào cho ROM chính, khi người ta thêm vào hệ thống máy tính một thiết bị tuỳ chọn nào đấy.
Bản ghi khởi động (boot record, boot sector)[sửa]
Đây là sector vật lý đầu tiên trên đĩa, vị trí của nó trên đĩa cứng và đĩa mềm là như nhau, được xác định bởi ba tham số (xt. Đĩa mềm, Ổ đĩa cứng): mặt đĩa (Head/Side) = 0; mãnh/từ trụ (track/cylinder) = 0; cung (Sector) = 1.
Đối với đĩa cứng, sector này có tên gọi riêng là bản ghi khởi động chủ (Mater Boot Record, viết tắt là MBR). MS-DOS có khả năng chia một ổ đĩa cứng thành một số ổ đĩa lô-gic; mỗi ổ đĩa lô-gic được tổ chức và quản lý tương tự một ổ đĩa mềm và có một bản ghi khởi động riêng. Chức năng của bản ghi khởi động của đĩa mềm và của ổ đĩa logic là giống nhau, đó là tìm và nạp thành phần tiếp theo của hệ điều hành là tệp (file) IO.SYS nằm trên đĩa vào bộ nhớ chính và trao điều khiển cho nó.
IO.SYS[sửa]
Nhiệm vụ của IO.SYS là mở rộng ROM-BIOS, nghĩa là bổ sung, thay thế hoặc sửa đổi các chương trình phục vụ các thao tác vào/ra sơ đẳng đã có trong ROM-BIOS. Các chương trình phục vụ trong IO.SYS có mức độ sơ đẳng tương đương các chương trình trong ROM-BIOS. Bất kỳ khi nào có một thiết bị mới được thêm vào máy tính thì các chương trình hỗ trợ thiết bị phải được đưa thêm vào danh sách các chương trình phục vụ đã có trong ROM-BIOS. Với việc thành phần IO.SYS được lưu trên đĩa nên sử dụng nó là một phương pháp tiện lợi để thay đổi ROM-BIOS mà không cần thay chip ROM-BIOS của máy. IO.SYS là tệp (file) đầu tiên trên đĩa, được ghi trên các sector liên tiếp. Tên của nó cũng phải là tên tệp đầu tiên trong thư mục gốc.
MSDOS.SYS[sửa]
Là hạt nhân của hệ điều hành MS-DOS, nó chứa hầu như tất cả các dịch vụ của MS-DOS trong đó có tất cả các dịch vụ về tệp. Mỗi chương trình dịch vụ này có thể được các chương trình khác gọi bằng chỉ thị ngắt - INT. Ngắt quan trọng nhất là ngắt 21H, nó bao gồm hầu như tất cả các dịch vụ của MS-DOS. MSDOS.SYS quản lý tệp và vào/ra ở mức trung gian. Khi các chương trình ứng dụng gọi các chức năng của MS-DOS, MSDOS.SYS nhận các yêu cầu ở dạng mức cao rồi dịch thành một hoặc nhiều lời gọi đến các chương trình phục vụ ở mức sơ đẳng hơn trong IO.SYS để thực hiện. MSDOS.SYS được ghi trên các sector liên tiếp sau vùng dành cho tệp IO.SYS. Tên của nó cũng phải là tên tệp thứ hai, sau tên tệp IO.SYS trong thư mục gốc.
COMMAND.COM[sửa]
Thành phần này còn có tên gọi là bộ thông dịch lệnh, trong đó có chứa tất cả các lệnh nội trú của hệ điều hànhMS-DOS. Nó thực hiện nhiệm vụ hiển thị thông báo chờ lệnh trên màn hình, đọc và dịch các câu lệnh nhập vào từ bàn phím để hệ thống máy tính thi hành. COMMAND.COM được nạp vào bộ nhớ và nằm thường trực trong đó cùng với các chương trình trong IO.SYS và MSDOS.SYS. Chương trình này đóng vai trò giao tiếp giữa người sử dụng và hệ thống máy tính, do đó nó được viết ra theo khuynh hướng có giao diện thuận tiện cho người sử dụng.
Các lệnh ngoại trú[sửa]
MS-DOS có hàng trăm lệnh mà các chương trình chạy trên nó hoặc người sử dụng có thể gọi thực hiện. Để tránh việc phải nạp tất cả các lệnh vào bộ nhớ một cách không cần thiết vì có thể có khá nhiều lệnh ít khi hoặc không được sử dụng, MS-DOS chia các lệnh của nó thành hai nhóm:
- Lệnh bên trong (internal commands): được chứa trong tệp command.com và được nạp vào bộ nhớ chính, thường trú trong đó trong suốt thời gian máy tính hoạt động. Lệnh bên trong thường được gọi là lệnh nội trú. Thí dụ về lệnh nội trú: date, copy, dir, v.v.
- Lệnh bên ngoài (external commands): là tất cả các lệnh còn lại không chứa trong tệp command.com mà chứa trong một tệp riêng cùng tên, được nạp vào bộ nhớ chính khi có một chương trình hoặc người sử dụng gọi đến nó, bị loại khỏi bộ nhớ khi lệnh kết thúc. Lệnh bên ngoài thường được gọi là lệnh ngoại trú. Thí dụ về lệnh ngoại trú: diskcopy, chkdsk, format, v.v.
Quá trình hình thành và phát triển[sửa]
Sự phát triển của MS-DOS đã trải qua các mốc sau:
- CP/M-80 (1980): là hệ điều hành của công ty Digital Research, được viết bởi nhà lập trình người Mỹ Tim Paterson, với mục đích sử dụng cho các máy tính cá nhân sử dụng chip vi xử lý 8080/Z80.
- 86-DOS (1980): là hệ điều hànhcủa công ty Seattle Computer Products, được Tim Paterson chuyển đổi từ mã lệnh của hệ điều hànhCP/M-80 thành mã lệnh chạy được trên bộ VXL 8086 và thực hiện một số cải tiến, trong đó có việc quản lý hệ thống tệp (file) theo kiểu FAT12 (xt. Đĩa mềm, Ổ đĩa cứng) thay cho hệ thống tệp của CP/M.
- MS-DOS (1981): đây là bản 86-DOS được đổi tên sau khi Microsoft mua hệ điều hành86-DOS.
- MS-DOS đã phát triển không ngừng, các phiên bản (version) được đưa ra thị trường có ký hiệu như sau:
o MS-DOS 1.0: phát hành năm 1981
o MS-DOS 2.0: phát hành năm 1983
o MS-DOS 3.0: phát hành năm 1984
o MS-DOS 4.0: phát hành năm 1988
o MS-DOS 5.0: phát hành năm 1991
o MS-DOS 6. x: phát hành năm 1993
Ngoài ra còn có nhiều phiên bản khác với các cải tiến hoặc bổ sung chức năng tử các phiên bản kể trên: 1.1, 2, 01, 2.11, 3.1, 3.2, 3.3, 4.01, 6.2, 6.21, 6.22.
- Windows 1: phát hành năm 1985, là phiên bản hệ điều hànhđầu tiên của Microsoft sử dụng giao diện đồ họa, chạy trên nền MS-DOS.
- Windows 2: phát hành năm 1987.
- Windows 3: phát hành năm 1990, từ phiên bản này Windows phải chạy trên đĩa cứng.
- Windows 3.1: phát hành năm 1992, bắt đầu sử dụng phông chữ kiểu TrueType.
- Windows 95: phát hành năm 1995, là phiên bản hoàn toàn sử dụng giao diện đồ họa, bắt đầu sử dụng các nút “Start” và bảng chọn “Start menu”, bắt đầu áp dụng cơ chế “cắm và chạy” (Plug and Play) cho các thiết bị ngoại vi.
- Windows 98: phát hành năm 1998, là phiên bản nâng cấp từ Windows 95.
- Windows ME: phát hành năm 2000 với ký hiệu ME (Millennium Edition) để đánh dấu năm đầu tiên của thiên niên kỷ mới. Đây là phiên bản Windows cuối cùng của loạt Windows 9x, chúng còn dựa trên MS-DOS.
- Các phiên bản sau của Windows đều không dựa trên MS-DOS: Windows 2000 (2000), Windows XP (2001), Windows Vista (2007), Windows 7 (2009), Windows 8 (2012), Windows 8.1 (2013), Windows 10 (2014).
Tài liệu tham khảo[sửa]
- A. S. Tannenbaum, Structured Computer Organization, 6th Edition, Pearson, 2013. ISBN 10: 0-13-291652-5, ISBN 13: 978-0-13-291652-3.
- Britannica Concise Encyclopedia, Revised and Expanded Edition, Publisher: Encyclopædia Britannica, Inc, 2006. ISBN: 978-1-59339-492-9.
- Michael Tischer, PCINTERN-System programming: The Encyclopedia of DOS programming Know How, 5th Edition, Arbacus, 1992. ISBN-10: 1557551456, ISBN-13: 978-1557551450.
- Microsoft Computer Dictionary, Fifth Edition, Microsoft Press, 2002. ISBN 0-7356-1495-4.
- Technical Reference, IBM Personal Computer Hardware Reference Library, First Edition, 1981.