Thảo luận Bài 2
+37
VoHoangTrung (113A)
NguyenHuuLinh31(113A)
PhamHuyHoang(I113A)
ngongocdiep06 (113A)
PhanDiecLoi34 (113A)
TranThiThuyHang79 (113A)
LeMInhTien(I11C)
LUUDINHTOAN(I11C)
nguyenvantinh (11a3)
ledinhngankhanh (113a)
TranVanTy(113A)
trantrungnam-HC11TH2A
LeVanNhan(I12A)
caoxuanthang (113A)
NguyenPhamTanPhat(113A)
VoTrongQuyet-I12A
LeKimHoang (113A)
HaHoangCongTien80 (113A)
TranThichThem (113A)
NguyenThiThuThuy (113A)
buidainghia(113A)
LuongMinhThanh(I12A)
dangvannhan_11h1010085
nguyentuannghiaem _(113A)
PhamQuocAnh02 (113A)
NguyenTanTai (113A)
lehuuduc1051010037(113A)
duongvietcuong(113A)
vutanthanh68 (113A)
TrangSiMinhHai (113A)
nguyenvanlinheban_113a
TranVinh01 (113A)
LuuCatTung (113A)
TranThiMyTien18(i11c)
NguyenNgocTrungNam (113A)
duongvanhai_(113A)
Admin
41 posters
Trang 3 trong tổng số 4 trang
Trang 3 trong tổng số 4 trang • 1, 2, 3, 4
Bổ sung các loại ngắt
duongvanhai_(113A) đã viết:* Hai loại nhắt chính :
- Tín hiệu ngắt (Internal Singal) từ các thiết bị (ngắt cứng) truyền qua System Bus.
- Tín hiệu ngắt từ chương trình người dùng (ngắt mếm) nhờ lời gọi hệ thống (System Call hay Monitor Call). Lệnh đặc biệt này (ví dụ có tên INT hoặc SysCall) cơ chế để tiến trình người dùng yêu cầu một dịch vụ của HĐH (ví dụ yêu cầu thực hiện lệnh I/O).
* Với mỗi loại ngắt, có đoạn mã riêng của HĐH dùng để xử lý.
* Các HĐH hiện đại được dẩn dắt bởi các sự kiện. Nế ko có tiến trình nào vận hành, ko có thiết bị I/O nào làm việc, HĐH chờ và theo dõi.
* Thông thường mỗi loại ngắt ứng với một dòng trong bản (Véc-tơ ngắt)chứa con trỏ (Pointer) tới chương trình xử lý loại ngắt đó. Bảng này nằm ở vùng thấp của Ram (ví dụ 100 bytes đầu tiên).
* Cơ chế xử lý ngắt phải có trách nhiệm ghi lại địa chỉ lệnh bị ngắt để sau đó có thể quay lại. Địa chỉ này cùng với nhiều thông tin khác có thể được ghi vào Ngăn xếp hệ thống (System Stack) với nguyên tắc làm việc LIFO(Last-In,First-Out).
Có ba loại ngắt chính, đầu tiên là các ngắt được tạo ra bởi mạch điện của máy tính nhằm đáp lại một sự kiện nào đó như nhấn phím trên bàn phím ..Các ngắt này được bộ điều khiển ngắt 8259A quản lý , 8259A sẽ ấn định mức độ ưu tiên cho từng ngắt rồi gửi đến CPU .
Sau đó là các ngắt do CPU tạo ra khi gặp phải một kết quả bất thường trong khi thực hiện chương trình như chia cho 0 chẳng hạn ..
Cuối cùng là các ngắt do chính chương trình tạo ra nhằm gọi các chương trình con ở xa đang nằm trong ROM hoặc RAM, các ngắt này gọi là ngắt mềm chúng thường là bộ phận của các chương trình con phục vụ của ROM-BIOS hoặc của DOS.
Ngoài ba loại ngắt trên còn có loại ngắt đặc biệt là ngắt không bị che NMI đòi hỏi CPU phục vụ ngay khi có yêu cầu. Loại ngắt này thường được dùng để báo hiệu sự cố như sụt điệp áp hay lỗi bộ nhớ . Như vậy NMI là mức ngắt có độ ưu tiên cao nhất .
Các ngắt trong PC có thể chia thành 7 nhóm như sau :
- Các ngắt vi xử lý :Thường gọi là các ngắt logic được thiết kế sẵn trong bộ VXL Bốn trong số các ngắt này (0,1,3,4 ) do chính bộ VXL tạo ra còn ngắt 2 (NMI ) sẽ được kích hoạt khi có tín hiệu tạo ra bởi một trong các thiết bị ngoài.
- Các ngắt cứng : Ðược thiết kế sẵn trong phần cứng của của PC ,tám ngắt trong số các ngắt này (2,8,9,từ Bh đến Fh ) được gắn chết vào trong bộ VXL hoặc vào bảng mạch chính của hệ thống .Tất cả các ngắt cứng đều do 8259A điều khiển .
- Các ngắt mềm: Những ngắt này là một phần của các chương trình ROM -BIOS ,các số hiệu dành cho các ngắt của ROM- BIOS là 5 ,từ 10h đến 1C hex và 48h .
Ngoài ra còn có các ngắt DOS và ngắt BASIC phục vụ hệ điều hành DOS và chương trình BASIC .
- Các ngắt địa chỉ :Các số hiệu dành cho các ngắt này là từ 1Dhex đến 1Fhex . Ba trong số các ngắt này trỏ đến ba bảng rất quan trọngđó là bảng khởi tạo màn hình ,bảng cơ sở đĩa và bảng các ký tự đồ thị .Các bảng này chứa các tham số được ROM BIOS dùng khi khởi động hệthống và tạo các ký.
Nếu cùng một thời điểm có nhiều lệnh ngắt thuộc các ngắt khác nhau đòi hỏi CPU cùng xử lý thì CPU sẽ xử lý ngắt theo thứ tự ưu tiên vơi nguyên tắc ngắt nào có mức ưu tiên cao hơn sẽ được CPU nhận biết và phục vụ trước.
ledinhngankhanh (113a)- Tổng số bài gửi : 30
Join date : 29/07/2012
Nguyên lý lưu gần Caching
Là nguyên tắc quan trọng của hệ thống máy tính.
- Thông tin từ RAM có thể được cơ chế phần cứng đưa vào bộ nhớ nhanh hơn gọi là Cache. Khi CPU cần chính thông tin đó, không cần phải truy xuất RAM, mà lấy ngay từ Cache.
- Loại bộ nhớ này không do HĐH quản lý và cấp phát.
- Thực tế, RAM (Bộ nhớ Sơ cấp) là loại Cache nhanh so với đĩa cứng (Bộ nhớ thứ cấp) và HĐH có chức năng quản lý sự lưu chuyển dữ liệu giữa 2 loại bộ nhớ này
Theo mình nghĩ bộ nhớ Cache la :
-Bộ nhớ Cache là bộ nhớ nằm bên trong của CPU, nó có tốc độ
truy cập dữ liệu theo kịp tốc độ xủa lý của CPU, điều này khiến
cho CPU trong lúc xử lý không phải chờ dữ liệu từ RAM vì dữ
liệu từ RAM phải đi qua Bus của hệ thống nên mất nhiều thời
gian.
- Một dữ liệu trước khi được xử lý , thông qua các lệnh gợi ý của
ngôn ngữ lập trình, dữ liệu được nạp sẵn lên bộ nhớ Cache, vì
vậy khi xử lý đến, CPU không mất thời gian chờ đợi .
Khi xử lý xong trong lúc đường truyền còn bận thì CPU lại
đưa tạm kết quả vào bộ nhớ Cache, như vậy CPU không mất
thời gian chờ đường truyền được giải phóng .
- Bộ nhớ Cache là giải pháp làm cho CPU có điều kiện hoạt động
thường xuyên mà không phải ngắt quãng chờ dữ liệu, vì vậy
nhờ có bộ nhớ Cache mà hiệu quả xử lý tăng lên rất nhiều, tuy
nhiên bộ nhớ Cache được làm bằng Ram tĩnh do vậy giá thành
của chúng rất cao
Vd: Nếu bạn lấy nước ở một con sông thì rất xa và tốn công và thời gian, khi đó chúng ta có thể lấy nước để vào tróng cái bể nước, cái vại hay thùng đựng nước gần nhà. Vậy khi bạn cần bạn chỉ cần ra đó múc nước là xong. Cache giống như những thứ dùng đựng nước, nó giúp máy tính có thể lấy được tài nguyên để xử lý nhanh hơn
- Thông tin từ RAM có thể được cơ chế phần cứng đưa vào bộ nhớ nhanh hơn gọi là Cache. Khi CPU cần chính thông tin đó, không cần phải truy xuất RAM, mà lấy ngay từ Cache.
- Loại bộ nhớ này không do HĐH quản lý và cấp phát.
- Thực tế, RAM (Bộ nhớ Sơ cấp) là loại Cache nhanh so với đĩa cứng (Bộ nhớ thứ cấp) và HĐH có chức năng quản lý sự lưu chuyển dữ liệu giữa 2 loại bộ nhớ này
Theo mình nghĩ bộ nhớ Cache la :
-Bộ nhớ Cache là bộ nhớ nằm bên trong của CPU, nó có tốc độ
truy cập dữ liệu theo kịp tốc độ xủa lý của CPU, điều này khiến
cho CPU trong lúc xử lý không phải chờ dữ liệu từ RAM vì dữ
liệu từ RAM phải đi qua Bus của hệ thống nên mất nhiều thời
gian.
- Một dữ liệu trước khi được xử lý , thông qua các lệnh gợi ý của
ngôn ngữ lập trình, dữ liệu được nạp sẵn lên bộ nhớ Cache, vì
vậy khi xử lý đến, CPU không mất thời gian chờ đợi .
Khi xử lý xong trong lúc đường truyền còn bận thì CPU lại
đưa tạm kết quả vào bộ nhớ Cache, như vậy CPU không mất
thời gian chờ đường truyền được giải phóng .
- Bộ nhớ Cache là giải pháp làm cho CPU có điều kiện hoạt động
thường xuyên mà không phải ngắt quãng chờ dữ liệu, vì vậy
nhờ có bộ nhớ Cache mà hiệu quả xử lý tăng lên rất nhiều, tuy
nhiên bộ nhớ Cache được làm bằng Ram tĩnh do vậy giá thành
của chúng rất cao
Vd: Nếu bạn lấy nước ở một con sông thì rất xa và tốn công và thời gian, khi đó chúng ta có thể lấy nước để vào tróng cái bể nước, cái vại hay thùng đựng nước gần nhà. Vậy khi bạn cần bạn chỉ cần ra đó múc nước là xong. Cache giống như những thứ dùng đựng nước, nó giúp máy tính có thể lấy được tài nguyên để xử lý nhanh hơn
ledinhngankhanh (113a)- Tổng số bài gửi : 30
Join date : 29/07/2012
Re: Thảo luận Bài 2
*Nhập/xuất đồng bộ:
- Là nhập/xuất có chờ.
- Tiến trình người dùng chờ nhập xuất kết thúc rồi mới chạy tiếp .
* Nhập/xuất không đồng bộ:
- Là nhập/xuất được tiến hành song song, đồng thời với tiến trình người dùng,thiết bị ngoại vi.
VD:
* Nhập/Xuất đồng bộ:Với thiết bị bàn phím chương trình phải chờ người dùng bấm Yes hoặc No,với kết quả Yes hoặc No chương trình mới chạy tiếp.
* Nhập xuất không đồng bộ:khi người dùng nhập xong thì chương trình sẽ tự động xuất ra mà không cần phải hỏi ý kiến của người dùng hoặc ta gửi 1 lệnh in 1 văn bản và máy in vẫn hoạt động và người dùng đang xử lý 1 công việc khác
- Là nhập/xuất có chờ.
- Tiến trình người dùng chờ nhập xuất kết thúc rồi mới chạy tiếp .
* Nhập/xuất không đồng bộ:
- Là nhập/xuất được tiến hành song song, đồng thời với tiến trình người dùng,thiết bị ngoại vi.
VD:
* Nhập/Xuất đồng bộ:Với thiết bị bàn phím chương trình phải chờ người dùng bấm Yes hoặc No,với kết quả Yes hoặc No chương trình mới chạy tiếp.
* Nhập xuất không đồng bộ:khi người dùng nhập xong thì chương trình sẽ tự động xuất ra mà không cần phải hỏi ý kiến của người dùng hoặc ta gửi 1 lệnh in 1 văn bản và máy in vẫn hoạt động và người dùng đang xử lý 1 công việc khác
nguyenvantinh (11a3)- Tổng số bài gửi : 13
Join date : 17/07/2012
Age : 37
trong HĐH cahce rất là quan trọng
Thuật ngữ L1 cache, L2 cache là tên gọi của vùng nhớ đệm – nơi lưu trữ các dữ liệu nằm chờ các ứng dụng hay phần cứng xử lý. Mục đích của nó là để tăng tốc độ xử lý, nó giống như một trạm trung chuyển hay cảng tập kết hàng hoá.
Nói một cách bài bản, cache là một cơ chế lưu trữ tốc độ cao đặc biệt. Nó có thể là một vùng lưu trữ của bộ nhớ chính hay một thiết bị lưu trữ tốc độ cao độc lập.Có hai dạng lưu trữ cache được dùng phổ biến trong máy tính cá nhân là memory caching (bộ nhớ cache hay bộ nhớ truy xuất nhanh) và disk caching (bộ nhớ đệm đĩa).
* Memory cache: Đây là một khu vực bộ nhớ được tạo bằng bộ nhớ tĩnh (SRAM) có tốc độ cao nhưng đắt tiền thay vì bộ nhớ động (DRAM) có tốc độ thấp hơn và rẻ hơn, được dùng cho bộ nhớ chính. Cơ chế lưu trữ bộ nhớ cahce này rất có hiệu quả. Bởi lẽ, hầu hết các chương trình thực tế truy xuất lặp đi lặp lại cùng một dữ liệu hay các lệnh y chang nhau. Nhờ lưu trữ các thông tin này trong SRAM, máy tính sẽ khỏi phải truy xuất vào DRAM vốn chậm chạp hơn.Một số bộ nhớ cache được tích hợp vào trong kiến trúc của các bộ vi xử lý. Chẳng hạn, CPU Intel đời 80486 có bộ nhớ cache 8 KB, trong khi lên đời Pentium là 16 KB. Các bộ nhớ cache nội (internal cache) như thế gọi là Level 1 (L1) Cache (bộ nhớ đệm cấp 1). Các máy tính hiện đại hơn thì có thêm bộ nhớ cache ngoại (external cache) gọi là Level 2 (L2) Cache (bộ nhớ đệm cấp 2). Các cache này nằm giữa CPU và bộ nhớ hệ thống DRAM. Sau này, do nhu cầu xử lý nặng hơn và với tốc độ nhanh hơn, các máy chủ (server), máy trạm (workstation) và mới đây là CPU Pentium 4 Extreme Edition được tăng cường thêm bộ nhớ đệm L3 Cache.
Nói một cách bài bản, cache là một cơ chế lưu trữ tốc độ cao đặc biệt. Nó có thể là một vùng lưu trữ của bộ nhớ chính hay một thiết bị lưu trữ tốc độ cao độc lập.Có hai dạng lưu trữ cache được dùng phổ biến trong máy tính cá nhân là memory caching (bộ nhớ cache hay bộ nhớ truy xuất nhanh) và disk caching (bộ nhớ đệm đĩa).
* Memory cache: Đây là một khu vực bộ nhớ được tạo bằng bộ nhớ tĩnh (SRAM) có tốc độ cao nhưng đắt tiền thay vì bộ nhớ động (DRAM) có tốc độ thấp hơn và rẻ hơn, được dùng cho bộ nhớ chính. Cơ chế lưu trữ bộ nhớ cahce này rất có hiệu quả. Bởi lẽ, hầu hết các chương trình thực tế truy xuất lặp đi lặp lại cùng một dữ liệu hay các lệnh y chang nhau. Nhờ lưu trữ các thông tin này trong SRAM, máy tính sẽ khỏi phải truy xuất vào DRAM vốn chậm chạp hơn.Một số bộ nhớ cache được tích hợp vào trong kiến trúc của các bộ vi xử lý. Chẳng hạn, CPU Intel đời 80486 có bộ nhớ cache 8 KB, trong khi lên đời Pentium là 16 KB. Các bộ nhớ cache nội (internal cache) như thế gọi là Level 1 (L1) Cache (bộ nhớ đệm cấp 1). Các máy tính hiện đại hơn thì có thêm bộ nhớ cache ngoại (external cache) gọi là Level 2 (L2) Cache (bộ nhớ đệm cấp 2). Các cache này nằm giữa CPU và bộ nhớ hệ thống DRAM. Sau này, do nhu cầu xử lý nặng hơn và với tốc độ nhanh hơn, các máy chủ (server), máy trạm (workstation) và mới đây là CPU Pentium 4 Extreme Edition được tăng cường thêm bộ nhớ đệm L3 Cache.
Phân biệt 2 phương thức I/O đồng bộ và không đồng bộ
*Synchronous I/O (Đồng bộ): Sau khi phát ra lệnh Nhập/Xuất, tiến trình chuyển sang trạng thái chờ đến khi Nhập/Xuất hoàn tất rồi mới chạy tiếp
Ví dụ: Khi ta tạo mới một tài liệu nhập dữ liệu từ bàn phím, lưu lại chọn Save, rồi đặt tên file, và chọn nơi lưu trữ. Các tiến trình đó ở trạng thái chờ tiến trình trước nhập xuất hoàn tất.
*ASynchronous I/O (Không đồng bộ): Sau khi phát ra lệnh Nhập/Xuất, tiến trình không chờ Nhập/Xuất hoàn tất mà thực hiện ngay lệnh kế tiếp. Như vậy, tiến trình vận hành song song với công việc Nhập/Xuất.
Để chứng minh điều đó, hãy xem hình vẽ sau:
Ví dụ: Khi ta nhập dữ liệu mới hoặc thêm vào tài liệu đã có, lưu thì chọn Save đồng thời lúc này tiến trình vận hành song song với việc phát ra lệnh từ Save.
Ví dụ: Khi ta tạo mới một tài liệu nhập dữ liệu từ bàn phím, lưu lại chọn Save, rồi đặt tên file, và chọn nơi lưu trữ. Các tiến trình đó ở trạng thái chờ tiến trình trước nhập xuất hoàn tất.
*ASynchronous I/O (Không đồng bộ): Sau khi phát ra lệnh Nhập/Xuất, tiến trình không chờ Nhập/Xuất hoàn tất mà thực hiện ngay lệnh kế tiếp. Như vậy, tiến trình vận hành song song với công việc Nhập/Xuất.
Để chứng minh điều đó, hãy xem hình vẽ sau:
Ví dụ: Khi ta nhập dữ liệu mới hoặc thêm vào tài liệu đã có, lưu thì chọn Save đồng thời lúc này tiến trình vận hành song song với việc phát ra lệnh từ Save.
LeMInhTien(I11C)- Tổng số bài gửi : 40
Join date : 07/09/2011
Nguyên tắc lưu gần (Caching)?
o Là nguyên tắc quan trọng của hệ thống máy tính.
o Thông tin từ RAM có thể được cơ chế phần cứng đưa vào bộ nhớ nhanh hơn gọi là Cache. Khi CPU cần chính thông tin đó, không cần phải truy xuất RAM, mà lấy ngay từ Cache.
o Loại bộ nhớ này không do HĐH quản lý và cấp phát.
o Thực tế, RAM (Bộ nhớ Sơ cấp) là loại Cache nhanh so với đĩa cứng (Bộ nhớ thứ cấp) và HĐH có chức năng quản lý sự lưu chuyển dữ liệu giữa 2 loại bộ nhớ này
o Thông tin từ RAM có thể được cơ chế phần cứng đưa vào bộ nhớ nhanh hơn gọi là Cache. Khi CPU cần chính thông tin đó, không cần phải truy xuất RAM, mà lấy ngay từ Cache.
o Loại bộ nhớ này không do HĐH quản lý và cấp phát.
o Thực tế, RAM (Bộ nhớ Sơ cấp) là loại Cache nhanh so với đĩa cứng (Bộ nhớ thứ cấp) và HĐH có chức năng quản lý sự lưu chuyển dữ liệu giữa 2 loại bộ nhớ này
LeMInhTien(I11C)- Tổng số bài gửi : 40
Join date : 07/09/2011
Câu 3: Trình bày 2 phương thức Nhập/Xuất. Phân biệt Nhập/Xuất đồng bộ (Synchronous) và Nhập/Xuất không đồng bộ (ASynchronous).
- Synchronous I/O: Sau khi phát ra lệnh Nhập/Xuất, tiến trình chuyển sang trạng thái chờ đến khi Nhập/Xuất hoàn tất rồi mới chạy tiếp (thực hiện lệnh kế tiếp)
Ví dụ: Khi ta tạo mới một tài liệu nhập dữ liệu từ bàn phím, khi muốn lưu lại ta phải chọn Save, sau đó đặt tên file, và chọn nơi lưu trữ. Các tiến trình đó ở trạng thái chờ tiến trình trước nhập xuất hoàn tất đã.
- ASynchronous I/O: Sau khi phát ra lệnh Nhập/Xuất, tiến trình không chờ Nhập/Xuất hoàn tất mà thực hiện ngay lệnh kế tiếp. Như vậy, tiến trình vận hành song song với công việc Nhập/Xuất.
Ví dụ: Khi ta tạo mới một tài liệu nhập dữ liệu từ bàn phím, khi muốn lưu lại ta phải chọn Save, sau đó đặt tên file, và chọn nơi lưu trữ. Các tiến trình đó ở trạng thái chờ tiến trình trước nhập xuất hoàn tất đã.
- ASynchronous I/O: Sau khi phát ra lệnh Nhập/Xuất, tiến trình không chờ Nhập/Xuất hoàn tất mà thực hiện ngay lệnh kế tiếp. Như vậy, tiến trình vận hành song song với công việc Nhập/Xuất.
Phân cấp bộ nhớ
Một trong những điều quan trọng được quan tâm nhất về hiệu suất của bộ nhớ hiện đại là bộ nhớ phân cấp. Không phải tất cả các bộ nhớ đều được tao ra ngang nhau, 1 số kém hiệu quả hơn và rẻ hơn. Để giải quyết sự chênh lệch này, máy tính ngày nay kết hợp các kiểu bộ nhớ để cung cấp hiệu suất cao nhất với giá thành ít nhất. Cách tiếp cận này được gọi là bộ nhớ phân cấp. Bộ nhớ càng nhanh thì càng đắt. Bằng việc sử dụng bộ nhớ chia sẻ, với mỗi tốc độ truy cập và dung lượng khác nhau, 1 hệ thống máy tính có thể năng cao hiệu suất trên cả khả năng có thể của chúng khi mà không kết hợp các loại khác nhau lại. Hệ thống bộ nhớ phân cấp bao gồm các thanh ghi, cache, bộ nhớ chính và bộ nhớ phụ.
Máy tính ngày nay có bộ nhớ nhỏ tốc độ cao gọi là cache, nơi mà dữ liệu được lưu trữ thường xuyên. Cache kết nối tới bộ nhớ lớn hơn - bộ nhớ chính, bộ nhớ có tốc độ tầm trung. Bộ nhớ này được bổ sung bới 1 bộ nhớ phụ, kết hợp với hard disk và các phương tiện có thể tháo dời khác nhau (various removable media). Bằng việc sử dụng hệ thống phân cấp, 1 bộ nhớ có thể nâng cao tốc độ truy cập, chỉ sử dụng 1 số nhỏ chip tốc độ nhanh. Nó cho phép người thiết kế tạo ra máy tính hiệu suất chấp nhận được với giá thành hợp lý.
Chúng ta phân loại bộ nhớ dựa trên “khoảng cách” từ nó tới bộ xử lý, với khoảng cách được định nghĩa bằng số vòng máy đòi hỏi để truy cập. Bộ nhớ càng gần bộ xử lý thì càng nhanh. Và ngược lại. Công nghệ chậm sẽ sử dụng bộ nhớ ở xa còn công nghệ nhanh sẽ sử dụng bộ nhớ gần bộ vi xử lý. Công nghệ càng tốt, bộ nhớ càng nhanh và càng đắt tiền. Bộ nhớ nhanh hơn thì sẽ nhỏ hơn bộ nhớ chậm và giá thành càng cao.
Dưới đây là những thuật ngữ được sử dụng khi miêu tả bộ nhớ phân cấp:
* Hit – Dữ liệu yêu cầu ở 1 cấp độ bộ nhớ (thông thường, chúng ta quan tâm đến tỉ lệ hit chỉ cho bộ nhớ cấp cao hơn).
* Miss – Dữ liệu yêu cầu không tìm thấy trong cấp độ bộ nhớ.
* Hit rate – Tỉ lệ phần trăm truy cập bộ nhớ được tìm thấy trong 1 cấp độ bộ nhớ.
* Miss rate – Tỉ lệ phần trăm truy cập bộ nhớ không được tìm thấy trong 1 cấp độ bộ nhớ. Note: Miss Rate = 1 – Hit Rate
* Hit time – Số lần yêu cầu để truy cập thông tin yêu cầu trong 1 cấp độ bộ nhớ.
* Miss penalty – Thời gian cần thiết để xử lý 1 miss, bao gồm thay thế 1 khối trong 1 cấp độ trên của bộ nhớ, cộng với thời gian đưa dữ liệu yêu cầu tới bộ xử lý. (Thời gian để xử lý 1 miss lớn hơn time xử lý 1 hit).
Đối với dữ liệu bất kì, bộ xử lý sẽ gửi yêu cầu của nó tới phần bộ nhớ nhanh nhất, nhỏ nhất (cache, bởi vì register dành cho mục đích đặc biệt hơn). Nếu dữ liệu được tìm thấy trong cache, nó sẽ nhanh chóng được đưa vào CPU. Nếu nó không ở trong cache, yêu cầu sẽ được gửi tới bộ nhớ thấp hơn trong hệ thống và quá trình tìm kiếm lại bắt đầu. Nếu dữ liệu được tìm thấy ở cấp độ này, một khối dữ liệu ở đó sẽ được đưa vào cache, và cứ thể tiếp tục. Ý tưởng chính ở đây là khi cấp độ thấp hơn của hệ thống phân cấp trả lời yêu cầu từ cấp độ cao hơn cho nội dung ở vị trí X, chúng cũng gửi đi cùng 1 thời điểm, dữ liệu được đặt ở địa chỉ X + 1, X + 2… Cứ như vậy, trả lại toàn bộ khối dữ liệu tới cấp độ bộ nhớ cao hơn. Hi vọng rằng dữ liệu thêm này sẽ được tham chiếu tới trong tương lai gần. Bộ nhớ chia sẻ thiết thực bởi vì các chương trình có xu hướng sở hữu 1 vùng biết đến cục bộ (locality), cái mà thường xuyên cho phép bộ xử lý truy cập tới dữ liệu được trả lại cho địa chỉ X+1, X+2… Vì vậy, mặc dù đó là 1 miss, vẫn có thể có 1 số hit trong bộ nhớ trên khối mới được truy xuất.
Máy tính ngày nay có bộ nhớ nhỏ tốc độ cao gọi là cache, nơi mà dữ liệu được lưu trữ thường xuyên. Cache kết nối tới bộ nhớ lớn hơn - bộ nhớ chính, bộ nhớ có tốc độ tầm trung. Bộ nhớ này được bổ sung bới 1 bộ nhớ phụ, kết hợp với hard disk và các phương tiện có thể tháo dời khác nhau (various removable media). Bằng việc sử dụng hệ thống phân cấp, 1 bộ nhớ có thể nâng cao tốc độ truy cập, chỉ sử dụng 1 số nhỏ chip tốc độ nhanh. Nó cho phép người thiết kế tạo ra máy tính hiệu suất chấp nhận được với giá thành hợp lý.
Chúng ta phân loại bộ nhớ dựa trên “khoảng cách” từ nó tới bộ xử lý, với khoảng cách được định nghĩa bằng số vòng máy đòi hỏi để truy cập. Bộ nhớ càng gần bộ xử lý thì càng nhanh. Và ngược lại. Công nghệ chậm sẽ sử dụng bộ nhớ ở xa còn công nghệ nhanh sẽ sử dụng bộ nhớ gần bộ vi xử lý. Công nghệ càng tốt, bộ nhớ càng nhanh và càng đắt tiền. Bộ nhớ nhanh hơn thì sẽ nhỏ hơn bộ nhớ chậm và giá thành càng cao.
Dưới đây là những thuật ngữ được sử dụng khi miêu tả bộ nhớ phân cấp:
* Hit – Dữ liệu yêu cầu ở 1 cấp độ bộ nhớ (thông thường, chúng ta quan tâm đến tỉ lệ hit chỉ cho bộ nhớ cấp cao hơn).
* Miss – Dữ liệu yêu cầu không tìm thấy trong cấp độ bộ nhớ.
* Hit rate – Tỉ lệ phần trăm truy cập bộ nhớ được tìm thấy trong 1 cấp độ bộ nhớ.
* Miss rate – Tỉ lệ phần trăm truy cập bộ nhớ không được tìm thấy trong 1 cấp độ bộ nhớ. Note: Miss Rate = 1 – Hit Rate
* Hit time – Số lần yêu cầu để truy cập thông tin yêu cầu trong 1 cấp độ bộ nhớ.
* Miss penalty – Thời gian cần thiết để xử lý 1 miss, bao gồm thay thế 1 khối trong 1 cấp độ trên của bộ nhớ, cộng với thời gian đưa dữ liệu yêu cầu tới bộ xử lý. (Thời gian để xử lý 1 miss lớn hơn time xử lý 1 hit).
Đối với dữ liệu bất kì, bộ xử lý sẽ gửi yêu cầu của nó tới phần bộ nhớ nhanh nhất, nhỏ nhất (cache, bởi vì register dành cho mục đích đặc biệt hơn). Nếu dữ liệu được tìm thấy trong cache, nó sẽ nhanh chóng được đưa vào CPU. Nếu nó không ở trong cache, yêu cầu sẽ được gửi tới bộ nhớ thấp hơn trong hệ thống và quá trình tìm kiếm lại bắt đầu. Nếu dữ liệu được tìm thấy ở cấp độ này, một khối dữ liệu ở đó sẽ được đưa vào cache, và cứ thể tiếp tục. Ý tưởng chính ở đây là khi cấp độ thấp hơn của hệ thống phân cấp trả lời yêu cầu từ cấp độ cao hơn cho nội dung ở vị trí X, chúng cũng gửi đi cùng 1 thời điểm, dữ liệu được đặt ở địa chỉ X + 1, X + 2… Cứ như vậy, trả lại toàn bộ khối dữ liệu tới cấp độ bộ nhớ cao hơn. Hi vọng rằng dữ liệu thêm này sẽ được tham chiếu tới trong tương lai gần. Bộ nhớ chia sẻ thiết thực bởi vì các chương trình có xu hướng sở hữu 1 vùng biết đến cục bộ (locality), cái mà thường xuyên cho phép bộ xử lý truy cập tới dữ liệu được trả lại cho địa chỉ X+1, X+2… Vì vậy, mặc dù đó là 1 miss, vẫn có thể có 1 số hit trong bộ nhớ trên khối mới được truy xuất.
Nguyên tắc lưu gần
Nguyên tắc lưu gần:
- Là nguyên tắc quan trọng của hệ thống máy tính.
- Thông tin từ RAM có thể được cơ chế phần cứng đưa vào bộ nhớ nhanh hơn gọi làCache. Khi CPU cần chính thông tin đó, không cần phải truy xuất RAM mà lấy ngay từCache.
- Loại bộ nhớ này không do hệ điều hành quản lý và cấp phát.
- Thực tế, RAM (Bộ nhớ sơ cấp) là loại cache nhanh so với địa cứng (Bộ nhớ thứ cấp) vàhệ điều hành có chức năng quản lý sự lưu chuyển dữ liệu giữa hai loại bộ nhớ này.
- Là nguyên tắc quan trọng của hệ thống máy tính.
- Thông tin từ RAM có thể được cơ chế phần cứng đưa vào bộ nhớ nhanh hơn gọi làCache. Khi CPU cần chính thông tin đó, không cần phải truy xuất RAM mà lấy ngay từCache.
- Loại bộ nhớ này không do hệ điều hành quản lý và cấp phát.
- Thực tế, RAM (Bộ nhớ sơ cấp) là loại cache nhanh so với địa cứng (Bộ nhớ thứ cấp) vàhệ điều hành có chức năng quản lý sự lưu chuyển dữ liệu giữa hai loại bộ nhớ này.
Trình bày nguyên lý bảo vệ phần cứng bằng Mode Bit
Một Mode Bit được đưa vào phần cứng của máy để chỉ báo chế độ làm việc hiện hành: 0 - Monitor Mode, 1 - User Mode.
Khi xảy ra ngắt, phần cứng chuyển từ User Mode sang Monitor Mode bằng cách đặt Mode Bit thành 0.
Hệ điều hành đặt Mode Bit bằng 1 trước khi trả điều khiển về tiến trình người dùng.
Một số lệnh máy chỉ thực hiện được trong Monitor Mode (Các lệnh ưu tiên).
Tiến trình người dùng có thể gián tiếp thực hiện các lệnh ưu tiên qua Lời gọi hệ thống (System Call).
MS-DOS không có Dual-Mode.
Bộ xử lý Pentium hỗ trợ Mode bit, do đó các HĐH Windows 2000/XP/2003/Vista và OS/2 tận dụng được tính năng này để bảo vệ máy tính tốt hơn.
Khi xảy ra ngắt, phần cứng chuyển từ User Mode sang Monitor Mode bằng cách đặt Mode Bit thành 0.
Hệ điều hành đặt Mode Bit bằng 1 trước khi trả điều khiển về tiến trình người dùng.
Một số lệnh máy chỉ thực hiện được trong Monitor Mode (Các lệnh ưu tiên).
Tiến trình người dùng có thể gián tiếp thực hiện các lệnh ưu tiên qua Lời gọi hệ thống (System Call).
MS-DOS không có Dual-Mode.
Bộ xử lý Pentium hỗ trợ Mode bit, do đó các HĐH Windows 2000/XP/2003/Vista và OS/2 tận dụng được tính năng này để bảo vệ máy tính tốt hơn.
Nguyên lý bảo vệ bộ nhớ chính bằng thanh ghi cơ sở và thanh ghi giới hạn.
- Để tiến trình người dùng không can thiệp được vào vùng nhớ của HĐH và của các tiến trình khác, thường sử dụng 2 thanh ghi : thanh ghi cơ sở (Base Register) và thanh ghi giới hạn (Limit Register). Chỉ có HĐH mới có thể sửa được nội dung 2 thanh ghi này.
Phân biệt Synchronous I/O với Asynchronous I/O. Cho các ví dụ minh hoạ
*Synchronous I/O: sau khi phát ra lệnh nhập-xuất, tiến trình chuyển sang trạng thái chờ đến khi nhập-xuất hoàn tất rồi mới chạy tiếp (thực hiện lệnh kế tiếp).
ví dụ: khi ta tạo mới một tập tin nhập nội dung từ bàn phím. Lúc muốn lưu lại thì ta chọn Save, rồi đặt tên file và chọn nơi lưu trữ. Các tiến trình đó ở trạng thái chồ tiến trình trước nhập-xuất hoàn tất đã.
*Asynchronous I/O: sau khi phát ra lệnh nhập-xuất, tiến trình không chờ nhập-xuất hoàn tất mà thực hiện ngay lệnh kế tiếp. Như vậy, tiến trình vận hành song song với công việc nhập-xuất.
ví dụ: khi ta nhập nội dung mới hay thêm vào tập tin đã có, lúc ta muốn lưu thì chọn Save. Khi đó tiến trình vận hành song song với việc phát ra lệnh từ Save.
ví dụ: khi ta tạo mới một tập tin nhập nội dung từ bàn phím. Lúc muốn lưu lại thì ta chọn Save, rồi đặt tên file và chọn nơi lưu trữ. Các tiến trình đó ở trạng thái chồ tiến trình trước nhập-xuất hoàn tất đã.
*Asynchronous I/O: sau khi phát ra lệnh nhập-xuất, tiến trình không chờ nhập-xuất hoàn tất mà thực hiện ngay lệnh kế tiếp. Như vậy, tiến trình vận hành song song với công việc nhập-xuất.
ví dụ: khi ta nhập nội dung mới hay thêm vào tập tin đã có, lúc ta muốn lưu thì chọn Save. Khi đó tiến trình vận hành song song với việc phát ra lệnh từ Save.
TranThiThuyHang79 (113A)- Tổng số bài gửi : 46
Join date : 24/07/2012
Age : 34
Đến từ : Tiền Giang
Re: Thảo luận Bài 2
cám ơn bạn!nguyenvanlinheban_113a đã viết:Câu 1: Trình bày nguyên tắc xử lý ngắt của HĐH. Phân biệt ngắt cứng với ngắt mềm.
Câu 2: Trình bày tuyến thời gian công việc của 1 tiến trình có nhiều yêu cầu nhập xuất tới thiết bị ngoài.
Câu 3: Trình bày hai phương thức nhập xuất. Phân biệt nhập xuất đồng bộ (synchronize) với nhập xuất không đồng bộ (Asynchronize).
Câu 4: Trình bày mô hình phân cấp các loại bộ nhớ và nguyên lý lưu gần.
Câu 5: Trình bày nguyên lý bảo vệ phần cứng bằng mode bit.
Câu 6: Trình bày nguyên lý bảo vệ bộ nhớ chính bằng thanh ghi cơ sở và thanh ghi giới hạn.
TranThiThuyHang79 (113A)- Tổng số bài gửi : 46
Join date : 24/07/2012
Age : 34
Đến từ : Tiền Giang
Software disk caches, on-board disk caches và disk caching controllers
Bộ đệm “mềm” (Software disk caches):
Sử dụng một phần bộ nhớ chính của máy (PC RAM – main memory) để truy xuất và lưu trữ tạm thời một phần dữ liệu của ổ cứng. Loại bộ đệm này do một chương trình tao và quản lý cho nên không cần đế những phần cứng hỗ trợ đặc biệt. VCACHE chính là một ví dụ thực tế về bộ đệm mềm.
-Bộ đệm “cứng” (on-board disk caches):
Sử dụng bộ nhớ và bộ điều khiển cache được thiết kế ngay trên board mạch của ổ cứng. Mặc dù nó không hề sử dụng bất cứ một phần RAM nào của bộ nhớ chính (computer RAM) để làm công việc lưu trữ tạm thời nhưng chúng có dung lượng rất thấp (128KB->2MB cá biệt có thể lên đến 4MB) và cực kỳ đắt tiền.
-Bộ đệm “riêng” (disk caching controllers):
Tương tự như bộ đệm cứng, bộ đệm riêng sử dụng bộ nhớ riêng (có cấu trúc khác RAM) nhưng bộ nhớ và bộ điều khiển mà bộ đệm này sử dụng là bộ nhớ và chíp điều khiển được gắn riêng rẽ trên một card điều khiển chứ không phải là trên board mạch của ổ cứng và lẽ dĩ nhiên giá thành của chúng cực kì đắt. Tuy nhiên, bộ đệm riêng lại hoạt động tốt và nhanh hơn rất nhiều so với bộ đệm cứng vì nó vượt qua được một số giới hạn của những phần của ổ cứng mà bộ đệm cứng luôn bị ảnh hưởng.
-Buffers :
Ở đây chúng tôi không dịch hẳn từ buffer mà để nguyên như thế vì giữa buffers và cache có những điểm rất giống nhau. Có rất nhiều tài liệu biên dịch hoặc nguyên bản hoàn toàn không phân biệt giữa 2 khái niệm “cache” và “buffers” mà lại để nguyên là “bộ đệm” – như vậy là không chính xác! Vậy giữa cache và buffers có gì khác nhau và giống nhau ? Có một điểm duy nhất giống nhau giữa cache và buffers chính là “chúng đều là bộ nhớ đệm có tác dụng lưu trữ tạm thời một số dữ liệu trên ổ cứng nhằm tăng tốc tốc độ truy xuất dữ liệu và tăng tuổi thọ cho ổ cứng” và điểm khác nhau giữa chúng là :
Cache có tốc độ cao hơn nhiều so với buffers.
Cache phải cần đến bộ điều khiển cache - nếu là “cứng” thì cần phài có chíp điều khiển, còn “mềm” thì phải cần phần mềm điều khiển – trong khi đó buffers chỉ là một con chíp nhớ đơn giản không cần bộ điều khiển riêng.
Buffers gặp rất nhiều giới hạn trong các quá trình giao tiếp và chuyển đổi dữ liệu bởi vì khả năng quản lý dữ liệu của nó rất kém. Khi lưu trữ dữ liệu tạm thời, buffer lưu trữ một lúc cả một track vì thế nếu muốn tìm một sector nào trên track này thì hệ điều hành lại phải tiếp tục tìm kiếm trên track mà buffer cung cấp - chậm hơn hẳn so với cache.
Những điều cần chú ý đến Cache :
Có thể bạn sẽ rất ngạc nhiên nếu như chúng tôi nói là “ổ cứng có cache lớn không có nghĩa là sẽ truy xuất dữ liệu nhanh hơn ổ cứng có cache nhỏ (hai cái cùng loại có cùng tốc độ và dung lượng)”. Nói điều này thì cũngkhông có gì là bất thường lắm, cache là bộ nhớ do đó tốc độ truy xuất của bộ nhớ làm cache càng nhanh thì càng tốt , tuỳ thuộc vào mức độ thôn minh và khả năng quản lý của “chíp điều khiển” (cache controllers chip) và cuối cùng là tổ chức của bộ nhớ làm cache (cho phép đọc/ghi dữ liệu tuỳ ý hoặc chỉ có thể đọc hoặc ghi từ đầu đến cuối). Tuy nhiên tác dụng của bộ cache sẽ mất hoặc giảm đi rất nhiều nếu như ổ cứng đã được defragment (phần này chúng tôi sẽ nói kỹ hơn ở phần Cấu trúc File System)
Ở đây chúng tôi xin được nói thêm một chút về VCACHE :
Windows có một driver ảo gọi là VCACHE có nhiệm vụ quản trị bộ nhớ đệm cho ổ cứng. VCACHE chính là một sự thay thế cho “bộ đệm mềm” của DOS và các version Windows trước đó (thường được gọi là SmartDrive). VCACHE có khả năng thay đổi rất nhanh dung lượng bộ nhớ mà nó sử dụng, điều mà các trình quản lý bộ đệm trong DOS không thể làm được. Khi đĩa cứng hoạt động liên tục (chép file hoặc đọc file lớn) trong khi đó việc truy cập bộ nhớ lại thấp thì nó sẽ tự động điều chỉnh kích thước bộ đệm (tăng lên) cho phù hợp để RAM có thể chia sẻ bớt một phần công việc của đĩa cứng. Nguợc lại, khi ổ cứng ít hoạt động (ít truy xuất dữ liệu) nhưng RAM lại liên tục có lệnh truy xuất (khi chạy các ứng dụng tính toán cao cấp) thì nó sẽ tự động điều chỉnh kích thước bộ đệm ( giảm xuống) để có được dung lượng RAM tối đa cho các ứng dụng tính toán. VCACHE hoàn toàn có khả năng tạo ra những file cache (còn gọi là swap file) ngay trên ổ cứng mạng (98,Me). Nó sử dụng quá trình “đọc trước – ghi từ cache xuống” (read-ahead and write-behind caching). VCACHE là một ví dụ điển hình của “bộ đệm mềm” (software disk cache).
Đọc trước (read-ahead) :
Là một phương pháp xem xét thử phần dữ liệu nào sẽ được ứng dụng yêu cầu truy xuất kế tiếp rồi đọc nó vào bộ nhớ, nó luôn luôn được kích hoạt khi máy vi tính đang trong trạng thái nghỉ ngơi (Standby) hoặc ít hoạt động (Idle). Kết quả của phương pháp này là giảm được nhiều chuyển động của đầu đọc và đĩa cứng hoạt động êm hơn (không đọc nhiều nên không gây tiếng ồn).
Ghi từ cache xúông (write-behind caching):
Cũng cho kết quả tuơng tự nhưng nó còn bao gồm luôn công việc giữ phần dữ liệu trong cache để chúng đuợc ghi xuống đĩa cứng hoàn toàn cho đến khi máy vi tính nghỉ ngơi (shutdown). Một vấn đề với phương pháp này là “nếu như máy tính mất điện đột ngột thì những phần dữ liệu chưa được ghi từ cache xuống ổ cứng sẽ mất trắng không tìm lại được vì cache là một dạng bộ nhớ cần nguồn nuôi”.
Sử dụng một phần bộ nhớ chính của máy (PC RAM – main memory) để truy xuất và lưu trữ tạm thời một phần dữ liệu của ổ cứng. Loại bộ đệm này do một chương trình tao và quản lý cho nên không cần đế những phần cứng hỗ trợ đặc biệt. VCACHE chính là một ví dụ thực tế về bộ đệm mềm.
-Bộ đệm “cứng” (on-board disk caches):
Sử dụng bộ nhớ và bộ điều khiển cache được thiết kế ngay trên board mạch của ổ cứng. Mặc dù nó không hề sử dụng bất cứ một phần RAM nào của bộ nhớ chính (computer RAM) để làm công việc lưu trữ tạm thời nhưng chúng có dung lượng rất thấp (128KB->2MB cá biệt có thể lên đến 4MB) và cực kỳ đắt tiền.
-Bộ đệm “riêng” (disk caching controllers):
Tương tự như bộ đệm cứng, bộ đệm riêng sử dụng bộ nhớ riêng (có cấu trúc khác RAM) nhưng bộ nhớ và bộ điều khiển mà bộ đệm này sử dụng là bộ nhớ và chíp điều khiển được gắn riêng rẽ trên một card điều khiển chứ không phải là trên board mạch của ổ cứng và lẽ dĩ nhiên giá thành của chúng cực kì đắt. Tuy nhiên, bộ đệm riêng lại hoạt động tốt và nhanh hơn rất nhiều so với bộ đệm cứng vì nó vượt qua được một số giới hạn của những phần của ổ cứng mà bộ đệm cứng luôn bị ảnh hưởng.
-Buffers :
Ở đây chúng tôi không dịch hẳn từ buffer mà để nguyên như thế vì giữa buffers và cache có những điểm rất giống nhau. Có rất nhiều tài liệu biên dịch hoặc nguyên bản hoàn toàn không phân biệt giữa 2 khái niệm “cache” và “buffers” mà lại để nguyên là “bộ đệm” – như vậy là không chính xác! Vậy giữa cache và buffers có gì khác nhau và giống nhau ? Có một điểm duy nhất giống nhau giữa cache và buffers chính là “chúng đều là bộ nhớ đệm có tác dụng lưu trữ tạm thời một số dữ liệu trên ổ cứng nhằm tăng tốc tốc độ truy xuất dữ liệu và tăng tuổi thọ cho ổ cứng” và điểm khác nhau giữa chúng là :
Cache có tốc độ cao hơn nhiều so với buffers.
Cache phải cần đến bộ điều khiển cache - nếu là “cứng” thì cần phài có chíp điều khiển, còn “mềm” thì phải cần phần mềm điều khiển – trong khi đó buffers chỉ là một con chíp nhớ đơn giản không cần bộ điều khiển riêng.
Buffers gặp rất nhiều giới hạn trong các quá trình giao tiếp và chuyển đổi dữ liệu bởi vì khả năng quản lý dữ liệu của nó rất kém. Khi lưu trữ dữ liệu tạm thời, buffer lưu trữ một lúc cả một track vì thế nếu muốn tìm một sector nào trên track này thì hệ điều hành lại phải tiếp tục tìm kiếm trên track mà buffer cung cấp - chậm hơn hẳn so với cache.
Những điều cần chú ý đến Cache :
Có thể bạn sẽ rất ngạc nhiên nếu như chúng tôi nói là “ổ cứng có cache lớn không có nghĩa là sẽ truy xuất dữ liệu nhanh hơn ổ cứng có cache nhỏ (hai cái cùng loại có cùng tốc độ và dung lượng)”. Nói điều này thì cũngkhông có gì là bất thường lắm, cache là bộ nhớ do đó tốc độ truy xuất của bộ nhớ làm cache càng nhanh thì càng tốt , tuỳ thuộc vào mức độ thôn minh và khả năng quản lý của “chíp điều khiển” (cache controllers chip) và cuối cùng là tổ chức của bộ nhớ làm cache (cho phép đọc/ghi dữ liệu tuỳ ý hoặc chỉ có thể đọc hoặc ghi từ đầu đến cuối). Tuy nhiên tác dụng của bộ cache sẽ mất hoặc giảm đi rất nhiều nếu như ổ cứng đã được defragment (phần này chúng tôi sẽ nói kỹ hơn ở phần Cấu trúc File System)
Ở đây chúng tôi xin được nói thêm một chút về VCACHE :
Windows có một driver ảo gọi là VCACHE có nhiệm vụ quản trị bộ nhớ đệm cho ổ cứng. VCACHE chính là một sự thay thế cho “bộ đệm mềm” của DOS và các version Windows trước đó (thường được gọi là SmartDrive). VCACHE có khả năng thay đổi rất nhanh dung lượng bộ nhớ mà nó sử dụng, điều mà các trình quản lý bộ đệm trong DOS không thể làm được. Khi đĩa cứng hoạt động liên tục (chép file hoặc đọc file lớn) trong khi đó việc truy cập bộ nhớ lại thấp thì nó sẽ tự động điều chỉnh kích thước bộ đệm (tăng lên) cho phù hợp để RAM có thể chia sẻ bớt một phần công việc của đĩa cứng. Nguợc lại, khi ổ cứng ít hoạt động (ít truy xuất dữ liệu) nhưng RAM lại liên tục có lệnh truy xuất (khi chạy các ứng dụng tính toán cao cấp) thì nó sẽ tự động điều chỉnh kích thước bộ đệm ( giảm xuống) để có được dung lượng RAM tối đa cho các ứng dụng tính toán. VCACHE hoàn toàn có khả năng tạo ra những file cache (còn gọi là swap file) ngay trên ổ cứng mạng (98,Me). Nó sử dụng quá trình “đọc trước – ghi từ cache xuống” (read-ahead and write-behind caching). VCACHE là một ví dụ điển hình của “bộ đệm mềm” (software disk cache).
Đọc trước (read-ahead) :
Là một phương pháp xem xét thử phần dữ liệu nào sẽ được ứng dụng yêu cầu truy xuất kế tiếp rồi đọc nó vào bộ nhớ, nó luôn luôn được kích hoạt khi máy vi tính đang trong trạng thái nghỉ ngơi (Standby) hoặc ít hoạt động (Idle). Kết quả của phương pháp này là giảm được nhiều chuyển động của đầu đọc và đĩa cứng hoạt động êm hơn (không đọc nhiều nên không gây tiếng ồn).
Ghi từ cache xúông (write-behind caching):
Cũng cho kết quả tuơng tự nhưng nó còn bao gồm luôn công việc giữ phần dữ liệu trong cache để chúng đuợc ghi xuống đĩa cứng hoàn toàn cho đến khi máy vi tính nghỉ ngơi (shutdown). Một vấn đề với phương pháp này là “nếu như máy tính mất điện đột ngột thì những phần dữ liệu chưa được ghi từ cache xuống ổ cứng sẽ mất trắng không tìm lại được vì cache là một dạng bộ nhớ cần nguồn nuôi”.
PhanDiecLoi34 (113A)- Tổng số bài gửi : 33
Join date : 17/07/2012
Thiết bị Xuất/Nhập (I/O)
Thiết bị Xuất/Nhập (I/O) của máy tính
- Thiết Bị Xuất/Nhập cho phép máy tính thu nhận thông tin từ bên ngoài qua thiết bị Nhập. Sau khi được xử lý bởi Hệ Điều Hành Trung Ương sẻ được gửi kết quả công việc của nó đến Thiết Bị Xuất.
- Các Thiết Bị Nhập bao gồm: Con Trỏ (Con Chuột), Bàn Phím, Ổ Đĩa Mềm, Ổ Đĩa CD, Webcam, Touchpad
- Các Thiết Bị Xuất bao gồm : Màn Hình, Máy In, Ổ Đĩa Flash (USB), Ổ Cứng Di Động tới những thiết bị không thông dụng như Ổ ZIP.
- Công việc của thiết bị nhập (input) là mã hóa (chuyển đổi) thông tin từ nhiều định dạng sang dạng dữ liệu mà máy tính có thể xử lý.
- Các thiết bị xuất (output) thì ngược lại, thực hiện công việc giải mã dữ liệu thành thông tin mà người sử dụng có thể hiểu được.
Với ý nghĩa này thì hệ thống máy tính có thể coi như một hệ thống xử lý dữ liệu.
- Thiết Bị Xuất/Nhập cho phép máy tính thu nhận thông tin từ bên ngoài qua thiết bị Nhập. Sau khi được xử lý bởi Hệ Điều Hành Trung Ương sẻ được gửi kết quả công việc của nó đến Thiết Bị Xuất.
- Các Thiết Bị Nhập bao gồm: Con Trỏ (Con Chuột), Bàn Phím, Ổ Đĩa Mềm, Ổ Đĩa CD, Webcam, Touchpad
- Các Thiết Bị Xuất bao gồm : Màn Hình, Máy In, Ổ Đĩa Flash (USB), Ổ Cứng Di Động tới những thiết bị không thông dụng như Ổ ZIP.
- Công việc của thiết bị nhập (input) là mã hóa (chuyển đổi) thông tin từ nhiều định dạng sang dạng dữ liệu mà máy tính có thể xử lý.
- Các thiết bị xuất (output) thì ngược lại, thực hiện công việc giải mã dữ liệu thành thông tin mà người sử dụng có thể hiểu được.
Với ý nghĩa này thì hệ thống máy tính có thể coi như một hệ thống xử lý dữ liệu.
PhanDiecLoi34 (113A)- Tổng số bài gửi : 33
Join date : 17/07/2012
Trình bày nguyên tắc xử lý ngắt của hệ điều hành
* Hai loại nhắt chính :
- Tín hiệu ngắt (Internal Singal) từ các thiết bị (ngắt cứng) truyền qua System Bus.
- Tín hiệu ngắt từ chương trình người dùng (ngắt mếm) nhờ lời gọi hệ thống (System Call hay Monitor Call). Lệnh đặc biệt này (ví dụ có tên INT hoặc SysCall) cơ chế để tiến trình người dùng yêu cầu một dịch vụ của HĐH (ví dụ yêu cầu thực hiện lệnh I/O).
* Với mỗi loại ngắt, có đoạn mã riêng của HĐH dùng để xử lý.
* Các HĐH hiện đại được dẩn dắt bởi các sự kiện. Nế ko có tiến trình nào vận hành, ko có thiết bị I/O nào làm việc, HĐH chờ và theo dõi.
* Thông thường mỗi loại ngắt ứng với một dòng trong bản (Véc-tơ ngắt)chứa con trỏ (Pointer) tới chương trình xử lý loại ngắt đó. Bảng này nằm ở vùng thấp của Ram (ví dụ 100 bytes đầu tiên).
* Cơ chế xử lý ngắt phải có trách nhiệm ghi lại địa chỉ lệnh bị ngắt để sau đó có thể quay lại. Địa chỉ này cùng với nhiều thông tin khác có thể được ghi vào Ngăn xếp hệ thống (System Stack) với nguyên tắc làm việc LIFO(Last-In,First-Out).
- Tín hiệu ngắt (Internal Singal) từ các thiết bị (ngắt cứng) truyền qua System Bus.
- Tín hiệu ngắt từ chương trình người dùng (ngắt mếm) nhờ lời gọi hệ thống (System Call hay Monitor Call). Lệnh đặc biệt này (ví dụ có tên INT hoặc SysCall) cơ chế để tiến trình người dùng yêu cầu một dịch vụ của HĐH (ví dụ yêu cầu thực hiện lệnh I/O).
* Với mỗi loại ngắt, có đoạn mã riêng của HĐH dùng để xử lý.
* Các HĐH hiện đại được dẩn dắt bởi các sự kiện. Nế ko có tiến trình nào vận hành, ko có thiết bị I/O nào làm việc, HĐH chờ và theo dõi.
* Thông thường mỗi loại ngắt ứng với một dòng trong bản (Véc-tơ ngắt)chứa con trỏ (Pointer) tới chương trình xử lý loại ngắt đó. Bảng này nằm ở vùng thấp của Ram (ví dụ 100 bytes đầu tiên).
* Cơ chế xử lý ngắt phải có trách nhiệm ghi lại địa chỉ lệnh bị ngắt để sau đó có thể quay lại. Địa chỉ này cùng với nhiều thông tin khác có thể được ghi vào Ngăn xếp hệ thống (System Stack) với nguyên tắc làm việc LIFO(Last-In,First-Out).
ngongocdiep06 (113A)- Tổng số bài gửi : 23
Join date : 16/07/2012
Trình bày và so sánh hai phương thức Nhập- Xuất (I/O)
Có 2 phương thức đó là:
1. Đồng Bộ (Synchronous):
Là khái niệm nói lên tính nguyên tắc, đòi hỏi các dữ liệu, tiến trình... có liên quan phải được kết nối, liên hệ theo một trình tự thực hiện, một định dạng,... cách thức cố định, không bao giờ thay đổi. Trong một chuỗi các hàm của một quy trình có “n” tác vụ, nếu nó được bảo là đồng bộ thì trình tự thực hiện các hàm đó sẽ không bao giờ thay đổi. Hàm A đã được thiết lập để được gọi và chạy trước hàm B thì dù có phải đợi dài cổ hàm B cũng phải chờ hàm A kết thúc mới được phép bắt đầu. Một dây chuyền sản xuất công nghiệp của một nhà máy có thể coi là một quá trình đồng bộ. Hay nói cách khác đó là CHỜ ĐỢI, nghĩa là tiến trình người dùng phải chờ cho đên khi quá trình nhập - xuất (I/O) kết thúc thì mới thực hiện tiếp tiến trình khác.
Ví Dụ: khi chơi game, một số game sẽ yêu cầu bạn "press any key" nghĩa là bấm một phím bất kỳ để tiếp tục chơi game. Hay khi cài đặt một chương trình, bạn phải nhấp chuột vào các yêu cầu để chương trình tiếp tục cài đặt.
2. Không Đồng Bộ (Asynchronous):
Là một khái niệm có thể nói là ngược lại với Synchronous. Nó nói lên sự thiếu chặt chẽ, tính liên kết yếu, quản lý vô cùng khó khăn tuy nhiên lại uyển chuyển và khả năng tùy biến cao. Trong một chuỗi các hàm của một quy trình có “n” tác vụ, nếu nó được bảo là bất đồng bộ thì có nghĩa là cho dù hàm B được gọi sau hàm A nhưng không ai đảm bảo được rằng hàm A sẽ phải kết thúc trước hàm B và hàm B bắt buộc phải chỉ được gọi chạy khi hàm A kết thúc. Hay nói cách khác là KHÔNG CHỜ ĐỢI, tiến trình người dùng sẽ được làm việc đồng thời song song với nhập - xuất.
Ví Dụ: việc sử dụng máy in hay máy Fax, bạn chỉ cần cho nó chạy, trong thời gian thiết bị làm việc bạn có thể làm các việc khác mà không cần phải đợi thiết bị chạy xong.
Liên hệ thực tế: ví dụ trong giao thông, trên một con đường được tổ chức đồng bộ (có CSGT) thì khi kẹt xe xảy ra, xe nọ nối đuôi xe kia, đi đúng làn đường vì đơn giản mọi thành phần tham gia giao thông đều tuân thủ luật giao thông đường bộ và hướng dẫn của CSGT. Tuy nhiên trên một con đường khác thiếu đồng bộ (không có CSGT) thì khi kẹt xe bạn có thể vác xe lên vai, hay phóng xe lên vỉa hè, vượt đèn đỏ, lao bừa vô hẻm, đi lấn tuyến...
1. Đồng Bộ (Synchronous):
Là khái niệm nói lên tính nguyên tắc, đòi hỏi các dữ liệu, tiến trình... có liên quan phải được kết nối, liên hệ theo một trình tự thực hiện, một định dạng,... cách thức cố định, không bao giờ thay đổi. Trong một chuỗi các hàm của một quy trình có “n” tác vụ, nếu nó được bảo là đồng bộ thì trình tự thực hiện các hàm đó sẽ không bao giờ thay đổi. Hàm A đã được thiết lập để được gọi và chạy trước hàm B thì dù có phải đợi dài cổ hàm B cũng phải chờ hàm A kết thúc mới được phép bắt đầu. Một dây chuyền sản xuất công nghiệp của một nhà máy có thể coi là một quá trình đồng bộ. Hay nói cách khác đó là CHỜ ĐỢI, nghĩa là tiến trình người dùng phải chờ cho đên khi quá trình nhập - xuất (I/O) kết thúc thì mới thực hiện tiếp tiến trình khác.
Ví Dụ: khi chơi game, một số game sẽ yêu cầu bạn "press any key" nghĩa là bấm một phím bất kỳ để tiếp tục chơi game. Hay khi cài đặt một chương trình, bạn phải nhấp chuột vào các yêu cầu để chương trình tiếp tục cài đặt.
2. Không Đồng Bộ (Asynchronous):
Là một khái niệm có thể nói là ngược lại với Synchronous. Nó nói lên sự thiếu chặt chẽ, tính liên kết yếu, quản lý vô cùng khó khăn tuy nhiên lại uyển chuyển và khả năng tùy biến cao. Trong một chuỗi các hàm của một quy trình có “n” tác vụ, nếu nó được bảo là bất đồng bộ thì có nghĩa là cho dù hàm B được gọi sau hàm A nhưng không ai đảm bảo được rằng hàm A sẽ phải kết thúc trước hàm B và hàm B bắt buộc phải chỉ được gọi chạy khi hàm A kết thúc. Hay nói cách khác là KHÔNG CHỜ ĐỢI, tiến trình người dùng sẽ được làm việc đồng thời song song với nhập - xuất.
Ví Dụ: việc sử dụng máy in hay máy Fax, bạn chỉ cần cho nó chạy, trong thời gian thiết bị làm việc bạn có thể làm các việc khác mà không cần phải đợi thiết bị chạy xong.
Liên hệ thực tế: ví dụ trong giao thông, trên một con đường được tổ chức đồng bộ (có CSGT) thì khi kẹt xe xảy ra, xe nọ nối đuôi xe kia, đi đúng làn đường vì đơn giản mọi thành phần tham gia giao thông đều tuân thủ luật giao thông đường bộ và hướng dẫn của CSGT. Tuy nhiên trên một con đường khác thiếu đồng bộ (không có CSGT) thì khi kẹt xe bạn có thể vác xe lên vai, hay phóng xe lên vỉa hè, vượt đèn đỏ, lao bừa vô hẻm, đi lấn tuyến...
ngongocdiep06 (113A)- Tổng số bài gửi : 23
Join date : 16/07/2012
Phân tích Hai chế độ vận hành của máy tính.
.+ Hệ điều hành hiện đại dùng cơ chế Dual-Mode để duy trì 2 chế độ là User Mode và Monitor Mode (còn gọi là Supervisor Mode, System Mode hoặc Privileged Mode) để bảo vệ hệ thống và các tiến trình đang vận hành.
+ Một Mode Bit được đưa vào phần cứng của máy để chỉ báo chế độ làm việc hiện hành: 0 - Monitor Mode, 1 - User Mode.
+ Khi xảy ra ngắt, phần cứng chuyển từ User Mode sang Monitor Mode bằng cách đặt Mode Bit thành 0.
+ Hệ điều hành đặt Mode Bit bằng 1 trước khi trả điều khiển về tiến trình người dùng.
+ Một số lệnh máy chỉ thực hiện được trong Monitor Mode (Các lệnh ưu tiên).
+ Tiến trình người dùng có thể gián tiếp thực hiện các lệnh ưu tiên qua Lời gọi hệ thống (System Call).
+ MS-DOS không có Dual-Mode.
+ Bộ xử lý Pentium hỗ trợ Mode bit, do đó các HĐH Windows 2000/XP/2003/Vista và OS/2 tận dụng được tính năng này để bảo vệ máy tính tốt hơn.
+ Một Mode Bit được đưa vào phần cứng của máy để chỉ báo chế độ làm việc hiện hành: 0 - Monitor Mode, 1 - User Mode.
+ Khi xảy ra ngắt, phần cứng chuyển từ User Mode sang Monitor Mode bằng cách đặt Mode Bit thành 0.
+ Hệ điều hành đặt Mode Bit bằng 1 trước khi trả điều khiển về tiến trình người dùng.
+ Một số lệnh máy chỉ thực hiện được trong Monitor Mode (Các lệnh ưu tiên).
+ Tiến trình người dùng có thể gián tiếp thực hiện các lệnh ưu tiên qua Lời gọi hệ thống (System Call).
+ MS-DOS không có Dual-Mode.
+ Bộ xử lý Pentium hỗ trợ Mode bit, do đó các HĐH Windows 2000/XP/2003/Vista và OS/2 tận dụng được tính năng này để bảo vệ máy tính tốt hơn.
PhamHuyHoang(I113A)- Tổng số bài gửi : 10
Join date : 16/08/2012
Phân biệt ngắt cứng và ngắt mềm
+ Ngắt cứng là ngắt được truyền qua System Bus
+ Ngắt mềm là ngắt được phát ra từ chương trình người dùng ( System Call hay Monitor Call)
+ Ngắt mềm là ngắt được phát ra từ chương trình người dùng ( System Call hay Monitor Call)
HaHoangCongTien80 (113A)- Tổng số bài gửi : 22
Join date : 17/07/2012
Cấu trúc đĩa cứng
.– Đĩa cứng (Hard disk) bao gồm nhiều đĩa tròn phẳng có phủ lớp từ tính nằm trên cùng một trục và quay với vận tốc lớn. Việc đọc/ghi dữ liệu được thực hiện bởi những đầu đọc trên mỗi mặt đĩa thông qua sự điều khiển của mạch tích hợp.
– Trên mỗi mặt đĩa được chia thành những vòng tròn đồng tâm gọi là track (rãnh). Các track được đánh số từ ngoài vào trong, bắt đầu là track 0 ở mép ngoài cùng.
– Track lại được chia thành những vùng nhỏ hơn gọi là sector. Mỗi sector có thể chứa được 512 bytes dữ liệu .
– Tập hợp tất cả các track trên tất cả các mặt đĩa có cùng khoảng cách với trục quay được gọi là cylinder. Dữ liệu thực sự được lưu trên đĩa theo từng cylinder. Điều này làm giảm thời gian truy xuất dữ liệu đáng kể do các đầu đọc không phải di chuyển khi đọc một khối dữ liệu trên cùng một cylinder.
– Đĩa cứng đọc/ghi dữ liệu theo các khối. Kích thước nhỏ nhất của khối bằng 1 sector (512 byte). Để có thể truy xuất dữ liệu, cần đặt đầu đọc đúng vị trí, tức là chỉ cho controller biết dữ liệu ở sector nào. Sector được dánh địa chỉ theo số thứ tự cylinder, số thứ tự đầu đọc (hay track) và số thứ tự sector trên track.
– Trên mỗi mặt đĩa được chia thành những vòng tròn đồng tâm gọi là track (rãnh). Các track được đánh số từ ngoài vào trong, bắt đầu là track 0 ở mép ngoài cùng.
– Track lại được chia thành những vùng nhỏ hơn gọi là sector. Mỗi sector có thể chứa được 512 bytes dữ liệu .
– Tập hợp tất cả các track trên tất cả các mặt đĩa có cùng khoảng cách với trục quay được gọi là cylinder. Dữ liệu thực sự được lưu trên đĩa theo từng cylinder. Điều này làm giảm thời gian truy xuất dữ liệu đáng kể do các đầu đọc không phải di chuyển khi đọc một khối dữ liệu trên cùng một cylinder.
– Đĩa cứng đọc/ghi dữ liệu theo các khối. Kích thước nhỏ nhất của khối bằng 1 sector (512 byte). Để có thể truy xuất dữ liệu, cần đặt đầu đọc đúng vị trí, tức là chỉ cho controller biết dữ liệu ở sector nào. Sector được dánh địa chỉ theo số thứ tự cylinder, số thứ tự đầu đọc (hay track) và số thứ tự sector trên track.
NguyenHuuLinh31(113A)- Tổng số bài gửi : 33
Join date : 19/07/2012
Câu 2
Trình bày nguyên tắc xử lý ngắt của hệ điều hành:
Hai loại ngắt chính:
o Tín hiệu ngắt (Interrupt Signal) từ các thiết bị (Ngắt cứng) truyền qua System Bus.
o Tín hiệu ngắt từ chương trình người dùng (Ngắt mềm) nhờ Lời gọi hệ thống (System Call hay Monitor Call). Lệnh đặc biệt này (ví dụ có tên INT hoặc SysCall) là cơ chế để tiến trình người dùng yêu cầu một dịch vụ của HĐH (ví dụ, yêu cầu thực hiện lệnh I/O).
§ Với mỗi loại ngắt, có đoạn mã riêng của HĐH dùng để xử lý.
§ Các HĐH hiện đại được dẫn dắt bởi các sự kiện. Nếu không có tiến trình nào vận hành, không có thiết bị I/O nào làm việc, HĐH im lặng chờ và theo dõi.
§ Thông thường, mỗi loại ngắt tương ứng với 1 dòng trong bảng (Véc-tơ ngắt) chứa con trỏ (Pointer) tới chương trình xử lý loại ngắt đó. Bảng này nằm ở vùng thấp của RAM (ví dụ: 100 bytes đầu tiên).
§ Cơ chế xử lý ngắt phải có trách nhiệm ghi lại địa chỉ lệnh bị ngắt để sau đó có thể quay lại. Địa chỉ này cùng với nhiều thông tin khác có thể được ghi vào Ngăn xếp hệ thống (System Stack) với nguyên tắc làm việc LIFO ( Last-In, First-Out ).
Hai loại ngắt chính:
o Tín hiệu ngắt (Interrupt Signal) từ các thiết bị (Ngắt cứng) truyền qua System Bus.
o Tín hiệu ngắt từ chương trình người dùng (Ngắt mềm) nhờ Lời gọi hệ thống (System Call hay Monitor Call). Lệnh đặc biệt này (ví dụ có tên INT hoặc SysCall) là cơ chế để tiến trình người dùng yêu cầu một dịch vụ của HĐH (ví dụ, yêu cầu thực hiện lệnh I/O).
§ Với mỗi loại ngắt, có đoạn mã riêng của HĐH dùng để xử lý.
§ Các HĐH hiện đại được dẫn dắt bởi các sự kiện. Nếu không có tiến trình nào vận hành, không có thiết bị I/O nào làm việc, HĐH im lặng chờ và theo dõi.
§ Thông thường, mỗi loại ngắt tương ứng với 1 dòng trong bảng (Véc-tơ ngắt) chứa con trỏ (Pointer) tới chương trình xử lý loại ngắt đó. Bảng này nằm ở vùng thấp của RAM (ví dụ: 100 bytes đầu tiên).
§ Cơ chế xử lý ngắt phải có trách nhiệm ghi lại địa chỉ lệnh bị ngắt để sau đó có thể quay lại. Địa chỉ này cùng với nhiều thông tin khác có thể được ghi vào Ngăn xếp hệ thống (System Stack) với nguyên tắc làm việc LIFO ( Last-In, First-Out ).
VoHoangTrung (113A)- Tổng số bài gửi : 51
Join date : 17/07/2012
Age : 35
Đến từ : Gia lai
Re: Thảo luận Bài 2
Mình giải thích giúp bạn nhé:
Tại thời điểm T1 có yêu cầu sử dụng I/O lúc này I/O device sẽ vẽ xuống dưới và cách thời gian T1 là 1 đoạn để thể hiện sau khi nhận yêu cầu mới thực hiện.
Tại thời điểm T2, thì yêu cầu đã được thực hiện xong nên hệ điều hành sẽ thực hiện thao tác ngắt tác vụ =>CPU sẽ vẽ xuống 1 đoạn cách thời gian T2 để thể hiện phải xử lý xong mới ngắt, còn I/O device sẽ vẽ lên trên liền ngay T2 thể hiện khi thực hiện xong thì I/O chuyển ngay qua trạng thái nghỉ.
Các tác vụ khác tương tự nhé.
phamanhtuan95(113A)- Tổng số bài gửi : 22
Join date : 18/07/2012
Re: Thảo luận Bài 2
Câu 5 : Trình bày nguyên lý bảo vệ phần cứng Mode Bit.
- Một Mode Bit được đưa vào phần cứng của máy để chỉ báo chế độ làm việc hiện hành: 0 - Monitor Mode, 1 - User Mode.
- Khi xảy ra ngắt, phần cứng chuyển từ User Mode sang Monitor Mode bằng cách đặt Mode Bit thành 0.
- Hệ điều hành đặt Mode Bit bằng 1 trước khi trả điều khiển về tiến trình người dùng.
- Một số lệnh máy chỉ thực hiện được trong Monitor Mode (Các lệnh ưu tiên).
- Tiến trình người dùng có thể gián tiếp thực hiện các lệnh ưu tiên qua Lời gọi hệ thống (System Call).
- MS-DOS không có Dual-Mode.
- Bộ xử lý Pentium hỗ trợ Mode bit, do đó các HĐH Windows 2000/XP/2003/Vista và OS/2 tận dụng được tính năng này để bảo vệ máy tính tốt hơn.
- Một Mode Bit được đưa vào phần cứng của máy để chỉ báo chế độ làm việc hiện hành: 0 - Monitor Mode, 1 - User Mode.
- Khi xảy ra ngắt, phần cứng chuyển từ User Mode sang Monitor Mode bằng cách đặt Mode Bit thành 0.
- Hệ điều hành đặt Mode Bit bằng 1 trước khi trả điều khiển về tiến trình người dùng.
- Một số lệnh máy chỉ thực hiện được trong Monitor Mode (Các lệnh ưu tiên).
- Tiến trình người dùng có thể gián tiếp thực hiện các lệnh ưu tiên qua Lời gọi hệ thống (System Call).
- MS-DOS không có Dual-Mode.
- Bộ xử lý Pentium hỗ trợ Mode bit, do đó các HĐH Windows 2000/XP/2003/Vista và OS/2 tận dụng được tính năng này để bảo vệ máy tính tốt hơn.
nguyenlehuutai(113A)- Tổng số bài gửi : 33
Join date : 18/07/2012
Câu 6: Trình bày thuật giải bảo vệ bộ nhớ bằng thanh ghi cơ sở và thanh ghi giới hạn
- CPU tính toán ra một địa chỉ và địa chỉ này phải được kiểm tra tính hợp lệ.
- Nếu địa chỉ nhỏ hơn giá trị lưu trong thanh ghi cơ sở thì hệ thống sẽ báo lỗi.
- Nếu địa chỉ lớn hơn hoặc bằng giá trị lưu trong thanh ghi cơ sở thì tiếp tục được kiểmtra với giá trị trong thanh ghi giới hạn cộng với giá trị trong thanh ghi cơ sở.
- Nếu địa chỉ lớn hơn hoặc bằng tổng trên thì hệ thống sẽ báo lỗi truy cập sai địa chỉ.
- Nếu địa chỉ nhỏ hơn giá trị lưu trong thanh ghi cơ sở thì hệ thống sẽ báo lỗi.
- Nếu địa chỉ lớn hơn hoặc bằng giá trị lưu trong thanh ghi cơ sở thì tiếp tục được kiểmtra với giá trị trong thanh ghi giới hạn cộng với giá trị trong thanh ghi cơ sở.
- Nếu địa chỉ lớn hơn hoặc bằng tổng trên thì hệ thống sẽ báo lỗi truy cập sai địa chỉ.
LamVuThai (113A)- Tổng số bài gửi : 41
Join date : 16/07/2012
Câu 5 :Trình bày nguyên lý bảo vệ phần cứng bằng Mode Bit
Một Mode Bit được đưa vào phần cứng của máy để chỉ báo chế độ làm việc hiện hành: 0 - Monitor Mode, 1 - User Mode.
Khi xảy ra ngắt, phần cứng chuyển từ User Mode sang Monitor Mode bằng cách đặt Mode Bit thành 0.
Hệ điều hành đặt Mode Bit bằng 1 trước khi trả điều khiển về tiến trình người dùng.
Một số lệnh máy chỉ thực hiện được trong Monitor Mode (Các lệnh ưu tiên).
Tiến trình người dùng có thể gián tiếp thực hiện các lệnh ưu tiên qua Lời gọi hệ thống (System Call).
MS-DOS không có Dual-Mode.
Bộ xử lý Pentium hỗ trợ Mode bit, do đó các HĐH Windows 2000/XP/2003/Vista và OS/2 tận dụng được tính năng này để bảo vệ máy tính tốt hơn.
Khi xảy ra ngắt, phần cứng chuyển từ User Mode sang Monitor Mode bằng cách đặt Mode Bit thành 0.
Hệ điều hành đặt Mode Bit bằng 1 trước khi trả điều khiển về tiến trình người dùng.
Một số lệnh máy chỉ thực hiện được trong Monitor Mode (Các lệnh ưu tiên).
Tiến trình người dùng có thể gián tiếp thực hiện các lệnh ưu tiên qua Lời gọi hệ thống (System Call).
MS-DOS không có Dual-Mode.
Bộ xử lý Pentium hỗ trợ Mode bit, do đó các HĐH Windows 2000/XP/2003/Vista và OS/2 tận dụng được tính năng này để bảo vệ máy tính tốt hơn.
LamVuThai (113A)- Tổng số bài gửi : 41
Join date : 16/07/2012
Trang 3 trong tổng số 4 trang • 1, 2, 3, 4
Trang 3 trong tổng số 4 trang
Permissions in this forum:
Bạn không có quyền trả lời bài viết