hosithai00
Câu 1:
Hãy trình bày sự phân loại theo nguyên lý hoạt động của hệ điều hành. Hệ điều hành được phát triển theo hướng nào, cho biết sự tiến hóa của các hệ điều hành.
Hệ điều hành MSDOS và Windows 98, 2000, XP được xếp vào loại OS nào.
a. Sự phân loại theo nguyên lý hoạt động của OS:
- Khái niệm OS: là phần mềm hoạt động ở lớp trung gian giữa người sử dụng máy tính và phần cứng. Giữ vai trò trung gian điều khiển và bố trí việc sử dụng phần cứng cho các ứng dụng và đối tượng sử dụng. (Là chương trình điều khiển sự thực hiện các chương trình, ngăn ngừa lỗi và sự sử dụng không thích hợp. Là chương trình điều khiển hoạt động của hệ thống máy tính.)
- Phân loại:
• OS đơn nhiệm và OS đa nhiệm:
+ OS đơn nhiệm: là OS mà tại mỗi thời điểm chỉ có thể điều hành hoạt động của một chương trình. Khi một chương trình được nạp vào bộ nhớ thì nó sẽ chiếm dụng toàn bộ tài nguyên của hệ thống, không thể thực thi một chương trình nào khác khi chương trình này chưa kết thúc.
+ OS đa nhiệm là OS cho phép thực hiện nhiều chương trình cùng 1 thời điểm, tài nguyên được chia sẻ cho các chương trình nên đảm bảo phân phối tài nguyên tốt.
• OS đơn chương và OS đa chương
+ OS đơn chương: tại mỗi thời điểm chỉ cho phép một người sử dụng làm việc.
+ OS đa chương: một user đơn lẻ không được sử dụng CPU và thiết bị I/O toàn thời gian. Các công việc được tổ chức đa chương thì CPU luôn thực hiện một trong đấy. Khi một công việc rơi vào trạng thái chờ thì OS sẽ chuyển sang công việc khác. (Tại mỗi thời điểm có nhiều chương trình được quản lý trong bộ nhớ và chỉ có một chương trình được thực hiện.
• OS chia sẻ thời gian và OS thời gian thực
+ OS chia sẻ thời gian: là hệ thống đa chương có khả năng tương tác cho phép nạp nhiều chương trình vào bộ nhớ. Thời gian chuyển phù hợp <1s. Mỗi người sử dụng có ít nhất 1 chương trình trong bộ nhớ gọi là tiến trình. Nếu bộ nhớ trong không đủ thì sẽ đưa các tiến trình không đặt vừa ở bộ nhớ trong ra bộ nhớ ngoài (Virtual Memory). (1 CPU luôn luôn cung phục vụ các tiến trình và 1 tiến trình có thể rơi vào trạng thái chờ khi chưa được phân bổ CPU.)
+ OS thời gian thực: tiến trình được nạp vào hệ thống ở bất kì thời điểm nào đều được phân phối giờ CPU. Luôn được sử dụng như những thiết bị điều khiển trong ứng dụng chuyên biệt: thí nghiệm khoa học, hệ mô phỏng trong y học,… Phải hoàn thành một công việc trong thời gian xác định cưỡng bức. Hệ thống real – Time có thể là Hard real – time hoặc soft real – time.
Hard real – time: Bộ lưu trữ thứ cấp có giới hạn hoặc không có, dữ liệu được lưu trữ trong bộ nhớ nhỏ hoặc trong ROM, không hỗ trợ các OS đa năng.
Soft real – time: Sử dụng điều khiển các robot công nghiệp. Sử dụng trong các ứng dụng multimedia, thực tại ảo (virtual reality)
• OS tập trung và OS phân tán:
+ OS tập trung: được cài đặt trên hệ thống máy chủ của mạng, nó điều hành mọi thao tác, xử lý và tính toán tại các máy trạm.
+ OS phân tán: phân tán sự tính toán trên một vài bộ xử lý vật lý. Các bộ xử lý có một bộ nhớ riêng và truyền thông tin cho nhau trên đường truyền tốc độ cao. Các lợi ích của OS phân tán: Chia sẻ tài nguyên, tăng tốc độ tính toán, đáng tin cậy, dùng trong truyền thông.
b. OS được phát triển theo hướng nào:
- OS pt song song cùng với sự pt của máy tính điện tử. Phát triển theo hướng giao diện đồ họa người dùng, cho phép người sử dụng tương tác với phần cứng máy tính một cách thân thiện.
- Mục tiêu của OS:
* Làm cho người sử dụng thực thi dễ dàng các ứng dụng của mình.
* Thao tác điều khiển máy tính trở nên thuận tiện
* Khai thác phần cứng máy tính một cách có hiệu quả.
OS pt cũng dựa theo những mục tiêu trên.
c. Cho biết sự tiến hóa của các OS
Ban đầu OS làm việc theo phương pháp trọn gói, sau đó được bổ xung thêm các tính năng để có thể đáp ứng được nhu cầu công việc của người sd.
OS đầu tiên có thể tự động hóa sắp xếp công việc cho máy tính thi hành là monitor đơn giản. Tiếp theo đó, OS cung cấp khả năng điều khiển hoạt động của nhiều chương trình tại cùng một thời điểm. Và để đảm bảo cho sự an toàn của hệ thống các OS sau này còn bổ xung nhiều chế độ bảo vệ như: bảo vệ các thiết bị I/O, CPU, memory… tránh hiện tượng tranh chấp tài nguyên, sd tài nguyên sai mục đích.
d. MS DOS: đơn nhiệm, mỗi thời điểm chỉ thực hiện 1 thao tác duy nhất. OS có giao diện dòng lệnh.
Windows: thuộc hệ điều hành đa nhiệm (chia sẻ thời gian) người sử dụng có thể thi hành nhiều ứng dụng cùng một lúc.
Câu 2.
Hãy mô tả các thành phần hệ thống cơ bản của hệ điều hành.
Hãy nêu các chương trình hệ thống của hệ điều hành Windows *.* có chức năng quản lý bộ nhớ trong, quản lý bộ nhớ phụ.
a. Mô tả các thành phần hệ thống cơ bản của OS:
- Quản trị tiến trình (Process Management)
• Một tiến trình là một chương trình đang thực thi. Tiến trình cần một số tài nguyên như giờ CPU, bộ nhớ, tệp tin, thiết bị I/O để hoàn thành nhiệm vụ của nó.
• OS cung cấp các chức năng để quản trị tiến trình: Tạo và loại bỏ tiến trình; Tạm dừng và tiếp tục tiến trình; Cung cấp cơ chế để: Đồng bộ hóa tiến trình, truyền thông tin giữa các tiến trình, xử lý xung đột tài nguyên giữa các tiến trình.
- Quản trị bộ nhớ (Main memory Management)
• Bộ nhớ chính là một mảng lớn các từ hoặc byte nhớ được gắn địa chỉ. Đây là nơi chứa các dữ liệu chia sẻ bởi CPU và thiết bị nhập xuất.
• Bộ nhớ chính là thiết bị lưu trữ không ổn định, nó sẽ mất nội dung lưu trữ khi hệ thống bị hỏng.
• Hệ điều hành cung cấp các chức năng sau để quản trị bộ nhớ: Lưu trữ thông tin về các vùng bộ nhớ đang được sd; Quyết định tiến trình nào được nạp khi kô gian nhớ có khả năng được dùng; Cấp phát và thu hồi không gian nhớ khi tiến trình bắt đầu và kết thúc.
- Quản trị hệ thống tệp tin (File System Management)
• Một tệp tin và một tập hợp thông tin có liên quan do con người tạo nên. Tệp tin điển hình là tệp tin chương trình (gồm mã nguồn và đối tượng liên quan) và tệp dữ liệu.
• OS cung cấp các chức năng để quản trị hệ thống tệp tin: Tạo và xóa tệp; Tạo và xóa thư mục; Hỗ trợ các thao tác cơ bản trên tệp và thư mục: copy, cut, paste,…; Ánh xạ tệp tin lên bộ nhớ thứ cấp; Backup tệp tin trên các thiết bị lưu trữ an toàn.
- Quản trị hệ thống nhập xuất (I/O System Management)
• Hệ thống nhập xuất gồm có: Hệ thống Buffer – caching; Bảng mạch điều khiển (Bộ giao tiếp điều khiển thiết bị); Các bộ điều khiển thiết bị đặc thù (Bộ đệm).
- Quản trị bộ nhớ thứ cấp (Secondary Storage Management)
• Bộ nhớ chính không ổn định và quá nhỏ để chứa tất cả các dữ liệu và chương trình lâu dài, hệ thống phải cung cấp secondary storage dự phòng. (Bộ lưu trữ sơ cấp, bộ nhớ sơ cấp: Bộ nhớ chính của máy tính, bao gồm bộ nhớ truy cập ngẫu nhiên ( RAM) và bộ nhớ chỉ đọc ra ( ROM), có thể truy cập trực tiếp đối với bộ xử lý trung tâm ( CPU).)
• Hệ thống máy tính hiện đại hiện nay sd đĩa như là bộ nhớ online chủ yếu cho cả chương trình và dữ liệu.
• OS cung cấp các chức năng sau để quản trị đĩa: Quản lý không gian trống; Định vị lưu trữ; Lập lịch cho đĩa (disk scheduling)
- Quản trị hệ thống phân tán (Networking)
• Một tập hợp các bộ xử lý không chia sẻ bộ nhớ và đồng hồ. Mỗi bộ xử lý có bộ nhớ cục bộ riêng.
• Các bộ xử lý trong hệ thống liên kết thông qua mạng truyền thông.
• Hệ thống phân tán cho phép các đối tượng sd được truy xuất tới các tài nguyên hệ thống khác.
• Truy xuất tới tài nguyên chung như sau: Tính toán tốc độ cao; Tăng thêm dữ liệu có giá trị; Nâng cao độ tin cậy.
- Hệ thống bảo vệ (Protection System)
• Protection – cơ chế điều khiển truy nhập của tiến trình hoặc người sử dụng được quy định bởi OS.
• Security – an ninh, sự phòng thủ của hệ thống chống lại tấn công từ bên trong hoặc từ ngoài: dịch vụ không có, sâu, virus, đánh cắp nhận dạng, dịch vụ ăn trộm…
• Hệ thống phân biệt các đối tượng sử dụng và phân quyền để xác định đối tượng nào được làm cái gì: nhận dạng đối tượng sử dụng (user IDs, security IDs) gồm tên và mật khẩu, mỗi user nhận dạng duy nhất;
- Hệ thống thông dịch lệnh (Command – Interpreter System)
• Tạo và quản trị tiến trình
• Điều khiển I/O
• Quản trị bộ nhớ thứ cấp
• Quản trị bộ nhớ chính
• Truy xuất file – system
• Bảo vệ
• Hệ thống mạng
• Chương trình dịch và thông dịch các chỉ thị được gọi là: Bộ thông dịch dòng lệnh; Shell
b. Các chương trình hệ thống của OS Windows *.* có chức năng quản lý bộ nhớ trong và bộ nhớ phụ:
- Quản trị tập tin: tạo, xóa, copy, đổi tên,… và các thao tác tập tin thư mục thông thường.
- Thông tin trạng thái:
- Thay đổi tập tin:
- Hỗ trợ ngôn ngữ lập trình:
- Nạp và thực thi chương trình:
- Giao tiếp:
Câu 3:
Nêu lược đồ cơ bản về tổ chức hoạt động của phần cứng máy tính (Mô tả sơ đồ, chức năng và quan hệ giữa các mođun.)
Quá trình khởi động máy tính. Hệ điều hành thực sự nắm quyền kiểm soát máy tính ở giai đoạn nào?
Trình bày cách thức tổ chức hoạt động giữa CPU và các thiết bị I/O.
a. Lược đồ cơ bản về tố chức hoạt động của phần cứng máy tính:
- Mô tả: Một hoặc nhiều CPU, thiết bị điều khiển kết nối qua đường truyền chung cùng truy nhập đến bộ nhớ được chia sẻ.
- Mỗi modul vào – ra nối ghép các thiết bị vào ra bới máy tính. Mỗi modul vào ra có 1 hoặc 1 vài cổng vào – ra được đánh địa chỉ
b. Quá trình khởi động máy tính, OS thực sự nắm quyền ở giai đoạn nào?
- Quá trình khởi động máy tính:
bootstrap program được nạp tại thời điểm bật máy
Khởi động all các bộ phận của hệ thống
Nạp hạt nhân của OS và thực thi
Các chức năng cơ bản được lưu trữ trong ROM hoặc EPROM được gọi là phần sụn (firmware- là phần mềm hệ thống được lưu trữ trong ROM)
- OS thực sự nắm quyền ở giai đoạn nạp hạt nhân của OS và thực thi.
c. Cách tổ chức hoạt động giữa CPU và I/O
- Thiết bị I/O và CPU có thể thực hiện đồng thời
- Mỗi bộ điều khiển thiết bị đảm nhận 1 kiểu thiết bị riêng biệt.
- Mỗi thiết bị điều khiển có 1 bộ đệm (buffer) cục bộ.
- CPU chuyển dữ liệu từ bộ nhớ chính đến bộ đệm cục bộ hoặc chuyển dữ liệu từ bộ đệm cục bộ đến bộ nhớ chính.
- I/O chuyển dữ liệu từ thiết bị đến bộ đệm cục bộ của bộ điều khiển.
- Bộ điều khiển báo cho CPU biết để CPU dừng hoạt động và phuc vụ nó bằng một hoạt động ngắt.(interrupt).
Câu 4.
Hãy mô tả hoạt động của ngắt, các phương pháp điều khiển ngắt (sơ đồ mô tả điều khiển đồng bộ và không đồng bộ) và giải thích về sơ đồ và ý nghĩa của bảng các trạng thái của thiết bị I/O.
a. Mô tả hoạt động của ngắt:
- Ngắt là cơ chế cho phép CPU tạm dừng chương trình đang thực hiện để chuyển sang thực hiện 1 chương trình khác, gọi là chương trình con phục vụ ngắt.
- Các loại ngắt:
* Do lỗi khi thực hiện chương trình: chia cho 0, tràn số…
* Do lỗi phần cứng, lỗi RAM
* Do modul vào – ra phát tín hiệu ngắt đến CPU yêu cầu trao đổi dữ liệu.
- Hoạt động ngắt:Sau khi hoàn thành một lệnh, bộ xử lý kiểm tra tín hiệu ngắt
nếu không có ngắt: bộ xử lý nhận lệnh tiếp theo của chương trình hiện tại
nếu có tín hiệu ngắt:
+ Tạm dừng chương trình đang thực hiện, cất ngữ cảnh (thông tin chương trình bị ngắt)
+ Ngắt chuyển đến một chương trình con đáp ứng ngắt thông qua vector ngắt. Chuyển sang thực hiện chương trình con đáp ứng ngắt.
+ Kiến trúc ngắt phải ghi lại địa chỉ của chỉ thị bị ngắt
+ Một ngắt khác sẽ bị vô hiệu hóa cho đến khi ngắt đang thực hiện hoạt động xongngăn chặn việc đánh mất một ngắt
+ Mỗi hoạt động của hệ thống đều được điều khiển bởi ngắt.
b. Các phương pháp điều khiển ngắt:
Phương pháp đồng bộ (a) Phương pháp không đồng bộ (b)
- Phương pháp đồng bộ: Tiến trình đang thực thi, trong quá trình chờ dữ liệu được chuyển đến khi chuyển đổi được dữ liệu, nhận được dữ liệu thì tiến trình thực thi tiếp. (CPU phải chờ đến khi tác vụ I/O hoàn tất và trong một thời điểm, có nhiều nhất là 1 tác vụ I/O được thực hiện, không xử lý được đồng thời nhiều yêu cầu I/O.)
- Phương pháp không đồng bộ: Tiến trình đang trong quá trình chờ chuyển đổi dữ liệu thì quay lại thực thi tiếp, không chờ chuyển đổi dữ liệu xong và khi chuyển đổi xong dữ liệu thì tiến trình được thực thi.
- OS thường hỗ trợ cả hai phương pháp trên.
c. Giải thích và ý nghĩa bảng các trạng thái của thiết bị I/O:
- Chứa các entry (mục (vào, nhập,…)) của mỗi thiết bị I/O ghi kiểu, địa chỉ, trạng thái…
- Ý nghĩa bảng trạng thái: Bảng trạng thái quản lý các thiết bị trong hệ thống, cho biết thiết bị nào đang hoạt động và thiết bị nào còn rỗi. Đối với các thiết bị đang sử dụng thì cho biết tên file làm việc, trạng thái làm việc, địa chỉ và độ dài bằng danh sách liên kết đơn.
- Bảng trạng thái của thiết bị I/O chứa chỉ mục các thiết bị I/O ghi kiểu, địa chỉ và trạng thái (đang sử dụng hoặc đang rỗi). Với các thiết bị đang sử dụng thì chỉ mục của nó lưu trữ một danh sách liên kết các chương trình đang sử dụng nó: tên file, thao tác (đọc/ghi), địa chỉ, độ dài.
Câu 5.
Giải thích lược đồ các thiết bị lưu trữ, phân tích nguyên lý hoạt động và đặc điểm của từng loại thiết bị lưu trữ?
Trình bày nguyên lý và hoạt động của kỹ thuật caching?
a. Lược đồ các thiết bị lưu trữ:
• Thanh ghi: là những bộ nhớ nhỏ, tốc độ truy xuất cao, gần bằng tốc độ xử lý của CPU, dùng để lưu trữ dữ liệu tạm thời.
• Bộ nhớ chính: CPU chỉ có thể truy cập trực tiếp thanh ghi và bộ nhớ chính RAM.
• Bộ nhớ phụ: là thiết bị lưu trữ mở rộng cung cấp khả năng lưu trữ lớn và lâu dài. Bộ nhớ phụ thường dùng là đĩa từ: Bề mặt đĩa chia thành các track, mỗi track được chia nhỏ hơn thành các sector và được điều khiển bởi bộ điều khiển đĩa.
b. Nguyên lý hoạt động từng loại thiết bị lưu trữ:
1. Register: là những ngăn nhớ đặc biệt nằm ngay bên trong bộ vi xử lý, tốc độ truy xuất cao, gần bằng tốc độ xử lý của CPU, dùng để lưu trữ các dữ liệu tạm thời, giúp cho hoạt động của bộ nhớ: Ví dụ: thanh ghi dữ liệu, thanh ghi địa chỉ, thanh ghi cờ,…
2. Cache:là một khối bộ nhớ nhỏ lưu trữ dữ liệu dùng thường xuyên hay đang chờ những quy trình khác dùng. Khi một quy trình cần thông tin, trước hết nó kiểm tra cache này. Nếu thông tin cần thiết đã có sẵn trong cache, quá trình thực hiện sẽ diễn ra và ngược lại, nó sẽ lấy dữ liệu từ 1 nguồn lưu trữ khác và bỏ vào trong cache. Có nhiều loại cache: Cạc xử lý (Processor cache), Disk cache, software cache, cache memory (bộ nhớ truy cập nhanh),…
3. Main memory: là thiết bị lưu trữ lớn mà CPU có thể truy cập trực tiếp (bộ nhớ truy cập ngẫu nhiên) vào chúng thông qua bit dữ liệu cao tốc của bộ xử lý đó.
4. Magetic disk (Đĩa từ): kim loại cứng hoặc khối phủ các vật liệu ghi từ tính. Bề mặt đĩa được chia thành các track, mỗi track được ghi thành các sector. Bộ điều khiển đĩa thì điều khiển tương tác giữa các thiết bị và máy tính.
5. Bộ nhớ thứ cấp (Secondary storage) là thiết bị lưu trữ mở rộng cung câp khả năng lưu trữ lớn và lâu dài.
c. Nguyên lý và hoạt động của kỹ thuật caching:
Nguyên lý: rất quan trọng được dùng với nhiều mức độ trong máy tính: hardware, operating system, software. Thông tin cần sử dụng được sao nháp từ bộ lưu trữ tốc độ chậm vào bộ lưu trữ tốc độ nhanh.
Hoạt động: Khi cần dùng dữ liệu nào đó, đầu tiên bộ nhớ cache được kiểm tra.
- Nếu có, dữ liệu được lấy trực tiếp từ cache
- Nếu không có, dữ liệu được sao tới cache và được sử dụng.
Cache là bộ lưu trữ nhỏ nhất được caching:
- Quản trị cache là bài toán thiết kế quan trọng
- Kích thước cache và chính sách thay thế dữ liệu trong cache
Câu 6.
Hãy trình bày cấu trúc phân lớp của hệ điều hành OS2.
Sự khác biệt cơ bản về cấu trúc của hệ điều hành này với hệ điều hành UNIX là gì?
Trong cấu trúc phân lớp hãy chỉ ra thành phần làm cho hệ điều hành này trở thành hệ điều hành đa nhiệm.
a. Hãy trình bày cấu trúc phân lớp của OS/2.
- OS được chia thành một số lớp (bậc), mỗi lớp được xây dựng trên một lớp bên dưới. Lớp dưới cùng là phần cứng, lớp cao nhất là giao tiếp người sd.
- Với khả năng modul hóa, các lớp được chọn một số thao tác và được phục vụ bởi chỉ lớp bậc dưới của nó.
- Các lớp của OS/2:
• Lớp 1: lớp các trình điều khiển thiết bị
• Lớp 2: lớp hạt nhân gồm có quản trị bộ nhớ, task dispatching, quản trị thiết bị
• Lớp 3: hệ thống con (subsystem)
• Lớp 4: lớp giao tiếp các chương trình ứng dụng đã được lập trình sẵn đã có sự hỗ trợ của APT – thư viện giao tiếp lập trình mở rộng.
• Lớp 5: application - ứng dụng
b. Sự khác biệt cơ bản về cấu trúc của OS này với OS Unix:
OS/2:
- Mỗi tầng được cài đặt với các thao tác được cung cấp bởi các tầng bên dưới. Mỗi tầng không cần biết thao tác cài đặt ntn, nó chỉ các thao tác đó làm gì. Do đó, mỗi tầng che giấu sự tồn tại của cấu trúc dữ liệu.
- Lợi điểm chủ yếu của tiếp cận phân tầng là tính module, nó đơn giản hóa việc gỡ rối và kiểm tra hệ thống.
- Khó khăn đến việc định nghĩa các tầng vì một tầng chỉ có thể sd tầng bên dưới nó.
- Các yêu cầu có thể không thực sự rõ rang.
Unix:
- Chứa hai phần riêng biệt tách rời nhau đó là nhân và các chương trình hệ thống
- Nhân được phân chia thành một loạt các giao diện và trình điều khiển thiết bị.
- Có rất nhiều chức năng được kết nối trong cấp hạt nhân làm cho Unix khó có thể nâng cấp. Khi mà thay đổi trong một phần sẽ ảnh hưởng tới các phần khác
- Sự phân chia này cho phép người lập trình che giấu thông tin họ tự do cài đặt các thủ tục cấp thấp khi họ thấy thích hợp
c. Cấu trúc phân lớp chỉ ra thành phần làm cho OS này trở thành OS đa nhiệm:
Thành phần làm cho OS OS/2 trở thành OS đa nhiệm là subsystem. Sự độc lập của subsystem được hỗ trợ bởi hạt nhân của OS đã làm cho OS/2 trở thành OS đa nhiệm.
Câu 7.
Hãy trình bày cấu trúc phân lớp của hệ điều hành UNIX.
Sự khác biệt cơ bản về cấu trúc của hệ điều hành này với hệ điều hành OS2 là gì?
Trong cấu trúc phân lớp hãy chỉ ra thành phần làm cho hệ điều hành này trở thành hệ điều hành đa người dùng.
a. Cấu trúc phân lớp của OS Unix:shell
Unix- bị giới hạn bởi chức năng của phần cứng, Unix phiên bản đầu có cấu trúc hạn chế. Unix có hai phần riêng biệt:
- Các chương trình hệ thống
- Kernel:
+ Gồm tất cả các thành phần bên dưới giao tiếp lời gọi hệ thống và trên lớp phần cứng.
+ Cung cấp hệ thống tệp tin, lập lịch CPU, quản trị bộ nhớ và các chức năng điều hành hệ thống khác. Một số lượng lớn các chức năng được tập hợp trong một lớp.
b. Sự khác biệt về cấu trúc của OS này với OS OS/2:
OS/2:
- Mỗi tầng được cài đặt với các thao tác được cung cấp bởi các tầng bên dưới. Mỗi tầng không cần biết thao tác cài đặt ntn, nó chỉ các thao tác đó làm gì. Do đó, mỗi tầng che giấu sự tồn tại của cấu trúc dữ liệu.
- Lợi điểm chủ yếu của tiếp cận phân tầng là tính module, nó đơn giản hóa việc gỡ rối và kiểm tra hệ thống.
- Khó khăn đến việc định nghĩa các tầng vì một tầng chỉ có thể sd tầng bên dưới nó.
- Các yêu cầu có thể không thực sự rõ rang.
Unix:
- Chứa hai phần riêng biệt tách rời nhau đó là nhân và các chương trình hệ thống
- Nhân được phân chia thành một loạt các giao diện và trình điều khiển thiết bị.
- Có rất nhiều chức năng được kết nối trong cấp hạt nhân làm cho Unix khó có thể nâng cấp. Khi mà thay đổi trong một phần sẽ ảnh hưởng tới các phần khác
- Sự phân chia này cho phép người lập trình che giấu thông tin họ tự do cài đặt các thủ tục cấp thấp khi họ thấy thích hợp
c. Thành phần nào làm cho OS này trở thành OS đa người dùng.
Câu 8.
Hãy trình bày các kỹ thuật quản lí các các khối còn trống và các khối bị hỏng trên bộ lưu trữ ngoài.
a. Quản lý các khối còn trống bằng bit vector. Hay nói cách khác là quản lý khối địa chỉ chưa dùng. Phù hợp với cách quản lý theo băng từ.
- Không gian đĩa được chia thành các khối và được đánh số từ 0 đến n-1.
0 1 2 … n-1
Bit[i] := 0 block[i] tự do và :=1 block[i] đã dùng.
- Tập hợp các ký hiệu 0, 1 tạo thành 1 bit vector. Đọc thông tin trong bit vector này (bit map) OS có thể xác định được không gian trống trên đĩa để có thể đưa tập tin mới vào trong không gian trống này.
- Phương pháp này có ưu điểm là cài đặt đơn giản. dễ quản lý, dễ tìm kiếm những khối trống liên tục trong bộ lưu trữ ngoài nhưng nhược điểm là tốn không gian lưu trữ dành cho bit map (mỗi khối tốn 1 bit).
Quản lý các khối còn trống dùng DSLK:
- Hệ thống sd một DS móc nối để liệt kê các khối còn trống
- Con trỏ đầu trong DS chỉ tới khối tự do đầu tiên, mỗi khối lại có 1 con trỏ để trỏ tới khối trống kế tiếp.
- Ưu điểm của phương pháp này là tiết kiệm không gian nhớ nhưng lại làm gia tăng thời gian truy nhập dữ liệu do ta phải truy nhâpk đến các khối trống này một cách tuần tự và không dễ dàng đối với file liên tục.
Bit map: Sự biểu diễn một hình ảnh video lưu trữ trong bộ nhớ máy tính dưới dạng một tập hợp các bit. Mỗi phần tử ảnh ( picture element-pixel) tương ứng với một điểm nhỏ trên màn hình và được điều khiển với một mã sáng hoặc tắt, được lưu trữ dưới dạng một bit (1 ứng với sáng hoặc 0 ứng với tắt), đối với các màn hình đen-trắng thì màu và các bóng xám đòi hỏi nhiều thông tin hơn. Ảnh bit là một mạng lưới các mức 1 và 0 xếp thành nhiều cột và hàng, và sẽ được máy tính chuyển đổi thành các pixel (phần tử nhỏ) để thể hiện trên màn hình.
- Bit map cần thêm không gian lưu trữ
- Dễ dàng cấp phát cho các file liên tục.
b. Quản lý các khối còn trống, bị hỏng trên bộ lưu trữ ngoài ta có thể dùng kĩ thuật FAT:
- Mỗi ô nhớ tương tự với địa chỉ của khối
- Các khối trống và khối hỏng được liên kết với nhau
- Trong mỗi ô nhớ nếu:
+ Ghi 0 là khối trống
+ Ghi từ 00 – FF là các khối hỏng
+ Ghi các số khác là các khối đã dùng.
Câu 9.
Hãy trình bày các phương pháp cơ bản để định vị tệp trên bộ lưu trữ ngoài.
a. Định vị liên tục:
- Mỗi file chiếm giữ một tập hợp liên tục các khối trên đĩa
- Đơn giản - chỉ cần biết địa chỉ khối tự do đầu tiên và độ dài (số lượng các khối của file).
- Truy cập ngẫu nhiên (ưu điểm)
- Nhược điểm: Không gian đĩa không dùng được lớn; Không lưu trữ được file lớn.
Định vị liên tục trên không gian đĩa
b. Định vị liên kết:
- Mỗi file bao gồm một danh sách liên kết các khối trên đĩa: các khối có thể rải rác bất cứ ở đâu trên đĩa.
- Trong mỗi khối đĩa có một con trỏ để trỏ đến khối đĩa tiếp theo.
- Ưu điểm: Đơn giản - chỉ cần biết địa chỉ bắt đầu; Tận dụng được không gian trống.
- Nhược điểm: không truy cập ngẫu nhiên, chỉ hỗ trợ truy cập tuần tự. Độ tin cậy không đảm bảo nếu bị mất các con trỏ liên kết. Tốn không gian nhớ để lưu trữ con trỏ.
c. Định vị theo mục lục:
- Để cấp phát không gian nhớ cho một file, hệ thống sd 1 khối đặc biệt gọi là khối chỉ mục cho mỗi file.
- Chuyển all các con trỏ vào một khối chỉ số.
- Khi một khối chỉ mục được cấp phát cho file thì hệ thống
- Nhược điểm: cần bảng mục lục. Nếu thêm một tệp tin vào thì cần nhiều khối chỉ mục.
- Ưu điểm: truy cập ngẫu nhiên trực tiếp
Câu 10. (Trang 53)
Hệ điều hành UNIX và MSDOS sử dụng phương pháp nào để định vị tệp, mô tả bằng sơ đồ.
a. OS Unix định vị tệp bằng phương pháp mục lục:
Định vị theo mục lục: Mục lục đa cấp. (hình 10.2)
- Chuyển tất cả các con trỏ vào một khối chỉ số
- Cần bảng mục lục
- Truy cập ngẫu nhiên
- Ánh xạ từ địa chỉ logic vào địa chỉ vật lý một file có kích thước tối đa 256K và kích thước khối 512K. Chúng ta chỉ cần một khối mục lục
Sơ đồ:
Hình 10.1. Ví dụ về định vị theo mục lục
Hình 10.2
Lược đồ tố hợp Unix, Mục lục đa cấp, Quản lý tập tin cực lớn.
b. MS DOS sd phương pháp để định vị tệp là: định vị liên kết (Phương pháp FAT)..
- Mỗi file bao gồm một danh sách liên kết các khối trên đĩa có thể rải rác bất cứ đâu trên đĩa.
- Đơn giản chỉ cần biết địa chỉ bắt đầu
- Hiệu quả: tận dụng được không gian trống
- Không truy cập ngẫu nhiên
- File – Allocation Table (FAT) - Định vị không gian đĩa của MS – DOS và OS/2.
Định vị liên kết
Bảng định vị File
Câu 11.
Ý nghĩa của các chế độ thực thi chương trình: User Mode và Kernel Mode? Lời gọi hệ thống (System Call)?
Nêu khái niệm và các đặc điểm của Tiến trình (Process).
Vẽ và giải thích Sơ đồ trạng thái của tiến trình.
a. Ý nghĩa của chế độ thực thi chương trình: User mode và Kernel mode
- User mode: khi một chương trình hoạt động thì nó chuyển từ chế độ monitor sang chế độ người dùng.
- Kernel mode: Khi có ngắt hoặc lỗi phần cứng xuất hiện sẽ chuyển tới kernel mode.
Phần cứng hỗ trợ có hai kiểu hoạt động: User mode và Kernel mode nên OS không bao giờ mất quyền điều khiển máy tính
b. System Call - Lời gọi hệ thống:
- System call cung cấp giao tiếp trong một chương trình đang chạy và OS.
• Tổ chức bằng lệnh hợp ngữ
• Tổ chức trực tiếp từ chương trình ngôn ngữ bậc cao bằng các chương trình con.
- Có 3 phương pháp để truyền thông số trong chương trình đang chạy và OS:
• Truyền thông số qua thanh ghi: thông số nhỏ
• Lưu trữ trong bảng trong bộ nhớ và địa chỉ bảng được chuyển qua thanh ghi: thông số lớn, dữ liệu trong bộ nhớ còn địa chỉ trong thanh ghi.
• Đặt (Push) các thông số vào 1 stack bởi chương trình và Pop bới OS.
- Các loại system call:
• Điều khiển tiến trình
• Quản trị tệp
• Quản trị thiết bị
• Duy trì thông tin
• Truyền tin
c. Khái niệm và đặc điểm của tiến trình (Process): (Trang 22+)
- Khái niệm: Tiến trình là một chương trình đang thực thi, sự thực thi của các tiến trình tuân thủ theo thứ tự.
- Đặc điểm: một tiến trình bao gồm
• Bộ đếm tiến trình: xây dựng tại một thời điểm, câu lệnh nào được thực thi
• Stack: truyền thông tin
• Data: gồm mã chương trình, thông tin xử lý
d. Vẽ và giải thích trạng thái sơ đồ của tiến trình:
Sơ đồ trạng thái của tiến trình:
Giải thích:
- Các trạng thái của tiến trình:
• New: Tạo ra tiến trình
• Running: Các chỉ thị được thực thi
• Waiting: Tiến trình chờ sự kiện xảy ra
• Ready: Tiến trình chờ được chạy
• Terminated: tiến trình kết thúc.
1. Một tiến trình được tạo ra nó ở trạng thái đủ điều kiện thực thi nhưng chưa được thực thi do CPU chưa cho phép (Ready).
2. Khi một tiến trình được chạy nó chuyển tới trạng thái Running. Khi ở trạng thái Running thì có các trường hợp có thể xảy ra:
Nếu tiến trình hoàn thành nhiệm vụ thì nó chuyển về trạng thái Terminated
Nếu có trường hợp ngắt xảy ra thì ngắt sẽ được ưu tiên thực hiện trước nên CPU xử lý ngắt tiến trình trở về trạng thái Ready
Khi có tác vụ I/O hoặc yêu cầu đòi dữ liệu từ ổ đĩa đến hoặc gọi chương trình con thì tiến trình trở về trạng thái Waiting. Khi mà các sự kiện này được xử lý xong thì tiến trình trở về trạng thái Ready.
Câu 12.
Hãy trình bày cấu trúc phân lớp của hệ điều hành Windows XP.
Trong cấu trúc phân lớp hãy chỉ ra các thành phần làm cho hệ điều hành này trở thành hệ điều hành tương thích với các ứng dụng của một số hệ điều hành khác?.
a. Cấu trúc phân lớp của OS Windows XP:
Cấu trúc hệ thống Windows XP là phần ở giữa trong sơ đồ trên (phần ô vuông màu đỏ)
Trong đó, các lớp chính là:
• HAL (Hardware abstraction layer)
• Kernel
• Excutive (thi hành)
(Các lớp này đều được chạy trong chế độ bảo vệ)
1. Hardware-Abstraction Layer (lớp trừu tượng hóa phần cứng):
- HAL là lớp thuộc phần mềm, che giấu những khác biệt của phần cứng với những cấp trên của OS, làm cho WindowsXP có khả năng di chuyển dễ dàng (portable).
- Ưu điểm: Chỉ cần duy nhất một phiên bản đơn của mỗi device driver (trình điều khiển thiết bị) – nó chạy trên tất cả các phần cứng mà không cần mã cổng của driver.
2. Kernel:Kernel trong WindowsXP cung cấp cơ sở cho sự thi hành và subsystems.
3. Executive(Quản lý):
Quản lý trong WindowsXP cung cấp một bộ các dịch vụ mà tất cả các subsystems sd.
Các dịch vụ được nhóm lại thành:
• Quản lý đối tượng;
• Quản lý bộ nhớ ảo;
• Quản lý tiến trình;
• Quản lý I/O;
• Quản lý cache;
• Bộ kiểm tra tham chiếu bảo mật;
• Quản lý plug-and-play và bảo mật;
• Đăng kí;
• Booting.
b. Thành phần làm cho OS này trở thành OS tương thích với các ứng dụng của một số OS khác là: hệ thống con subsystem hỗ trợ các loại như OS/2 subsystem, Win98 VDM, MS DOS VDM, POSIX subsystem. (VDM - Virtual DOS Machine).
Câu 13.
Hãy trình bày các phương pháp bảo vệ CPU, I/O và bộ nhớ chủ từ cấu trúc phần cứng của máy tính?
Để bảo đảm quyền điều hành hệ thống của Hệ điều hành người ta đã sử dụng kĩ thuật nào?
a. Các phương pháp bảo vệ CPU, I/O, và bộ nhớ chủ từ cấu trúc phần cứng của máy tính:
- Bảo vệ CPU: (Trang 12) đảm bảo quyền điều khiển của OS.
+ Timer - đồng hồ ngắt giờ để đảm bảo quyền điều khiển của OS.
Đồng hồ ngắt sẽ giảm đều đặn theo một chu kì nhất định
Khi đồng hồ ngắt giờ giảm đến giá trị 0 thì 1 ngắt xảy ra, ngắt này trả lại quyền điều khiển cho OS.
+ Timer thông thường sd cho những OS chia sẻ thời gian
+ Timer cũng được sd cho các máy tính thời gian thực
+ Load – timer là một privileged instruction (chỉ thị đặc quyền).
- Bảo vệ I/O: (Trang 12)
+ All các chỉ thị I/O là chỉ thị đặc quyền. Không thể can thiệp.
+ Phải chắc chắn một chương trình của User không bao giờ giành được điều khiển của máy tính trong Monitor mode (VD: không bao giờ nó thay đổi được địa chỉ trong vector ngắt)
- Bảo vệ bộ nhớ (Memory Protection): (Trang 14)
+ Tránh hỗn loạn trong tiến trình
+ Bảo vệ vector ngắt và chương trình con phục vụ ngắt
+ Thêm hai thanh ghi xác định vùng địa chỉ mà chương trình được phép truy nhập
Base register – lưu trữ địa chỉ vật lý nhỏ nhất được phép truy nhập.
Limit register - chứa kích thước của giới hạn
+ Phần bên ngoài bộ nhớ của vùng được định nghĩa đã được bảo vệ
+ Bảo vệ sao cho một tiến trình không truy nhập sang bộ nhớ của 1 tiến trình khác.
b. Đảm bảo quyền điều khiển hệ thống của OS người ta sd kĩ thuật: Timer
Câu 14. (Trang 25)
Hãy trình bày khái niệm về các hàng đợi của tiến trình trong quá trình hoạt động?
Trình bày mô hình lập lịch và các tiêu chuẩn dùng cho lập lịch tiến trình?
a. Khái niệm các hàng đợi của tiến trình trong quá trình hoạt động:
- Khái niệm tiến trình: là một chương trình đang được thực thi.
- Khái niệm các hàng đợi tiến trình:
• Hàng đợi công việc: tập all các tiến trình trong hệ thống
• Hàng đợi sẵn sang - tập all các tiến trình đã nạp trong bộ nhớ, sẵn sang và chờ thực hiện
• Hàng đợi thiết bị - tập all các tiến trình chờ thiết bị nhập xuất
Các tiến trình sẽ di chuyển giữa các hàng đợi khác nhau.
b. Mô hình lập lịch và các tiêu chuẩn dùng cho lập lịch tiến trình: (Trang 25+)
- Mô hình lập lịch:
- Các tiêu chuẩn dùng cho lập lịch: (Page 27)
• Độ sd CPU - giữ CPU luôn hoạt động
• Thông lượng - số lượng tiến trình hoàn thành sự thực hiện theo đơn vị thời gian
• Thời gian chờ - tổng số thời gian một tiến trình để thực hiện từng tiến trình.
• Thời gian chờ - tổng số thời gian một tiến trình phải chờ trong hàng đợi sẵn sang.
• Thời gian đáp ứng - tổng thời gian từ khi một yêu cấu được gửi đi đến khi sự đáp ứng đầu tiên được thực hiện. Không dùng với hệ thống time – sharing.
Câu 15. (Trang 32)
Hãy trình bày khái niệm về không gian địa chỉ logic và địa chỉ vật lý trong quản lý bộ nhớ?
Trình bày chức năng và mô hình của bộ quản lý bộ nhớ (MMU):
a. Khái niệm không gian địa chỉ logic và địa chỉ vật lý trong quản lý bộ nhớ:
- Không gian địa chỉ logic: được phát ra từ CPU, nó chính là địa chỉ ảo. Tập all các địa chỉ logic được tạo ra bởi tiến trình được gọi là không gian địa chỉ logic của tiến trình đó. Như vậy, truy xuất của tiến trình là truy xuất theo địa chỉ logic.
- Không gian địa chỉ vật lý: địa chỉ thật trong bộ nhớ. Bộ nhớ RAM của máy tính được chia thành các ô nhớ, mỗi ô nhớ có một thứ tự được gọi là địa chỉ vật lý. Tập all các địa chỉ vật lý được gọi là không gian địa chỉ vật lý.
b. Chức năng và mô hình của bộ quản lý bộ nhớ MMU (Memory – Management Unit):
- Chức năng:
• Thiết bị phần cứng ánh xạ địa chỉ ảo tới địa chỉ vật lý
• MMU thay thế địa chỉ logic phát ra từ chương trình của người sd bằng địa chỉ thật trước khi nó được gửi tới bộ nhớ. Để ánh xạ nó dùng thanh ghi tái định vị (relocation register)
• Chương trình của người sd dùng địa chỉ logic, không bao giờ sd địa chỉ vật lý thật.
- Mô hình:
Câu 16.
Hãy trình bày mô hình quản lý bộ nhớ theo kiểu phân trang?
Trình bày lược đồ chuyển đổi địa chỉ trong kĩ thuật phân trang?
a. Mô hình quản lý bộ nhớ theo kiểu phân trang:
- Không gian địa chỉ logic của tiến trình có thể không liên tục; các tiến trình định vị bộ nhớ vật lý với vùng còn tự do.
- Chia bộ nhớ vật lý thành những khối kích thước cố định gọi là frame (kích thước lũy thừa của 2, nằm giữa các giá trị 512 byte và 8192 byte).
- Chia bộ nhớ logic thành những khối có cùng kích thước gọi là trang (page).
- Lưu thông tin của all các frame còn tự do.
- Để chạy chương trình có kích thước n trang cần tìm n frame còn tự do để nạp chương trình.
- Tạo một bảng trang để chuyển địa chỉ logic thành địa chỉ vật lý.
- Internet Fragmentation - bộ nhớ được định vị có thể lớn hơn không đáng kể so với yêu cầu, phần dôi ra này nằm bên trong từng khổi không được sử dụng.
Kĩ thuật phân trang nhằm khắc phục hiện tượng phân mảnh ngoài để tận dụng tối đa dung lượng bộ nhớ chính.
Trong kĩ thuật này, bộ nhớ vật lí được chia thành các khối có kích thước đều đặn được gọi là một khung (frame) – kích thước khối từ 0.5KB đến 8KB.
Ta chia bộ nhớ lôgíc thành những khối cùng kích thước gọi là trang (page) – dung lượng khung = dung lượng khối.
Khi lưu thông tin ta lưu trên các khung tự do. Giả sử chương trình cần chạy có kích thước n trang ta cần tìm n khung còn tự do để nạp chương trình vào.
Đồng thời khi nạp chương trình vào cần tạo ra một bảng trang để chuyển địa chỉ lôgíc thành địa chỉ vật lí.
Như vậy, trong kĩ thuật phân trang đã khắc phục được hiện tượng phân mảnh ngoài những lại xuất hiện hiện tượng phân mảnh trong khi không gian địa chỉ lôgíc của tiến trình không là bội của dung lượng khung.
b. Lược đồ chuyển đổi địa chỉ trong kĩ thuật phân trang:
Địa chỉ CPU phát ra bao gồm:
- Số hiệu (p) - chỉ số trong bảng trang chứa địa chỉ cơ sở của nó trong bộ nhớ vật lý.
- Vị trí trang (d) - tổ hợp với địa chỉ cơ sở để xác định đ/c vật lý và được gửi tới bộ nhớ.
Câu 17.
Hãy trình bày khái niệm chia sẻ bộ nhớ dùng chung trong mô hình phân trang?
Trình bày lược đồ chuyển đổi địa chỉ trong kĩ thuật sử dụng bảng phân trang dịch chuyển?
a. Khái niệm chia sẻ bộ nhớ dùng chung trong mô hình phân trang:
- Chia sẻ code:
• Một bản sao code chỉ đọc được chia sẻ giữa các tiến trình (soạn thảo văn bản, bộ dịch, hệ thống cửa sổ,…)
• Code được chia sẻ phải đặt ở cùng vị trí trong không gian địa chỉ logic của all các tiến trình.
- Code và dữ liệu không chia sẻ:
• Mỗi tiến trình lưu trữ một bản sao code và dữ liệu phân biệt.
• Các trang code và dữ liệu dùng riêng có thể đặt ở bất cứ vị trí nào trong không gian địa chỉ logic.
- Bảng phân trang dịch chuyển:
• Một điểm truy cập cho mỗi trang thực của bộ nhớ
• Điểm truy nhập chứa địa chỉ ảo của trang được lưu trữ tại vị trí địa chỉ thật trong bản trang và tên tiến trình đang sở hữu bảng trang này.
• Bộ nhớ danh cho bảng trang tăng lên, nhưng thời gian tìm kiếm giảm đi
• Sử dụng bảng băm để giới hạn tìm kiếm một hoặc vài điểm truy nhập.
b. Lược đồ chuyển đổi địa chỉ trong kĩ thuật sử dụng bảng phân trang dịch chuyển:
Câu 18.
Hãy trình bày mô hình quản lý bộ nhớ theo kiểu phân đoạn?
Trình bày lược đồ chuyển đổi địa chỉ trong mô hình phân đoạn?
a. Trình bày mô hình quản lý bộ nhớ theo kiểu phân đoạn:
- Phân đoạn là lược đồ quản trị bộ nhớ hỗ trợ khung nhìn của người sử dụng đối với bộ nhớ.
- Một chương trình là tập hợp các đoạn, mỗi đoạn là một đơn vị logic chẳng hạn: main program, procedure, function, method, object, local variables, global variables, common block, stack, symbol table, arrays,…
- Kiến trúc phân đoạn:
• Địa chỉ logic chứa hai bộ: <segment, offset>
• Băng phân đoạn - chứa hai thông số vật lý của mỗi đoạn, mỗi entry của bảng có :
Base - địa chỉ vật lý bắt đầu của đoạn
limit - độ dài đoạn
• Segment – table base register (STBR) trỏ tới vị trí của bảng phân đoạn trong bộ nhớ.
• Segment – table length register (STLR) cho biết số lượng đoạn được sử dụng bởi một chương trình, một số hiệu đoạn s là hợp lệ nếu s<STLR.
• Tái định vị: Động, bởi bảng phân trang
• Chia sẻ: Đoạn được chia sẻ, cùng số hiệu đoạn
• Định vị: first fit/ best fit; lỗ hỏng rời rạc.
• Bảo vệ: Với mỗi entry trong bảng phân đoạn có các bit tương ứng với các quyền: validation bit = 0 không có quyền; validation bit = 1 có quyền
(read, write, execute, append)
b. Lược đồ chuyển đổi địa chỉ trong mô hình phân đoạn:
Câu 19.
Định nghĩa hệ điều hành. Lấy ví dụ thực tế để minh họa cho các đặc điểm trong định nghĩa.
Trình bày sơ đồ phân lớp của hệ thống máy tính?
Ý nghĩa của sự phân lớp?
a. Định nghĩa OS và ví dụ minh họa cho định nghĩa đó:
- OS là môi trường giao diện giữa người sd và máy tính. Thông qua môi trường này, cho phép người sd đưa ra các lệnh, chỉ thị điều khiển hoạt động của hệ thống.
- OS là tài nguyên, quản lý các tài nguyên khác. OS phải quản lý các thiết bị một cách có hiệu quả, khai thác được hết khả năng của các thiết bị, cung cấp cho các chương trình và người sd tài nguyên phần cứng khi có yêu cầu, thu hồi khi cần thiết.
- Như vậy, có thể coi OS là một tập hợp các chương trình hệ thống có chức năng tạo môi trường giao diện cho người sd, 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 quả các thiết bị phần cứng.
OS là tài nguyên:
• Quản lý all các tài nguyên khác
• Làm trung gian giữa những mâu thuẫn về hiệu năng của tài nguyên và sự sử dụng chúng một cách thuận tiện.
OS là chương trình điều khiển:
• Điều khiển sự thực hiện các chương trình, ngăn ngừa lỗi và sự sử dụng không thích hợp
“Chương trình chạy trong toàn bộ thời gian hoạt động của máy tính” đó chính là kernel. Mọi chương trình khác là chương trình hệ thống hoặc chương trình ứng dụng.
b. Sơ đồ phân lớp của hệ thống máy tính:
c. Ý nghĩa của sự phân lớp:
Giúp cho người sử dụng dễ thực hiện các thao tác của mình.
Bạn đang đọc truyện trên: AzTruyen.Top