Mục lục bài họcĐang ở d03-b1
← IGCSE Computer Science
0/18 bài đã học xong
Chương 3 · Software · Bài 1/2 của chương · bài 5/18 của IGCSE Computer Science

System software and the operating system

Phần mềm hệ thống và hệ điều hành
← Mục lục bài học
Lý thuyết · English

Two categories of software

system softwareruns and manages the computer itself — the operating system, utility programs, device drivers, compilers
application softwarelets the user do a task — word processor, spreadsheet, browser, photo editor, games

The test: ask who the software serves. Serving the machine means system software; serving the user's task means application software.

Utility software is system software, not application software. This is the classification most often got wrong. A virus checker or a defragmenter does not help the user write a letter — it keeps the computer working properly.

What the operating system does

  • memory management — deciding which program gets which part of memory, and stopping programs overwriting each other;
  • file management — creating, naming, saving, deleting and organising files in folders;
  • peripheral and device management — communicating with printers, keyboards and disks through device drivers;
  • providing a user interface — so the user can operate the machine without knowing machine code;
  • multitasking — sharing processor time between programs so several appear to run at once;
  • security — user accounts, passwords, access rights;
  • managing processes and handling interrupts.

Without an operating system, a user would have to control the hardware directly — which is why the OS is the piece of software everything else sits on.

Interrupts

An interrupt is a signal sent to the processor telling it that something needs attention now. The processor suspends what it is doing, saves its current state, runs a short routine to deal with the event, then restores its state and carries on.

Sources of interrupts: a key being pressed, a printer running out of paper, a timer reaching zero, a divide-by-zero error, or a disk finishing a transfer.

The point of interrupts: without them the processor would have to keep checking every device over and over to see if anything had happened — which wastes an enormous amount of time. Interrupts let devices announce themselves.

Utility software

  • virus checker — scans files against a database of known virus signatures, quarantines or deletes infected files;
  • defragmentation software — files get saved in scattered fragments as a disk fills up, so the read head must jump around. Defragmentation gathers the pieces of each file together, so access is faster;
  • backup software — makes copies, often automatically on a schedule, so data survives hardware failure;
  • compression software — reduces file size for storage or transmission.
Giải thích tiếng Việt

Hai loại phần mềm.

  • Phần mềm hệ thống — chạy và quản lý chính máy tính: hệ điều hành, các chương trình tiện ích, trình điều khiển thiết bị, trình biên dịch;
  • Phần mềm ứng dụng — giúp người dùng làm một công việc: soạn thảo văn bản, bảng tính, trình duyệt, chỉnh sửa ảnh, trò chơi.

Cách kiểm: hỏi phần mềm đó phục vụ ai. Phục vụ cỗ máy thì là phần mềm hệ thống; phục vụ công việc của người dùng thì là phần mềm ứng dụng.

Phần mềm tiện ích là phần mềm hệ thống, không phải phần mềm ứng dụng. Đây là cách phân loại hay bị sai nhất. Một chương trình quét virut hay chống phân mảnh không giúp người dùng soạn một lá thư — nó giữ cho máy tính hoạt động đúng.

Hệ điều hành làm những gì.

  • quản lý bộ nhớ — quyết định chương trình nào dùng phần bộ nhớ nào, và ngăn các chương trình ghi đè lên nhau;
  • quản lý tệp — tạo, đặt tên, lưu, xoá và sắp xếp tệp trong thư mục;
  • quản lý thiết bị ngoại vi — giao tiếp với máy in, bàn phím, ổ đĩa thông qua trình điều khiển thiết bị;
  • cung cấp giao diện người dùng — để người dùng điều khiển máy mà không cần biết mã máy;
  • đa nhiệm — chia thời gian bộ xử lý cho nhiều chương trình để chúng có vẻ chạy cùng lúc;
  • bảo mật — tài khoản người dùng, mật khẩu, quyền truy cập;
  • quản lý tiến trình và xử lý ngắt.

Không có hệ điều hành, người dùng phải điều khiển phần cứng trực tiếp — đó là lý do hệ điều hành là lớp phần mềm mà mọi thứ khác đứng lên trên.

Ngắt. Ngắt là tín hiệu gửi tới bộ xử lý báo rằng có việc cần được xử lý ngay. Bộ xử lý tạm dừng việc đang làm, lưu lại trạng thái hiện tại, chạy một đoạn chương trình ngắn để xử lý sự kiện đó, rồi khôi phục trạng thái và làm tiếp.

Nguồn gây ngắt: một phím được nhấn, máy in hết giấy, bộ đếm thời gian về không, lỗi chia cho không, hoặc ổ đĩa vừa truyền xong dữ liệu.

Ý nghĩa của ngắt: không có nó, bộ xử lý sẽ phải liên tục hỏi từng thiết bị xem có gì xảy ra chưa — việc đó lãng phí cực kỳ nhiều thời gian. Ngắt cho phép thiết bị tự lên tiếng.

Phần mềm tiện ích.

  • Trình quét virut — đối chiếu tệp với cơ sở dữ liệu các dấu hiệu virut đã biết, cách ly hoặc xoá tệp nhiễm;
  • Phần mềm chống phân mảnh — khi ổ đĩa đầy dần, các tệp bị lưu thành nhiều mảnh rải rác, nên đầu đọc phải nhảy qua nhảy lại. Chống phân mảnh gom các mảnh của mỗi tệp về gần nhau, nên truy cập nhanh hơn;
  • Phần mềm sao lưu — tạo bản sao, thường tự động theo lịch, để dữ liệu sống sót khi phần cứng hỏng;
  • Phần mềm nén — giảm cỡ tệp để lưu trữ hoặc truyền đi.
Chống phân mảnh: gom các mảnh của MỘT tệp về gần nhau TRƯỚC — tệp nằm rải rác đầu đọc phải NHẢY qua nhảy lại → chậm SAU — mỗi tệp nằm liền khối đầu đọc đi MỘT MẠCH → nhanh hơn chỗ trống gom về một khối Chống phân mảnh KHÔNG xoá tệp và KHÔNG giải phóng dung lượng — nó chỉ SẮP XẾP LẠI.
Chống phân mảnh không xoá gì cảkhông tạo thêm dung lượng trống — nó chỉ sắp xếp lại vị trí, nên đầu đọc không phải nhảy.
Ví dụ — phân loại phần mềm và giải thích chống phân mảnh

(a) Xếp mỗi thứ sau vào phần mềm hệ thống hay phần mềm ứng dụng, kèm lý do: trình quét virut; bảng tính; trình điều khiển máy in; trình duyệt web. (b) Giải thích chống phân mảnh làm gì và vì sao nó tăng tốc độ truy cập.

Giải.

(a) Cách kiểm dùng cho cả bốn: hỏi phần mềm này phục vụ ai? Phục vụ cỗ máy → hệ thống. Phục vụ công việc của người dùng → ứng dụng.

Trình quét virutphần mềm hệ thống. Nó là phần mềm tiện ích: nó không giúp người dùng làm xong việc gì cả, mà giữ cho máy tính hoạt động đúng và an toàn.

Đây là mục hay bị xếp nhầm nhất, vì người dùng nhìn thấy và bấm vào nó như một ứng dụng bình thường.

Bảng tínhphần mềm ứng dụng. Nó tồn tại để người dùng làm một công việc cụ thể — tính toán, lập bảng, vẽ biểu đồ.

Trình điều khiển máy inphần mềm hệ thống. Nó cho phép hệ điều hành giao tiếp với phần cứng, và người dùng gần như không bao giờ tương tác trực tiếp với nó.

Trình duyệt webphần mềm ứng dụng. Nó phục vụ một nhu cầu của người dùng: xem trang web.

(b) Chống phân mảnh làm gì.

Vấn đề. Khi ổ đĩa đầy dần và tệp được xoá đi rồi ghi mới, các khoảng trống còn lại nhỏ và rải rác. Một tệp lớn không còn chỗ liền khối nào đủ chứa, nên hệ điều hành phải chia nó thành nhiều mảnh và nhét vào những khoảng trống khác nhau.

Hệ quả. Khi đọc tệp đó, đầu đọc phải nhảy từ chỗ này sang chỗ khác trên mặt đĩa để gom đủ các mảnh. Mỗi lần nhảy đều mất thời gian cơ học, nên việc mở tệp chậm hẳn lại.

Chống phân mảnh làm gì.sắp xếp lại dữ liệu trên đĩa để các mảnh của cùng một tệp nằm liền nhau, đồng thời gom các khoảng trống về một khối lớn.

Vì sao nhanh hơn. Đầu đọc chỉ cần đi một mạch liên tục để đọc hết tệp, không phải nhảy. Thời gian tìm kiếm giảm mạnh.

Điều cần nêu để tránh hiểu nhầm. Chống phân mảnh không xoá tệp nàokhông tạo thêm dung lượng trống — nó chỉ sắp xếp lại vị trí.

Nó cũng gần như vô ích với ổ SSD, vì ổ SSD không có đầu đọc cơ học nên truy cập chỗ nào cũng nhanh như nhau.

Ví dụ — ngắt và vì sao nó cần thiết

Mô tả điều gì xảy ra khi bộ xử lý nhận được một ngắt, và giải thích vì sao cơ chế ngắt hiệu quả hơn việc bộ xử lý tự đi kiểm tra từng thiết bị.

Giải.

Điều gì xảy ra khi có ngắt.

Bước 1. Một thiết bị hoặc chương trình gửi tín hiệu ngắt tới bộ xử lý, báo rằng có việc cần xử lý ngay.

Bước 2. Bộ xử lý hoàn tất lệnh đang thực hiện, rồi tạm dừng công việc hiện tại.

Bước 3.lưu lại trạng thái hiện tại — nội dung các thanh ghi và vị trí đang chạy tới đâu. Bước này là bắt buộc, vì nếu không lưu thì nó sẽ không biết quay lại chỗ nào.

Bước 4. Nó chạy một đoạn chương trình ngắn để xử lý sự kiện đó — chẳng hạn đọc phím vừa nhấn, hoặc báo cho người dùng biết máy in hết giấy.

Bước 5. Xong việc, nó khôi phục trạng thái đã lưulàm tiếp đúng chỗ đang dở.

Vì sao ngắt hiệu quả hơn việc tự đi kiểm tra.

Nếu không có ngắt, bộ xử lý phải liên tục hỏi từng thiết bị: “bàn phím có phím nào được nhấn chưa?”, “máy in xong chưa?”, “ổ đĩa truyền xong chưa?” — và lặp vòng đó mãi.

Vấn đề: hầu hết các lần hỏi đều nhận được câu trả lời “chưa”. Người dùng gõ vài phím một giây, trong khi bộ xử lý chạy hàng tỉ lệnh mỗi giây — nên gần như toàn bộ thời gian đi hỏi là lãng phí.

Với cơ chế ngắt, bộ xử lý không phải hỏi gì cả. Nó dành toàn bộ thời gian cho công việc thật, và các thiết bị tự lên tiếng khi cần.

Lợi ích thứ hai — phản ứng nhanh hơn. Với cách tự đi kiểm tra, một sự kiện có thể phải chờ tới lượt hỏi kế tiếp. Với ngắt, nó được xử lý gần như tức thì.

Đó là lý do mọi máy tính hiện đại đều dựa vào ngắt, và là lý do bàn phím phản hồi ngay khi ta gõ dù máy đang chạy nhiều chương trình khác.

Bẫy hay mất điểm — Xếp phần mềm tiện ích vào phần mềm ứng dụng. Trình quét virut, chương trình chống phân mảnh và phần mềm sao lưu đều có biểu tượng, đều bấm vào mở được, và người dùng đều nhìn thấy chúng — nên trực giác coi chúng như ứng dụng. Nhưng phân loại dựa vào phần mềm đó phục vụ ai: phần mềm ứng dụng giúp người dùng làm xong một công việc (viết thư, tính bảng, xem web); phần mềm hệ thống giữ cho chính cỗ máy chạy đúng. Một chương trình quét virut không giúp ai soạn xong lá thư nào — nó bảo vệ máy tính. Vì thế nó là phần mềm hệ thống. Bẫy đi kèm: nghĩ chống phân mảnh giải phóng dung lượng. Nó không xoá tệp nàokhông tạo thêm chỗ trống — nó chỉ sắp xếp lại vị trí để các mảnh của một tệp nằm liền nhau, nên đầu đọc không phải nhảy. Nó cũng gần như vô ích với ổ SSD, vốn không có đầu đọc cơ học.
Phải nhớ — Phần mềm hệ thống phục vụ cỗ máy; phần mềm ứng dụng phục vụ công việc của người dùng — và tiện ích thuộc nhóm hệ thống. Hệ điều hành lo bộ nhớ, tệp, thiết bị ngoại vi, giao diện, đa nhiệm, bảo mật và ngắt. Ngắt cho thiết bị tự lên tiếng thay vì bắt bộ xử lý liên tục đi hỏi — tiết kiệm gần như toàn bộ thời gian hỏi vô ích. Chống phân mảnh gom các mảnh của mỗi tệp lại để đầu đọc không phải nhảy; nó không xoá gìkhông tạo thêm dung lượng.

Đọc xong rồi — làm thử ngay

Bài tập của chương Software gồm 14 câu trắc nghiệm và 5 đề tự luận. Đáp án hiện ngay khi chọn, miễn phí.

Làm bài tập chương →