Truyen2U.Net quay lại rồi đây! Các bạn truy cập Truyen2U.Com. Mong các bạn tiếp tục ủng hộ truy cập tên miền mới này nhé! Mãi yêu... ♥

hdh lat

Câu 1: Trình bày mối quan hệ của hệ điều hành với các thành phần trong hệ thống máy tính, từ đó đưa ra khái niệm về Hệ điều hành?

Trả lời

- Đối với EndUser: HĐH là môi trường giao tiếp người dùng và máy, tự động hóa giải quyết các bài toán.

- Đối với chương trình ứng dụng: HĐH tạo moi trường cho cả chương trình hoạt động, cung cấp các cơ chế cho phép kích hoạt và loại bỏ các chương trình ứng dụng.

- Đối với phần cứng: HĐH phải quản lý hệu quả, khai thác hết khả năng của các thiết bị, cung cấp cho các chương trình và các user sử dụng tài nguyên khi có yêu cầu, thu hồi khi cần thiết.

 HĐH là một tập hợp các chương trình hệ thống và các chức năng tạo môi trường giao diện cho user, tạo môi trường hoạt động cho các chương trình ứng dụng, quản lý và khai thác hiệu qua các thiết bị phần cứng.

Câu 2: Nêu các tính chất cơ bản của Hệ điều hành?

Trả lời

- Độ tin cậy cao, ổn định: Với mọi hoạt động , thông báo của HĐH phải chuẩn xác tuyệt đối. Chỉ khi nào biết chắc chắn đúng mới cung cấp thông tin cho người sử dụng.

- Độ an toàn cao: HĐH phải đảm bảo sao cho dữ liệu và các chương trình không bị thay đổi ngoài ý muốn trong mọi trường hợp và mọi chế độ hoạt động.

- Hiệu quả sử dụng cao: Các tài nguyên của hệ thống được khai thác triệt để, duy trì hoạt động đồng bộ trong toàn bộ hệ thống, không để những thiết bị chậm trì hoãn hoạt động của hệ thống.

- Tổng quát theo thời gian: HĐH phải có tính kế thừa, khắc phục những hạn chế của hệ điều hành trước, đồng thời có thể thích nghi với những thay đổi có thể có trong tương lai.

- Tính thuận tiện, dễ sử dụng: Hệ thống phải dễ sử dụng, có nhiều mức hiệu quả khác nhau tùy theo kiến thức và kinh nghiệm của người dùng. Hệ thống trợ giúp phong phú để người sử dụng có thể tự đào tạo ngay trong quá trình khai thác.

Câu 3: Vì sao hdh phải là hệ thống mở? các nguyên lý nào trong xây dựng hdh đáp ứng được yêu cầu trên

HĐH phải có tính mở để có thể dễ dàng nâng cấp cải thiện hệ thống hay HĐH phải là hệ thống mở.

Nguyên lý xây dựng 1 hệ thống mở: dựa vào 2 nguyên tắc cơ bản:

• Nguyên tắc module: Hệ thống có tính chất Module, nó được xây dựng từ những modul độc lập và tồn tại bộ quy tắc liên kết chúng thành hẹ thống có tổ chức. Tính modul thể hiện ở 2 dạng: dạng chức năng và dạng chương trình. Các modul quan hệ với nhau thông qua dữ liệu vào/ra và các đối số. Quan hệ phân cấp giữa các modul được xác lập khi liên kết chúng thanh những modul lớn giải quyết những vấn đề phức tạp hơn. Nguyên tắc này cho phép tổ hợp module theo nhiều cách khác nhau và đảm bảo tinh đa dạng của hệ thống.

• Nguyên tắc sinh: Module khởi sinh HĐH.

Câu 4: Vì sao trong hdh phải tích hợp nhiều hình thái giao tiếp? Trong hdh windows muốn có giao tiếp dòng lệnh thì phải thao tác thế nào? Ngược lại với hdh unix linux msdos muốn có giao diện biểu tượng phải làm thế nào?

HĐH phải tích hợp nhiều hình thái giao tiếp vì:

- Do yêu cầu của người dùng cũng như trình độ của ngượi dùng (vd enduser dùng Icon, người quản trị hệ thống dùng command line...)

- Mỗi hình thái giao tiếp đều có ưu điểm và nhược điểm riêng.

Câu 5: Quản lý bộ nhớ: mục tiêu quản lý bộ nhớ là gì? Các chiến lược quản lý bộ nhớ. Lược đồ khảo sát bộ nhớ ở trong PC.

• Quản lý bộ nhớ vì:

- Bộ nhớ là tài nguyên hữu hạn khả năng phục vụ.

- Mọi chương trình muốn thực hiện phải nạp vào bộ nhớ

- Mọi hdh mong muốn có nhiều hơn các tiến trình trong bộ nhớ.

• Nhiệm vụ của quản lý bộ nhớ:

- Nhiệm vụ chính của thành phần quản lý bộ nhớ của HDH:

+ Hiệu suất cao: Tức là nạp được và nạp được nhiều chương trình của người dùng vào bộ nhớ, mà không phụ thuộc nhiều vào giới hạn của bộ nhớ vật lý.

+ Tránh xung đột: Khi chia sẻ tài nguyên bộ nhớ.

- Nhiệm vụ cụ thể:

+ Thực hiện việc tái định vị lại chương trình, tiến trình: các module trong chương trình có thể bị vào ra lại nhiều lần(Re-entrance) do đó HDH cần xác định đúng vị trí mà nó được nạp trước đó vào lại bộ nhớ.

+ Bảo vệ bộ nhớ: 1 tiến trình được bảo vệ chống lại sự truy xuất bất hợp lệ của tiến trình khác vào vùng nhớ của nó.

+ Chia sẻ bộ nhớ: cho phép nhiều tiến trình có thể truy nhập đến cùng 1 địa chỉ trên bộ nhớ(tính mềm dẻo).

+ Tổ chức bộ nhớ logic: làm cho HDH và phần cứng giao dịch 1 cách hiệu quả với các module và dữ liệu trong các module của chương trình

+ Tổ chức bộ nhớ vật lý: Tổ chức luồng thông tin giữa bộ nhớ chính và bộ nhớ phụ.

• Các chiến lược quản lý bộ nhớ

1) Kĩ thuật phân vùng

a) Chiến lược MFT (Multiprogramming with Fixed number of Tasks)

- Nội dung: Bộ nhớ được chia làm những vùng còn gọi là những chương có kích thước cố định:

- Mỗi chương được ấn định là chỉ phục vụ cho bài toán có 1 số lớp nào đó.

Chương trình được phân vào vùng nếu thỏa mãn:

+ Vùng đó rảnh rỗi

+ Kích thước vùng >= kích thước chương trình

+ Bài toán của chương trình thuộc 1 trong các lớp của chương trình phục vụ.

VD:

- Chương trình người dùng sẽ được gán 1 số hiệu đặc trưng cho 1 lớp bài toán nào đó.

- Chương trình người dùng sẽ chỉ được nạp vào trong các chương còn rảnh và có lớp bài toán phù hợp.

- Kích thước chương không nhỏ hơn kích thước chương trình người dùng yêu cầu.

Ưu, nhược điểm:

- Ưu điểm: cách quản lý bộ nhớ đơn giản.

- Nhược điểm: hiệu suất sử dụng thấp, dễ gây hiện tượng thiếu bộ nhớ giả tạo

Khắc phục:

+ Thay đổi lớp chương trình cho phù hợp với lớp của chương.

+ Ngưng (xóa) toàn bộ các chương trình đang thực hiện để phân vùng lại

b) Chiến lược MVT(Multil varian Tasking)

- Khi khởi tạo HĐH, bộ nhớ là 1 vùng liên tục.

- Ở một thời điểm nào đó, chương trình xin bộ nhớ, HĐH sẽ cấp phát cho nó 1 vùng nhớ liên tục nếu có.

- Khi chương trình kết thúc, vùng nhớ được giải phóng và có thể dùng để nạp chương trình khác.

(Không phân chương trước, dùng đến đâu tạo bộ nhớ đến đó).

- Nhận xét: sau 1 thời gian thực hiện, bộ nhớ xuất hiện hiện tượng phân mảnh.

 Dễ phát sinh hiện tượng thiếu bộ nhớ giả tạo.

 Để khắc phục: Đưa ra phương pháp dồn chỗ: tạm dừng 1 số chương trình để thu hồi vùng nhớ, thực hiện dồn chỗ, để tạo vùng nhớ liên tục, sau đó nạp lại các chương trình và thực hiện tiếp.

Ưu nhược điểm:

- Ưu điểm: linh hoạt, mềm dẻo.

- Nhược điểm: Vẫn phát sinh hiện tượng thiếu bộ nhớ giả tạo, tuy khắc phục được (bằng dồn chỗ) nhưng làm chậm thời gian tính toán.

2) Chiến lược phân đoạn

- Phần lớn chương trình có cấu trúc phân đoạn. Khi nạp vào bộ nhớ mỗi đoạn của chương trình tương ứng chiếm dữ liệu 1 đoạn nhớ.

- Để quản lý đoạn bộ nhớ người ta dùng 1 khối quản lý SCB (Segment control blocked) là một bảng mà mỗi dòng của bảng là 1 khối điều khiển đoạn, các khối được đặt ở đầu mỗi đoạn.

- SCB gồm các thông tin:

1) Số hiệu đoạn

2) Trạng thái(đã dùng /chưa dùng)

3) Địa chỉ đoạn

4) Kích thước đoạn

- Chương trình được phân thành các module, mỗi module được nạp vào 1 đoạn của bộ nhớ chỉ cần t/m đoạn đó đang rảnh và kích thước đoạn >= kích thước module, do đó không cần bộ nhớ liên tục có thể áp dụng cho mọi loại máy tính điện tử.

Ưu, nhược điểm:

Ưu điểm:

- Có thể dùng chung module giữa các chương trình

- Hiệu quả phụ thuộc vào cấu trúc chương trình nguồn(phân chia module thế nào?)

- Tận dụng được lỗ trống trong bộ nhớ mà không phải dồn chỗ phù hợp với cấu trúc đa đoạn(Overlay).

Nhược điểm:

- Tồn tại hiện tượng phân mảnh ngoài, tức là các chương trình chưa nạp vào bộ nhớ đã được phân chia rồi.

- Để thực hiện 1 lệnh ta phải thực hiện qua ánh xạ nhiều bộ nhớ. Do đó tốn thời gian.

5) Phân trang

- Chia chương trình thành m trang có kích thước bằng nhau.

- Chia bộ nhớ thành n trang có kích thước bằng nhau.

- Giả sử với đk m>>n(tức không thể nạp cùng lúc vào bộ nhớ)

- Ở 1 thời điểm bất kì nạp n trang của chương trình vào bộ nhớ.

- Khi thực hiện lệnh ở trong chương trình mà phần địa chỉ trong toán hạng của lệnh lại tham chiếu đến 1 trang chương trình khác trong chương trình nằm ngoài bộ nhớ thì xảy ra hiện tượng lỗi trang.

- Để khắc phục ht trên dừng thực hiện chương trình, nạp trang bị tham chiếu vào bộ nhớ. Như vậy trang vừa nạp sẽ thay thế 1 trang trong bộ nhớ.

- Vấn đề đặt ra: thay thế trang nào trong bộ nhớ?

- Có 3 cách thay trang

+ Thay trang ít sử dụng nhất, có tần suất truy nhập thấp nhất

+ Thay trang có lần truy cập mới nhất tới nó, nhưng lần truy cập là lâu nhất.

+ Thay trang đã nạp vào bộ nhớ lâu nhất.

Ưu, nhược điểm:

- Ưu điểm: Tiết kiệm bộ nhớ, Tạo bộ nhớ có cảm giác vô hạn.

- Nhược điểm: tốc độ hệ thống chậm do việc quản lý thay trang.(để truy nhập vào địa chỉ của 1 biến trong chương trình ta phải trải qua các bảng quản lý: bảng tên trong, bảng phân trang chương trình, bảng tra cứu nạp trang, bảng quản lý trang -> tốn thời gian) . Khắc phục dùng bộ nhớ cache.

6) Chiến lược kết hợp

- Là kết hợp giữa 2 chiến lược phân trang và phân đoạn. Bộ nhớ được chia làm nhiều đoạn logic. Đoạn bao gồm nhiều trang.

- Tích hợp ưu điểm của cả 2 chiến lược trên

- Tuy nhiên cũng tích hợp nhược điểm của 2 chiến lược trên.

- Khắc phục: sử dụng phần cứng để hỗ trợ tra bảng.

• Quản lý bộ nhớ trong PC

- Chương trình được cấp quyền truy nhập từ 0 đến 3.

- Chương trình chỉ được quyền truy nhập tới chương trình hoặc dữ liệu của

- Chương trình bằng hoặc kém ưu tiên hơn.

- PC dùng chiến lược kết hợp để quản lý bộ nhớ.

- Mỗi đoạn bộ nhớ trong PC (paragraph(16bytes)).

- Ô nhớ 413(0,413) lưu số lượng bộ nhớ chưa sử dụng.

- Để quản lý các đoạn bộ nhớ người ta dùng thành phần có tên là MMU(Memory manager Unit). Thành phần này quản lý bộ nhớ dựa trên cơ sở sử dụng các khối MCB(Memory control Block). Mỗi khối có kích thước bằng 1 phân đoạn được sử dụng để quản lý 1 đoạn bộ nhớ (16bytes).

Câu 6: Vì sao phải (quản lý) điều độ tiến trình? Các yêu cầu theo giải pháp điều độ? Đánh giá tính tự chủ của tiến trình thông qua các giải pháp điều độ.

• Phải quản lý tiến trình vì:

- Trong hệ thống tồn tại nhiều luồng tiến trình.

- Mặt khác trong hệ thống có những tài nguyên hữu hạn khả năng phục vụ nhưng lại có nhiều tiến trình muốn sử dụng các tài nguyên đó.

 Dẫn đến xung đột và bế tắc, giao thông trong máy bị đình trệ dẫn tới treo máy.

Do đó phải quản lý tiến trình.

- Nhiệm vụ của quản lý tiến trình là:

1) Tạo lập, hủy bỏ tiến trình.

2) Tạm dừng tái kích hoạt tiến trình.

3) Tạo cơ chế thông tin liên lạc giữa các tiến trình

4) Tạo cơ chế đồng bộ hóa giữa các tiến trình

- Mục tiêu:

+ Hạn chế tối đa xung đột và bế tắc có thể xảy ra, đưa ra giải pháp nếu xảy ra các tình huống đó

+ Tận dụng tối đa khả năng của CPU(bài toán lập lịch)

• Tài nguyên găng và bài toán điều độ

a) Tài nguyên găng:

- Một tài nguyên hữu hạn khả năng phục vụ nhưng trong 1 khoảng thời gian nào đó được nhiều tiến trình yêu cầu đến thì trong khoảng thời gian đó tài nguyên đó được gọi là tài nguyên găng.

- Một tiến trình không mất tổng quát có thể chia thành 2 đoạn: đoạn găng và đoạn còn lại.

- Đoạn găng là đoạn sử dụng tài nguyên găng.

b) Các yêu cầu cho giải pháp điều độ:

i) Đảm bảo tài nguyên găng không phải phục vụ quá khả năng của mình,

ii) Không để tiến trình nằm vô hạn trong đoạn găng,

iii) Nếu có xếp hàng chờ thì sớm hay muộn tiến trình cũng qua được đoạn găng,

iv) Nếu có tiến trình chờ đợi và nếu tài nguyên găng được giải phóng, thì tài nguyên găng phải phục vụ ngay cho tiến trình đang chờ đợi.

- Các kt điều độ được chia làm 2 mức:

1) Mức sơ cấp: do người dùng điều độ

2) Mức cao cấp: hệ thống tự điều động không cần người dùng quan tâm

• Các giải pháp điều độ tiến trình

1) Kĩ thuật "Khóa trong" (đèn hiệu)

- Mỗi tiến trình vào đoạn găng thì phải sử dụng ô nhớ làm dấu hiệu để báo cho các tiến trình khác không vào đoạn găng.

- Khi đến đoạn găng thì tiến trình phải quan sát dấu hiệu của các tiến trình khác.

- Nếu có dấu hiệu xác lập thì tiến trình phải chủ động chờ đợi. ngược lại nó sẽ xác lập dấu hiệu của mình, thực hiện đoạn găng, sau đó xóa dấu hiệu đã xác lập của mình, rồi tiếp tục thực hiện đoạn còn lại.

Nhận xét :

- Kĩ thuật điều độ đơn giản nhưng độ phức tạp giải thuật sẽ tăng cao khi có nhiều tiến trình cùng vào đoạn găng.

- Dễ xảy ra xung đột.(do sự đồng thời là không đồng bộ). vd khi quan sát không thấy dấu hiệu vào đoạn găng của tiến trình khác, các tiến trình đồng thời bật dấu hiệu của mình lên thì xung đột xảy ra.

Khắc phục: Người ta đề nghị là tăng thời gian chờ đợi chủ động của cả tiến trình ở đầu đoạn găng.

Trong th tiến trình quên mở khóa thì tài nguyên găng sẽ bị khóa

Kĩ thuật này không phù hợp trong trường hợp các tiến trình có tốc độ thực hiện chênh lệch nhau quá lớn.

2) Kĩ thuật "Test and Set" (TS)

- Trong HĐH xây dựng thủ tục TS với tham số là dấu hiệu vào đoạn găng của tiến trình. Thủ tục này xử lý biến tổng thể có giá trị là số tự nhiên xin vào đoạn găng tại thời điểm được gọi. nếu chấp nhận tiến trình vào đoạn găng thì TS xóa dấu hiệu xác lập của tiến trình.

- Nhận xét:

+ Độ phức tạp không tăng nhiều trong th có nhiều tiến trình cùng tham gia đoạn găng

+ Hiệu quả của điều độ chỉ phụ thuộc vào thủ tục TS

+ Không phù hợp với các tiến trình có thời gian thực hiện ngắn

3) Kĩ thuật "Semaphore"

- Trong HĐH xây dựng 2 thủ tục Ps(Probogen_giảm), Vs(Verbogen_tăng)

- Khi một tiến trình vào đoạn găng nó gọi thủ tục Ps. Thủ tục này gồm 2 bước:

+ Giảm S đi 1;

+ Xét S>=0: còn khả năng đáp ứng tài nguyên găng thì cấp tài nguyên găng cho tiến trình để nó thực hiện.

S<0 Hết khả năng phục vụ, đặt tiến trình vào trong dòng xếp hàng chờ đợi

- Khi tiến trình ra khỏi đoạn găng nó gọi thủ tục Vs. thủ tục này gồm 2 bước:

+ Tăng S lên 1;

+ Xét S<=0 trong dòng xếp hàng có tiến trình đang chờ đợi tài nguyên này. Chọn tiến trình ở dòng xếp hàng chờ cấp phát tài nguyên cho nó thực hiện.

S>0 Không có tiến trình nào chờ tài nguyên vừa trả. Hệ thống hoạt động bình thường.

Nhận xét:

- Độ phức tạp giải thuật không tăng đáng kể cả trong th có nhiều tiến trình tham gia vào đoạn găng.

- Hiệu quả điều độ phụ thuộc vào 2 thủ tục P,V;

- Các lệnh do người lập trình viết trong chương trình. Do đó, nếu sai thứ tự thì hệ thống có thể rơi vào bế tắc.

4) Kĩ thuật điều độ cao cấp

- Trong thành phần của monitor(điều phối chính) hệ thống có các module điều độ.

- Sử dụng 2 thủ tục P,V với khối điều khiển thiết bị UCB (Unit Control Block)

- Bên cạnh đó nó còn có cơ chế tương tác với người điều hành trong quá trình điều độ.

Câu 7: Khi khả năng xảy ra bế tắc nhỏ nhưng thiệt hại do bế tắc gây ra là rất lớn thì áp dụng kĩ thuật phòng chống nào? Còn khi khả năng xảy ra bế tắc lớn thiệt hại do bế tắc gây ra là đáng kể thì thực hiện kĩ thuật phòng chống nào? Mô tả chi tiết kĩ thuật đó?

• Khi khả năng xảy ra bế tắc nhỏ nhưng thiệt hại do bế tắc gây ra là rất lớn thì ta su dụng kĩ thuật dự báo vòng tránh:

a) Nguyên tắc: khi có 1 tiến trình xin tài nguyên găng thì HĐH phải xem xét n thời điểm ở phía trước(của tài nguyên găng). Nếu suốt n thời điểm này mà bế tắc không có khả năng xảy ra thì HĐH mới cấp phát tài nguyên găng đó cho tiến trình. Nếu đến 1 thời điểm nào đó khả năng bế tắc xuất hiện thì HĐH phải đưa ra giải pháp hợp lí.

b) Biện pháp: Áp dụng giải thuật có tên : "Người quản đốc ngân hàng Tây"

- Bước 1: Thu thập thông tin về tài nguyên găng ở thời điểm này

1) Tổng số khả năng phục vụ đang có

2) Tổng số khả năng phục vụ tiến trình yêu cầu

3) Tổng số khả năng phục vụ đã đáp ứng

4) Tổng số khả năng phục vụ còn lại để đáp ứng tiếp

- Bước 2: Lặp lại bước này khi i=1 cho đến n

1) Xem xét khả năng kết thúc của tiến trình

2) Xem xét khả năng thu hồi, cân đối với mức cung cầu tài nguyên găng. Nếu không bị vi phạm thì chuyên sang thời điểm kế tiếp. Ngược lại xảy ra mất cân bằng thì phải đưa ra giải pháp an toàn cho hệ thống.

Nhận xét: khi áp dụng kĩ thuật này bế tắc không thể xảy ra được nhưng khối lượng tính toán sẽ tăng cao, làm châm tốc độ của hệ thống.

• Khi khả năng xảy ra bế tắc lớn thiệt hại do bế tắc gây ra là đáng kể thì thực hiện kĩ thuật phòng ngừa:

a) Nguyên tắc: Tìm nguyên nhân phát sinh bế tắc và tác động đến nguyên nhân đó.

b) Biện pháp cụ thể:

- Tác động đến điều kiện1(Trong hệ thống có tài nguyên găng) làm giảm mức găng của tài nguyên găng.

Có 2 cách:

1) Bổ sung thiết bị vào hệ thống: tốn kém về kinh tế.

2) Phân luồng: sử dụng kĩ thuật SPOOLIN: mô phỏng các chế độ vào ra ảo trực tuyến (Simulate Prepheral Out/Input Onlide)

- Tác động đến điều kiện 2 (Có 2 hay nhiều tiến trình cùng chờ đợi qua đoạn găng) tổ chức dòng xếp hàng cho các tiến trình đồng thời phải có module quản lý dòng xếp hàng đó.

- Tác động đến điều kiện 3:(HĐH thiếu thành phần thu hồi và cáp phát lại tài nguyên găng) Trong hệ thống phải có thành phần làm nhiệm vụ thu hồi tài nguyên găng.

- Tác động đến điều kiện 4 (Có hiện tượng chờ vòng tròn qua các đoạn găng) Nguyên nhân chờ đợi vòng tròn là do sự phân phối bình quân về tài nguyên

Cách 1(Cực đoan) Chỉ cấp tài nguyên găng cho 1 tiến trình duy nhất khi đã có đủ nguồn tài nguyên yêu cầu của nó.-> làm giảm hệ số song song của hệ thống.

Cách 2: phân mức tài nguyên găng. Tiến trình muốn xin tài nguyên găng mức cao thì phải trả lại tài nguyền găng mức thấp.

Nhận xét: chi phi thực hiện tương đối lớn, chỉ thực hiện khi khả năng xảy ra bế tắc lớn, thiệt hại do bế tắc gây ra là đáng kể.

• Khi khả năng xảy ra bế tắc nhỏ và thiệt hại do bế tắc gây ra là không đáng kể ta dùng kĩ thật "Nhận biết, khắc phục"

a) Nguyên tắc: Người điều hành viên phải giám sát được trạng thái hệ thống tính toán ở tại thời điểm bất kì. Nếu nhận biết được nguy cơ bế tắc xảy ra thì có thể can thiệp phá vỡ bế tắc.

b) Biện pháp: Trong monitor (điều phối chính) của HĐH phải có các module làm nhiệm vụ cung cấp thông tin cho người điều hành, cung cấp cho người điều hành công cụ giám sát và can thiệp

Câu 8: Yêu cầu đối với bài toán lập lịch, các kĩ thuật giải quyết và các tiêu chuẩn đánh giá?

Khái niệm lập lịch cho CPU: Lập lịch cho CPU là tổ chức 1 hàng đợi các tiến trình sẵn sàng để phân phối giờ CPU cho chúng dựa trên đội ưu tiên của các tiến trình sao cho hiệu suất sử dụng CPU là tối ưu nhất.

• Yêu cầu đối với bài toán lập lịch:

1) Thời gian chờ đợi trung bình của các tiến trình là nhỏ nhất.

2) Đảm bảo tiến trình kết thúc được.

• Các kĩ thuật giải quyết

a) Với hệ thống 1 dòng xếp hàng

- Nguyên tắc chung của việc lập lịch: Tổ chức dòng xếp hàng cho tiến trình, sau đó xác lập 1 chính sách phục vụ dòng xếp hàng đó.

1) Chiến lược đến trước phục vụ trước (FCFS- First Come, First Service)

- Ưu tiên ngoài: Mỗi tiến trình trong hệ thống được gắn một mức độ ưu tiên ngoài bởi người quản trị hệ thống.

- Khi đến xếp hàng: + Cùng ưu tiên ngoài đến trước thì xếp trước.

+ Khác ưu tiên ngoài thì ưu tiên ngoài cao hơn xếp trước.

- Phục vụ theo thứ tự xếp hàng.

- Ưu điểm:

 Đơn giản, dễ viết chương trình quản lý.

 Có chú ý đến thứ tự ưu tiên phục vụ tiến trình.

- Nhược điểm:

 Trọng tải hệ thống phân bố không đều ->Suy giảm hệ số song song của hệ thống.

2) SJN/SJF (Shortest Job Next/Shortest Job First)

- Ưu tiên các tiến trình có thời gian phục vụ ngắn hơn.

- Mục đích: sớm giải tỏa dòng xếp hàng.

- Nhược điểm: Người lập trình phải khai báo thời gian dự kiến của chương trình mình thực hiện -> điều này khó với chương trình chạy lần đầu.

3) SRT(Shortest Remain Time)

- Ưu tiên các tiến trình sắp kết thúc.

- Mục đích: sớm thu hồi tài nguyên.

4) RR(Round Robin)

- Phục vụ vòng tròn.

- CPU luân phiên phục vụ các tiến trình trong 1 khoảng thời gian như nhau và khá nhỏ(10 đến 100 micro giây)

Nhận xét Chiến lược FCFS và RR được dùng phổ biến.

b) Với hệ thống nhiều dòng xếp hàng

Nguyên tắc: phân hoạch các tiến trình thành nhiều lớp sau đó xác định thứ tự phục vụ cho các lớp.

1) Các lớp tương đương: P¬¬0P1P2 .....Pn

- Trình độ ưu tiên: theo số liệu lớn tăng dần. Sau đó quay vòng.

- Trong mỗi lớp có thể thực hiện 1 trong 4 chiến lược trên: thường là FCFS hoặc RR.

- Nhược điểm: khồng kết hợp được tính ưu tiên.

2) Chiến lược Font:

- Lấy 1 lớp làm nền để thực hiện cho các lớp khác.

- VD: 1 lớp gồm các tiến trình tính toán CPU, 1 lớp gồm các tiến trình vào ra I/O. Người ta lấy lớp tính toán làm nền cho lớp vào ra, cụ thể là phục vụ các tiến trình của 2 lớp theo tỉ lệ (I/O 4 / CPU 1)

- Ưu điểm: tăng được mức song song và kết hợp được tính ưu tiên.

- Nhược điểm quản lý xếp hàng phúc tạp hơn.

• Các tiêu chuẩn đánh giá:

- Sự công bằng: Mỗi tiến trình dù sớm hay muộn cũng phải được phân phối giờ CPU.

- Tận dụng giờ CPU: thời gian vô ích của CPU càng ít càng tốt. Khi đó số tiến trình được phục vụ trong một đơn vị thời gian càng cao.

- Tổng thời gian thực hiện tiến trình(turn around time): Được tính từ khi bắt đầu thực hiện cho tới khi kết thúc tiến trình.

- Thời gian tiến trình được xử lý trong hàng đợi(wait time):

- Thời gian đáp ứng(Response time): khi tiến trình hoạt động trong hệ thống nó cần dùng giờ CPU nhiều lần. Mỗi lần cần dùng giờ CPU, tiến trình sẽ đưa ra một yêu cầu. Như vậy thời gian đáp ứng được tính từ khi tiến trình có yêu cầu giờ CPU cho tới khi nó được hệ thống phân bổ.

Câu 9: Khái niệm, phân loại ngắt và quy trình ngắt của Hệ điều hành?

* Khái niệm ngắt(interupt): 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 biết. Từ góc độ CPU, có thể coi ngắt là việc ngừng đột xuất việc thực hiện một tiến trình để chuyển sang thực hiện một tiến trình khác khi có một sự việc xảy ra.

* Phân loại ngắt.

Ngắt được chia làm 2 loại: ngắt trong và ngắt ngoài.

- Ngắt trong: là ngắt gây ra bởi các sự kiện liên quan đến hoạt động của CPU.(ví dụ như tràn ô nhớ, mã lệnh sai, vi phạm địa chỉ ô nhớ).

- Ngắt ngoài: là ngắt gây ra bởi các sự kiện nằm ngoài tiến trình đang thực hiện như tín hiệu đồng hồ, sự cố kỹ thuật, ngắt vào/ra..

* Quy trình xử lý ngắt:

Quy trình xử lý ngắt nói chung có thể được mô tả bằng 5 bước:

- Ghi nhận đặc trưng của sự kiện gây ra ngắt vào ô nhớ quy định.

- Ghi nhận trạng thái của tiến trình bị ngắt(bộ đếm chương trình, nội dung các thanh ghi, chế độ làm việc..).

- Chuyển địa chỉ chương trình xử lý ngắt vào thanh ghi địa chỉ lệnh của CPU(CS:IP).

- 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.

Ba bước đầu của quy trình do các thành phần kỹ thuật của máy tính đảm nhận, 2 bước sau do hệ điều hành đảm nhận, cụ thể như sau:

HĐH 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 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. Tiếp theo là đoạn chương trình xử lý sự kiện, mỗi sự kiện đòi hỏi một cách xử lý khác nhau. Nếu sự kiện không đòi hỏi xử lý gấp thì hệ thống có thể đưa tiến trình xử lý vào hàng đợi.

Khi khôi phục trạng thái tiến trình bị ngắt, nếu tiến trình ngắt không thể tiếp tục thực hiện vì sự kiện xảy ra thì sau khi thông báo nguyên nhân, chương trình xử lý ngắt chuyển tiến trình sang bộ phận xử lý kết thúc.

Câu 10: Trình bày cơ chế quản lý dịch vụ trong hdh(các ngắt)?

• Cơ chế quản lý dịch vụ hay cơ chế xử lý ngắt:

Khi có dấu hiệu ngắt phát sinh, HĐH phát hiện đặc trưng của nó, tìm ra số hiệu ngắt, tra bảng tìm địa chỉ của chương trình con ngắt, sau đó chuyển điều khiển đến chương trình con ngắt.

HĐH duy trì trạng thái của CPU bằng cách lưu giữ nội dung các thanh ghi, bộ đếm chương trình (program counter - PC) và địa chỉ của lệnh bị ngắt.

HĐH xác định loại ngắt nào đã xuất hiện và có những hành động thực hiện tương ứng: polling hay vectored

Thường trình dịch vụ ngắt (interrupt service routine) chịu trách nhiệm thực hiện các ngắt, CPU được dành cho xử lý ngắt.

Sau khi phục vụ ngắt, HĐH khôi phục lại ngữ cảnh trước ngắt

Câu 11: Nguyên lý cơ bản trong quản lý vào ra của hdh là gì? Cơ chế tổ chức thực hiện?

• Nguyên lý cơ bản trong quản lý vào ra của HĐH

- Phân cấp quản lý CPU và ngoại vi(trung ương với địa phương)

a. CPU chỉ thực hiện vào ra ở mức logic.

b. Ngoại vi thực hiện vào ra ở mức vật lý.

c. Khi cần thực hiện vào ra CPU tạo ra ngắt yêu cầu bằng cách đưa ra lời gọi ngắt (ngắt mềm)

d. Thực hiện vào ra xong ngoại vi phát sinh ngắt báo cáo (ngắt cứng)

- Để thực hiện vào ra HĐH xây dựng 2 hệ thống con:

a. Hệ thống quản lý tệp.

b. Hệ thống quản lý thiết bị

• Cơ chế tổ chức thực hiện

Câu 12: Trình bày khái niệm địa chỉ vật lý , địa chỉ logic, bộ nhớ vật lý, bộ nhớ logic , bộ nhớ ảo.

- Địa chỉ vật lý (địa chỉ tuyệt đối) là địa chỉ cụ thể trong bộ nhớ,được cấp phát cho các biến khi thực hiện chương trình.

- Địa chỉ logic (địa chỉ tương đối) là địa chỉ do hệ thống tạo ra và được cấp phát cho các biến khi thực hiện chương trình.

- Bộ nhớ vật lý là tập hợp tất cả các địa chỉ vật lý tương ứng với các địa chỉ logic khi thực hiện chương trình.

- Bộ nhớ logic: là tập hợp tất cả các địa chỉ logic phát sinh khi dịch chương trình.

- Bộ nhớ ảo: là một kĩ thuật cho phép xử lý một chương trình không được nạp toàn bộ vào bộ nhớ vật lý.Bộ nhớ ảo mô hình hóa bộ nhớ như một bảng lưu trữ rất lớn và đồng nhất.

Câu 13: Trình bày các cấu trúc cơ bản của một chương trình.

Trả lời

Có nhiều phương pháp tổ chức chương trình ở bộ nhớ trong để thực hiện.Các phương pháp này khác nahau ở kiểu định vị chương trình trong bộ nhớ và thời điểm thực hiện phép ánh xạ địa chỉ tương đối thành tuyện đối.

Cấu trúc của một chương trình thể hiện cách quản lý bộ nhớ logic và cho ta thấy hình ảnh của chương trình ở bộ nhớ vật lý khi thực hiện.Mỗi chương trình có thể có các dạng cấu trúc:

1, Cấu trúc tuyến tính

Là cấu trúc sau khi biên dịch, các modul được tập hợp thành 1 chương trình hoàn thiện , chưa đầy đủ thông tin để có thể thực hiện(từ dữ liệu vào).Mọi biến ngoài đều được gán địa chỉ cụ thể, khi thực hiện chỉ cần định vị chương trình vào bộ nhớ

M0 M1 M2 M3 M4 M5

2, Cấu trúc động

Trong cấu trúc động, các modul chương trình được biên tập 1 cách riêng biêt.Khi thực hiện chương trình,hệ thống chỉ cần định vị modul gốc.Trong quá trình thực hiện,cần tới modul vào(đã đăng kí với hệ thống để thực hiện) thì hệ thống cấp phát cho không gian nhớ và nạp tiếp modul đó.Khi hoạt động xong thì giải phóng modul khỏi bộ nhớ, thu hồi không gian nhớ

M0

M0 M1 M2

M0 M3 M4

M0 M5

3, Cấu trúc overlay

Các modul chương trình sau khi biên dịch được chia thành các mức:

Mức 0 : mức chứa modul gốc dùng để nạp chương trình

Mức 1 : chứa các modul được gọi bởi mức 0

Mức 2 : chứa các modul được gọi bởi mức 1

..........

Mức i : chứa các modul được gọi bởi múc i-1

Bộ nhớ dành cho chương trình cũng được chia thành các mức tương ứng với các mức chương trình. Kích thước mỗi mức trong bộ nhớ bằng kích thước modul lớn nhất của chương trình tương ứng.

M0

80kb

M1

50kb

M2

90kb

M3

50kb

M4

100kb

M5

70kb

Chương trình nguồn được viết và biên dịch như các cấu trúc khác tạo thành các modul chương trình (các modul này không chứa các lệnh giao tiếp với hệ điều hành). Để tạo thành cấu trúc overlay, ngưới sử dụng cần cung cấp lượng thông tin về các mức biên dịch thông qua sơ đồ overlay. Modul gốc được lưu trữ trên 1 file chương trình riêng.

Khi thực hiện chương trình ,modul gốc được định vị vào bộ nhớ như chương trình có cấu trúc tuyến tính .Cần tới modul vào hệ thống sẽ tìm kiếm trong sơ đồ overlay và nạp vào bộ nhớ trong tương ứng.

Khi nạp modul vào một mức bộ nhớ đã được sử dụng, các modul đang tồn tại trong bộ nhớ sẽ bị xóa.

4, Cấu trúc phân đoạn

Chương trình của người sử dụng được biên dịch thành từng modul độc lập .Thông tin về các modul được chứa trong một bảng điều khiển gọi là bảng quản lý đoạn. Trong bảng quản lý đoạn còn chứa các thông tin trợ giúp việc định vị các modul vào bộ nhớ.

Khi thực hiện chương trình ,hệ thống sẽ dựa vào bảng quản lý đoạn để nạp các modul cần thiết vào trong bộ nhớ cho tới khi hết khả năng .Nếu cần nạp các modul mới nhưng khiến bộ nhớ thì hệ thống sẽ đưa bớt ra ngoài những modul không có khả năng sử dụng nữa.

5, Cấu trúc phân trang

Chương trình được biên dịch như cấu trúc tuyến tính ,sau đó phân chia thành các phần bằng nhau gọi là trang .Thông tion về các trang được chứa trong một bảng điều khiển gọi là bảng quản lý trang.Một phần tử trong bảng quản lý trang ứng với một trang chương trình của người sử dụng.

Khi thực hiện ,hệ thống sẽ dựa vào bảng quản lý trang để nạp các trang cần thiết vào bộ nhớ.

Câu 14: Nguyên tắc cơ bản để tổ chức và quản lí thiết bị ngoại vi

Trả lời

Nguyên tắc cơ bản để tổ chức và quản lí thiết bị dựa trên cơ sở: CPU chỉ điều khiển các thao tác vào ra chứ không trực tiếp thực hiện các thao tác này. Để đảm bảo được nguyên tắc này, các thiết bị không gắn trực tiếp với CPU mà gắn với các thiết bị đặc biệt- thiết bị điều khiển (Control device). Một thiết bị điều khiền có thể kết nối nhiều thiết bị vào ra.

Thiết bị điều khiển có vai trò như một máy tính chuyên dụng có nhiệm vụ điều khiển các kết nối với nó và gọi là kênh vào ra. Mỗi kênh vào ra có ngôn ngữ và hệ lệnh riêng. Chúng hoạt động độc lập với nhau, độc lập với CPU và các thành fần khác trong hệ thống.

Ví dụ: Để chuyển thông tin từ bộ nhớ trong ra ngoài và ngược lại ,kênh fải truy nhập bộ nhớ trực tiếp theo một cơ chế đặc biệt , song song và độc lập với CPU. Cơ chế này gọi là DMA (Diret memory acess)

Một hệ thống máy tính có thể nhiều kênh vào ra , mỗi kênh vào ra lại có thể có những kênh con của mình.Để điều khiển hoạt động của các kênh, cần có chương trình điều khiển riêng gọi là chương trinh điều khiền kênh

Để hệ thống làm việc được với các kênh thì CPU phải hiểu được ngôn ngữ kênh.Ngôn ngữ kênh được nạp vào hệ thống khi nạp hđh hoặc ngay cả khi hđh đang hoạt động(ngôn ngữ kênh thực chất là các trình điều khiền kênh)

CPU điều khiển các thao tác vào ra thông qua chương trình điều khiển kênh tương ứng với công việc cần thực hiện (nguyên lí Marcro Processor). Nguyên lí này cho phép trong lúc các thao tác vào ra được thực hiện ở thiết bị ngoại vi thì CPU vẫn hoạt động song song thực hiện tính toán và điều khiển chừng nào chưa cần tới kết quả vào ra. Khi có kết quả vào ra kênh sẽ fát tín hiệu ngắt báo cho CPU biết. Tuỳ theo hoàn cảnh cụ thể , tín hiệu ngắt được xử lí ngay hoặc được lưu trữ lại để xử lí khi có điều kiện hoặc thậm chí có thể huỷ bỏ nếu hệ thống ko còn quan tâm đến kết quả này. Như vậy ngắt vào ra xuất hiện sau khi fép vào ra đc thực hiên xong chứ không fải trước khi fép vào ra đc thực hiện. Để đảm bảo hiệu suất xử lí cao, hệ thống cần fải biết cáng sớm càng tốt thời điểm kết thúc của fep vào ra. Chính vì vậy kênh sẽ báo cho hệ thông biết kết quả vào ra vào thời điểm sớm nhất có thể được và do đó một fép vào ra có thể kết thúc ở nhiều mức, nhiều nơi khác nhau như: tại thiết bị điều khiển, tại thời điểm khi lệnh được chuyển đến thiết bị vào ra ,khi thiết bị vào ra nhận đc tín hiệu điều khiển hoặc sau khi fép vào ra đc thực hiện xong tại thiết bị ngoại vi.

PP tổ chức này cho fép gắn thêm thiết bị đồng thời đảm bảo cho hệ thống ko fụ thuộc cấu hình của thiết bị cụ thể, hệ thống có tính lưu động cao (thay đổi thiết bị mà ko cần thay đổi hệ thống, không cần sủa đổi các chương trinh úng dụng).

Câu 15: Các kĩ thuật cơ bản trong quản lí thiết bị ngoại vi

Trả lời

1, Kĩ thuật vùng đệm

Đặc trưng cơ bản của các thiết bị ngoại vi là tốc dộ hoạt động chậm, Để thực hiện 1 phép vào ra hệ thống phải kích hoạt thiết bị, chờ đợi thiết bị đó đạt trạng thái thích hợp vcà sau đó chờ đợi phép vào ra được thực hiện. phần lớn các thiết bị vào ra làm viêc với từng khối dữ liệu chứ kô phải từng kí tự riêng lẻ.

Để dảm bảo được những yêu cầu trên hệ điều hành thường sử dụng 1 số vùng nhớ trung gian làm nơi lưu trữ thông tin trong các phép vào ra. Vùng nhớ trung gian này được gọi là vùng đệm. Với việc sử dụng vùng đêm hệ thống có thể thực hiện trước các phép nhập dữ liệu. Kô chờ đợi đến khi xuất hiện yêu cầu nhập thực sự.

* Phân loại vùng đệm:

Có nhiều cách tổ chức vùng đệm khác nhau nhưng nội dung có thể chia làm 3 loại:

+Vùng đệm trung chuyển

Đối với kiểu vùng đệm trung chuyển , hệ thống tổ chức hai vùng nhớ riêng biệt : vùng nhớ vào và vùng nhớ ra. Vùng nhớ vào chỉ dùng để nhập thông tin còn vùng nhớ ra dùng để ghi thông tin. Tương ứng trong hệ thống có hai lệnh để đưa thông tin vào và lấy thông tin ra (read/write)

Trong chưong trình ứng dụng, ngay sau khio mở file, thông tin sẽ được chuyển đến vùng nhớ vào. Khi gặp lệnh đọc(read), thông tin sẽ được chuyển từ vùng nhớ vào tới các địa chỉ tương ứng nêu trong chương trình ứng dụng, như vậy mỗi giá trị sẽ được lưu trữ 2 nơi trong bộ nhớ.Sau khi giá trị cuối cùng của vùng đệm được lấy ra xử lý, vùng đệm trở nên rỗng và hệ thống tổ chức nhập thông tin mới vào thời điểm sớm nhất có thể được. Để giảm thời gian chờ đợi, hệ thống có thể tổ chức nhiều vùng đệm vào, khi hết thông tin ở mộy vùng đêm hệ thống sẽ chuyển sang vùng đêm tiếp theo

Đối với vùng đệm ra, thông tin cũng đựoc xử lý tưong tự nhưng theo trình tự ngược lại. Lệnh ghi (write) kô đưa trực tiếp thông tin ra thiết bị mà đưa vào vùng đệm ra. Khi 1 vùng đệm ra đầy , hệ thống sẽ chuyển sang làm việc với hệ thống kế tiếp đồng thời tổ chức đưa thông tin từ vùng đệm trước ra thiết bị

+Vùng đệm xử lý

Trong vùng đệm xủ lý , cả thông tin vào và ra cùng đựoc xử lý trong 1 vùng bộ nhớ, thông tin kô cần phải lưu trữ ở nhiều vị trí khác nhau trong bộ nhớ. Trong trưòng hợp này, lệnh đọc (read) xác định địa chỉ thông tin chứ kô cần cung cấp giá trị thông tin như trong vùng đệm trung chuyển.

Loại vùng đệm này có ưu điểm là tiết kiệm kô gian nhớ, rút ngắn thời gian trao đổi thông tin ở bộ nhớ trong nhưng tốc đọ giải phóng vùng đệm chậm, vì vậy hệ số song song thấp hơn so với vùng đem trung chuyển. Mặt khác, kô phải thao tác trao đổi vào/ra nào cũng có thể sử dụng được vùng đệm này. Phưong pháp tổ chức vùng đệm phức tạp.

+Vùng đệm vòng tròn

Trong cách tổ chức này ,hệ thống làm việc với 3 vùng đệm: một vùng đệm để đưa thông tin vào ,một vùng đệm để đưa thông tin ra và một vùng đệm để xử lý. Sau 1 khoảng thời gian nhất định thì chức năng của các vùng đệm được trao đổi cho nhau vòng tròn tức là vùng đệm vào thành vùng đệm xử lý,vùng đệm xử lý thành vùng đệm ra,vùng đệm ra thành vùng đệm vào. Như vậy vùng đệm này sẽ đạt hiệu quả cao khi thời gian xử lý tương đương thời gian vào/ra.

Loại vùng đệm này có thể gắn với từng file cụ thể hoặc gắn với toàn hệ thống .Trong chế độ gắn file,vùng đện đọc được xây dựng khi mở file ,xóa khi đóng file và chỉ phục vụ riêng cho file đó. Phương pháp tổ chức này đặc biệt thích hợp khi mỗi file có 1 kích thước vật lý riêng. Nếu tất cả các file có kích thước bane ghi vật lý giống nhau thì người ta thường dùng chế độ vùng đệm chung cho toàn bộ hệ thống.Vùng đệm được xây dựng khi nạp hệ thống và chưa gắn với 1 file cụ thể nào. Khi mở file, một hoặc một số vùng đệm được gắn với file và phục vụ sự truy nhập file đó. Khi đóng file,vùng đệm không bị xoá mà được trả về cho hệ thống như 1 tài nguyên chung.

2, Kĩ thuật kết khối

Để giảm số lần truy nhập vật lý ,hệ thống còn sử dụng kỹ thuật kết khối tức là ghép nhiều bản logic thành một bản ghi vật lý và việc trao đổi thông tin giữa các bộ phận được tiến hành theo bản ghi vật lý.

Phương pháp chung: việc kết khối có thể tiến hành ở mức người dùng hoặc HĐH, ai kết khối thì người đó phải phân rã khối.

Có 5 pp kết khối:

1) Dạng F(Fixed): mỗi bản ghi vật lý cơ 1 bản ghi lôgic, độ dài bản ghi không thay đổi.

2) Dạng FB(Fixed Block): một khối nhiều bản ghi độ dài giống nhau.

3) Dạng V(Varian) bản ghi có độ dài thay đổi -> đầu vào mỗi bản ghi có 1 trường ghi lại độ dài.

4) Dạng VB(Varian Block): ở đầu mỗi khối có 1 trường ghi độ dài khối.

5) Dạng U(Undefined) bản ghi có độ dài không xác định-> cuối bản ghi luôn có kí hiệu kết thúc.

Việc kết hợp còn được sử dụng như một biện pháp hạn chế việc truy nhập bất hợp lệ. Nếu không nêu đúng hệ số kết nối (số bản ghi logic trong một bản ghi vật lý) thì hệ thống sẽ không tiếp tục thực hiện các phép truy nhập thông tin hoặc thông tin sẽ bị giải mã sai lệnh vì hệ số kết nối đã nêu không hợp lý.

Phương pháp kết nối thường được áp dụng khi cần phải lưu trữ hoặc sao chép các file có kích thước lớn nhưng không muốn sử dụng các công cụ backup dữ liệu.

Câu 16: Nguyên lí cơ bản trong quản lí vào ra của HDH .CƠ chế tổ chức thực hiện

-Phân cấp quản lí giữa CPU và ngoại vi (trung ương với địa phương)

+CPU chỉ thực hiện vào ra ở mức logic

+Ngoại vi thực hiện vào ra ở mức vật lí

+Khi cần thực hiện vào ra CPU tạo ra ngắt yêu cầu bằng cách đưa ra lời gọi ngắt (ngắt mềm)

+Thực hiện vào ra xong ngoại vi phát sinh ngắt báo cáo(ngắt cứng)

-Để thực hiện vào ra , HĐH xây dựng 2 hệ thống con:

+Hệ thống quản lí tệp

+Hệ thống quản lí thiết bị.

Các giải pháp tối ưu trong vào ra

a.Mục tiêu: Giảm thời gian trao đổi giữa thiết bị ngoại vi với hệ thống.

b.Biện pháp:

*Kết khối dữ liệu:

-Gom kết nhiều bản ghi logic thành 1 bản ghi vật lí sao cho phù hợp với kiến trúc vật lí của thiết bị.

-Phương thức chung: việc kết khối có thể tiến hành ở mức người dùng hoặc HĐH, ai kết khối thì người đó phải phân rã khối.

-Có 5 phương pháp kết khối:

(1)Dạng F(Fixed): mỗi bản ghi vật lí có 1 bản ghi logic,độ dài bản ghi ko thay đổi.

(2)Dạng FB(Fixed Block) một khối nhiều bản ghi độ dài giống nhau.

(3)Dạng V(Variant) bản ghi có độ dài thay đổi đầu vào mỗi bản ghi có 1 trường ghi lại độ dài.

(4)Dạng VB(Variant Block) ở đầu mỗi khối có 1 trường ghi độ dài khối.

(5)Dạng U(Undefined) Bản ghi có độ dài không xác định->cuối bản ghi luôn có kí hiệu kết thúc.

*Kĩ thuật vùng đệm: (Buffer)

-Khái niệm:Vùng đệm là vùng bộ nhớ liên tục ở bộ nhớ trong hoặc trên đĩa từ, được dùng làm nơi trung chuyển thông tin giữa CPU với ngoại vi.

Sơ đồ

-Vai trò của vùng đệm:

+Hỗ trợ phân cấp quản lý giữa CPU với ngoại vi

+Tăng hệ số hoạt động song song của các thiết bị

+Đồng bộ hóa giữa truyền và xử lý thông tin: có 2 tình huống cần đồng bộ hóa có thể xảy ra:

Tốc độ truyền tin chậm,CPU phải đợi chờcần buffer

Tốc độ truyền tin nhanh,phức tạp,CPU ko đáp ứng kịpcần buffer

+Trong vùng đệm có các loại phòng đệm: Vào ,Ra, Xử lý. Ngoài ra còn có Spool(1 loại phòng đệm đặc biệt)

Chi tiết:

-Quản lý vòng đệm vào:

Nguyên tắc: Khi gặp lệnh nhập tin,HĐH quan sát bộ đệm, nếu còn thông tin thì đưa vào xử lý ngay(thiết bị ko phải làm việc), ngược lại phát sinh ngắt yêu cầu(ngắt mềm),thiết bị thực hiện vào ra xong -> phát sinh ngắt báo cáo(ngắt cứng)

-Quản lý vòng đệm ra:

Nguyên tắc: khi đưa thông tin ra ngoài, HĐH quan sát bộ đệm, nếu còn chỗ, đặt tiếp thông tin vào bộ đệm, nếu hết chỗ thì phát sinh ngắt yêu cầu để thiết bị giải phóng bộ đệm, sau đó mới đặt tiếp thông tin vào bộ đệm

-Spool:

Có 3 dòng xếp hàng:

+Dòng xếp hàng vào.

+Dòng xếp hàng chờ

+Dòng xếp hàng ra.

Mỗi dòng xếp hàng có 2 thành phần:

+Dòng xếp hàng các khối điều khiển

+Dòng xếp hàng nơi lưu trữ dữ liệu

+Spool cũng là một loại vòng đệm đặc biệt để dùng tổ chức các dòng xếp hàng trong hệ thống.Về bản chất thì nó là những vùng bộ nhớ liên tục, thường ở trên đĩa từ. Nó được phục vụ bởi chương trình điều phối công việc và theo nguyên tắc lập lịch.

*Các phương pháp truy nhập:

-Tùy thuộc vào đặc trưng vật lí của thiết bị,HĐH lưạ chọn phương pháp điều khiển truy nhạp thích hợp nhằm tối ưu hóa thời gian vào ra.

-Từ mục đích đó ta có 5 phương pháp:

+QSAM(Queue Sequential Access Method) :Áp dụng cho mọi thiết bị

Ghi tuần tự,đọc tuần tự

Bổ xung vào cuối tệp(phải chép sang tệp mới và bổ sung ở tệp mới)

Sửa 1 phần tử (phải chép sang tệp mới và sửa ở tệp mới)

+QISAM(Queue Index Sequential Access Method) : Dùng cho thiết bị từ tính như băng từ đĩa từ....

Nguyên tắc truy nhập: Mọi phân tử của 1 bộ dữ liệu có nhiều thuộc tính. Khi truy nhập sẽ theo 1 khóa nào đó(khóa có thể là 1 hay nhiều thuộc tính). Để truy cập nhanh với 1 khóa người ta thường xây dựng 1 tệp(tệp Index hay tệp chỉ dẫn) gồm 2 trường (khóa,vị trí lưu trữ). Tìm kiếm trên khóa theo phương pháp nhị phânbiết vị trí lưu trữ. Truy nhập đến vị trí lưu trữ đó.

+BSAM(Basic Sequential Access Method) :Áp dụng cho thiết bị từ tính có sử dụng phòng đệm khi truy nhập

Đối với các tệp mở ra để đọc. Ngay từ khi gặp lệnh mở tệp thì dữ liệu trên tệp đã được làm đầy ở cùng đệm.

+BDAM(Basic Direct Access Method) :Chỉ áp dụng cho đĩa từ và trống từ

Ghi ngẫu nhiên

Đọc ngẫu nhiên

Không phải sai chép sang tệp thứ 2.Tất cả các phép toán chỉ thực hiện trên 1 tệp

+BPAM(Basic Partition Access Method) : Truy nhập song song, chỉ áp dụng cho đĩa từ và trống từ.

Ứng dụng :cơ chế RAID: tác dụng sao lưu nhanh, phục hồi thông tin an toàn.

Chia dữ liệu phân hoạch

Tiến hành truy nhập song song

Câu 17: Hdh winme đuợc coi là hdh windows đầu tiên thực sự tách rời khỏi hdh msdos. Giải thích?

Một trong những thay đổi rõ ràng nhất trong Windows Me là nó không còn bao gồm chế độ real mod DOS . Với việc loại bỏ real mode DOS, Windows Me có thể khởi động một vài giây nhanh hơn, mà không mất chức năng của Windows.

Những thế hệ hệ điều hành của MS trước win ME phần boot vào hệ điều hành đều do MS_DOS quản lí,còn sau win ME thì phần đó do win quản lí

Windows Me là phiên bản nâng cấp các tính năng đa phương tiện và Internet của Windows 98, thêm ứng dụng Windows Movie Maker và giới thiệu công cụ System Restore

Còn MS-DOS là hệ điều hành đơn nhiệm. Tại mỗi thời điểm chỉ thực hiện một thao tác duy nhất. Nói một cách khác, MS-DOS chỉ cho phép chạy một ứng dụng duy nhất tại mỗi thời điểm.

Đến Windows Me, windows mới thực sự tách rời MS-DOS vì lúc đó phần cứng phát triển, MS-DOS chạy đơn nhiệm ko còn đáp ứng tốt nhu cầu của con người, trong khi hệ điều hành Windows với mục tiêu chạy đa nhiệm (multi-tasking), người dùng có thể thi hành nhiều ứng dụng cùng một lúc. MS-DOS dần trở nên ít phổ biến hơn. Nó chỉ còn tồn tại trong các phiên bản Windows sau này (2000, XP) dưới dạng một ứng dụng cho phép người dùng kích hoạt chế độ dòng lệnh (command prompt), và thường chỉ được dùng để thực hiện những tác vụ liên quan mật thiết đến hệ thống mà giao diện đồ họa của Windows không làm được.

Phiên bản MS-DOS 8.0 đi kèm với Windows ME. Đây cũng là phiên bản cuối cùng của hệ điều hành này.

Cau 18: Bảo vệ Nhập/Xuất bằng System Call như thế nào?

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.

Bạn đang đọc truyện trên: Truyen2U.Com

Tags: #anhtuan