Hệ điều hành (1) - Tổng quan


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?


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:\)


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