Thảo luận Bài 2
+79
HUYNHDUCANHI12A
HuynhMinhChanh(i91C)
TRANTHINHPHAT (I11C)
PhamQuangHien_I12A
DangLeHieu(I102C)
voquantrieu
DuongTrungQuan
nguyenhuutho
lymydung_I12A
NguyenVinhQuang_I12A
LeMInhTien(I11C)
TranTrungTinh(I12A)
quynhnhi.nguyen_I12A
Truc_Phuong(I111C)
ngophicamI12A
TranThiMyKhanh(I12A)
NguyenthechinhI12A
quicly_I111c
HUYNHMINHHAI(I12A)
NguyenThanhCang(I12A)
phanngocthinh(i12a)
HuynhNguyenTrungHau_I12C
VoTrongQuyet-I12A
BuiAnhNgoc(I12C)
quocbao2021
letanthanh18_I12A
TranVanBao(I12A)
lengocthuthao89 (i11c)
dongocthien (I11C)
BuiHuongTra(I12A)
NguyenXuanTri28
lethanhsang_I12A
VoThiHongNhung(I12A)
trinhvanminh_11h1010077
nguyen_tuan_phat_I12A
LacChiHao(I12A)
VuNguyenQuynhLam_I12C
phamphihung55
HuaTranTuQuyen(I12A)
PhamDucPhuong(I12A)
tranvanthien27(I12C)
minhtam_I12C
TranThiNgocQuynh(I12C)
NguyenDucMy78(I12C)
nguyenthingocmai_I12A
NguyenVanThang25 (I12A)
levanhop.it
trantrungnam-HC11TH2A
TranThiAnhDao89I12C
TranMinhTuan143(I12A)
NguyenHoangThangI12A
vonganhI12A
NgoXuanQuoc_(102C)
phamduyI12A
NguyenVanBenI12C
nguyenthimao_I12A
BuiPhamAnBinh(I12A)
nguyenthaihiep (I11C)
phuongnguyen
LeThanhTung (I11C)
huynhvanhung(I12A)
Nguyen Sy Hung I12A
dangvannhan_11h1010085
PhamThiKieuOanh_I12A
TranHoangNhanI12C
LeLamThang (113A)
NguyenHongHaiI12C
DaoThaiHuyI12A
LeXuanHau (I12C)
DoanNgocDan(I12A)
LeThiMaiPhuongI12A
KimHue36 (I11C)
tranthithanhuyen85 (I11C)
caothithuhuong(102c)
HoNgocTuan142(I12A)
LePhucHiep(102C)
thailongI12C
LeQuocKhanh-11H1010059
Admin
83 posters
Trang 7 trong tổng số 9 trang
Trang 7 trong tổng số 9 trang • 1, 2, 3, 4, 5, 6, 7, 8, 9
letanthanh18_I12A- Tổng số bài gửi : 1
Join date : 15/02/2012
Hệ điều hành là bộ quản lý tài nguyên (Resource Manager)
Để đáp ứng các yêu cầu sử dụng tài nguyên thiết bị như: CPU, Bộ nhớ trong, ổ đĩa, ổ băng, Máy in, Card mạng, ...
Trong trường hợp nhiều chương trình, nhiều người dùng cùng chia sẻ các tài nguyên chung như vậy, HĐH phải giải quyết tranh chấp có thể xảy ra và đứng ra làm trung gian điều phối sao cho tài nguyên được sử dụng đúng thứ tự, dùng xong lại được cấp cho đối tượng khác sử dụng.
Ví dụ tình huống: 3 chương trình cùng in ra một máy in duy nhất. Khó chấp nhận trường hợp 1 trang in xen kẽ nhiều kết quả từ nhiều nguồn khác nhau. HĐH giải quyết bằng cách đưa kết quả in của mỗi chương trình tạm thời ra đĩa cứng, sau đó lần lượt in từ đĩa vào thời điểm thích hợp.
Mong các bạn tìm hiểu và đóng góp thêm...
NguyenHoangThangI12A- Tổng số bài gửi : 34
Join date : 15/02/2012
Cấu trúc đĩa cứng
Đĩa cứng được cấu tạo từ nhiều phiến đĩa, mỗi phiến đĩa bao gồm 2 mặt đĩa.
Mỗi mặt đĩa được gọi là head hay side, Trên mỗi mặt được cấu tạo gồm nhiều vòng tròn đồng tâm. Mỗi vòng tròn được gọi là track, trên mỗi track được chia thành các cung nhỏ hơn. Mỗi cung được gọi là sector
Các sector được đánh số bắt đầu là 1
Cylinder : một cylinder là tập hợp các track có cùng bán kính đến trục đĩa trên tất cả các mặt đĩa.
Có 2 cách đánh địa chỉ của các sector:
Quy luật đánh số như sau:
Trên cùng một cylinder: các sector được đánh số theo chiều kim đồng hồ , hết mặt trên rồi xuống mặt dưới, hết phiến trên rồi xuống phiến dưới.
Trên toàn bộ đĩa: đi từ cylinder ngoài cùng vào cho đến cylinder cuối cùng ở tâm.
Mỗi mặt đĩa được gọi là head hay side, Trên mỗi mặt được cấu tạo gồm nhiều vòng tròn đồng tâm. Mỗi vòng tròn được gọi là track, trên mỗi track được chia thành các cung nhỏ hơn. Mỗi cung được gọi là sector
- Các head/side được đánh số bắt đầu từ 0
Các sector được đánh số bắt đầu là 1
Cylinder : một cylinder là tập hợp các track có cùng bán kính đến trục đĩa trên tất cả các mặt đĩa.
Có 2 cách đánh địa chỉ của các sector:
- Địa chỉ vâtl lý : mỗi sector được xác định bởi 3 thành phần là(head,cylinder,sector)
Quy luật đánh số như sau:
Trên cùng một cylinder: các sector được đánh số theo chiều kim đồng hồ , hết mặt trên rồi xuống mặt dưới, hết phiến trên rồi xuống phiến dưới.
Trên toàn bộ đĩa: đi từ cylinder ngoài cùng vào cho đến cylinder cuối cùng ở tâm.
quocbao2021- Tổng số bài gửi : 10
Join date : 22/02/2012
Phân biệt nhập xuất đồng bộ với nhập xuất không đồng bộ ? cho ví dụ minh họa
1. Nhập/xuất đồng bộ:
- Là nhập/xuất khi mà tiến trình người dùng phải chờ cho đến khi nhập xuất kết thúc rồi mới chạy tiếp.
- Khi dữ liệu truyền tới phần cứng tiến trình người dùng phải chờ một khoảng thời gian để xuất thông tin.
2. 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.
VD:
1.1 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.
2.1 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.
- Là nhập/xuất khi mà tiến trình người dùng phải chờ cho đến khi nhập xuất kết thúc rồi mới chạy tiếp.
- Khi dữ liệu truyền tới phần cứng tiến trình người dùng phải chờ một khoảng thời gian để xuất thông tin.
2. 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.
VD:
1.1 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.
2.1 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.
BuiAnhNgoc(I12C)- Tổng số bài gửi : 6
Join date : 16/02/2012
Các dịch vụ hệ điều hành
Hệ điều hành cung cấp một môi trường cho việc thực thi các chương trình. Nó cung cấp các dịch vụ xác định tới chương trình và tới người dùng của các chương trình đó. Dĩ nhiên, các dịch vụ được cung cấp khác nhau từ hệ điều hành này với hệ điều hành kia nhưng chúng có thể xác định các lớp chung. Các dịch vụ hệ điều hành được cung cấp sự tiện dụng cho người lập trình để thực hiện tác vụ lập trình dễ dàng.
Thực thi chương trình: hệ thống phải có thể nạp chương trình vào bộ nhớ và chạy chương trình đó. Chương trình phải có thể kết thúc việc thực thi của nó bình thường hay không bình thường (hiển thị lỗi).
Thao tác xuất/nhập: một chương trình đang chạy có thể yêu cầu xuất/nhập. Xuất/nhập này có thể liên quan tới tập tin hay thiết bị xuất/nhập. Đối với các thiết bị cụ thể, các chức năng đặc biệt có thể được mong muốn (như quay lại từ đầu một ổ băng từ, hay xoá màn hình). Đối với tính hiệu quả và tính bảo vệ, người dùng thường không thể điều khiển các thiết bị xuất/nhập trực tiếp. Do đó, hệ điều hành phải cung cấp một phương tiện để thực hiện xuất/nhập..
Thao tác hệ thống tập tin: hệ thống tập tin có sự quan tâm đặc biệt. Các chương trình cần đọc từ và viết tới các tập tin. Chương trình cũng cần tạo và xoá tập tin bằng tên.
Giao tiếp: trong nhiều trường hợp, một quá trình cần trao đổi thông tin với các quá trình khác. Giao tiếp như thế có thể xảy ra trong hai cách chính. Cách đầu tiên xảy ra giữa các quá trình được thực thi trên cùng máy tính; cách thứ hai xảy ra giữa hai quá trình đang được thực thi trên các máy tính khác nhau được kết nối với nhau bởi một mạng máy tính. Các giao tiếp có thể được thực hiện bằng bộ nhớ được chia sẻ, hay bằng kỹ thuật truyền thông điệp, trong đó các gói tin được di chuyển giữa các quá trình bởi hệ điều hành.
Phát hiện lỗi: hệ điều hành liên tục yêu cầu nhận biết các lỗi có thể phát sinh. Các lỗi có thể xảy ra trong CPU và phần cứng bộ nhớ (như lỗi bộ nhớ hay lỗi về điện), trong các thiết bị xuất/nhập (như lỗi chẳn lẻ trên băng từ, lỗi nối kết mạng, hết giấy in) và trong chương trình người dùng (như tràn số học, cố gắng truy xuất một vị trí bộ nhớ không hợp lệ, dùng quá nhiều thời gian CPU). Đối với mỗi loại lỗi, hệ điều hành nên thực hiện một hoạt động hợp lý để đảm bảo tính toán đúng và không đổi.
Ngoài ra, một tập chức năng khác của hệ điều hành tồn tại không giúp người dùng, nhưng đảm bảo các điều hành hữu hiệu của chính hệ thống. Các hệ thống với nhiều người dùng có thể đạt tính hữu hiệu bằng cách chia sẻ tài nguyên máy tính giữa các người dùng.
Cấp phát tài nguyên: khi nhiều người dùng đăng nhập vào hệ thống hay nhiều công việc đang chạy cùng lúc, tài nguyên phải được cấp tới mỗi người dùng. Nhiều loại tài nguyên khác nhau được quản lý bởi hệ điều hành. Một số tài nguyên (như chu kỳ CPU, bộ nhớ chính, lưu trữ tập tin) có mã cấp phát đặt biệt, trái lại các tài nguyên khác (như thiết bị xuất/nhập) có mã yêu cầu và giải phóng thường hơn. Thí dụ, xác định cách tốt nhất để dùng CPU, hệ điều hành có các thủ tục định thời biểu CPU. Các thủ tục này xem xét tốc độ CPU, các công việc phải được thực thi, số thanh ghi sẳn dùng và các yếu tố khác. Cũng có các thủ tục cấp phát ổ băng từ để dùng cho một công việc. Một thủ tục như thế định vị ổ băng từ chưa được dùng và đánh dấu một bảng bên trong để ghi người dùng mới của ổ băng từ. Một thủ tục khác được dùng để xoá bảng đó. Các thủ tục này cũng có thể cấp phát các máy vẽ, modem, các thiết bị ngoại vi khác.
Tính toán: chúng ta muốn giữ vết người dùng nào sử dụng bao nhiêu và loại tài nguyên máy tính nào. Giữ vết này có thể được dùng để tính toán (tính tiền người dùng) hay đơn giản thống kê sử dụng. Thống kê sử dụng có thể là công cụ có giá trị cho người nghiên cứu muốn cấu hình lại hệ thống để cải tiến các dịch vụ tính toán.
Bảo vệ: người sở hữu thông tin được lưu trong hệ thống máy tính đa người dùng muốn điều khiển thông tin này. Khi nhiều quá trình riêng rẻ thực thi đồng hành, không thể cho một quá trình can thiệp tới các quá trình khác hay tới chính hệ điều hành. Bảo vệ đảm bảo rằng tất cả truy xuất tài nguyên của hệ thống được kiểm soát. An toàn hệ thống từ người dùng bên ngoài cũng là vấn đề quan trọng. An toàn bắt đầu với mỗi người dùng có quyền đối với hệ thống, thường bằng mật khẩu để được phép truy xuất tài nguyên. Mở rộng việc bảo vệ đối với các thiết bị xuất/nhập bên ngoài, bao gồm modem, card mạng từ những truy xuất không hợp lệ, và ghi lại các nối kết để phát hiện đột nhập vào hệ thống. Nếu hệ thống bảo vệ và bảo mật, những cảnh báo phải được thiết lập xuyên suốt.
Thực thi chương trình: hệ thống phải có thể nạp chương trình vào bộ nhớ và chạy chương trình đó. Chương trình phải có thể kết thúc việc thực thi của nó bình thường hay không bình thường (hiển thị lỗi).
Thao tác xuất/nhập: một chương trình đang chạy có thể yêu cầu xuất/nhập. Xuất/nhập này có thể liên quan tới tập tin hay thiết bị xuất/nhập. Đối với các thiết bị cụ thể, các chức năng đặc biệt có thể được mong muốn (như quay lại từ đầu một ổ băng từ, hay xoá màn hình). Đối với tính hiệu quả và tính bảo vệ, người dùng thường không thể điều khiển các thiết bị xuất/nhập trực tiếp. Do đó, hệ điều hành phải cung cấp một phương tiện để thực hiện xuất/nhập..
Thao tác hệ thống tập tin: hệ thống tập tin có sự quan tâm đặc biệt. Các chương trình cần đọc từ và viết tới các tập tin. Chương trình cũng cần tạo và xoá tập tin bằng tên.
Giao tiếp: trong nhiều trường hợp, một quá trình cần trao đổi thông tin với các quá trình khác. Giao tiếp như thế có thể xảy ra trong hai cách chính. Cách đầu tiên xảy ra giữa các quá trình được thực thi trên cùng máy tính; cách thứ hai xảy ra giữa hai quá trình đang được thực thi trên các máy tính khác nhau được kết nối với nhau bởi một mạng máy tính. Các giao tiếp có thể được thực hiện bằng bộ nhớ được chia sẻ, hay bằng kỹ thuật truyền thông điệp, trong đó các gói tin được di chuyển giữa các quá trình bởi hệ điều hành.
Phát hiện lỗi: hệ điều hành liên tục yêu cầu nhận biết các lỗi có thể phát sinh. Các lỗi có thể xảy ra trong CPU và phần cứng bộ nhớ (như lỗi bộ nhớ hay lỗi về điện), trong các thiết bị xuất/nhập (như lỗi chẳn lẻ trên băng từ, lỗi nối kết mạng, hết giấy in) và trong chương trình người dùng (như tràn số học, cố gắng truy xuất một vị trí bộ nhớ không hợp lệ, dùng quá nhiều thời gian CPU). Đối với mỗi loại lỗi, hệ điều hành nên thực hiện một hoạt động hợp lý để đảm bảo tính toán đúng và không đổi.
Ngoài ra, một tập chức năng khác của hệ điều hành tồn tại không giúp người dùng, nhưng đảm bảo các điều hành hữu hiệu của chính hệ thống. Các hệ thống với nhiều người dùng có thể đạt tính hữu hiệu bằng cách chia sẻ tài nguyên máy tính giữa các người dùng.
Cấp phát tài nguyên: khi nhiều người dùng đăng nhập vào hệ thống hay nhiều công việc đang chạy cùng lúc, tài nguyên phải được cấp tới mỗi người dùng. Nhiều loại tài nguyên khác nhau được quản lý bởi hệ điều hành. Một số tài nguyên (như chu kỳ CPU, bộ nhớ chính, lưu trữ tập tin) có mã cấp phát đặt biệt, trái lại các tài nguyên khác (như thiết bị xuất/nhập) có mã yêu cầu và giải phóng thường hơn. Thí dụ, xác định cách tốt nhất để dùng CPU, hệ điều hành có các thủ tục định thời biểu CPU. Các thủ tục này xem xét tốc độ CPU, các công việc phải được thực thi, số thanh ghi sẳn dùng và các yếu tố khác. Cũng có các thủ tục cấp phát ổ băng từ để dùng cho một công việc. Một thủ tục như thế định vị ổ băng từ chưa được dùng và đánh dấu một bảng bên trong để ghi người dùng mới của ổ băng từ. Một thủ tục khác được dùng để xoá bảng đó. Các thủ tục này cũng có thể cấp phát các máy vẽ, modem, các thiết bị ngoại vi khác.
Tính toán: chúng ta muốn giữ vết người dùng nào sử dụng bao nhiêu và loại tài nguyên máy tính nào. Giữ vết này có thể được dùng để tính toán (tính tiền người dùng) hay đơn giản thống kê sử dụng. Thống kê sử dụng có thể là công cụ có giá trị cho người nghiên cứu muốn cấu hình lại hệ thống để cải tiến các dịch vụ tính toán.
Bảo vệ: người sở hữu thông tin được lưu trong hệ thống máy tính đa người dùng muốn điều khiển thông tin này. Khi nhiều quá trình riêng rẻ thực thi đồng hành, không thể cho một quá trình can thiệp tới các quá trình khác hay tới chính hệ điều hành. Bảo vệ đảm bảo rằng tất cả truy xuất tài nguyên của hệ thống được kiểm soát. An toàn hệ thống từ người dùng bên ngoài cũng là vấn đề quan trọng. An toàn bắt đầu với mỗi người dùng có quyền đối với hệ thống, thường bằng mật khẩu để được phép truy xuất tài nguyên. Mở rộng việc bảo vệ đối với các thiết bị xuất/nhập bên ngoài, bao gồm modem, card mạng từ những truy xuất không hợp lệ, và ghi lại các nối kết để phát hiện đột nhập vào hệ thống. Nếu hệ thống bảo vệ và bảo mật, những cảnh báo phải được thiết lập xuyên suốt.
Quản lý hệ thống xuất/nhập
Một trong những mục đích của hệ điều hành là che giấu sự khác biệt của các thiết bị phần cứng từ người dùng. Thí dụ, trong UNIX sự khác biệt của các thiết bị xuất/nhập bị che giấu từ phần chính của hệ điều hành bởi các hệ thống con xuất/nhập. Hệ thống con xuất/nhập chứa:
Thành phần quản lý bộ nhớ chứa vùng đệm (buffering), lưu trữ (caching) và spooling (vùng chứa).
Giao diện trình điều khiển thiết bị chung.
Trình điều khiển cho các thiết bị xác định.
Chỉ trình điều khiển thiết bị biết sự khác biệt của các thiết bị xác định mà nó được gán
Thành phần quản lý bộ nhớ chứa vùng đệm (buffering), lưu trữ (caching) và spooling (vùng chứa).
Giao diện trình điều khiển thiết bị chung.
Trình điều khiển cho các thiết bị xác định.
Chỉ trình điều khiển thiết bị biết sự khác biệt của các thiết bị xác định mà nó được gán
Re: Thảo luận Bài 2
LeQuocKhanh-11H1010059 đã 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).
Đưa thêm vi dụ vào
* Ngắt cứng:khi chương trình đang chạy thì bị ngắt do có câu lệnh buộc phải ngắt chương trình.
* Ngắt mềm:khi chương trình đang chạy nhưng người dùng muốn sử dụng thao tác khác nên máy tính phải dừng việc đang làm và thực thi hiệu lệnh của người dùng.
- Ngắt (interrupt) là quá trình dừng chương trình chính đang chạy để ưu tiên thực hiện
một chương trình khác, chương trình này được gọi là chương trình phục vụ ngắt (ISR –
Interrupt Service Routine).
- Trong các quá trình ngắt, ta phân biệt thành 2 loại: ngắt cứng và ngắt mềm
Ngắt mềm là ngắt được gọi bằng một lệnh trong chương trình ngôn ngữ máy
Khác với ngắt mềm, ngắt cứng không được khởi động bên trong máy tính mà do các
linh kiện điện tử tác đông lên hệ thống.
- Hoạt động: Khi thực hiện lệnh gọi ngắt, CPU sẽ tìm kiếm trong bảng vector ngắt địa chỉ của chương trình phục vụ ngắt. Người sử dụng cũng có thể xây dựng môt chương trình cơ sở như các chương trình xử lý ngắt. Sau đó, các chương trình khác có thể gọi ngắt ra để sử dụng. Một chương trình có thể gọi chương trình con loại này mà không cần biết địa chỉ của nó.
VoTrongQuyet-I12A- Tổng số bài gửi : 24
Join date : 16/02/2012
Những vấn đề cần ghi nhớ và nắm bắt sau khi kết thúc bài 2
Nội dung của bài 2 tuy hơi dài và có rất nhiều vấn đề nhưng có 3 điểm đáng chú ý sau đây mà chúng ta cần ghi nhớ:
- Hệ điều hành cung cấp một số dịch vụ. Tại cấp thấp nhất, lời gọi hệ thống cho
phép một chương trình đang chạy thực hiện yêu cầu trực tiếp từ hệ thống. Tại cấp cao
hơn, trình thông dịch cung cấp cơ chế cho người dùng đưa ra yêu cầu mà không viết
chương trình. Các lệnh có thể xuất phát từ tập tin trong suốt thời gian thực thi theo
chế độ xử lý theo lô, hay trực tiếp từ bàn phím trong chế độ tương tác hay chia sẻ thời
gian. Các chương trình hệ thống được cung cấp để thoả mãn nhiều yêu cầu thông
thường của người dùng.
- Các loại yêu cầu khác nhau dựa theo cấp yêu cầu. Cấp gọi hệ thống phải cung
cấp các chức năng cơ bản, như điều khiển quá trình, quản lý tập tin và thiết bị. Các
yêu cầu cấp cao hơn được thoả mãn bởi trình thông dịch lệnh và chương trình hệ
thống được dịch vào một chuỗi các lời gọi hệ thống. Các dịch vụ hệ thống có thể được
phân cấp thành nhiều loại: điều khiển chương trình, yêu cầu trạng thái, yêu cầu
nhập/xuất. Lỗi chương trình được xem xét các yêu cầu ẩn cho dịch vụ.
Một khi dịch vụ hệ thống được định nghĩa, cấu trúc của hệ điều hành được phát
triển. Các bảng khác nhau cần được ghi thông tin định nghĩa trạng thái của hệ thống
máy tính và trạng thái của công việc hệ thống.
- Thiết kế một hệ điều hành mới là công việc rất quan trọng. Thiết kế hệ thống
như thứ tự của các tầng hay sử dụng vi nhân được xem là một kỹ thuật tốt. Khái niệm
máy ảo thực hiện tiếp cận phân tầng và xem nhân của hệ điều hành và phần cứng như
là phần cứng của nó. Các hệ điều hành khác có thể được nạp trên đỉnh của máy ảo.
- Hệ điều hành cung cấp một số dịch vụ. Tại cấp thấp nhất, lời gọi hệ thống cho
phép một chương trình đang chạy thực hiện yêu cầu trực tiếp từ hệ thống. Tại cấp cao
hơn, trình thông dịch cung cấp cơ chế cho người dùng đưa ra yêu cầu mà không viết
chương trình. Các lệnh có thể xuất phát từ tập tin trong suốt thời gian thực thi theo
chế độ xử lý theo lô, hay trực tiếp từ bàn phím trong chế độ tương tác hay chia sẻ thời
gian. Các chương trình hệ thống được cung cấp để thoả mãn nhiều yêu cầu thông
thường của người dùng.
- Các loại yêu cầu khác nhau dựa theo cấp yêu cầu. Cấp gọi hệ thống phải cung
cấp các chức năng cơ bản, như điều khiển quá trình, quản lý tập tin và thiết bị. Các
yêu cầu cấp cao hơn được thoả mãn bởi trình thông dịch lệnh và chương trình hệ
thống được dịch vào một chuỗi các lời gọi hệ thống. Các dịch vụ hệ thống có thể được
phân cấp thành nhiều loại: điều khiển chương trình, yêu cầu trạng thái, yêu cầu
nhập/xuất. Lỗi chương trình được xem xét các yêu cầu ẩn cho dịch vụ.
Một khi dịch vụ hệ thống được định nghĩa, cấu trúc của hệ điều hành được phát
triển. Các bảng khác nhau cần được ghi thông tin định nghĩa trạng thái của hệ thống
máy tính và trạng thái của công việc hệ thống.
- Thiết kế một hệ điều hành mới là công việc rất quan trọng. Thiết kế hệ thống
như thứ tự của các tầng hay sử dụng vi nhân được xem là một kỹ thuật tốt. Khái niệm
máy ảo thực hiện tiếp cận phân tầng và xem nhân của hệ điều hành và phần cứng như
là phần cứng của nó. Các hệ điều hành khác có thể được nạp trên đỉnh của máy ảo.
HuynhNguyenTrungHau_I12C- Tổng số bài gửi : 32
Join date : 15/02/2012
câu 1. nguyên lý xữ lý ngắt của hệ điều hành
1.nguyên lý xử lý ngắt của hệ điều hành:
* có 2 loại chính: ngắt cứng và ngắt mềm
* phân biện giữa 2 loại ngắt:
-giống nhau: đều được truyền qua system bus
-khác nhau:
.ngắt cứng được phát từ thiết bị phần cứng của máy tính
.ngắt mềm được phát tứ chương trình người dùng được gọi từ 1 lệnh lời gọi hệ thống(system call) , là cơ chế tiến trình người dùng yêu cầu 1 dịch vụ của hệ điều hành
ví dụ: yêu cầu nhập xuất của người dùng( mỗi hệ điều hành tiến trình nhập xuất không đồng bộ)
* mở rộng:
- với mỗi loại ngắt có đoạn mã riêng của hệ điều hành dùng xử lý
- các hệ điều hành 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ệ điều hành im lặng chờ và theo giõi.
- thông thường, mỗi loại ngắt tương úng vói 1 dòng trong bảng 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 gi 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ó 2 loại chính: ngắt cứng và ngắt mềm
* phân biện giữa 2 loại ngắt:
-giống nhau: đều được truyền qua system bus
-khác nhau:
.ngắt cứng được phát từ thiết bị phần cứng của máy tính
.ngắt mềm được phát tứ chương trình người dùng được gọi từ 1 lệnh lời gọi hệ thống(system call) , là cơ chế tiến trình người dùng yêu cầu 1 dịch vụ của hệ điều hành
ví dụ: yêu cầu nhập xuất của người dùng( mỗi hệ điều hành tiến trình nhập xuất không đồng bộ)
* mở rộng:
- với mỗi loại ngắt có đoạn mã riêng của hệ điều hành dùng xử lý
- các hệ điều hành 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ệ điều hành im lặng chờ và theo giõi.
- thông thường, mỗi loại ngắt tương úng vói 1 dòng trong bảng 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 gi 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).
phanngocthinh(i12a)- Tổng số bài gửi : 47
Join date : 17/02/2012
3.trình bày và so sành 2 phương thức nhập xuất đồng bộ (synchromous) và nhập xuất không đồng bộ(Asynchromous):
3.trình bày và so sành 2 phương thức nhập xuất đồng bộ (synchromous) và nhập xuất không đồng bộ(Asynchromous):
-nhập xuất đồng bộ là nhập xuất có chờ(tiến trình người dùng chờ đến khi nhập xuất kết thúc rồi mới thực hiện tiếp)
Ví dụ: nhập xuất bàn phím máy tính.
-nhập xuất không đồng bộ là nhập xuất không có chờ(tiến trình người dùng làm việc song song với nhập xuất)
Ví dụ:máy in phù hợp với nhu cầu người sử dụng
-nhập xuất đồng bộ là nhập xuất có chờ(tiến trình người dùng chờ đến khi nhập xuất kết thúc rồi mới thực hiện tiếp)
Ví dụ: nhập xuất bàn phím máy tính.
-nhập xuất không đồng bộ là nhập xuất không có chờ(tiến trình người dùng làm việc song song với nhập xuất)
Ví dụ:máy in phù hợp với nhu cầu người sử dụng
phanngocthinh(i12a)- Tổng số bài gửi : 47
Join date : 17/02/2012
câu này có trong đề thi học kì 1 khóa trước
điền vào chỗ trống
Kilo -> Mega -> Giga -> Tera -> ? -> ? -> ? -> ?
Kilo -> Mega -> Giga -> Tera -> Peta -> Exa -> Zetta -> Yotta
Kilo -> Mega -> Giga -> Tera -> ? -> ? -> ? -> ?
Kilo -> Mega -> Giga -> Tera -> Peta -> Exa -> Zetta -> Yotta
phanngocthinh(i12a)- Tổng số bài gửi : 47
Join date : 17/02/2012
Re:Tuyến thời gian của 1 tiến trình có 3 yêu cầu tới thiết bị ngoài
Bạn có thể giải thích hình này một cách chi tiết không.Mình nhìn nó,nó biết mình nhưng mình đang không biết nó.Cảm ơn bạn hiền.
NguyenThanhCang(I12A)- Tổng số bài gửi : 24
Join date : 23/02/2012
Age : 35
Đến từ : Vũng Tàu
Tiến trình của HĐH
1. Khái niệm về tiến trình (Process) và mô hình đa tiến trình (Multiprocess).
Tiến trình là một chương trình đang xử lý, sỡ hữu một con trỏ lệnh, tập các thanh ghi và các biến. Để hoàn thành công việc của mình, một tiến trình có thể cần đến một số tài nguyên – như CPU, bộ nhớ chính, các tập tin và thiết bị nhập/xuất.
Cần phân biệt hai khái niệm chương trình và tiến trình. Một chương trình là một thực thể thụ động, chứa đựng các chỉ thị điều khiển máy tính để tiến hành một tác vụ nào đó ; khi cho thực hiện các chỉ thị này, chương trình chuyển thành tiến trình, là một thực thể hoạt động, với con trỏ lệnh xác định chỉ thị kế tiếp sẽ thi hành, kèm theo tập các tài nguyên phục vụ cho hoạt động của tiến trình.
2. Khái niệm tiểu trình (Thread) và mô hình đa tiểu trình (Multithread)
Trong hầu hết các hệ điều hành, mỗi tiến trình có một không gian địa chỉ và chỉ có một dòng xử lý. Tuy nhiên, có nhiều tình huống người sử dụng mong muốn có nhiều dòng xử lý cùng chia sẻ một không gian địa chỉ, và các dòng xử lý này hoạt động song song tương tự như các tiến trình phân biệt (ngoại trừ việc chia sẻ không gian địa chỉ).
Ví dụ : Một server quản lý tập tin thỉnh thoảng phải tự khóa để chờ các thao tác truy xuất đĩa hoàn tất.Nếu server có nhiều dòng xử lý, hệ thống có thể xử lý các yêu cầu mới trong khi một dòng xử lý bị khoá. Như vậy việc thực hiện chương trình sẽ có hiệu quả hơn. Điều này không thể đạt được bằng cách tạo hai tiến trình server riêng biệt vì cần phải chia sẻ cùng một vùng đệm, do vậy bắt buộc phải chia sẻ không gian địa chỉ.
Nguyên lý chung :
Một tiểu trình là một đơn vị xử lý cơ bản trong hệ thống . Mỗi tiểu trình xử lý tuần tự đoạn code của nó, sỡ hữu một con trỏ lệnh, tập các thanh ghi và một vùng nhớ stack riêng. Các tiểu trình chia sẻ CPU với nhau giống như cách chia sẻ giữa các tiến trình: một tiểu trình xử lý trong khi các tiểu trình khác chờ đến lượt. Một tiểu trình cũng có thể tạo lập các tiến trình con, và nhận các trạng thái khác nhau như một tiến trình thật sự. Một tiến trình có thể sỡ hữu nhiều tiểu trình.
3. Phân loại tiến trình
- Tiến trình tuần tự
- Tiến trình song song
- Tiến trình có quan hệ thông tin
-Tiến trình độc lập
-Tiến trình cha và tiến trình con
-Tiến trình đồng mức
4. Các trạng thái của tiến trình
Tại một thời điểm, một tiến trình có thể nhận một trong các trạng thái sau đây :
- Mới tạo : tiến trình đang được tạo lập.
- Running : các chỉ thị của tiến trình đang được xử lý.
- Blocked : tiến trình chờ được cấp phát một tài nguyên, hay chờ một
sự kiện xảy ra (hoàn thành nhập xuất hay nhận một tín hiệu) .
- Ready : tiến trình chờ được cấp phát CPU để xử lý.
- Kết thúc : tiến trình hoàn tất xử lý.
5. Hệ điều hành cung cấp các thao tác chủ yếu sau đây trên một tiến trình :
-Tạo lập tiến trình (create)
-Kết thúc tiến trình (destroy)
-Tạm dừng tiến trình (suspend)
-Tái kích hoạt tiến trình (resume)
-Thay đổi độ ưu tiên tiến trình
6. Cấp phát tài nguyên cho tiến trình
- Định danh tài nguyên
- Trạng thái tài nguyên : đây là các thông tin mô tả chi tiết trạng thái tài nguyên : phần nào của tài nguyên đã cấp phát cho tiến trình, phần nào còn có thể sử dụng ?
- Hàng đợi trên một tài nguyên : danh sách các tiến trình đang chờ được cấp phát tài nguyên tương ứng.
- Bộ cấp phát : là đoạn code đảm nhiệm việc cấp phát một tài nguyên đặc thù. Một số tài nguyên đòi hỏi các giải thuật đặc biệt (như CPU, bộ nhớ chính, hệ thống tập tin), trong khi những tài nguyên khác (như các thiết bị nhập/xuất) có thể cần các giải thuật cấp phát và giải phóng tổng quát hơn.
Tiến trình là một chương trình đang xử lý, sỡ hữu một con trỏ lệnh, tập các thanh ghi và các biến. Để hoàn thành công việc của mình, một tiến trình có thể cần đến một số tài nguyên – như CPU, bộ nhớ chính, các tập tin và thiết bị nhập/xuất.
Cần phân biệt hai khái niệm chương trình và tiến trình. Một chương trình là một thực thể thụ động, chứa đựng các chỉ thị điều khiển máy tính để tiến hành một tác vụ nào đó ; khi cho thực hiện các chỉ thị này, chương trình chuyển thành tiến trình, là một thực thể hoạt động, với con trỏ lệnh xác định chỉ thị kế tiếp sẽ thi hành, kèm theo tập các tài nguyên phục vụ cho hoạt động của tiến trình.
2. Khái niệm tiểu trình (Thread) và mô hình đa tiểu trình (Multithread)
Trong hầu hết các hệ điều hành, mỗi tiến trình có một không gian địa chỉ và chỉ có một dòng xử lý. Tuy nhiên, có nhiều tình huống người sử dụng mong muốn có nhiều dòng xử lý cùng chia sẻ một không gian địa chỉ, và các dòng xử lý này hoạt động song song tương tự như các tiến trình phân biệt (ngoại trừ việc chia sẻ không gian địa chỉ).
Ví dụ : Một server quản lý tập tin thỉnh thoảng phải tự khóa để chờ các thao tác truy xuất đĩa hoàn tất.Nếu server có nhiều dòng xử lý, hệ thống có thể xử lý các yêu cầu mới trong khi một dòng xử lý bị khoá. Như vậy việc thực hiện chương trình sẽ có hiệu quả hơn. Điều này không thể đạt được bằng cách tạo hai tiến trình server riêng biệt vì cần phải chia sẻ cùng một vùng đệm, do vậy bắt buộc phải chia sẻ không gian địa chỉ.
Nguyên lý chung :
Một tiểu trình là một đơn vị xử lý cơ bản trong hệ thống . Mỗi tiểu trình xử lý tuần tự đoạn code của nó, sỡ hữu một con trỏ lệnh, tập các thanh ghi và một vùng nhớ stack riêng. Các tiểu trình chia sẻ CPU với nhau giống như cách chia sẻ giữa các tiến trình: một tiểu trình xử lý trong khi các tiểu trình khác chờ đến lượt. Một tiểu trình cũng có thể tạo lập các tiến trình con, và nhận các trạng thái khác nhau như một tiến trình thật sự. Một tiến trình có thể sỡ hữu nhiều tiểu trình.
3. Phân loại tiến trình
- Tiến trình tuần tự
- Tiến trình song song
- Tiến trình có quan hệ thông tin
-Tiến trình độc lập
-Tiến trình cha và tiến trình con
-Tiến trình đồng mức
4. Các trạng thái của tiến trình
Tại một thời điểm, một tiến trình có thể nhận một trong các trạng thái sau đây :
- Mới tạo : tiến trình đang được tạo lập.
- Running : các chỉ thị của tiến trình đang được xử lý.
- Blocked : tiến trình chờ được cấp phát một tài nguyên, hay chờ một
sự kiện xảy ra (hoàn thành nhập xuất hay nhận một tín hiệu) .
- Ready : tiến trình chờ được cấp phát CPU để xử lý.
- Kết thúc : tiến trình hoàn tất xử lý.
5. Hệ điều hành cung cấp các thao tác chủ yếu sau đây trên một tiến trình :
-Tạo lập tiến trình (create)
-Kết thúc tiến trình (destroy)
-Tạm dừng tiến trình (suspend)
-Tái kích hoạt tiến trình (resume)
-Thay đổi độ ưu tiên tiến trình
6. Cấp phát tài nguyên cho tiến trình
- Định danh tài nguyên
- Trạng thái tài nguyên : đây là các thông tin mô tả chi tiết trạng thái tài nguyên : phần nào của tài nguyên đã cấp phát cho tiến trình, phần nào còn có thể sử dụng ?
- Hàng đợi trên một tài nguyên : danh sách các tiến trình đang chờ được cấp phát tài nguyên tương ứng.
- Bộ cấp phát : là đoạn code đảm nhiệm việc cấp phát một tài nguyên đặc thù. Một số tài nguyên đòi hỏi các giải thuật đặc biệt (như CPU, bộ nhớ chính, hệ thống tập tin), trong khi những tài nguyên khác (như các thiết bị nhập/xuất) có thể cần các giải thuật cấp phát và giải phóng tổng quát hơn.
HoNgocTuan142(I12A)- Tổng số bài gửi : 33
Join date : 22/02/2012
Age : 34
Đến từ : Quãng Ngãi
Bộ nhớ của máy tính và chức năng
1.Bộ nhớ trong (ROM&RAM)
Được chia làm các ô nhớ hình mắt lưới .Mỗi ô nhớ có dung lượng 1 byte và được dùng để lưu trữ 1 ký tự .
Bô nhớ trong được chia làm 2 loại như sau :
-Bộ nhớ chỉ đọc : ROM
Đây là bộ nhớ được các nhà sản xuất máy tính thiết lập ra .Người sử dụng chỉ có thể sử dụng dữ liệu trong bộ nhớ này chứ không thể thay đổi được dữ liệu trong nó .Khi tắt máy hoặc mất điện dữ liệu trong ROM không bị mất đi
VD: Bios ROM Basic Input Output System Read Only Memmory ) :Bộ nhớ chỉ đọc điều khiển các thiết bị vào ra cơ bản của hệ thống máy tính .
-Bộ nhớ truy cập ngẫu nhiên RAM:
Người sử dụng có thể hoàn toàn thay đổi được dữ liệu bên trong bộ nhớ này nhưng khi mất điện hoặc tắt máy dữ liệu trong RAM sẽ bị mất đi .
2. Bộ nhớ ngoài :
Là bộ nhớ có dung lượng rất lớn dùng để lưu trữ những dữ liệu có dung lượng lớn như các bộ cài đặt ,các phần mềm ứng dụng ,tiện ích ..vv..Người sử dụng có thể thay đổi dữ liệu bên trong bộ nhớ này nhưng khi tắt máy hoặc mất điện dữ liệu không bị mất đi .Tuy vậy bộ nhớ ngoài có tốc độ truy cập chậm hơn bộ nhớ trong nhưng giá thành lại rẻ hơn rất nhiều lần .
VD : HDD, FDD, ODD, USB ,....
Được chia làm các ô nhớ hình mắt lưới .Mỗi ô nhớ có dung lượng 1 byte và được dùng để lưu trữ 1 ký tự .
Bô nhớ trong được chia làm 2 loại như sau :
-Bộ nhớ chỉ đọc : ROM
Đây là bộ nhớ được các nhà sản xuất máy tính thiết lập ra .Người sử dụng chỉ có thể sử dụng dữ liệu trong bộ nhớ này chứ không thể thay đổi được dữ liệu trong nó .Khi tắt máy hoặc mất điện dữ liệu trong ROM không bị mất đi
VD: Bios ROM Basic Input Output System Read Only Memmory ) :Bộ nhớ chỉ đọc điều khiển các thiết bị vào ra cơ bản của hệ thống máy tính .
-Bộ nhớ truy cập ngẫu nhiên RAM:
Người sử dụng có thể hoàn toàn thay đổi được dữ liệu bên trong bộ nhớ này nhưng khi mất điện hoặc tắt máy dữ liệu trong RAM sẽ bị mất đi .
2. Bộ nhớ ngoài :
Là bộ nhớ có dung lượng rất lớn dùng để lưu trữ những dữ liệu có dung lượng lớn như các bộ cài đặt ,các phần mềm ứng dụng ,tiện ích ..vv..Người sử dụng có thể thay đổi dữ liệu bên trong bộ nhớ này nhưng khi tắt máy hoặc mất điện dữ liệu không bị mất đi .Tuy vậy bộ nhớ ngoài có tốc độ truy cập chậm hơn bộ nhớ trong nhưng giá thành lại rẻ hơn rất nhiều lần .
VD : HDD, FDD, ODD, USB ,....
HoNgocTuan142(I12A)- Tổng số bài gửi : 33
Join date : 22/02/2012
Age : 34
Đến từ : Quãng Ngãi
Phân biệt nhập xuất đồng bộ với nhập xuất không đồng bộ ? cho ví dụ minh họa
- Synchronous I/O: Sau khi phát ra lệnh Nhập/Xuất, tiến trình người dùng được chuyển sang trạng thái chờ đến khi Nhập/Xuất hoàn tất rồi mới tiếp tục làm việc (phát tín hiệu đểthực hiện lệnh kế tiếp)
Ví dụ: Trong đời thường chúng ta hay đánh những văn bản, khi thực hiện việc đánh văn bản từ bàn phím, khi muốn lưu ta phải chon 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 người dùng không chờ Nhập/Xuất hoàn tất cộng việc mà phát tín hiệu thực hiện ngay lập tức và 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 thêm dữ liệu mới vào văn bản vào văn bản, khi ta muốn lưu thì ta chọn Save và 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
Noi them
1. Nhập/xuất đồng bộ:
- Là nhập/xuất khi mà tiến trình người dùng phải chờ cho đến khi nhập xuất kết thúc rồi mới chạy tiếp.
- Khi dữ liệu truyền tới phần cứng tiến trình người dùng phải chờ một khoảng thời gian để xuất thông tin.
2. 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.
VD:
1.1 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.
2.1 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.
Ví dụ: Trong đời thường chúng ta hay đánh những văn bản, khi thực hiện việc đánh văn bản từ bàn phím, khi muốn lưu ta phải chon 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 người dùng không chờ Nhập/Xuất hoàn tất cộng việc mà phát tín hiệu thực hiện ngay lập tức và 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 thêm dữ liệu mới vào văn bản vào văn bản, khi ta muốn lưu thì ta chọn Save và 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
Noi them
1. Nhập/xuất đồng bộ:
- Là nhập/xuất khi mà tiến trình người dùng phải chờ cho đến khi nhập xuất kết thúc rồi mới chạy tiếp.
- Khi dữ liệu truyền tới phần cứng tiến trình người dùng phải chờ một khoảng thời gian để xuất thông tin.
2. 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.
VD:
1.1 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.
2.1 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.
TranMinhTuan143(I12A)- Tổng số bài gửi : 38
Join date : 22/02/2012
Quản lý tiến trình
QUẢN LÝ TIẾN TRÌNH
1. Khái niệm về tiến trình (Process) và mô hình đa tiến trình (Multiprocess).
Tiến trình là một chương trình đang xử lý, sỡ hữu một con trỏ lệnh, tập các thanh ghi và các biến. Để hoàn thành công việc của mình, một tiến trình có thể cần đến một số tài nguyên – như CPU, bộ nhớ chính, các tập tin và thiết bị nhập/xuất.
Cần phân biệt hai khái niệm chương trình và tiến trình. Một chương trình là một thực thể thụ động, chứa đựng các chỉ thị điều khiển máy tính để tiến hành một tác vụ nào đó ; khi cho thực hiện các chỉ thị này, chương trình chuyển thành tiến trình, là một thực thể hoạt động, với con trỏ lệnh xác định chỉ thị kế tiếp sẽ thi hành, kèm theo tập các tài nguyên phục vụ cho hoạt động của tiến trình.
2. Khái niệm tiểu trình (Thread) và mô hình đa tiểu trình (Multithread)
Trong hầu hết các hệ điều hành, mỗi tiến trình có một không gian địa chỉ và chỉ có một dòng xử lý. Tuy nhiên, có nhiều tình huống người sử dụng mong muốn có nhiều dòng xử lý cùng chia sẻ một không gian địa chỉ, và các dòng xử lý này hoạt động song song tương tự như các tiến trình phân biệt (ngoại trừ việc chia sẻ không gian địa chỉ).
Ví dụ : Một server quản lý tập tin thỉnh thoảng phải tự khóa để chờ các thao tác truy xuất đĩa hoàn tất.Nếu server có nhiều dòng xử lý, hệ thống có thể xử lý các yêu cầu mới trong khi một dòng xử lý bị khoá. Như vậy việc thực hiện chương trình sẽ có hiệu quả hơn. Điều này không thể đạt được bằng cách tạo hai tiến trình server riêng biệt vì cần phải chia sẻ cùng một vùng đệm, do vậy bắt buộc phải chia sẻ không gian địa chỉ.
Nguyên lý chung :
Một tiểu trình là một đơn vị xử lý cơ bản trong hệ thống . Mỗi tiểu trình xử lý tuần tự đoạn code của nó, sỡ hữu một con trỏ lệnh, tập các thanh ghi và một vùng nhớ stack riêng. Các tiểu trình chia sẻ CPU với nhau giống như cách chia sẻ giữa các tiến trình: một tiểu trình xử lý trong khi các tiểu trình khác chờ đến lượt. Một tiểu trình cũng có thể tạo lập các tiến trình con, và nhận các trạng thái khác nhau như một tiến trình thật sự. Một tiến trình có thể sỡ hữu nhiều tiểu trình.
3. Phân loại tiến trình
- Tiến trình tuần tự
- Tiến trình song song
- Tiến trình có quan hệ thông tin
-Tiến trình độc lập
-Tiến trình cha và tiến trình con
-Tiến trình đồng mức
4. Các trạng thái của tiến trình
Tại một thời điểm, một tiến trình có thể nhận một trong các trạng thái sau đây :
- Mới tạo : tiến trình đang được tạo lập.
- Running : các chỉ thị của tiến trình đang được xử lý.
- Blocked : tiến trình chờ được cấp phát một tài nguyên, hay chờ một
sự kiện xảy ra (hoàn thành nhập xuất hay nhận một tín hiệu) .
- Ready : tiến trình chờ được cấp phát CPU để xử lý.
- Kết thúc : tiến trình hoàn tất xử lý.
5. Hệ điều hành cung cấp các thao tác chủ yếu sau đây trên một tiến trình :
-Tạo lập tiến trình (create)
-Kết thúc tiến trình (destroy)
-Tạm dừng tiến trình (suspend)
-Tái kích hoạt tiến trình (resume)
-Thay đổi độ ưu tiên tiến trình
6. Cấp phát tài nguyên cho tiến trình
- Định danh tài nguyên
- Trạng thái tài nguyên : đây là các thông tin mô tả chi tiết trạng thái tài nguyên : phần nào của tài nguyên đã cấp phát cho tiến trình, phần nào còn có thể sử dụng ?
- Hàng đợi trên một tài nguyên : danh sách các tiến trình đang chờ được cấp phát tài nguyên tương ứng.
- Bộ cấp phát : là đoạn code đảm nhiệm việc cấp phát một tài nguyên đặc thù. Một số tài nguyên đòi hỏi các giải thuật đặc biệt (như CPU, bộ nhớ chính, hệ thống tập tin), trong khi những tài nguyên khác (như các thiết bị nhập/xuất) có thể cần các giải thuật cấp phát và giải phóng tổng quát hơn.
1. Khái niệm về tiến trình (Process) và mô hình đa tiến trình (Multiprocess).
Tiến trình là một chương trình đang xử lý, sỡ hữu một con trỏ lệnh, tập các thanh ghi và các biến. Để hoàn thành công việc của mình, một tiến trình có thể cần đến một số tài nguyên – như CPU, bộ nhớ chính, các tập tin và thiết bị nhập/xuất.
Cần phân biệt hai khái niệm chương trình và tiến trình. Một chương trình là một thực thể thụ động, chứa đựng các chỉ thị điều khiển máy tính để tiến hành một tác vụ nào đó ; khi cho thực hiện các chỉ thị này, chương trình chuyển thành tiến trình, là một thực thể hoạt động, với con trỏ lệnh xác định chỉ thị kế tiếp sẽ thi hành, kèm theo tập các tài nguyên phục vụ cho hoạt động của tiến trình.
2. Khái niệm tiểu trình (Thread) và mô hình đa tiểu trình (Multithread)
Trong hầu hết các hệ điều hành, mỗi tiến trình có một không gian địa chỉ và chỉ có một dòng xử lý. Tuy nhiên, có nhiều tình huống người sử dụng mong muốn có nhiều dòng xử lý cùng chia sẻ một không gian địa chỉ, và các dòng xử lý này hoạt động song song tương tự như các tiến trình phân biệt (ngoại trừ việc chia sẻ không gian địa chỉ).
Ví dụ : Một server quản lý tập tin thỉnh thoảng phải tự khóa để chờ các thao tác truy xuất đĩa hoàn tất.Nếu server có nhiều dòng xử lý, hệ thống có thể xử lý các yêu cầu mới trong khi một dòng xử lý bị khoá. Như vậy việc thực hiện chương trình sẽ có hiệu quả hơn. Điều này không thể đạt được bằng cách tạo hai tiến trình server riêng biệt vì cần phải chia sẻ cùng một vùng đệm, do vậy bắt buộc phải chia sẻ không gian địa chỉ.
Nguyên lý chung :
Một tiểu trình là một đơn vị xử lý cơ bản trong hệ thống . Mỗi tiểu trình xử lý tuần tự đoạn code của nó, sỡ hữu một con trỏ lệnh, tập các thanh ghi và một vùng nhớ stack riêng. Các tiểu trình chia sẻ CPU với nhau giống như cách chia sẻ giữa các tiến trình: một tiểu trình xử lý trong khi các tiểu trình khác chờ đến lượt. Một tiểu trình cũng có thể tạo lập các tiến trình con, và nhận các trạng thái khác nhau như một tiến trình thật sự. Một tiến trình có thể sỡ hữu nhiều tiểu trình.
3. Phân loại tiến trình
- Tiến trình tuần tự
- Tiến trình song song
- Tiến trình có quan hệ thông tin
-Tiến trình độc lập
-Tiến trình cha và tiến trình con
-Tiến trình đồng mức
4. Các trạng thái của tiến trình
Tại một thời điểm, một tiến trình có thể nhận một trong các trạng thái sau đây :
- Mới tạo : tiến trình đang được tạo lập.
- Running : các chỉ thị của tiến trình đang được xử lý.
- Blocked : tiến trình chờ được cấp phát một tài nguyên, hay chờ một
sự kiện xảy ra (hoàn thành nhập xuất hay nhận một tín hiệu) .
- Ready : tiến trình chờ được cấp phát CPU để xử lý.
- Kết thúc : tiến trình hoàn tất xử lý.
5. Hệ điều hành cung cấp các thao tác chủ yếu sau đây trên một tiến trình :
-Tạo lập tiến trình (create)
-Kết thúc tiến trình (destroy)
-Tạm dừng tiến trình (suspend)
-Tái kích hoạt tiến trình (resume)
-Thay đổi độ ưu tiên tiến trình
6. Cấp phát tài nguyên cho tiến trình
- Định danh tài nguyên
- Trạng thái tài nguyên : đây là các thông tin mô tả chi tiết trạng thái tài nguyên : phần nào của tài nguyên đã cấp phát cho tiến trình, phần nào còn có thể sử dụng ?
- Hàng đợi trên một tài nguyên : danh sách các tiến trình đang chờ được cấp phát tài nguyên tương ứng.
- Bộ cấp phát : là đoạn code đảm nhiệm việc cấp phát một tài nguyên đặc thù. Một số tài nguyên đòi hỏi các giải thuật đặc biệt (như CPU, bộ nhớ chính, hệ thống tập tin), trong khi những tài nguyên khác (như các thiết bị nhập/xuất) có thể cần các giải thuật cấp phát và giải phóng tổng quát hơn.
HUYNHMINHHAI(I12A)- Tổng số bài gửi : 18
Join date : 22/02/2012
So sánh các hệ Batch System
Hệ xử lý lô (Batch System)
Mỗi thời điểm chỉ có một tác vụ trong bộ nhớ
Hệ đa chương (Multiprogramming System)
Nhiều tác vụ (tiến trình) cùng một lúc trong bộ nhớ
Khi một tác vụ không cần đến CPU (do phải thực hiện I/O với thiết bị ngoài), tác vụ khác được thi hành.
Hệ chia thời gian (Time-Sharing System)
Là hệ đa chương
Mỗi tác vụ chỉ được dùng CPU trong một khoảng thời gian ngắn (ví dụ với thời lượng là 20ms), sau đó bị ngắt, chuyển sang tác vụ khác, cứ thế xoay vòng.
Mỗi người dùng đều có cảm giác là máy tính chỉ phục vụ cho mình là duy nhất.
Ví dụ: Trong nhà hàng, người bồi bàn (CPU) phục vụ mỗi bàn ăn (chương trình người dùng) trong một khoảng thời gian ngắn (chẳng hạn trong 10 giây), sau đó chuyển sang bàn khác.
Mỗi thời điểm chỉ có một tác vụ trong bộ nhớ
Hệ đa chương (Multiprogramming System)
Nhiều tác vụ (tiến trình) cùng một lúc trong bộ nhớ
Khi một tác vụ không cần đến CPU (do phải thực hiện I/O với thiết bị ngoài), tác vụ khác được thi hành.
Hệ chia thời gian (Time-Sharing System)
Là hệ đa chương
Mỗi tác vụ chỉ được dùng CPU trong một khoảng thời gian ngắn (ví dụ với thời lượng là 20ms), sau đó bị ngắt, chuyển sang tác vụ khác, cứ thế xoay vòng.
Mỗi người dùng đều có cảm giác là máy tính chỉ phục vụ cho mình là duy nhất.
Ví dụ: Trong nhà hàng, người bồi bàn (CPU) phục vụ mỗi bàn ăn (chương trình người dùng) trong một khoảng thời gian ngắn (chẳng hạn trong 10 giây), sau đó chuyển sang bàn khác.
quicly_I111c- Tổng số bài gửi : 20
Join date : 30/08/2011
Trình bày nguyên tắc xử lý ngắt của hệ điều hành
Trước khi vào vấn đề ngắt chúng ta cần khá niệm thế nào là ngắt:
-Ngắt là phương tiện để các thiết bị thông báo cho CPU biết việc thay đổi trang thái của mình.
-Ngắt là công cụ để chuyển điều khiển tới một tiến trình khác mà tiến trình hiện tại không hay biết.
Có 2 Loại ngắt chính :
Ngắt cứng: các ngắt gây ra bởi CPU và phương tiện kỹ thuật
Ngắt mềm:là những lời gọi ngắt thường được đặt ngay trong chương trình người sử dụng
Quy trình xử lý ngắt:
Trong quá trình xử lý thì nó phải ghi nhận thời điểm xảy ra ngắt(trong quá trình phát ra tín hiệu ngắt).Xử lý ngắt gồm có xử lý ngắt ngay lập tức hoặc chờ câu lệnh hiện thời kết thúc . Vậy thế nào là ngắt ngay lặp tức là nó cho phép hệ thống xử lý giải quyết được các yêu cầu cấp bách nhưng nó sẽ làm mất câu lệnh hiện thời, Còn ngắt chờ câu lệnh hiện thời là chờ câu lệnh hiện tại kết thúc rồi mới xử lý ngắt. Như thế hệ thống cần định kỳ kiểm tra xem có tín hiệu ngắt xuất hiện hay không?
Quy trình xử lý ngắt:
+Ghi nhận đặc trưng của sự kiện gây ra ngắt vào ô nhớ quy định.
+Ghi nhận trang thái của tiến trình bị ngắt.
+trong quá trình làm việc xử lý ngắt được ghi vào địa chỉ lệnh của CPU
+Thực hiện chương trình xử lý sự kiện
+Khôi phục lại tiến trình bị ngắt.
Hệ điều hành xử lý sự kiện bằng các chương trình xử lý ngắt, mỗi loại sự kiện có một chương trình xử lý riêng .Việc đầu tiên của chương trình xử lý ngắt là lưu lại các thông tin cụ thể về trạng thái của tiến trình bị ngắt
-Ngắt là phương tiện để các thiết bị thông báo cho CPU biết việc thay đổi trang thái của mình.
-Ngắt là công cụ để chuyển điều khiển tới một tiến trình khác mà tiến trình hiện tại không hay biết.
Có 2 Loại ngắt chính :
Ngắt cứng: các ngắt gây ra bởi CPU và phương tiện kỹ thuật
Ngắt mềm:là những lời gọi ngắt thường được đặt ngay trong chương trình người sử dụng
Quy trình xử lý ngắt:
Trong quá trình xử lý thì nó phải ghi nhận thời điểm xảy ra ngắt(trong quá trình phát ra tín hiệu ngắt).Xử lý ngắt gồm có xử lý ngắt ngay lập tức hoặc chờ câu lệnh hiện thời kết thúc . Vậy thế nào là ngắt ngay lặp tức là nó cho phép hệ thống xử lý giải quyết được các yêu cầu cấp bách nhưng nó sẽ làm mất câu lệnh hiện thời, Còn ngắt chờ câu lệnh hiện thời là chờ câu lệnh hiện tại kết thúc rồi mới xử lý ngắt. Như thế hệ thống cần định kỳ kiểm tra xem có tín hiệu ngắt xuất hiện hay không?
Quy trình xử lý ngắt:
+Ghi nhận đặc trưng của sự kiện gây ra ngắt vào ô nhớ quy định.
+Ghi nhận trang thái của tiến trình bị ngắt.
+trong quá trình làm việc xử lý ngắt được ghi vào địa chỉ lệnh của CPU
+Thực hiện chương trình xử lý sự kiện
+Khôi phục lại tiến trình bị ngắt.
Hệ điều hành xử lý sự kiện bằng các chương trình xử lý ngắt, mỗi loại sự kiện có một chương trình xử lý riêng .Việc đầu tiên của chương trình xử lý ngắt là lưu lại các thông tin cụ thể về trạng thái của tiến trình bị ngắt
NguyenthechinhI12A- Tổng số bài gửi : 24
Join date : 16/02/2012
Age : 35
Đến từ : BẮC NINH - HCM
Bảo vệ Nhập/Xuất bằng System Call???
System call: phương thức duy nhất mà process dùng để yêu cầu các dịch vụ cung cấp bởi OS
- o Các System Call gây ra ngắt mềm (gọi là trap).
o Quyền điều khiển được chuyển đến trình phục vụ ngắt, mode bit được thiết lập là monitor mode.
o OS kiểm tra tính hợp lệ và đúng đắn của các đối số, thực hiện yêu cầu và trả quyền điều khiển về lệnh kế tiếp sau System Call.
TranThiMyKhanh(I12A)- Tổng số bài gửi : 24
Join date : 02/03/2012
Age : 34
Quá trình khởi động máy - sự cố và cách khắc phục
Chúng ta sẽ lần lượt quan sát từng bước xem giai đoạn khởi động máy này được thực thi theo một tiến trình như thế nào để khi một máy tính có thể bị trục trặc ngay trong quá trình khởi động đó thì chúng ta có thể nhận biết được sơ bộ nguyên nhân nào gây ra :
+ Đầu tiên ta bắt đầu bật công tắc Power On để khởi động máy tính
+ Bộ nguồn máy tính bắt đầu được cấp nguồn và thao tác đầu tiên của nó là bắt đầu thực thi bứoc đầu tiên trong giai đoạn POST (Power on selftest), nó sẽ đi kiểm tra các giá trị điện thế logic ở ngõ ra đã thực sự ổn định chưa +5v ,-5v,+12v,-12v ,đúng chưa .Giai đoạn mà nó tự đi POST, nguồn này sẽ diễn ra rất nhanh, khoảng từ 0.5-2 giây. Nếu trong quá trình kiểm tra có sự cố thì nó sẽ không cấp nguồn cho mainboard nữa và có thể treo máy luôn hoặc dùng tín hiệu âm thanh (Error Sound Code) để báo cho ta biết. NẾu như quá trình kiểm tra tốt không có chuyện gì thì lúc này nó sẽ gửi tín hiệu báo nguồn tốt PG (Power good signal),tín hiệu này sẽ kích vào một mạch định thời gian Timer Microcontroller trên main ,cấp nguồn cho CPU và bắt đầu ở vào trạng thái sẳn sàng làm việc.
+ Sau khi được cấp nguồn, công việc đầu tiên CPU đi thực thi là nó sẽ tiến hành đi đọc ROM Bios. Như vậy lúc này có thể nói Rom Bios đóng vai trò là người dẫn đường đầu tiên cho CPU trong quá trình khởi động.
* Thực chất trong Rom Bios sẽ mang một đoạn chương trình và yêu cầu CPU phải tiến hành thực thi đoạn chương trình này ở mỗi lần khởi động máy. Lúc này CPU sẽ lần lượt thực hiện các lệnh trong Rom Bios theo từng bước sau:
- Tiến hành kiểm tra các thiết bị cơ bản nhất trên hệ thống để xem tình trạng làm việc của các thiết bị này đã sẳn sàng chưa. Các thiết bị cơ bản này sẽ bao gồm :Ram, HDD, VGA, các bộ chipset và mainboard...Trong quá trình kiểm tra từng thiết bị ,nếu tốt nó sẽ kiểm tra thiết bị kế típ ,nhưng nếu gặp sự cố trong giai đọan này thì hoặc là máy sẽ treo luôn ,không có hình ảnh âm thanh gì, hoặc là máy sẽ dùng tín hiệu báo lỗi âm thanh để thông báo cho ta biết. Lúc ày chưa thể hiện hình được vì CPU chưa đọc Rom màn hình (Rom video ).
- Khi kiểm tra Ram trong giai đoạn này thì thông thường ta sẽ gặp một số lỗi và tình mày như sau: Nếu ta gắm Ram sai Bank thì máy sẽ không lên hình ảnh và không báo lỗi gì cả ,nhưng nếu ta gắm Ram lõng chân hay Ram hư thì máy sẽ dùng tín hiệu âm thanh báo lỗi cho ta biết và thông thường mã âm thanh báo lỗi của Ram là nó sẽ bip từng tiếng ngắn và liên tục nhau.
- Khi kiểm tra đĩa cứng thì thông thường ta cũng sẽ gặp một số lỗi sau: Nếu ta gắn 1 đĩa cứng bị hư, gắn lõng dây hoặc set Jumper đĩa cứng sai thì chẳng ảnh hưởng gì cả, máy vẫn làm việc bình thừong chỉ có ta không thể detect được đĩa cứng đó trong Cmos mà thôi và tất nhiên cũng chẳng thể vào Win được .
- Khi kiểm tra VGA: Nếu ta gắn VGA tốt, bình thường thì không có chuyện gì xảy ra cả, nhưng nếu ta gắn VGA bị hư hay chưa gắn thì lúc này máy sẽ phát tín hiệu báo lỗi và tín hiệu này sẽ là một tiếng bip kéo dài và 3 tiếng bip ngắn. Nhờ code báo lỗi của VGA ta có thể lợi dụng nó để xem mainboard hay CPU có hư hay không .Giả sử ta bật máy lên chẳng có âm thanh hình ảnh gì và ta nghi ngờ là có thể hư main hay CPU .
Để xác định xem là có hư main hay không ta có thể thử bằng cách :cấp nguồn cho main bình thường, gắm Ram, loa và nhổ VGA ra .
->Bật nguồn lên ,nếu máy báo lỗi VGA ra loa thì có nghĩa là main và CPU vẫn có thể làm việc bình thừong ,còn nếu như máy không báo lỗi thì ta có thể xác định cò thể là do main.
- Và cuối cùng nó sẽ đi kiểm tra các thành phần còn lại trên main và các bộ chipset hệ thống .Nếu quá trình kiểm tra này hoàn tất mà không có lỗi gì cả lúc này ta sẽ nghe đựoc một tiếng bip ngắn ,tiếng bip này xác nhận cho ta biết là giai đoạn POST đã thành công.
+ CPU tiếp tục đi đọc Rom màn hình và bắt đầu thông tin lên màn hình các thông tin đầu tiên mà nó sẽ thông báo cho ta biết là hãng sản xuất của card màn hình ,model của card và dung lượng Ram màn hình của nó. Giai đoạn báo thông tin này đối với các máy đời cũ diễn ra khá chậm, nhưng đối với các máy ngày nay nó diễn ra rất nhanh đế nỗi có nhiều khi ta xem không kịp.
+ Tiếp theo ,nó sẽ đi dò tìm trên hệ thống để xem ta có đang sử dụng một adapter card nào có gán Rom hay không ,nếu không thì thôi nhưng nếu có thì nó sẽ đi đọc luôn thông tin trong Rom của các Adapter card đó.
+ Đọc và báo thông tin về CPU ,main và Rom Bios. Về CPU nó sẽ báo hãng sản xuất CPU ,loại CPU và tần số làm việc của nó; về main nó sẽ báo loại main, đời main và bộ chipset của main; về Rom Bios có thể nó sẽ báo hãng sản xuất, ngày sản xuất và version của nó.
+Test Ram :Thông thường khi test Ram nó sẽ test Ram 3 lần và trong mỗi lần đó nó sẽ test đi test lại bộ nhớ qui ước 2 lần.
+ Đến 1 địa chỉ trên Ram để đọc 1 byte ở giá trị này xem hệ thống đang boot nóng (warm boot :boot bằng Ctrl-Alt-Del)hay boot lạnh (cold boot: Reset hay tắt máy ). Địa chỉ này là 0000:0472,nếu byte này có giá trị là 1234h thì hệ thống đang boot nóng ,còn nếu là 1 giá trị khác thì hệ thống đang boot lạnh .
Nếu hệ thống đang boot lạnh thì khởi động lại nó phải thực thi từng bước giống như lúc đầu .Nhưng nếu hệ thống đang boot nóng thì khi boot lại nó sẽ bỏ qua các bước đã thực thi rồi ví dụ như đọc CPU ,test Ram …để nhằm làm cho quá trình khởi động nhanh hơn.
+ CPU đi đọc CMOS : Đọc các thông tin đang được khai báo trong Cmos rồi so sánh với thực tế trên hệ thống ,nếu đúng thì làm tiếp nhưng nếu thông tin đang khai báo trong Cmos bị sai thì có thể máy sẽ báo lỗi hoặc treo máy.
-> Như vậy thì CPU sẽ đi đọc Cmos ngay sau khi test Ram ,nên thông thường nếu ta đang khởi động mà máy test Ram xong lại treo máy thì hầu hết 90 % nguyên nhân là do các thông số trong Bios gây ra .Kiểm tra lại Cmos
+ Đến mục thứ hai Bios Features Setup trong Cmos đọc mục Boot Sequence để xem ta đang cho khởi động từ ổ đĩa nào :A:C hay C:A .Nếu biết được ổ đĩa đang được cho khởi động thì đi đọc ngay sector vật lý đầu tiên của ổ đĩa đó .Nếu ta đang cho boot A:C thì CPU sẽ đi đọc sector vật lý đầu tiên của đĩa A ;và đó chính là DBR của A ;nhưng nếu ta cho boot C:A thì nó sẽ đi đọc sector vật lý đầu tiên trên đĩa cứng và sector này chính là bảng Master partition table .Bây giờ giả sử ta đang cho boot A: C:,CPU sẽ đi đọc bảng partition chủ trên đĩa cứng.
+ Đọc bảng Partition của đĩa cứng -Đầu tiên nó sẽ đụng 446 bytes của đoạn chương trình ngắn và sẽ thực thi 3 lệnh trong đoạn chương trình ngắn này.
+ kiểm tra 64 bytes của bảng thông số vật lý của partition bên dưới rồi so sánh với thực tế trên đĩa xem có đúng không .Nếu đúng thì làm tiếp nhưng nếu sai thì hoặc là treo máy ,hoặc là sẽ báo một trong các câu thông báo lỗi sau :Invalid partition table ,Error loading operating system ,Missing operating system..
+ Kiểm tra xem ta đang chia làm bao nhiêu partition và partition nào đang được set active .Còn nếu trong quá trình kiểm tra nó không thấy partition nào được set active thì có thể ta sẽ nhận được thông báo :Press any key to reboot ,No Rom Basic ,system halt …
+ Nếu đã xác định được partition nào đang được set active rồi thì đi đọc sector logic đầu tiên của partition hay ổ đĩa logic đó hay nói cách khác lúc này CPU sẽ đi đọc DBR của ổ đĩa này bởi vì theo qui định của Dos ,sector logic đầu tiên của một ổ đĩa lúc nào cũng phải là DBR.
+ Khi đọc DBR ,vì bảng thông số nội bộ của DBR lại nằm tr6en nên đầu tiên nó sẽ đọc 3 bytes nhảy trứoc EB 3C 90 hay EB 58 90 để nhảy qua bảng thông số nội bộ , đến và bắt đầu thực thi 2 lệnh của đạng chương trình mồi DBR.
+ Kiểm tra 59 bytes hay 87 bytes của bảng thông số nội bộ DBR bên trên rồi so sánh với thực tế nội bộ trên ổ đĩa đó xem có đúng không .Nếu đúng thì làm tiếp nhưng nếu sai thì hệ thống sẽ treo máy và không cho phép ta khởi động được nữa ,có thể lúc này ta gặp một con trỏ nhấp nháy trên màn hình.
+ Đến các cluster đầu tiên trên đĩa ,thông thường đối với Diskedit là cluster 2 để tải Io.sys lên Ram .Nếu không tìm thấy Io.sys ở vị trí này ta sẽ nhận được một câu thông báo :Non system Disk or Disk error .Replace and press any key ….Nhưng nếu tải được Io.sys lên Ram rồi thì ta có thể xem như quá trình khởi động đã thành công vì lúc này Ron Bios trả quyền điều khiển lại cho hệ điều hành.
+ Có một số lưu ý về Io.sys :Io.sys chính là 1 phần của hệ điều hành và nó phải có vị trí xác định ,nó phải nằm ngay các cluster đầu tiên và không bao giờ thay đổi tr6en đĩa .Nếu mất Io.sys đi ,vì đặc điểm này nên ta không thể dùng lệnh copy bình thường để copy lại nó mà ta phải dùng Sys để tạo hay Disktool –make a disk bootable .Như vậy Sys hay Disktool cũng là một tập tin dùng để copy nhưng nó copy Io.sys vào đúng ngay vị trí của nó ,ngoài ra nó còn tạo cho ta cả đoạn chương trình mồi của DBR
*Phần Kết
Bên trên là các bước cụ thể trong quá trình khởi động máy, hy vọng rằng bài này sẽ giúp các bạn xác định nguyên nhân hư hỏng một cách logic hơn ,nhanh hơn và hiệu quả hơn.
ngophicamI12A- Tổng số bài gửi : 24
Join date : 23/02/2012
Age : 34
Đến từ : BRVT
LỜI GỌI HỆ THỐNG
TRẢ LỜI:
Lời gọi hệ thống cung cấp một giao tiếp giữa tiến trình và hệ điều hành. Lời gọi này cũng như các lệnh hợp ngữ.
Một số hệ thống cho phép lời gọi hệ thống được thực hiện từ cấp lập trình ngôn ngữ cấp cao, như các hàm và lời gọi hàm. Nó có thể phát sinh lời gọi từ các thủ tục hay gọi trực tiếp trong dòng.
Để hiểu quá trình hoạt động của lời gọi hệ thống chúng ta cùng khảo sát một chương trình nhỏ dùng để đọc dữ liệu từ một tập tin chép qua tập tin khác. Dữ liệu nhập đầu tiên của của chương trình là tên của hai tập tin : tập tin nhập và tập tin xuất. Tên này được mô tả bằng nhiều cách tùy thuộc vào thiết kế hệ điều hành như : chương trình yêu cầu người sử dụng cho biết tên của hai tập tin, họ cũng có thể cung cấp bằng cách lựa chọn với chuột. Khi có tên của hai tập tin, chương trình mở tập tin nhập và tạo tập tin xuất. Mỗi thao tác này được thực hiện bởi những lời gọi hệ thống khác. Cũng có những trường hợp phát sinh lỗi : Khi chương trình mở tập tin nhập, có thể xảy ra trường hợp không có tập tin có tên như mô tả hoặc tập tin bị cấm truy cập. Trong trường hợp này chương trình phải xuất thông điệp lên màn hình. Nếu tập tin nhập tồn tại, phải tạo tập tin mới. Hệ thống phải kiểm tra tiếp xem đã có tập tin xuất tồn tại không và sẽ có những lời gọi hệ thống tương ứng để giải quyết hoặc là hủy tiến trình, hai là xóa tập tin đã tồn tại và tạo tập tin mới. Sau khi đã thiết lập xong tập tin, hệ thống tiếp tục tạo vòng lặp đọc dữ liệu từ tập tin nhận và ghi lên tập tin xuất. Mỗi bước đều có kiểm tra lỗi. Sau khi chép xong, chương trình sẽ đóng hai tập tin lại (dùng một lời gọi hệ thống khác), xuất thông báo lên màn hình (dùng lời gọi hệ thống) cuối cùng chấm dứt chương trình (lời gọi hệ thống cuối cùng).
Trong các ngôn ngữ lập trình cấp cao, người sử dụng không cần quan tâm đến chi tiết mà chỉ cần thông qua các hàm hay các lệnh để thực hiện.Lời gọi hệ thống có thể diễn ra theo một cách khác. Kiểu và khối lượng thông tin tùy thuộc vào hệ thống và lúc gọi.
Có ba phương pháp được sử dụng để chuyển tham số cho hệ điều hành: Cách đơn giản nhất là chuyển tham số vào thanh ghi. Nếu có nhiều tham số, nó sẽ được lưu trữ trong khối hoặc bảng trong bộ nhớ. Cách cuối cùng là dùng cơ chế stack.
Lời gọi hệ thống có thể được chia thành các loại : kiểm soát tiến trình, thao tác tập tin, thao tác thiết bị, thông tin.
Lời gọi hệ thống cung cấp một giao tiếp giữa tiến trình và hệ điều hành. Lời gọi này cũng như các lệnh hợp ngữ.
Một số hệ thống cho phép lời gọi hệ thống được thực hiện từ cấp lập trình ngôn ngữ cấp cao, như các hàm và lời gọi hàm. Nó có thể phát sinh lời gọi từ các thủ tục hay gọi trực tiếp trong dòng.
Để hiểu quá trình hoạt động của lời gọi hệ thống chúng ta cùng khảo sát một chương trình nhỏ dùng để đọc dữ liệu từ một tập tin chép qua tập tin khác. Dữ liệu nhập đầu tiên của của chương trình là tên của hai tập tin : tập tin nhập và tập tin xuất. Tên này được mô tả bằng nhiều cách tùy thuộc vào thiết kế hệ điều hành như : chương trình yêu cầu người sử dụng cho biết tên của hai tập tin, họ cũng có thể cung cấp bằng cách lựa chọn với chuột. Khi có tên của hai tập tin, chương trình mở tập tin nhập và tạo tập tin xuất. Mỗi thao tác này được thực hiện bởi những lời gọi hệ thống khác. Cũng có những trường hợp phát sinh lỗi : Khi chương trình mở tập tin nhập, có thể xảy ra trường hợp không có tập tin có tên như mô tả hoặc tập tin bị cấm truy cập. Trong trường hợp này chương trình phải xuất thông điệp lên màn hình. Nếu tập tin nhập tồn tại, phải tạo tập tin mới. Hệ thống phải kiểm tra tiếp xem đã có tập tin xuất tồn tại không và sẽ có những lời gọi hệ thống tương ứng để giải quyết hoặc là hủy tiến trình, hai là xóa tập tin đã tồn tại và tạo tập tin mới. Sau khi đã thiết lập xong tập tin, hệ thống tiếp tục tạo vòng lặp đọc dữ liệu từ tập tin nhận và ghi lên tập tin xuất. Mỗi bước đều có kiểm tra lỗi. Sau khi chép xong, chương trình sẽ đóng hai tập tin lại (dùng một lời gọi hệ thống khác), xuất thông báo lên màn hình (dùng lời gọi hệ thống) cuối cùng chấm dứt chương trình (lời gọi hệ thống cuối cùng).
Trong các ngôn ngữ lập trình cấp cao, người sử dụng không cần quan tâm đến chi tiết mà chỉ cần thông qua các hàm hay các lệnh để thực hiện.Lời gọi hệ thống có thể diễn ra theo một cách khác. Kiểu và khối lượng thông tin tùy thuộc vào hệ thống và lúc gọi.
Có ba phương pháp được sử dụng để chuyển tham số cho hệ điều hành: Cách đơn giản nhất là chuyển tham số vào thanh ghi. Nếu có nhiều tham số, nó sẽ được lưu trữ trong khối hoặc bảng trong bộ nhớ. Cách cuối cùng là dùng cơ chế stack.
Lời gọi hệ thống có thể được chia thành các loại : kiểm soát tiến trình, thao tác tập tin, thao tác thiết bị, thông tin.
TranMinhTuan143(I12A)- Tổng số bài gửi : 38
Join date : 22/02/2012
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:
* Tín hiệu ngắt (Interrupt Signal) 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ế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 )
VD
* Ngắt cứng: khi chương trình đang chạy thỉ bị ngắt do có câu lệnh buộc phải ngắt chương trình.
* Ngắt mềm: khi chương trình đang chạy nhưng người dùng muốn sử dụng thao tác khác nên máy tính phải dừng việc đang làm và thực thi hiệu lệnh của người dùng.
* Tín hiệu ngắt (Interrupt Signal) 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ế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 )
VD
* Ngắt cứng: khi chương trình đang chạy thỉ bị ngắt do có câu lệnh buộc phải ngắt chương trình.
* Ngắt mềm: khi chương trình đang chạy nhưng người dùng muốn sử dụng thao tác khác nên máy tính phải dừng việc đang làm và thực thi hiệu lệnh của người dùng.
Truc_Phuong(I111C)- Tổng số bài gửi : 44
Join date : 26/08/2011
Đến từ : Trà Vinh
Bộ nhớ cache và cơ chế caching!
Cache thì có nhiều loại cache ví như:
Cache của CPU:
Là bộ nhớ nằm bên cạnh CPU, bộ nhớ này có tốc độ truy cập rất nhanh. Do làm bằng chất liệu cao cấp nên CPU nào có cùng tốc độ mà cache lớn hơn thì giá thành cao hơn.
Nhiệm vụ của cache này là lưu các lệnh mà HDH đưa xuống chờ CPU xử lý.
Bộ nhớ Ram chứa chương trình, Cache chứa các lệnh
Caching của Internet Browser:
Là cơ chế lưu lại các file (thuong la file ảnh, flash...) mà nguoi dung đã truy cập, khi truy cập trở lại nếu có cùng tên file, cùng dung lượng (số byte), nó sẽ lấy từ trong cache mà không cần phải load lại một lần nữa, như vậy ta sẽ có cảm giác Browser load file ngay tức thì.
Caching của Oracle:
Là cơ chế lưu lại kết quả của các câu lệnh SQL được query thường xuyên, nên khi có một tác vụ yêu cầu xử lý các câu lệnh SQL "quen thuộc" (nằm trong cache) nó sẽ trả về kết quả mà không cần xử lý, như vậy vừa đáp ứng gần như ngay lập tức, mà còn tăng thời gian rỗi của CPU, giúp hệ thống chạy nhanh hơn. Đây là ưu thế tuyệt vời Oracle so với MS SQL Server.
Nên nhớ Microsoft sản xuất ra MS SQL server, nhưng phải mua Oracle để chạy Hotmail, và các ứng dụng Database khổng lồ Live Search...
-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
Cơ chế caching
Caching
– nạp trước dữ liệu vào thiết bị lưu trữ tốc độ cao hơn
Tại sao phải dùng cache?
– Chênh lệch lớn giữa tốc độ CPU và tốc độ bộ nhớ RAM, đĩa,…
– Khai thác nguyên lý cục bộ (locality)
Kích thước cache nhỏ ® phải quản lý cache: thay nội dung cache
Trong cơ chế caching, một dữ liệu có thể được lưu trữ nhiều nơi ® phải bảo đảm tính nhất quán dữ liệu: cache coherency problem
Cache của CPU:
Là bộ nhớ nằm bên cạnh CPU, bộ nhớ này có tốc độ truy cập rất nhanh. Do làm bằng chất liệu cao cấp nên CPU nào có cùng tốc độ mà cache lớn hơn thì giá thành cao hơn.
Nhiệm vụ của cache này là lưu các lệnh mà HDH đưa xuống chờ CPU xử lý.
Bộ nhớ Ram chứa chương trình, Cache chứa các lệnh
Caching của Internet Browser:
Là cơ chế lưu lại các file (thuong la file ảnh, flash...) mà nguoi dung đã truy cập, khi truy cập trở lại nếu có cùng tên file, cùng dung lượng (số byte), nó sẽ lấy từ trong cache mà không cần phải load lại một lần nữa, như vậy ta sẽ có cảm giác Browser load file ngay tức thì.
Caching của Oracle:
Là cơ chế lưu lại kết quả của các câu lệnh SQL được query thường xuyên, nên khi có một tác vụ yêu cầu xử lý các câu lệnh SQL "quen thuộc" (nằm trong cache) nó sẽ trả về kết quả mà không cần xử lý, như vậy vừa đáp ứng gần như ngay lập tức, mà còn tăng thời gian rỗi của CPU, giúp hệ thống chạy nhanh hơn. Đây là ưu thế tuyệt vời Oracle so với MS SQL Server.
Nên nhớ Microsoft sản xuất ra MS SQL server, nhưng phải mua Oracle để chạy Hotmail, và các ứng dụng Database khổng lồ Live Search...
-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
Cơ chế caching
Caching
– nạp trước dữ liệu vào thiết bị lưu trữ tốc độ cao hơn
Tại sao phải dùng cache?
– Chênh lệch lớn giữa tốc độ CPU và tốc độ bộ nhớ RAM, đĩa,…
– Khai thác nguyên lý cục bộ (locality)
Kích thước cache nhỏ ® phải quản lý cache: thay nội dung cache
Trong cơ chế caching, một dữ liệu có thể được lưu trữ nhiều nơi ® phải bảo đảm tính nhất quán dữ liệu: cache coherency problem
quynhnhi.nguyen_I12A- Tổng số bài gửi : 17
Join date : 07/03/2012
Bộ nhớ cache và cơ chế caching!
Cache thì có nhiều loại cache ví như:
Cache của CPU:
Là bộ nhớ nằm bên cạnh CPU, bộ nhớ này có tốc độ truy cập rất nhanh. Do làm bằng chất liệu cao cấp nên CPU nào có cùng tốc độ mà cache lớn hơn thì giá thành cao hơn.
Nhiệm vụ của cache này là lưu các lệnh mà HDH đưa xuống chờ CPU xử lý.
Bộ nhớ Ram chứa chương trình, Cache chứa các lệnh
Caching của Internet Browser:
Là cơ chế lưu lại các file (thuong la file ảnh, flash...) mà nguoi dung đã truy cập, khi truy cập trở lại nếu có cùng tên file, cùng dung lượng (số byte), nó sẽ lấy từ trong cache mà không cần phải load lại một lần nữa, như vậy ta sẽ có cảm giác Browser load file ngay tức thì.
Caching của Oracle:
Là cơ chế lưu lại kết quả của các câu lệnh SQL được query thường xuyên, nên khi có một tác vụ yêu cầu xử lý các câu lệnh SQL "quen thuộc" (nằm trong cache) nó sẽ trả về kết quả mà không cần xử lý, như vậy vừa đáp ứng gần như ngay lập tức, mà còn tăng thời gian rỗi của CPU, giúp hệ thống chạy nhanh hơn. Đây là ưu thế tuyệt vời Oracle so với MS SQL Server.
Nên nhớ Microsoft sản xuất ra MS SQL server, nhưng phải mua Oracle để chạy Hotmail, và các ứng dụng Database khổng lồ Live Search...
-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
Cơ chế caching
Caching
– nạp trước dữ liệu vào thiết bị lưu trữ tốc độ cao hơn
Tại sao phải dùng cache?
– Chênh lệch lớn giữa tốc độ CPU và tốc độ bộ nhớ RAM, đĩa,…
– Khai thác nguyên lý cục bộ (locality)
Kích thước cache nhỏ ® phải quản lý cache: thay nội dung cache
Trong cơ chế caching, một dữ liệu có thể được lưu trữ nhiều nơi ® phải bảo đảm tính nhất quán dữ liệu: cache coherency problem
Cache của CPU:
Là bộ nhớ nằm bên cạnh CPU, bộ nhớ này có tốc độ truy cập rất nhanh. Do làm bằng chất liệu cao cấp nên CPU nào có cùng tốc độ mà cache lớn hơn thì giá thành cao hơn.
Nhiệm vụ của cache này là lưu các lệnh mà HDH đưa xuống chờ CPU xử lý.
Bộ nhớ Ram chứa chương trình, Cache chứa các lệnh
Caching của Internet Browser:
Là cơ chế lưu lại các file (thuong la file ảnh, flash...) mà nguoi dung đã truy cập, khi truy cập trở lại nếu có cùng tên file, cùng dung lượng (số byte), nó sẽ lấy từ trong cache mà không cần phải load lại một lần nữa, như vậy ta sẽ có cảm giác Browser load file ngay tức thì.
Caching của Oracle:
Là cơ chế lưu lại kết quả của các câu lệnh SQL được query thường xuyên, nên khi có một tác vụ yêu cầu xử lý các câu lệnh SQL "quen thuộc" (nằm trong cache) nó sẽ trả về kết quả mà không cần xử lý, như vậy vừa đáp ứng gần như ngay lập tức, mà còn tăng thời gian rỗi của CPU, giúp hệ thống chạy nhanh hơn. Đây là ưu thế tuyệt vời Oracle so với MS SQL Server.
Nên nhớ Microsoft sản xuất ra MS SQL server, nhưng phải mua Oracle để chạy Hotmail, và các ứng dụng Database khổng lồ Live Search...
-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
Cơ chế caching
Caching
– nạp trước dữ liệu vào thiết bị lưu trữ tốc độ cao hơn
Tại sao phải dùng cache?
– Chênh lệch lớn giữa tốc độ CPU và tốc độ bộ nhớ RAM, đĩa,…
– Khai thác nguyên lý cục bộ (locality)
Kích thước cache nhỏ ® phải quản lý cache: thay nội dung cache
Trong cơ chế caching, một dữ liệu có thể được lưu trữ nhiều nơi ® phải bảo đảm tính nhất quán dữ liệu: cache coherency problem
quynhnhi.nguyen_I12A- Tổng số bài gửi : 17
Join date : 07/03/2012
Bảo vệ nhập xuất bằng lời gọi hệ thống (System call)?
System call: phương thức duy nhất mà process dùng để yêu cầu các dịch vụ cung cấp bởi OS
- Các system call gây ra ngắt mềm (gọi là trap).
- Quyền điều khiển được chuyển đến trình phục vụ ngắt, mode bit được thiết lập là monitor mode.
- OS kiểm tra tính hợp lệ và đúng đắn của các đối số, thực hiện yêu cầu và trả quyền điều khiển về lệnh kế tiếp sau system call.
- Các system call gây ra ngắt mềm (gọi là trap).
- Quyền điều khiển được chuyển đến trình phục vụ ngắt, mode bit được thiết lập là monitor mode.
- OS kiểm tra tính hợp lệ và đúng đắn của các đối số, thực hiện yêu cầu và trả quyền điều khiển về lệnh kế tiếp sau system call.
TranTrungTinh(I12A)- Tổng số bài gửi : 19
Join date : 10/03/2012
Trang 7 trong tổng số 9 trang • 1, 2, 3, 4, 5, 6, 7, 8, 9
Trang 7 trong tổng số 9 trang
Permissions in this forum:
Bạn không có quyền trả lời bài viết