You are on page 1of 7

2051150130

Quảng Hoàng Khang


Bài làm:
2.10. Describe three general methods for passing parameters to the operating
system.
Mô tả ba phương pháp chung để truyền các tham số cho hoạt động hệ thống.
Đáp án:
1) Truyền các tham số bằng cách sử dụng thanh ghi (trực tiếp).
2) Lưu trữ các tham số trong một bảng trong bộ nhớ và địa chỉ bảng được
chuyển vào một thanh ghi tới HĐH.
3) Đẩy (lưu trữ) các tham số vào một ngăn xếp (bởi chương trình) và "bật" ra
bởi Hệ điều hành.

2.11. Describe how you could obtain a statistical profile of the amount of
time a program spends executing different sections of its code. Discuss the
importance of obtaining such a statistical profile.
Mô tả cách bạn có thể có được một hồ sơ thống kê về lượng thời gian
một chương trình dành để thực thi các phần khác nhau của mã của nó. Thảo
luận về tầm quan trọng của việc có được một hồ sơ thống kê như vậy.
Đáp án :
Hồ sơ là một dạng phân tích chương trình động nhằm hỗ trợ tối ưu hóa
chương trình. Nó sử dụng nhiều kỹ thuật khác nhau để thu thập dữ liệu như
độ phức tạp về thời gian của một chương trình hoặc tần suất và thời lượng
của các lệnh gọi hàm. Một số ví dụ về các phương pháp lập hồ sơ sử dụng để
thu thập các thông tin này là:
 ngắt phần cứng
 bộ đếm hiệu suất
 thiết bị đo mã
 mô phỏng tập lệnh
Thông thường ngày nay máy tính cá nhân có chương trình biên dịch hệ
thống có thể cung cấp thông tin chi tiết về phần mềm và phần cứng của
nó. Để có được một cấu hình thống kê về lượng thời gian chương trình
dành cho việc thực thi các phần khác nhau của mã của nó, chúng tôi sẽ sử
dụng các phương pháp mô tả các ngắt phần cứng ở trên. Vì vậy, chúng tôi
sẽ phát hành các ngắt bộ định thời định kỳ và khi các ngắt được phân phối,
chúng tôi sẽ theo dõi và giám sát khối mã nào đang được thực thi. Kết quả
là chúng ta sẽ nhận được một hệ thống cấu hình sẽ giám sát mã đang được
thực thi mà sau này kỹ sư có thể sử dụng để tối ưu hóa các khối mã vốn
đang tiêu tốn nhiều tài nguyên CPU.

2.12 What are the advantages and disadvantages of using the same system-
call interface for manipulating both files and devices?
Ưu điểm và nhược điểm của việc sử dụng cùng một giao diện gọi hệ thống để
thao tác trên cả tệp và thiết bị là gì?
Đáp án:
Mỗi thiết bị có thể được truy cập như thể nó là một tệp trong hệ thống tệp. Vì
hầu hết hạt nhân giao dịch với các thiết bị thông qua giao diện tệp này, tương
đối dễ dàng để thêm trình điều khiển thiết bị mới bằng cách triển khai mã
dành riêng cho phần cứng để hỗ trợ giao diện tệp trừu tượng này. Do đó, điều
này có lợi cho sự phát triển của cả mã chương trình người dùng, mã này có
thể được viết để truy cập thiết bị và tệp theo cùng một cách và mã trình điều
khiển thiết bị, có thể được viết để hỗ trợ một API được xác định rõ.
Điểm bất lợi khi sử dụng cùng một giao diện là có thể khó nắm bắt được
chức năng của một số thiết bị trong ngữ cảnh của API truy cập tệp, do đó dẫn
đến mất chức năng hoặc giảm hiệu suất. Một số điều này có thể được khắc
phục bằng cách sử dụng ioctl operati cung cấp một giao diện mục đích chung
cho các quy trình để gọi các thao tác trên thiết bị.
2.13 Would it be possible for the user to develop a new command interpreter
using the system-call interface provided by the operating system?
Người dùng có thể phát triển một trình thông dịch lệnh mới sử dụng giao diện
cuộc gọi hệ thống do hệ điều hành cung cấp hay không?
Đáp án:
Được.
Có thể phát triển một trình thông dịch lệnh mới bằng cách sử dụng giao diện
cuộc gọi hệ thống do hệ điều hành cung cấp. Trình thông dịch lệnh cho phép
người dùng tạo và quản lý các quy trình, đồng thời xác định cách chúng giao
tiếp (chẳng hạn như thông qua các đường ống và tệp). Vì tất cả các chức năng
này đều có thể được chương trình cấp người dùng truy cập bằng các lệnh gọi
hệ thống, nên người dùng có thể phát triển một trình thông dịch dòng lệnh
mới.

2.14 Describe why Android uses ahead-of-time (AOT) rather than just-in-
time (JIT) compilation.
Mô tả lý do tại sao Android sử dụng tính năng vượt thời gian (AOT) thay vì
chỉ trong thời gian ngắn (JIT) biên dịch.
Đáp án:

2.15 What are the two models of interprocess communication? What are the
strengths and weaknesses of the two approaches?
Hai mô hình giao tiếp giữa các quy trình là gì? Là những gì
điểm mạnh và điểm yếu của hai cách tiếp cận?
Đáp án:
Một là mô hình truyền thông điệp và mô hình kia là mô hình chia sẻ bộ nhớ.
Điểm mạnh và điểm yếu của việc truyền thông điệp: thông điệp có thể được
trao đổi giữa các tiến trình trực tiếp hoặc gián tiếp thông qua một hộp thư
chung. nó hữu ích khi trao đổi lượng dữ liệu nhỏ hơn và dễ thực hiện hơn cho
giao tiếp giữa các máy tính. tuy nhiên, tốc độ của nó chậm hơn so với mô
hình chia sẻ bộ nhớ.
Điểm mạnh và điểm yếu của bộ nhớ dùng chung: nó cho phép tốc độ tối đa
và sự thuận tiện trong giao tiếp. tuy nhiên, trong các lĩnh vực bảo vệ và đồng
bộ hóa giữa các quy trình một số vấn đề tồn tại.

2.16. Contrast and compare an application programming interface (API) and


an application binary interface (ABI).
Đối chiếu và so sánh giao diện lập trình ứng dụng (API) và một giao diện nhị
phân ứng dụng (ABI).
Đáp án:

API: Giao diện chương trình ứng dụng


Đây là tập hợp các kiểu / biến / hàm công khai mà bạn hiển thị từ ứng dụng /
thư viện của mình.
Trong C / C ++, đây là những gì bạn hiển thị trong các tệp tiêu đề mà bạn gửi
cùng ứng dụng.

ABI: Giao diện nhị phân ứng dụng


Đây là cách trình biên dịch xây dựng một ứng dụng.
Nó xác định mọi thứ (nhưng không giới hạn):
Cách các tham số được truyền cho các hàm (thanh ghi / ngăn xếp).
Người xóa các tham số khỏi ngăn xếp (người gọi / callee).
Nơi giá trị trả về được đặt để trả về.
Cách các trường hợp ngoại lệ lan truyền.

2.17. Why is the separation of mechanism and policy desirable?


Tại sao lại mong muốn tách bạch giữa cơ chế và chính sách?6
Đáp án :
Sự tách biệt giữa cơ chế và chính sách là rất quan trọng để tạo ra sự linh hoạt
cho một hệ thống. Nếu giao diện giữa cơ chế và chính sách được xác định rõ
ràng, thì việc thay đổi chính sách có thể chỉ ảnh hưởng đến một số tham số.
Mặt khác, nếu giao diện giữa hai thứ này là mơ hồ hoặc không được xác định
rõ ràng, nó có thể liên quan đến sự thay đổi sâu hơn đối với hệ thống.
Cơ chế và chính sách phải tách biệt để đảm bảo rằng các hệ thống dễ dàng
sửa đổi.

2.18. It is sometimes difficult to achieve a layered approach if two


components of the operating system are dependent on each other. Identify a
scenario in which it is unclear how to layer two system components that
require tight coupling of their functionalities.
Đôi khi rất khó để đạt được cách tiếp cận phân lớp nếu hai thành phần
của hệ điều hành phụ thuộc vào nhau. Xác định một kịch bản
trong đó không rõ cách xếp hai thành phần hệ thống yêu cầu
sự kết hợp chặt chẽ giữa các chức năng của chúng.
Đáp án;
Hệ thống con bộ nhớ ảo và hệ thống con lưu trữ thường được kết hợp chặt
chẽ với nhau và yêu cầu thiết kế cẩn thận trong một hệ thống phân lớp do các
tương tác sau.
Nhiều hệ thống cho phép các tệp được ánh xạ vào không gian bộ nhớ ảo của
một quá trình đang thực thi. Mặt khác, hệ thống con bộ nhớ ảo thường sử
dụng hệ thống lưu trữ để cung cấp kho dự phòng cho các trang hiện không
nằm trong bộ nhớ.
Ngoài ra, các bản cập nhật cho hệ thống tệp đôi khi được lưu vào bộ nhớ đệm
trước khi nó được chuyển vào đĩa, do đó đòi hỏi sự phối hợp cẩn thận giữa
việc sử dụng bộ nhớ giữa hệ thống con bộ nhớ ảo và hệ thống tệp.

2.19. What is the main advantage of the microkernel approach to system


design? How do user programs and system services interact in a micro-kernel
architecture? What are the disadvantages of using the microker-nel approach?
Ưu điểm chính của phương pháp microkernel đối với thiết kế hệ thống là gì?
Các chương trình người dùng và dịch vụ hệ thống tương tác như thế nào
trong kiến trúc vi nhân? Nhược điểm của việc sử dụng phương pháp
microker-nel là gì?
Đáp án :
-Ưu điểm :
 Thêm một dịch vụ mới không yêu cầu sửa đổi nhân.
 Nó an toàn hơn vì nhiều hoạt động được thực hiện ở chế độ người dùng
hơn ở chế độ nhân.
 Thiết kế và chức năng hạt nhân đơn giản hơn thường dẫn đến độ tin cậy
cao hơn hệ điều hành. 
Cách thức tương tác :
Các chương trình người dùng và dịch vụ hệ thống tương tác trong một
kiến trúc vi nhân bằng cách sử dụng các cơ chế giao tiếp giữa các quá
trình như nhắn tin. Những thông điệp này được chuyển tải bởi hệ điều
hành. 
-Nhược điểm :
Nhược điểm chính của kiến trúc vi nhân là các chi phí liên quan đến
giao tiếp giữa các tiến trình và việc sử dụng thường xuyên các chức
năng nhắn tin của hệ điều hành để cho phép tiến trình của người dùng
và dịch vụ hệ thống tương tác với nhau.

You might also like