1. Giải thích quá trình thực thi chương trình của CPU theo Figure 1.4, trang 13, William Stallings, “Operating Systems”, 7th edition, 2012.
– PC viết tắt của Program counter (Bộ đếm chương trình): chứa địa chỉ của dòng lệnh tiếp theo
– IR viết tắt của Instruction register (Thanh ghi lệnh) : chứa lệnh đang được thực thi
– AC viết tắt của Accumulator : là bộ nhớ tạm thời
– 1=0001 là lấy dữ liệu từ bộ nhớ
– 2=0010 lưu thanh ghi AC vào bộ nhớ
– 5=0101 cộng vào thanh ghi AC từ bộ nhớ
Lưu ý giá trị đầu tiên từ bên trái qua là cách thức thực thi ở đây là 1, phần phía sau là địa chỉ mà lệnh đó thực thi.
Bước 1:
Đọc từ thanh ghi PC địa chỉ của lệnh cần lấy hình trên địa chỉ là 300 sau đó đưa dòng lệnh tại địa chỉ 300 là 1940 vào thanh ghi IR
Bước 2:
Đưa địa chỉ lệnh tiếp theo cần thực thi vào thanh ghi PC, thanh ghi PC lúc này chứa địa chỉ 301.
Thực thi lệnh 1940 ở thanh ghi IR
Như ghi chú bên trên 1 là nó thực hiện việc lấy dữ liệu từ bộ nhớ ở địa chỉ 940 đưa vào bộ nhớ tạm thời ở thanh ghi AC.
Bước 3:
Đọc từ thanh ghi PC lấy lệnh tiếp theo để thực thi ở đây nó lấy lệnh ở địa chỉ 301 đưa vào thanh ghi IR
Ở đây lệnh có giá trị là 5941 cũng như giải thích bên trên lệnh này có ý nghĩa là cộng vào thanh ghi AC với giá trị lấy từ địa chỉ 941 ,giá trị đó ở đây là 2.
Bước 4:
Đưa địa chỉ lệnh tiếp theo cần thực thi vào thanh ghi PC.
Thực hiện phép cộng 3+2=5 tại thanh ghi AC như hình ta được giá trị 5.
Bước 5:
Đọc từ thanh ghi PC lấy lệnh tiếp theo để thực thi ở đây nó lấy lệnh ở địa chỉ 302 đưa vào thanh ghi IR
ở đây lệnh có giá trị là 2941 cũng như giải thích trên lệnh này có ý nghĩa là lưu thanh ghi AC vào bộ nhớ ở địa chỉ 941
Bước 6:
Thực thi lệnh lưu 0005 vào bộ nhớ 941.
Đó là quá trình thực thi chương trình của bộ nhớ và các thanh ghi hệ Hexa
2. Giải thích quá trình thực thi lệnh của hệ thống khi có ngắt, Figure 1.7, trang 16, William Stallings, “Operating Systems”, 7th edition, 2012.
Ngắt là các lệnh cần thực thi mà không phải báo trước.
Bước 1: Lấy lệnh để thực thi.
Bước 2: Thực thi lệnh có 3 trường hợp
– Trường hợp 1 : Nếu không có ngắt xảy ra thì lệnh sẽ được đưa về hàng đợi chờ thực thi tiếp
– Trường hớp 2 : Nếu ngắt xảy ra thì lệnh sẽ được đưa vào trạng thái ngắt (trạng thái chờ ) và thực thi trạng thái chờ đó ,cho đến khi trạng thái chờ được gọi đến đưa vào hàng đợi để chờ cho đến khi nó được gọi để thực thi.
– Trường hợp 3 : Nếu lệnh đó đã hoàn thành thì dẫn đến kết thúc việc thực thi đoạn lệnh đó.
3. Giải thích về các loại bộ nhớ, Figure 1.14, trang 25, William Stallings, “Operating Systems”, 7th edition, 2012.
Càng tiến dần lên đỉnh tháp thì vùng nhớ càng nhỏ nhưng tốc độ lại càng nhanh và giá cả mắc hơn, tần suất truy cập với vi xử lý nhiều hơn.
Càng tiền dần về chân tháp thì vùng nhớ càng lớn nhưng tốc độ càng chậm và giá cả rẻ hơn, tần suất truy cập với vi xử lý it hơn.
Inboard memory là các bộ nhớ được gắn trực tiếp trên bo mạch chủ gồm có Registers (các thanh ghi), Cache (Bộ nhớ đệm Cache), Main memory bộ nhớ chính (RAM)
Outboard storage là các bộ nhớ lưu trữ nắm ngoài bo mạch chủ (local secondary storage) như đĩa cứng, đĩa mềm,và các loại đĩa quang CD-ROM..v..v
Off-line storage là các bộ lưu trữ nằm ngoài.
4. Hiểu về kiến trúc hệ thống Corei7 của Intel, Figure 1.20, trang 36, William Stallings, “Operating Systems”, 7th edition, 2012.
Một ví dụ của hệ thống đa lõi là Intel Core i7, bao gồm 4 vi xử lý x86, mỗi vi xử lý có 1 L2 cache dành riêng, và một L3 cache dùng chung. Một cơ chế mà Intel sử dụng để tạo ra các bộ nhớ đệm hiệu quả là việc lấy lại dữ liệu từ bộ nhớ đệm, trong mỗi lần duyệt phần cứng để tìm dữ liệu các dữ liệu này sẽ được cho vào các bộ nhớ đệm khi có yêu cầu tìm dữ liệu mà đã được yêu cầu trước đó thì chỉ tìm lại trong bộ nhớ đệm.
Chip Core i7 hỗ trợ 2 hình thức giao tiếp bên ngoài với những chip khác.
DDR3 memory controller: điều khiển lưu lượng dữ liệu từ bộ nhớ chính vào chip, nó hỗ trợ 3 kênh giao tiếp với mỗi kênh có độ rộng 8 bytes và tổng độ rộng bus là 192 bits, tổng lưu lượng dữ liệu lên đến 32 GB/s.
QuickPath Interconnect (QPI): là một liên kết điểm tới điểm với nhiều kết nối điện đặc biệt. Nó cho phép giao tiếp với tốc độ cao giữa kết nối với các chip vi xử lý. Liên kết QPI vận hành với tốc độ 6.4 GT/s (stransfers per second).
5. Mô tả “Mô hình tiến trình năm trạng thái”.
- Running: Tiến trình đang được thực thi.
- Ready: Một tiến trình ở trạng thái sẵn sàng để được thực thi khi có cơ hội.
- Blocked/Waiting: Một tiến trình mà nó không thể thực thi cho đến khi các tác vụ con được hoàn tất ví dụ như các thiết bị nhập xuất chuột bàn phím v.v.
- New: Một tiến trình vừa mới được sinh ra nhưng chưa được đưa vào hàng đợi để thực thi và xử lý bởi hệ điều hành. Thông thường thì, một tiến trình mới không được tải vào RAM.
- Exit: Một tiến trình đã được giải phóng bởi hệ điều hành. Hoặc là nó dừng bởi các tiến trình liên quan tới nó hoặc vì lý do nào khác nó bị hủy bỏ.
Null → New: Một tiến trình mới được sinh ra để thực thi một chương trình.
Ví du:
-Một dãy công việc mới yêu cầu thực hiện.
-Người dùng đăng nhập vào hệ thống.
New → Ready: Hệ điều hành sẽ chuyển đổi tiến trình từ trạng thái New sang trạng thái Ready khi nó được chuẩn bị được thêm vào hàng đợi.
Ready→ Running: Khi tiến trình được chọn để chạy, Hệ điều hành sẽ chọn một trong các tiến trình ở trạng thái Ready. Đó là công việc của bộ phận lập lịch và điều phối.
Running→ Exit: Tiến trình hiện tại đang thực thi được chấm dứt bởi hệ điều hành nếu tiến trình đó đã hoàn tất, hoặc là nó bị hủy vì lý do.
Ví dụ:
-Tiến trình hoàn tất.
-Vượt quá giời hạn thời gian.
-Tràn bộ nhớ.
-Truy cập trái phép đến vùng nhớ không được cho phép truy cập.
-Sử dụng tài nguyên trái phép.
-Chia với số 0.
-Đợi chờ vô hạn định.
-Lỗi nhập xuất.
-Thực thi lệnh không tồn tại.
-Tiến trình cha chấm dứt.
-Tiến trình cha yêu cầu chấm dứt.
Running → Ready: Đây là lý do chung cho những tiến trình đang chạy nhưng đã hết thời hạn cho phép.
Running → Blocked: Một tiến trình được đưa vào trạng thái Blocked nếu như gặp một tác vụ con xuất hiện thì tiến trình phải chờ để hoàn thành tác vụ con.
Blocked→ Ready: Một tiến trình ở trạng thái Blocked được chuyển sang trạng thái Ready khi tác vụ con đã hoàn tất.
Ready→Exit: Nếu tiến trình cha chấm dứt, tất cả tiến trình con liên quan với tiến trình cha đó cũng chấm dứt theo.
Blocked→Exit: Cũng tương tự trạng thái từ Ready→Exit.