lythuyethdh2

Câu 9: Ý nghĩa căn bản của Lập lịch dài kì trong HĐH (long-term scheduller) là gì, Sự khác nhau giữa Lập lịch dài kì và lập lịch ngắn hạn?

Định thời dài hạn (long-term scheduling): xác định process nào được chấp nhận vào hệ thống.

Định thời trung hạn (medium-term scheduling): xác định process nào được đưa vào (swap in), đưa ra khỏi (swap out) bộ nhớ chính.

                  Swap in/out có thể tốn đến vài giây thời gian Þ chu kỳ định thời trung hạn có thể là vài phút.

Định thời ngắn hạn (short-term scheduling): xác định process nào được thực thi tiếp theo.

Câu 12:

Câu 13: Giải thích ngắn gọn trạng thái các tiến trình, các mô hình tiến trình hệ thống (process models) chung.

* Trạng thái của tiến trình tại một thời điểm được xác định bởi hoạt động hiện thời của tiến trình tại thời điểm đó. Trong quá trình sống, một tiến trình thay đổi trạng thái do nhiều nguyên nhân như : phải chờ một sự kiện nào đó xảy ra, hay đợi một thao tác nhập/xuất hoàn tất, buộc phải dừng hoạt động do đã hết thời gian xử lý …

Tại một thời điểm, một tiến trình có thể nhận trong một các trạng thái sau đây :

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

-          Ready: tiến trình chờ được cấp phát CPU để xử lý.

-          Terminated State (kết thúc) : tiến trình hoàn tất xử lý.

Tại một thời điểm, chỉ có một tiến trình có thể nhận trạng thái running trên một bộ xử lý bất kỳ. Trong khi đó, nhiều tiến trình có thể ở trạng thái blocked hay ready.

Các cung chuyển tiếp trong sơ đồ trạng thái biễu diễn sáu sự chuyển trạng thái có thể xảy ra trong các điều kiện sau :

-          Tiến trình mới tạo được đưa vào hệ thống

-          Bộ điều phối cấp phát cho tiến trình một khoảng thời gian sử dụng CPU

-          Tiến trình kết thúc

-          Tiến trình yêu cầu một tài nguyên nhưng chưa được đáp ứng vì tài nguyên chưa sẵn sàng để cấp phát tại thời điểm đó ; hoặc tiến trình phải chờ một sự kiện hay thao tác nhập/xuất

-          Bộ điều phối chọn một tiến trình khác để cho xử lý .

Tài nguyên mà tiến trình yêu cầu trở nên sẵn sàng để cấp phát ; hay sự kiện hoặc thao tác nhập/xuất tiến trình đang đợi hoàn tất.

Các tên trạng thái này là bất kỳ, và chúng khác nhau ở các hệ điều hành khác

nhau. Tuy nhiên, các trạng thái mà chúng hiện diện được tìm thấy trên tất cả hệ thống.

Các hệ điều hành xác định mô tả trạng thái quá trình. Chỉ một quá trình có thể đang

chạy tức thì trên bất kỳ bộ xử lý nào mặc dù nhiều quá trình có thể ở trạng thái sẳn

sàng và chờ.

* Các mô hình tiến trình hệ thống

Câu 14: Giải thích vai trò của PCB (process control block). 

Mỗi quá trình được hiện diện trong hệ điều hành bởi Khối điều khiển quá trình(Process Control Block-PCB) – cũng được gọi khối điều khiển tác vụ.  Nó chứa nhiều phần thông tin được gắn liền với một quá trình xác định, gồm:

• Trạng thái quá trình (process state): trạng thái có thể là mới, sẳn sàng, đang chạy, chờ đợi, kết thúc, …

Bộ đếm chương trình (program counter): bộ đếm hiển thị địa chỉ của chỉ thị kế tiếp được thực thi cho quá trình này.

Các thanh ghi (registers) CPU: các thanh ghi khác nhau về số lượng và loại, phụ thuộc vào kiến trúc máy tính. Chúng gồm các bộ tổng (accumulators), các thanh ghi chỉ mục, các con trỏ ngăn xếp, và các thanh ghi đa năng (generalpurpose registers), cùng với thông tin mã điều kiện (condition-code information). Cùng với bộ đếm chương trình, thông tin trạng thái này phải được lưu khi một ngắt xảy ra, cho phép quá trình được tiếp tục một cách phù hợp sau đó (Hình III.3).

Thông tin lập thời biểu CPU (CPU-scheduling information): thông tin gồm

độ ưu tiên của quá trình, các con trỏ chỉ tới các hàng đợi lập thời biểu, và bất

kỳ tham số lập thời biểu khác.

Thông tin quản lý bộ nhớ (Memory-management information): thông tin này có thể gồm những thông tin như giá trị của các thanh ghi nền và thanh ghi giới hạn, các bảng trang hay các bảng phân đoạn, phụ thuộc hệ thống bộ nhớ được dùng bởi hệ điều hành.

Thông tin tính toán (accounting information): thông tin này gồm lượng CPU và thời gian thực được dùng, công việc hay số quá trình,…

Thông tin trạng thái nhập/xuất (I/O status information): thông tin này gồm danh sách của thiết bị nhập/xuất được cấp phát quá trình này, một danh sách các tập tin đang mở,.. PCB đơn giản phục vụ như kho chứa cho bất cứ thông tin khác nhau từ quá trình này tới quá trình khác.

Câu 15: các thành phần của hệ điều hành:

* Cách 1:

Hệ thống quản lý tiến trình

Có thể coi tiến trình là 1 chương trình đang hoạt động, khi thực hiệ, tiến trình đòi hỏi một số tài nguyên nhất định như : CPU, bộ nhớ, các thiết bị… Các tài nguyên này sẽ được cấp phát cho tiến trình vào những thời điểm cần thiết và được thu hồi khi tiến trình kết thúc. Ngoài ra, khi tiến trình hoạt động trong hệ thống có thể phát sinh các tiến trình con. Như vậy, nhiệm vụ của hệ điều hành trong quản lý tiến trình là:

-          Đảm bảo những điều kiện tối thiểu để tiến trình có thể thực thi

-          Đảm bảo điều kiện cho sự hoạt động song song của nhiều tiến trình

-          Tạo và xóa các tiến trình của người sử dụng và hệ thống

-          Ngừng và bắt đầu lại các tiến trình

-          Tạo ra các cơ chế để đồng bộ hóa các tiến trình

-          Tạo ra các cơ chế để liên lạc giữa các tiến trình

Hệ thống quản lý nhập xuất

Một trong những mục tiêu của hệ điều hành là che giấu các chi tiết phần cứng cụ thể đối với người sử dụng. Điều khiển hoạt động của các thiết bị bằng cách gửi các lệnh điều khiển tới thiệt bị và tiếp nhận, xử lý các tín hiệu ngắt, xử lý lỗi … Hơn nữa, hệ điều hành cần cung cấp một giao diện đơn giản, độc lập giữa các thiết bị và hệ thống. Do đó, chức năng của hệ điều hành trong quản lý hệ thống vào/ra là:

-          Che giấu những đặc thù của các thiết bị vào ra

-          Tạo lập những chương trình để quản lý, điều khiển thiểt bị chung và các thiết bị đặc biệt

Hệ thống quản lý tập tin

Khi lưu trữ thông tin trên bộ nhớ ngoài, mỗi thiết bị lưu trữ sẽ có những đặc tính vật lý khác nhau. Để tạo điều khiện thuận lợi trong công tác lưu trữ và quản lý thông tin, hệ điều hành sử sụng 1 đơn vị lưu trữ đồng nhất trên tất cả các thiết bị lưu trữ gọi là tệp tin(file). Để có thể dễ dàng truy xuất, HDH còn tổ chức các file thành các thư mục và kiểm soát việc truy nhập đồng thời đến cùng 1 file. Như vậy, trong lĩnh vực quản lý file, HDH chịu trách nhiệm về các thao tác sau:

-          Tạo và xóa các file

-          Tạo và xóa các thư mục

-          Hỗ trợ các nguyên lý thao tác file và thư mục

-          Ánh xạ các file lên bộ nhớ phụ

-          Ghi dự phòng các file lên bộ nhớ ổn định

Hệ thống bảo vệ

Khi hệ thống cho phép nhiều người sử dụng đồng thời, các tiến trình song hành cần phải được bảo vệ để tránh sự xâm phạm vô tình hay cố ý có thể gây sai lệch toàn hệ thống. HDH cần xây dựng các cơ chế bảo vệ, cho phép đặc tả sự kiểm soát và 1 phương thức để áp dụng các chiến lược bảo vệ thích hợp. Như vậy, mục đích của hệ thống bảo vệ là :

-          Giúp cho hệ thống hoạt động bình thường.

-          Bảo vệ các tài nguyên sử dụng chung.

-          Phát triển và ngăn chặn các khả năng sai sót của các tiến trình.

Hệ thống dịch

Hệ thống giải thích lệnh là thành phần quan trọng nhất của HDH, đóng vai trò giao diện giữa máy tính và người sử dụng. Nó giúp máy tính hiểu và xử lý các chỉ thị,các lệnh của người sử dụng

Quản lý mạng

Mạng máy tính là 1 tập hợp các máy tính được kết nối với nhau bằng môi trường truyền tin nhằm mục đích cho phép người sử dụng chung tài nguyên và phục vụ công tác truyền thông . Mỗi máy tính trong mạng có 1 bộ nhớ đọc lập và các HDH phải hỗ trợ khả năng quản lý chia sẻ tài nguyên, truyền thông trên mạng thông qua các thành phần điều khiển giao tiếp mạng

Quản lý tập tin

Quản lý tập tin là một trong những thành phần có thể nhìn thấy nhất của hệ

điều hành. Máy tính có thể lưu thông tin trên nhiều loại phương tiện lưu trữ vật lý

khác nhau. Băng từ, đĩa từ, đĩa quang là những phương tiện thông dụng nhất. Mỗi

phương tiện này có đặc điểm và tổ chức riêng. Mỗi phương tiện được điều khiển bởi

một thiết bị, như một ổ đĩa hay ổ băng từ. Các thuộc tính này bao gồm tốc độ truy

xuất, dung lượng, tốc độ truyền dữ liệu và phương pháp truy xuất (tuần tự hay ngẫu nhiên).

Quản lý việc lưu trữ phụ

Mục đích chính của một hệ thống máy tính là thực thi các chương trình.

Những chương trình này với dữ liệu chúng truy xuất phải nằm trong bộ nhớ chính hay lưu trữ chính trong quá trình thực thi. Vì bộ nhớ chính quá nhỏ để lưu tất cả dữ liệu và chương trình và vì dữ liệu quản lý bị mất khi mất điện, hệ thống máy tính phải cung cấp việc lưu trữ phụ để lưu dự phòng bộ nhớ chính. Hầu hết các hệ thống máy tính hiện đại dùng đĩa như phương tiện lưu trữ trực tuyến cho cả chương trình và dữ liệu.

Hầu hết các chương trình – gồm trình biên dịch, trình dịch hợp ngữ, thủ tục sắp xếp,trình soạn thảo và trình định dạng – được lưu trên đĩa cho tới khi được nạp vào trong bộ nhớ và sau đó dùng đĩa khi cả hai nguồn và đích của việc xử lý. Do đó, quản lý hợp lý việc lưu trữ đĩa có vai trò quan trọng đối với một hệ thống máy tính.

Hệ điều hành có nhiệm vụ thực hiện các hoạt động sau trong việc quản lý đĩa:

o Quản lý không gian trống

o Cấp phát lưu trữ

o Định thời đĩa

Vì lưu trữ phụ được dùng thường xuyên nên nó phải được dùng một cách hiệu

quả. Tốc độ toàn bộ của các thao tác của máy tính có thể xoay quanh tốc độ hệ thống

con đĩa và các giải thuật thao tác trên hệ thống con đó.

Cách 2

Quản lý tiến trình

Một chương trình không thực hiện được gì cả nếøu như nó không được CPU thi hành. Một tiến trình là một chương trình đang được thi hành, nhưng ý nghĩa của nó còn rộng hơn. Một công việc theo lô là một tiến trình. Một chương trình người dùng chia xẻ thời gian là một tiến trình, một công việc của hệ thống như soopling xuất ra máy in cũng là một tiến trình.

Một tiến trình phải sử dụng tài nguyên như thời gian sử dụng CPU, bộ nhớ, tập tin, các thiết bị nhập xuất để hoàn tất công việc của nó. Các tài nguyên này được cung cấp khi tiến trình được tạo hay trong quá trình thi hành. Khi tiến trình được tạo, nó sử dụng rất nhiều tài nguyên vật lý và luận lý.cũng như một số khởi tạo dữ liệu nhập. Ví dụ , khảo sát tiến trình hiển thị trạng thái của tập tin lên màn hình. Đầu vào của tiến trình là tên tập tin, và tiến trình sẽ thực hiện những chỉ thị thích hợp, thực hiện lời gọi hệ thống để nhận được những thông tin mong muốn và hiển thị nó lên màn hình. Khi tiến trình kết thúc, hệ điềûu hành sẽ tái tạo lại các tài nguyên có thể được dùng lại..

Một tiến trình là hoạt động (active) hoàn toàn-ngược lại với một tập tin trên đĩa là thụ động (passive)-với một bộ đếm chương trình cho biết lệnh kế tiếp được thi hành.Việc thi hành được thực hiện theo cơ chế tuần tự , CPU sẽ thi hành từ lệnh đầu đến lệnh cuối.

Một tiến trình được coi là một đơn vị làm việc của hệ thống. Một hệ thống có thể có nhiều tiến trình cùng lúc , trong đó một số tiến trình là của hệ điều hành, một số tiến trình là của người sử dụng. các tiến trình này có thể diễn ra đồng thời.

Vai trò của hệ điều hành trong việc quản lý tiến trình là :

Tạo và hủy các tiến trình của người sử dụng và của hệ thống.

Ngưng và thực hiện lại một tiến trình.

Cung cấp cơ chế đồng bộ tiến trình.

Cung cấp cách thông tin giữa các tiến trình.

Cung cấp cơ chế kiểm soát deadlock(khái niệm này sẽ được trình bày trong chương II).

    Quản lý bộ nhớ chính :

Trong hệ thống máy tính hiện đại, bộ nhớ chính là trung tâm của các thao tác, xử lý. Bộ nhớ chính có thể xem như một mảng kiểu byte hay kiểu word. Mỗi phần tử đều có địa chỉ. Đó là nơi lưu dữ liệu được CPU truy xuất một cách nhanh chóng so với các thiết bị nhập/xuất. CPU đọc những chỉ thị từ bộ nhớ chính. Các thiết bị nhập/xuất cài đặt cơ chế DMA(xem chương IV) cũng đọc và ghi dữ liệu trong bộ nhớ chính. Thông thường bộ nhớ chính chứa các thiết bị mà CPU có thể định vị trực tiếp. Ví dụ CPU truy xuất dữ liệu từ đĩa, những dữ liệu này được chuyển vào bộ nhớ qua lời gọi hệ thống nhập/xuất.

Một chương trình muốn thi hành trước hết phải được ánh xạ thành địa chỉ tuyệt đối và nạp vào bộ nhớ chính.Khi chương trình thi hành, hệ thống truy xuất các chỉ thị và dữ liệu của chương trình trong bộ nhớ chính. Ngay cả khi tiến trình kết thúc , dữ liệu vẫn còn trong bộ nhớ cho đến khi một tiến trình khác được ghi chồng lên.

Để tối ưu hóa quá trình hoạt động của CPU và tốc độ của máy tính, một số tiến trình được lưu giữ trong bộ nhớ. Có rất nhiều kế hoạch quản trị bộ nhớ do có nhiều ứng dụng bộ nhớ khác nhau và hiệu quả của các thuật toán phụ thuộc vào tùy tình huống cụ thể. Lựa chọn một thuật toán cho một hệ thống được mô tả trước phụ thuộc vào nhiều yếu tố, đặc biệt là phần cứng của hệ thống.

Hệ điều hành có những vai trò như sau trong việc quản lý bộ nhớ chính :

Lưu giữ thông tin về các vị trí trong bộ nhớ đã được sử dụng và ai sử dụng.

Quyết định tiến trình nào được nạp vào bộ nhớ chính, khi bộ nhớ đã có thể dùng được.

Cấp phát và thu hồi bộ nhớ khi cần thiết.

    Quản lý bộ nhớ phụ :

Mục tiêu chính của hệ thống máy tính là thi hành chương trình. Những chương trình với dữ liệu truy xuất của chúng phải được đặt trong bộ nhớ chính trong suốt quá trình thi hành. Nhưng bộ nhớ chính quá nhỏ để có thể lưu giữ mọi dữ liệu và chương trình, ngoài ra dữ liệu sẽ mất khi không còn được cung cấp năng lượng. Hệ thống máy tính ngày nay cung cấp hệ thống lưu trữ phụ. Đa số các máy tính đều dùng đĩa để lưu trữ cả chương trình và dữ liệu. Hầu như tất cả chương trình : chương trình dịch, hợp ngữ, thủ tục, trình soạn thảo, định dạng... đều được lưu trữ trên đĩa cho tới khi nó được thực hiện, nạp vào trong bộ nhớ chính và cũng sử dụng đĩa để chứa dữ liệu và kết quả xử lý. Vì vậy một bộ quản lý hệ thống đĩa rất quan trọng cho hệ thống máy tính.

Vai trò của hệ điều hành trong việc quản lý đĩa :

Quản lý vùng trống trên đĩa.

Định vị lưu trữ.

Lập lịch cho đĩa.

Vì hệ thống đĩa được sử dụng thường xuyên, nên nó phải được dùng hiệu quả.Tốc độ của toàn bộ hệ thống tuỳ thuộc rất nhiều vào tốc độ truy xuất đĩa.

    Quản lý hệ thống nhập xuất :

Một trong những mục tiêu của hệ điều hành là che dấu những đặc thù của các thiết bị phần cứng đối với người sử dụng thay vào đó là một lớp thân thiện hơn, người sử dụng dể thao tác hơn. Một hệ thống nhập/xuất bao gồm :

Hệ thống buffer caching.

Giao tiếp điều khiển thiết bị (device drivers) tổng quát.

Bộ điều khiển cho các thiết bị phần cứng.

Chỉ có device driver mới hiểu đến cấu trúc đặc thù của thiết bị mà nó mô tả.

    Quản lý hệ thống tập tin :

Hệ thống quản lý tập tin là thành phần rõ ràng nhất trong hệ điều hành. Máy tính có thể lưu trữ thông tin trong nhiều dạng thiết bị vật lý khác nhau : băng từ, đĩa từ, , đĩa quang, ... Mỗi dạng có những đặc thù riêng về mặt tổ chức vật lý. Mỗi thiết bị có một bộ kiểm soát như bộ điều khiển đĩa (disk driver) và có những tính chất riêng. Những tính chất này là tốc độ, khả năng lưu trữ, tốc độ truyền dữ liệu và cách truy xuất.

Để cho việc sử dụng hệ thống máy tính thuận tiện, hệ điều hành cung cấp một cái nhìn logic đồng nhất về hệ thống lưu trữ thông tin. Hệ điều hành định nghĩa một đơn vị lưu trữ logic là tập tin. Hệ điều hành tạo một ánh xạ từ tập tin đến vùng thông tin trên đĩa và truy xuất những tập tin này thông qua thiết bị lưu trữ.

Một tập tin là một tập hợp những thông tin do người tạo ra nó xác định. Thông thường một tập tin đại diện cho một chương trình và dữ liệu. Dữ liệu của tập tin có thể là số, là ký tự, hay ký số. Tập tin thường có dạng tự do, như tập tin văn bản, nhị phân...(là tập tin chứa dãy các bit). (Xem bài VIII)

Vai trò của hệ điều hành trong việc quản lý tập tin :

Tạo và xoá một tập tin.

Tạo và xoá một thư mục.

Hỗ trợ các thao tác trên tập tin và thư mục.

Ánh xạ tập tin trên hệ thống lưu trữ phụ.

Backup tập tin trên các thiết bị lưu trữ.

    Hệ thống bảo vệ :

Trong một hệ thống nhiều người sử dụng và cho phép nhiều tiến trình diễn ra đồng thời, các tiến trình phải được bảo vệ đối với những hoạt động khác.Do đó, hệ thống cung cấp cơ chế để đảm bảo rằng tập tin, bộ nhớ, CPU, và những tài nguyên khác chỉ được truy xuất bởi những tiến trình có quyền. Ví dụ, bộ nhớ đảm bảo rằng tiến trình chỉ được thi hành trong phạm vi địa chỉ của nó. Bộ thời gian đảm bảo rằng không có tiến trình nào độc chiếm CPU. Cuối cùng các thiết bị ngoại vi cũng được bảo vệ.

Hệ thống bảo vệ là một cơ chế kiểm soát quá trình truy xuất của chương trình, tiến trình, hoặc người sử dụng với tài nguyên của hệ thống. Cơ chế này cũng cung cấp cách thức để mô tả lại mức độ kiểm soát.

Hệ thống bảo vệ cũng làm tăng độ an toàn khi kiểm tra lỗi trong giao tiếp giữa những hệ thống nhỏ bên trong.

    Hệ thống cơ chế dòng lệnh :

Một trong những phần quan trọng của chương trình hệ thống trong một hệ điều hành là cơ chế dòng lệnh, đó là giao tiếp giữa người sử dụng và hệ điều hành. Một số hệ điều hành đặt cơ chế dòng lệnh bên trong hạt nhân, số khác như MS-DOS và UNIX thì xem hệ điều hành như là một chương trình đặt biệt, được thi hành khi các công việc bắt đầu hoặc khi người sử dụng login lần đầu tiên.

Các lệnh đưa vào hệ điều hành thông qua bộ điều khiển lệnh. Trong các hệ thống chia xẻ thời gian một chương trình có thể đọc và thông dịch các lệnh điều khiển được thực hiện một cách tự động. Chương trình này thường được gọi là bộ thông dịch điều khiển card, cơ chế dòng lệnh hoặc Shell. Chức năng của nó rất đơn giản đó là lấy lệnh kế tiếp và thi hành.

Mỗi hệ điều hành sẽ có những giao tiếp khác nhau, dạng đơn giản theo cơ chế dòng lệnh, dạng thân thiện với người sử dụng như giao diện của Macintosh có các biểu tượng, cửa sổ thao tác dùng chuột.

Các lệnh có quan hệ với việc tạo và quản lý các tiến trình, kiểm soát nhập xuất, quản lý bộ lưu trữ phụ, quản lý bộ nhớ chính, truy xuất hệ thống tập tin và cơ chế bảo vệ.

Câu 18: Khái niệm phân pag và paging

Phân trang

Phân trang là cơ chế quản lý bộ nhớ cho phép không gian địa chỉ vật lý của quá trình là không kề nhau. Phân trang tránh vấn đề đặt vừa khít nhóm bộ nhớ có kích thước thay đổi vào vùng lưu trữ phụ (backing store) mà hầu hết các cơ chế quản lý bộ nhớ trước đó gặp phải. Khi phân đoạn mã và dữ liệu nằm trong bộ nhớ được hoán vị ra, không gian phải được tìm thấy trên vùng lưu trữ phụ. Vấn đề phân mãnh được thảo luận trong sự kết nối với bộ nhớ chính cũng thông dụng như với vùng lưu trữ phụ,ngoại trừ truy xuất thấp hơn nhiều, vì thế kết khối là không thể. Vì lợi điểm của nó sovới các phương pháp trước đó nên phân trang trong những dạng khác nhau được dùng phổ biến trong hầu hết các hệ điều hành.

Về truyền thống, hỗ trợ phân trang được quản lý bởi phần cứng. Tuy nhiên,

những thiết kế gần đây cài đặt phân trang bằng cách tích hợp chặt chẻ phần cứng và hệ điều hành, đặc biệt trên các bộ vi xử lý 64-bit.

ph ân đoạn

Các sơ đồ phân hoạch cố định và phân hoạch động không áp dụng được khi kích thích chương trình lớn hơn kích thước bộ nhớ vật lý. Ngoài ra hệ số tích cực của các byte trong bộ nhớ cũng không được đồng đều. Các byte được gọi là tích cực nếu nội dung của nó được thực hiện các câu lệnh trong thời điểm quan sát. Sơ đồ quản lý bộ nhớ tốt là sơ đồ có số byte tích cực lớn.

Trong 1 sơ đồ phân đoạn ,các modul chương trình được biên dịch 1  cách riêng biệt .thông tin về các modul chương trình được chứa trong bảng quản lý đoạn SCB. Mỗi phần tử SCB tương ứng với một modul của chương trình và được đặc trưng bởi 3 trường tin :

  + Dấu hiệu D: cho biết modul đã được nạp vào bộ nhớ hay chưa ( D= 0 nếu chưa được nạp,D=1 ngược lại).

  + Địa chỉ A : địa chỉ của vùng nhớ sẽ định vị modul.

  + Độ dài L :Cho biết kích thước của modul.

Ban đầu chỉ có trường L và D có giá trị.SCB được xây dựng ngay từ khi biên dịch chương trình.

Khi thực hiện ,SCB được nạp vào bộ nhớ ,địa chỉ đầu được vào thanh ghi đoạn Rs.

Địa chỉ truy nhập dữ liệu được biểu diễn bởi cặp(s,d) trong đó s là hệ số modul cần truy nhập,d là địa chỉ tương đối tính từ đầu......

Chú ý: ở sơ đồ này,bộ nhớ thường được chia thành 3 phần SCB, PCB và các trang. Bản thân bộ nhớ dành cho SCB và PCB cũng được quản lý theo chế độ phân trang.

Câu 20: Mô tả ngắn gọn “Bộ nhớ ảo” – Virtual memory. Bộ nhớ ảo có lợi và thiệt hại gì đối với việc tối ưu hoá sử dụng CPU.

* Bộ nhớ ảo

Bộ nhớ ảo là một kỹ thuật cho phép xử lý một tiến trình không được nạp toàn bộ vào bộ nhớ vật lý. Bộ nhớ ảo mô hình hoá bộ nhớ như một bảng lưu trữ rất lớn và đồng nhất, tách biệt hẳn khái niệm không gian địa chỉ và không gian vật lý. Người sử dụng chỉ nhìn thấy và làm việc trong không gian địa chỉ ảo, việc chuyển đổi sang không gian vật lý do hệ điều hành thực hiện với sự trợ giúp của các cơ chế phần cứng cụ thể.

* Lợi và thiệt hại đối với CPU

Nếu đặt toàn thể không gian địa chỉ vào bộ nhớ vật lý, thì kích thước của chương trình bị giới hạn bởi kích thước bộ nhớ vật lý.

Thực tế, trong nhiều trường hợp, chúng ta không cần phải nạp toàn bộ chương trình vào bộ nhớ vật lý cùng một lúc, vì tại một thời điểm chỉ có một chỉ thị của tiến trình được xử lý. Ví dụ, các chương trình đều có một đoạn code xử lý lỗi, nhưng đoạn code này hầu như rất ít khi được sử dụng vì hiếm khi xảy ra lỗi, trong trường hợp này, không cần thiết phải nạp đoạn code xử lý lỗi từ đầu.     

Từ nhận xét trên, một giải pháp được đề xuất là cho phép thực hiện một chương trình chỉ được nạp từng phần vào bộ nhớ vật lý. Ý tưởng chính của giải pháp này là tại mỗi thời điểm chỉ lưu trữ trong bộ nhớ vật lý các chỉ thị và dữ liệu của chương trình cần thiết cho việc thi hành tại thời điểm đó. Khi cần đến các chỉ thị khác, những chỉ thị mới sẽ được nạp vào bộ nhớ, tại vị trí trước đó bị chiếm giữ bởi các chỉ thị nay không còn cần đến nữa. Với giải pháp này, một chương trình có thể lớn hơn kích thước của vùng nhớ cấp phát cho nó.

Một cách để thực hiện ý tưởng của giải pháp trên đây là sử dụng kỹ thuật overlay. Kỹ thuật overlay không đòi hỏi bất kỳ sự trợ giúp đặc biệt nào của hệ điều hành , nhưng trái lại, lập trình viên phải biết cách lập trình theo cấu trúc overlay, và điều này đòi hỏi khá nhiều công sức.

Để giải phóng lập trình viên khỏi các suy tư về giới hạn của bộ nhớ, mà cũng không tăng thêm khó khăn cho công việc lập trình của họ, người ta nghĩ đến các kỹ thuật tự động, cho phép xử lý một chương trình có kích thước lớn chỉ với một vùng nhớ có kích thước nhỏ . Giải pháp được tìm thấy với khái niệm bộ nhớ ảo (virtual memory).

C âu 22:So s ánh các thuật toán thay trang

-FIFO(First in First Out):trang nào nạp trước sẽ bị thay thế trước

(mỗi trang thời gian khi trang đó được mang vào trong bộ nhớ. Khi một trang phảiđược thay thế, trang cũ nhất sẽ được chọn. Chú ý rằng, nó không yêu cầu nghiêm ngặt để ghi thời gian khi trang được mang vào. Chúng ta có thể tạo một hàng đợi FIFO để quản lý tất cả trang trong bộ nhớ. Chúng ta thay thế trang tại đầu hàng đợi. Khi trang được mang vào bộ nhớ, chúng ta chèn nó vào đuôi của hàng đợi. )

Giải thuật thay thế trang FIFO rất dễ hiểu và lập trình. Tuy nhiên, năng lực của nó không luôn tốt. Trang được cho để thay thế có thể là trang chứa nhiều dữ liệu cần thiết, thường xuyên được sử dụng nên được nạp sớm, do vậy khi chuyển ra bộ nhớ phụ sẽ nhanh chóng gây ra lỗi trang

-LRU(Last Recently  Used): thay thế trang có sửu dụng lần cuối cách thời điểm đổi lâu nhất

Sự khác biệt chủ yếu giữa giải thuật FIFO và OPT là FIFO dùng thời gian khi trang được mang vào bộ nhớ; giải thuật OPT dùng thời gian khi trang được sử dụng. Nếu chúng ta sẽ dụng quá khứ gần đây như một xấp xỉ của tương lai gần thì chúng ta sẽ thay thế trang mà nó không được dùng cho khoảng thời gian lâu nhất

Thay thế trang LRU gắn với mỗi trang thời gian sử dụng cuối cùng của trang. Khi một trang phải được thay thế, LRU chọn trang không được dùng trong một khoảng thời gian lâu nhất. Chiến lược này là giải thuật thay thế trang tối ưu tìm kiếm lùi theo thời gian hơn là hướng tới.

LRU thường được dùng như giải thuật thay thế trang và được xem là tốt. Vấn đề chính là cách cài đặt thay thế LRU. Một giải thuật thay thế trang LRU có thể yêu cầu sự trợ giúp phần cứng. Vấn đề là xác định thứ tự cho các khung được định nghĩa bởi thời gian sử dụng gần nhất

-Optil Algothm : thay thế trang tối ưu

Giải thuật thay thế trang tối ưu có tỉ lệ lỗi trang thấp nhất trong tất cả cácgiải thuật và sẽ không bao giờ gặp phải sự nghịch lý của Belady. Giải thuật như thếtồn tại và được gọi là OPT hay MIN. Nó đơn giản là: thay thế trang mà nó không được dùng cho một khoảng thời gian lâu nhất. Sử dụng giải thuật thay thế trang đảm bảo tỉ lệ lỗi trang nhỏ nhất có thể cho một số lượng khung cố định

giải thuật thay thế trang tối ưu là khó cài đặt vì nó yêu cầu kiến thức tương lai về chuỗi tham khảo. Do đó, giải thuật tối ưu được dùng chủ yếu cho nghiên cứu so sánh.

C âu 24: Các thuật toán cấp phát liên tục trong bộ nhớ chính

-          First Fit: Tìm đến block đầu tiên (đang trong trạng thái avaible) mà đủ để nạp vùng nhớ vào thì cho vào ngay. Nhược điểm của thuật toán này là tạo ra những

-          Best Fit: Tìm đến block hợp lý nhất(phần dư ra sau khi cấp phát cpu cho chương trình là bé nhất). Nhược điểm của cách cấp phát này là tạo ra những block avaiable nhỏ, nhiều phân mảnh (fracmentations)

-          Worst Fit: Tìm đến block to nhất(mà còn avaiable) để cấp phát bộ nhớ cho chương trình. Cách này chưa hẳn đã tệ… vì như thế gây ra ít phân mảnh cho bộ nhớ… 

Câu 26: Phân biệt hai hiện tượng phân mảnh nội (internal fragmentation) và phân mảnh ngoài (external fragmentation), chúng xuất hiện khi nào và tại sao?

Phân mảnh nội xảy ra trong quá trình cấp phát liên tục .Tiến trình được cấp phát bộ nhớ lớn hơn yêu  cầu

Phân mảnh ngoại xảy ra trong quá trình bộ nhớ trong phân trang . Phần bộ nhớ còn trống trong quá trình cấp phát liên tục nhưng không đủ cấp phát cho bất kỳ tiến trình nào khác 

Câu  28: SWAPPING

Một quá trình cần ở trong bộ nhớ để được thực thi. Tuy nhiên, một quá trình có

thể được hoán vị (swapped) tạm thời khỏi bộ nhớ tới vùng lưu trữ phụ backing store,sau đó mang trở lại bộ nhớ để việc thực thi được tiếp tục.

Swapping dựa trên nguyên tắc  1 chương trình ở trạng thái chờ đợi trong một khoảng thời gian tương đối dài sẽ tạm thời chuyển ra bộ nhớ ngoài (swap out ) để giải phóng vùng nhớ cấp phát cho chương trình khác hoạt động.Khi chương trình kết thúc trạng thái chờ, nó sẽ được nạp trở lại bộ nhớ trong (swap in ) để tiếp tục thực hiện .Chú ý :khi chương trình được nạp trở lại bộ nhớ trong thì có thể xảy ra 2 trường họp:nếu quá trình ánh xạ địa chỉ vật lí được thực hiện vào thời điểm nạp chương trình thì chương trình cần được cấp  phát lại đúng vùng nhớ mà nó đã chiếm giữ trước đó. Nếu quá trình ánh xạ được thực hiện vào thời điểm xử lý thì có thể nạp lại chương trình vào 1 vùng nhớ bất kì.

S wapping cần dùng 1 bộ nhớ ngoài (đĩa từ ),cần quan tâm tới thời gian chuy ển đổi giữa các tác vụ

câu 29: lỗi trang trong kĩ thuật bộ nhớ ảo

Truy xuất đến một trang được đánh dấu bất hợp lệ sẽ làm phát sinh một lỗi trang (page fault). Khi dò tìm trong bảng trang để lấy các thông tin cần thiết cho việc chuyển đổi địa chỉ, nếu nhận thấy trang đang được yêu cầu truy xuất là bất hợp lệ, cơ chế phần cứng sẽ phát sinh một ngắt để báo cho hệ điều hành. Hệ điều hành sẽ xử lý lỗi trang như sau :

Kiểm tra truy xuất đến bộ nhớ là hợp lệ hay bất hợp lệ

Nếu truy xuất bất hợp lệ : kết thúc tiến trình

Ngược lại : đến bước 3

Tìm vị trí chứa trang muốn truy xuất trên đĩa.

Tìm một khung trang trống trong bộ nhớ chính :

Nếu tìm thấy : đến bước 5

Nếu không còn khung trang trống, chọn một khung trang « nạn nhân » và chuyển trang « nạn nhân » ra bộ nhớ phụ (lưu nội dung của trang đang chiếm giữ khung trang này lên đĩa), cập nhật bảng trang tương ứng rồi đến bước 5

Chuyển trang muốn truy xuất từ bộ nhớ phụ vào bộ nhớ chính : nạp trang cần truy xuất vào khung trang trống đã chọn (hay vừa mới làm trống ) ; cập nhật nội dung bảng trang, bảng khung trang tương ứng.

Tái kích hoạt tiến trình người sử dụng.

* Thay thế trang

Khi xảy ra một lỗi trang, cần phải mang trang vắng mặt vào bộ nhớ . Nếu không có một khung trang nào trống, hệ điều hành cần thực hiện công việc thay thế trang – chọn một trang đang nằm trong bộ nhớ mà không được sử dụng tại thời điểm hiện tại và chuyển nó ra không gian swapping trên đĩa để giải phóng một khung trang dành chỗ nạp trang cần truy xuất vào bộ nhớ.

Như vậy nếu không có khung trang trống, thì mỗi khi xảy ra lỗi trang cần phải thực hiện hai thao tác chuyển trang : chuyển một trang ra bộ nhớ phụ và nạp một trang khác vào bộ nhớ chính. Có thể giảm bớt số lần chuyển trang bằng cách sử dụng thêm một bit cập nhật (dirty bit). Bit này được gắn với mỗi trang để phản ánh tình trạng trang có bị cập nhật hay không : giá trị của bit được cơ chế phần cứng đặt là 1 mỗi lần có một từ được ghi vào trang, để ghi nhận nội dung trang có bị sửa đổi. Khi cần thay thế một trang, nếu bit cập nhật có giá trị là 1 thì trang cần được lưu lại trên đĩa, ngược lại, nếu bit cập nhật là 0, nghĩa là trang không bị thay đổi, thì không cần lưu trữ trang trở lại đĩa.

///////////CÁCH 2

 khi hệ thống truy  xu ất tới 1 trang nhưng trang n ày chưa được nạp vào  bộ nhớ  trong  sẽ làm phát sinh 1 lỗi trang (page fault)

Xử lý lỗi trang là một trong những nhiệm vụ quan trọng và phức tạp của hệ thống và hệ điều hành. Để xử lý lỗi trang hệ thống phải tạm dừng các thao tác hiện tại, trong trường hợp này hệ thống phải lưu lại các thông tin cần thiết như: con trỏ lệnh, nội dung của các thanh ghi, các không gian địa chỉ bộ nhớ, …, các thông tin này là cơ sở để hệ thống tái kích hoạt tiến trình bị tạm dừng trước đó khi nó đã hoàn thành việc xử lý lỗi trang.   

Khi xảy ra lỗi trang , hệ thống sẽ nạp trang thiếu vào bộ nhớ .n ếu kh ông còn trang tr ống th ì sẽ  thực hiện thay th ế trang

Cách xử lý hiện tượng lỗi trang trong bộ nhớ ảo

Truy xuất một trang được đánh dấu là “không hợp lệ” gây ra một trap lỗi trang(page-fault trap). Phần cứng phân trang ,dịch địa chỉ thông qua bảng trang sẽ thông báo rằng bit không hợp lệ được đặt, gây ra một trap tới hệ điều hành. Trap này là kết quả lỗi của hệ điều hành mang trang được mong muốn vào bộ nhớ trong (trong một cố gắng tối thiểu chi phí chuyển đĩa và yêu cầu bộ nhớ) hơn là lỗi địa chỉ không hợp lệ như kết quả của việc cố gắng dùng một địa chỉ bộ nhớ không hợp lệ (như một kí hiệu mảng không hợp lệ). Do đó chúng ta phải sửa trường hợp sơ xuất này. Thủ tục cho việc quản lý lội trang này là không phức tạp:

1, Chúng ta kiểm tra bảng bên trong (thường được giữ với khối điều khiển tiến trình) cho tiến trình này, để xác định tham chiếu là truy xuất bộ nhớ hợp lệ hay không hợp lệ.

 2, Nếu tham chiếu là không hơp lệ,chúng ta kết thúc tiến trình .Nếu nó là hợp lệ,nhưng chúng ta chưa mang trang đó vào bộ nhớ ,bây giờ chúng ta mang trang đó vào bộ nhớ theo thuật toán sau :

- Step1:   Kiểm tra việc truy xuất tới bộ nhớ có hợp lệ không.

+Nếu có, goto  step 2

+Ngược lại kết thúc tiến trình

-Step 2:   Tìm vị trí chứa trang cần truy xuất trên đĩa từ.

-Step 3: Tìm một trang vật lý trống trong bộ nhớ chính.

-Nếu tìm thấy,goto Step 4

-Nếu không, chọn một trang đang sử dụng và chuyển nội dung trang này  ra bộ nhớ ngoài (lưu nội dung trang này vào đĩa từ), cập nhật bảng quản lý trang tương ứng.

-Step4: Chuyển trang muốn truy xuất từ bộ nhớ ngoài vào bộ nhớ trong :nạp trang cần  truy xuất vào trang vật lý trống, cập nhật nội dung quản lý trang.

-Step5: Tái kích hoạt chương trình. /////////

 Câu 30: Hãy giải thích vì sao DMA thường được “ưu ái” sử dụng như là phương thức thực thi trao đổi với ngoại vi? DMA có lợi điểm gì không đối với input thông qua bàn phím? Giải thích tại sao hoặc tại sao không?

 Truy xuất bộ nhớ trực tiếp

Đối với một thiết bị thực hiện việc truyền lớn như ổ đĩa, nó sẽ lãng phí khi dùng

bộ vi xử lý để theo dõi các bit trạng thái và đẩy dữ liệu vào thanh ghi điều khiển từng

byte một. Nhiều máy tính muốn giảm đi gánh nặng cho CPU bằng cách chuyển một

số công việc này tới một bộ điều khiển có mục đích đặc biệt được gọi là bộ điều

khiển truy xuất bộ nhớ trực tiếp (direct memory-access-DMA).

Do dữ liệu nhận từ bàn phím là từng byte một nên DMA không có nhiều lợi điểm khi sử dụng trong trường hợp này do  DMA thường dùng cho các thiết bị chứa một khối lớn dữ liệu nhằm giảm thiểu thời gian thao tác không cần thiết cho CPU.

Để khởi tạo một thao tác chuyển DMA, máy tính viết một khối lệnh DMA vào

bộ nhớ. Khối này chứa một con trỏ chỉ tới nguồn chuyển, một con trỏ chỉ tới đích

chuyển và đếm số lượng byte được chuyển. CPU viết địa chỉ của khối lệnh này tới bộ

điều khiển DMA, sau đó CPU tiếp tục làm công việc khác. Bộ điều khiển DMA xử lý

để điều hành bus bộ nhớ trực tiếp, đặt các địa chỉ trên bus để thực hiện việc chuyển

mà không có sự trợ giúp của CPU. Một bộ điều khiển DMA đơn giản là một thành

phần chuẩn trong PCs, và bảng nhập/xuất bus chính (bus-mastering I/O boards) để

PC thường chứa phần cứng DMA tốc độ cao. Quá trình này được mô tả trong hình

Câu 33: Giải thích sự khác biệt giữa “polled I/O” và “interrupt-driven I/O”. Nêu những ưu điểm của “interrup-driven I/O” so với “polled I/O”.

Polled IO :Kiểm trA Y/C CỦA các thiết bị ngoại vi theo lượt từ đầu đến cuối , theo kiểu quay vòng, khi kết thúc sẽ quay trở về IO đầu tiên. Và tiếp tục tìm kiếm cho tới khi có IO nào đó yêu cầu

Interrupt : điều khiển bởi các tin hiệu y/c ngắt từ các IO device và có thứ tự ưu tiên. VD : T.h của nguồn sẽ được ưu tiên hơn các t.h khác vì nó liên quan trực tiếp tới tình trạng an toàn của hệ thống ( CHÂU)

Ưu điểm:

-          interrupt thì sẽ không bị bỏ sót yêu cầu.

-          Tránh lãng phí tài nguyên(tránh làm mất dữ liệu)

-          Không làm lãng phí thời gian ràn soát các IO không có y/c ngắt

-          Xử lý nhanh chóng ngay những y/c cấp bách.

Câu 34: Trong các dạng hệ điều hành chính, phần I/O thường được chia thành 4 lớp. Hãy phân tách 4 lớp đó và giải thích ngắn gọn chức năng cuả chúng.

   Hệ thống quản lý nhập/xuất được tổ chức theo từng lớp, mỗi lớp có một chức năng nhất định và các lớp có giao tiếp với nhau như sơ đồ sau :

                  CÁC LỚP                 CHỨC NĂNG NHẬP/XUẤT

Xử lý của người dùng

Tạo lời gọi nhập/xuất, định dạng nhập/xuất

Phần mềm độc lập thiết bị

Đặt tên, bảo vệ, tổ chức khối, bộ đệm, định vị

Điều khiển thiết bị

Thiết lập thanh ghi thiết bị, kiểm tra trạng thái

Kiểm soát ngắt

Báo cho driver khi nhập/xuất hoàn tất

Phần cứng

Thực hiện thao tác nhập/xuất

Ví dụ: Trong một chương trình ứng dụng, người dùng muốn đọc một khối từ một tập tin, hệ điều hành được kích hoạt để thực hiện yêu cầu này. Phần mềm độc lập thiết bị tìm kiếm trong cache, nếu khối cần đọc không có sẵn, nó sẽ gọi chương trình điều khiển thiết bị gửi yêu cầu đến phần cứng. Tiến trình bị ngưng lại cho đến khi thao tác đĩa hoàn tất. Khi thao tác này hoàn tất, phần cứng phát sinh một ngắt. Bộ phận kiểm soát ngắt kiểm tra biến cố này, ghi nhận trạng thái của thiết bị và đánh thức tiến trình bị ngưng để chấm dứt yêu cầu I/O và cho tiến trình của người sử dụng tiếp tục thực hiện

Câu 36: Có 2 dạng thiết bị đầu cuối nối tiếp (serial) và memory-mapped đều đẩy kí tự ra màn hình. Hãy giải thích tại sao thiết bị đầu cuối nối tiếp phải sử dụng ngắt trong khi thiết bị đầu cuối memory-mapped không bắt buộc.

Lúc cpu muốn đọc 1 từ từ bộ nhớ hay 1 cổng IO nó đẩy địa chỉ cần lên dòng bus địa chỉ và xá nhận 1 t.h read đưa lên bus điều khiển dòng t.h thứ 2 dùng để chỉ ra có cần hay không IO space hoặc memory space . Nếu cần memory space thì bộ nhớ chịu trách nhiệm với những yêu cầu đó,  nếu là IO space thì IO device phải chịu trách nhiệm thực hiện các yêu cầu đó.

Nếu chỉ có Memory space thì mỗi modul nhớ và mỗi IO device sẽ ss các dòng địa chỉ(cpu đẩy lên bus địa chỉ) với khoảng địa chỉ của nó. Nếu địa chỉ cpu đẩy đến nằm trong khoảng địa chỉ của nó thì nó chịu trách nhiệm thực hiện các y/c đó .

Tương tự như polled IO(serial) và interrupt – driven  IO(mapped)

Câu 37:Tại sao mỗi bộ giải mã ngoại vi cần bộ giải mã địa chỉ bộ nhớ?

Khối điều khiển của mỗi ngoại vi có chứa một bộ giải mã địa chỉ :Để có thể giao tiếp dữ liệu với máy tính thông qua các chân dữ liệu. Các ngoại vi cần được xác thực địa chỉ đối với máy tính để máy tính có thể truyền dữ liệu tới các địa chỉ này. Bộ giải mã địa chỉ của khối điều khiển nhằm xác định xem khi ngoại vi đấu vào CPU, nó sẽ đc nhận địa chỉ nào và thông báo cho CPU biết để CPU có thể nắm đc vị trí của nó khi cần gửi dữ liệu hoặc thu dữ liệu từ nó.

Câu 38: Tắc nghẽn (deadlock)  và các cách để  khắc phục tắc nghẽn.

Hiện tượng nghẽn vì máy đợi thực hiện một quá trình không bao giờ xảy ra gọi là 1 quá trình dead lock. Hệ thống bị deadlock tức là hệ thống đang chứa quá trình deadlock. Quá trình nghẽn xẩy ra khi các nội dung chuẩn bị thực thi đều đang đợi nhau, lí do xẩy ra:

+Quá trình cần thực hiện loại trừ tương hỗ trên vùng tranh chấp(điều kiện mutual exclusion)

+Quá trình đang giữ tài nguyên có thể yêu cầu thêm tài nguyên khác(hold and wait)

+Tài nguyên chỉ được giải phóng khi quá trình dùng xong(no-preemption)

+Các quá trình giữ và đợi tài nguyên tạo thành vòng luẩn quẩn ( circular wait)

Để tránh deadlock:

Sử dụng giải thuật nhà băng với các ràng buộc:

+Yêu cầu vay cực đại <= vốn nhà băng ( yêu cầu tài nguyên bé hơn tài nguyên hệ thống)

+Khách không trả vốn nếu vay chưa đủ yêu cầu( chưa hoàn trả tài nguyên nếu chưa được cấp phát đủ)

+Khi vay đủ, khách phải trả đủ vốn sau thời gian hữu hạn( hoàn trả lại tài nguyên sau 1 thời gian qui định của máy)

Sử dụng lược đồ RAG để theo dõi deadlock. Khi xẩy ra deadlock thì thực hiện giải thuật nhà băng. Thực hiện: chọn lựa quá trình để thu hồi tài nguyên. Treo quá trình quá tải , thu hồi lại tài nguyên từ chương trình đó, sau đó phục hồi các quá trình còn lại

Câu 40: Đánh giá ngắn gọn các loại thiết bị lưu trữ; sự khác nhau căn bản giữa Đĩa cứng và Băng từ; Nguyên tắc tổ chức lưu trữ tệp tin trên 2 loại thiết bị lưu trữ này.

 Đánh giá ngắn gọn các loại thiết bị lưu trữ; sự khác nhau căn bản giữa Đĩa cứng và Băng từ; Nguyên tắc tổ chức lưu trữ tệp tin trên 2 loại thiết bị lưu trữ này.

Đĩa cứng: Dung lượng lớn, truy xuất nhanh, lưu động, an toàn vật lý trung bình

Đĩa mềm: Dung lượng nhỏ, lưu động, kém an toàn vật lý

USB: tương tự đĩa cứng + nhỏ gọn, an toàn vật lý cao

Băng từ:Lưu động, dung lượng vừa phải, kém an toàn vật lý

Khác nhau căn bản giữa đĩa cứng và băng từ các cách lưu trữ dữ liệu:

Đĩa cứng: lưu trữ thông tinh trên các rãnh ô nhớ từ tính cực nhỏ của đĩa.

Băng từ: lưu trữ thông tin theo các dải hạt từ trên mặt băng

Nguyên tắc tổ chức file:

Đĩa cứng: tổ chức lưu trữ theo địa chỉ.

Băng từ: tổ chức lưu trữ liền mạch có thứ tự

Câu 41. Đối với đĩa cứng những yếu tố nào tác động nhiều nhất đối với tốc độ truy cập tệp tin trên đó. Nêu ngắn gọn các thuật toán định vị đầu từ trong quá trình truy nhập tệp tin.

* Thời gian truy xuất phụ thuộc 3 yếu tố

+ thời gian di chuyển đầu từ đọc/ghi đến track hoặc cylinder cần thiết (seek-time)

+ thời gian định vị đầu từ đọc/ghi tại khối đĩa cần truy nhập(latency-time)

+ thời gian truy nhập dữ liệu (transfer-time)

Lưu ý: Thời gian định vị đầu từ đọc ghi và thời gian truy nhập dữ liệu thông thường cố định và fụ thuộc cấu trúc kĩ thuật của ổ đĩa. Do đó để tăng tốc độ truy nhập đĩa, các hđh thường quan tâm tới thời gian di chuyển đầu từ đọc ghi.

* Một số thuật toán địnhvij đầu từ trong quá trình truy nhập tệp tin

II.1 First Come First Served(FCFS)

Để truy nhập tới 1 file, hệ thống sẽ tổ chức một hàng đợi các yêu cầu fục vụ của các track(lưu trư dữ liệu của file cần truy nhập ). Track nào có yêu cầu fục vụ trước thỉ đầu từ đọc/ghi sẽ dịch chuyển tới đó trước.

II.2 Shortest Seek Time First(SSTF)

SSTF chọn track nào thời gian di chuyển đầu từ đọc/ghi ngắn nhất thì fục vụ trước

II.3 Scan

Trong thuật toán này, đầu từ đọc/ghi quét từ track hiện tại vể một fía, sau đó quét ngược lại phía còn lại, trên đường đi gặp track nào có yêu cầu thì fục vụ

II.4 C-Scan

Thuật toán này tương tự như Scan nhưng đầu từ đọc/ghi ko fục vụ đường về(Ko quét ngược lại)

II.5 Look

Tương tự như Scan nhưng trong thuật toán này, đầu từ đọc/ghi chỉ quét trong fạm vi các track có nhu cầu fục vụ, ko quét tới track đầu tiên hoặc cuối cùng(nếu các track này ko có yêu cầu fục vụ)

II.6 C-look

Tương tự như Look nhưng đầu từ đọc/ghi không fục vụ đường về.

Chú ý: Thuật toán FCFS, SSTF được áp dụng phổ biến, các thuật toán kiểu Scan, Look chỉ được áp dụng cho những đĩa chịu tải lớn.

Câu 45: Các thuộc tính chính và các trạng thái của File các hệ điều hành khác nhau thường có?

Các hệ điều hành khác nhau quản lý tập tin của chúng với những thuộc tính khác nhau. Nhưng điển hình thì chúng đều có :

Tên: chỉ là thông tin được lưu trữ dưới dạng người dùng có thể đọc

Đinh danh( identifier): là thẻ duy nhất xác nhận 1 tập tin này khác với tập tin khác. Người dùng không tể xem đc thông tin này.

Kiểu(type): thông tin đòi hỏi cho phép tập tin chạy bởi 1 chương trình nào.

Vị trí( location): là con trỏ chỉ tới vị trí của tập tin đang đc lưu ở đâu

Kích thước ( size): dung lượng của tập tin này chiếm trên đĩa cứng

Giờ( time), ngày(date) và định danh người dùng(user identification): thông tin về việc tạo lập, thay đổi của người dùng với tập tin ở thời điểm mới nhất.

Câu 46: Hãy mô tả hệ điều hành xoá FILE như thế nào và tại sao?

Khi ta chọn đến 1 file và thực hiện lệnh xóa. HDH sẽ lấy nội dung thông tin của file cần xóa ( ID và địa chỉ của nó). Sau đó, lần tới địa chỉ đó và giải phóng vùng bộ nhớ liên quan đến file này. Loại bỏ ID của nó khỏi bộ nhớ. Vì mỗi file có 1 ID duy nhất nên nó phải loại bỏ ID này và ghi nhớ lại ID đã loại bỏ, đây là cơ sở để có thể back up 1 file đã xóa.

Mỗi lần xóa,di chuyển… 1 file gây ra sự ko liền mạch trong bộ nhớ. Gọi là hiện tượng fragment. Khiến việc truy cập tới 1 file khác chậm hơn vì phải đi qua vùng trống này. Để giảm thiểu fragment, các hệ điều hành thường có chương trình Defragment để làm liền mạch các vùng nhớ, hỗ trợ cho việc truy xuất nhanh hơn.

(thủ tục xóa của máy sẽ nhận đầu vào là địa chỉ của file mà mình vừa chọn  nó dò đến địa chỉ đó,giải phóng bộ nhớ ,đồng thời lưu lại ID cần xóa)

Câu 49: Phân biệt Device, Driver và Device Controller.

Device (thiết bị) : là các thành phần “cứng” cấu thành lên một hệ thống cho phép các phần mềm có thể hoạt động trên nó.

Driver (trình điều khiển): là các phần mềm điều khiển cho một Device cụ thể. Cho phép một chương trình tương tác với thiết bị thông qua trình điều khiển của thiết bị đó.

Device Controller ( thiết bị điều khiển):  là một phần của một hệ thống máy tính cho phép các tín hiệu đi, và đến từ ngoại vi tới các bộ vi xử lý CPU. Mỗi thiết bị đều có bộ đệm và các thanh ghi điều khiển, nó cho phép thực thi một chương trình của CPU thông qua ngắt.

Bạn đang đọc truyện trên: AzTruyen.Top