Tin học
Bạn có muốn phản ứng với tin nhắn này? Vui lòng đăng ký diễn đàn trong một vài cú nhấp chuột hoặc đăng nhập để tiếp tục.

bài chỉnh sửa lại(nhờ thầy xem và góp ý dùm em)

3 posters

Go down

bài chỉnh sửa lại(nhờ thầy xem và góp ý dùm em) Empty bài chỉnh sửa lại(nhờ thầy xem và góp ý dùm em)

Bài gửi  Nguyen_xuan_tam0951010034 27/10/2010, 17:33

em làm theo cách em hiểu nên em biết còn sai xót nhiều,nhờ thầy góp ý để bài hoàn thiện hơn.
BÀI 1:GIỚI THIỆU HỆ ĐIỀU HÀNH
Câu 1:Mục tiêu,ý nghĩa,cấu trúc môn học hệ điều hành
Trả lời:
-Mục tiêu:Nhằm cung cấp các khái niệm cơ bản về cấu trúc và hoạt động của hệ điều hành.
-Ý nghĩa:
+ Hiểu sâu hơn về nguyên lý hoạt động của phần cứng và phần mềm máy tính.
+ Học phương pháp phân tích,thiết kế và lập trình một hệ thống lớn để áp dụng cho công tác nghiệp vụ sau này.
+ Là kiến thức cơ sở để từ đó sử dụng, khai thác hiệu quả những dịch vụ của hệ điều hành, tích cực xây dựng những ứng dụng với giao diện dễ sử dụng nhất.
-Cấu trúc môn học:
+ Môn học gồm có 8 chương:
• Giới thiệu hệ điều hành.
• Cấu trúc máy tính.
• Quản lý tiến trình.
• Đa luồng.
• Điều phối CPU.
• Đồng bộ hóa tiến trình.
• Deadlocks.
VD:sau khi chúng ta học xong môn này thì chúng ta có thể viết những chương trình ứng dụng từ đơn giản(gửi thông tin từ máy này qua máy khác) đến phức tạp(nâng cấp trình diện yahoo chat dễ sử dụng hơn),sau này có thể viết chương trình ứng dụng trong thực tế(phần mềm tự động cập nhật thông tin khi tới giờ)
Câu 2: Phân tích định nghĩa hệ điều hành là máy tính mở rộng hay máy tính ảo.
Trả lời:
- Coi nó như máy tính mở rộng vì nó ẩn các chi tiết của phần cứng máy tính dễ sử dụng hơn.
- Cung cấp các dịnh vụ khác cho phép các chương trình khác dễ sử dụng.
- Người sử dụng và người lập trình được cung cấp một giao diện đơn giản, dễ hiểu và không phụ thuộc vào thiết bị cụ thể.
- Thực tế: Hệ điều hành là một hệ thống bao gồm nhiều máy tính trừu tượng xếp thành nhiều lớp chồng lên nhau, máy tính mức dưới phục vụ cho máy tính mức trên.
- Bản thân chương trình ứng dụng cũng là một máy tính trừu tượng và phải dễ sử dụng nhất.
- Công việc của người lập trình là liên tục xây dựng các máy tính trừu tượng như vậy (cho người khác sử dụng và cho cả chính mình).
- Máy tính mở rộng là máy tính có thêm những chức năng có ích cho người dùng .
- Máy tính ảo là sự phát triển logic của kiến trúc phân lớp.
VD:các chương trình ứng dụng chạy trên windows,HĐH windows cho phép chúng ta tương tác với chúng thông qua các công(nút start trên màng hình)
Câu 3: Phân tích định nghĩa hệ điều hành là bộ quản lý tài nguyên.
Trả lời:
- Đáp ứng các yêu cầu sử dụng tài nguyên thiết bị như: CPU,Bộ nhớ trong,ổ đĩa,ổ băng,máy in,card mạng,...
- Trong trường hợp nhiều chương trình,nhiều người dùng cùng chia sẻ các tài nguyên chung như vậy, HĐH phải giải quyết các tranh chấp có thể xảy ra và đứng ra làm trung gian điều phối sao cho tài nguyên được sử dụng đúng thứ tự,dùng xong lại được cấp cho đối tượng khác sử dụng.
VD:3 chương trình cùng in ra một máy in duy nhất. Khó chấp nhận trường hợp 1 trang in xen kẽ nhiều kết quả từ nhiều nguồn khác nhau. HĐH giải quyết bằng cách đưa kết quả in của mỗi chương trình tạm thời ra đĩa cứng, sau đó lần lượt in từ đĩa vào thời điểm thích hợp.

Câu 4: Phân biệt HĐH đa chương với HĐH đơn chương, Phân biệt hệ đa chương với hệ chia thời gian.
Trả lời:
* Hệ đa chương với hệ đơn chương.
- hệ đa chương với nhiều tác vụ trong bộ nhớ:
+ Nhiều tác vụ (tiến trình) cùng một lúc trong bộ nhớ.
+ Khi một tác vụ không cần đến CPU (ví dụ, do phải thực hiện I/O với thiết bị ngoài), tác vụ khác được thi hành.
- Hệ đơn chương:
+ Mỗi thời điểm chỉ có một tác vụ (không tính nhân và các tiến trình của HĐH) trong bộ nhớ.
* Hệ đa chương với hệ chia thời gian.
- Hệ chia thời gian:
+ hệ chia thời gian cũng là hệ đa chương, hệ chia thời gian ít nhất là hệ đa chương.
+ Mỗi tác vụ chỉ được dùng CPU trong một khoảng thời gian ngắn (VD là 20ms), sau đó bị ngắt, chuyển sang tác vụ khác, cứ thế xoay vòng.
+ Mỗi người dùng điều có cảm giác là máy tính chỉ phục vụ cho mình là duy nhất.
VD:
* Hệ đa chương:1 người có thể làm nhiều công việc cùng 1 lúc như vừa lau nhà,rửa chén,giặc đồ.
* Hệ đơn chương:1 người chỉ làm được 1 công việc mà thôi,nếu rửa chén thì không lau nhà.
* Hệ chia thời gian:1 người chỉ làm công việc lau nhà trong 1 khoảng thời gian nhất định là 5h rồi sẻ chuyển sang công việc khác cũng với lượng thời gian nhất định.


Câu 5: Đánh giá vai trò sử dụng HĐH Windows và Linux tại Việt Nam
(Nhờ thầy gợi ý dùm)
Câu 6: Phân biệt File-Server và Client-Server
Trả lời :
- File-Server:
+ File-Server Là máy chủ không tính toán nhiều, chỉ làm dịch vụ tập tin cho máy khác.
- Client-Server :
+ Mô hình Client-Server là một mô hình được sử dụng rộng rãi trong mạng máy tính. Ý tưởng của mô hình này là máy con (đóng vài trò là máy khách) gửi một yêu cầu để máy chủ (đóng vai trò người cung ứng dịch vụ), máy chủ sẽ xử lý và trả kết quả về cho máy khách.
VD:trong 1 công ty,các máy của nhân viên đoáng vai trò là các Client-Server,có 1 máy dùng để trao đổi thông tin giữa các máy nhân viên với nhau là File-Server.

Câu 7 :Phân biệt các hệ gom cụm với các hệ đa xử lý.
Trả lời :
*Hệ gom cụm :
- Nhiều máy nối mạng để cùng thưc hiện việc chung.
- Phân loại:
+ Gom cụm đối xứng:các máy ngang hàng về chức năng,Mối máy thực hiện phần việc của mình và giám sát lẫn nhau.
+ Gom cụng phi đối xứng:Một máy chạy trong hot Standby Mode,Nghĩa là chỉ giám sát công việc các máy khác nhưng sẽ đảm đương công việc của máy gặp sự cố.
* Hệ đa xử lý :
- Hệ đa xử lý là hệ hỗ trợ nhiều CPU còn gọi là hệ song song .
- Giúp tăng thông suất, tiết kiệm và tăng độ tin cậy.
- Phân loại:
+ Đa xử lý đối xứng:Có nhiều CPU cùng vận hành và sử dụng chung bộ nhớ, thiết bị. Các CPU này ngang hàng về chức năng
+ Đa xử lý phi đối xứng: Các CPU sử dụng chung bộ nhớ, thiết bị. Mỗi CPU thực hiện 1 chức năng riêng. Có 1 CPU Master điều phối công việc cho các CPU Slaves còn lại.
VD:
* Hệ gom cụm:1 nhóm sinh viên làm đồ án,các thành viên trong nhóm có quyền hạn ngang nhau,không có sự phân biệt giữa các thành viên,nếu có 1 người trong nhóm bị bệnh thì sẻ có người đảm đương công việc của người đó!
* Hệ đa xử lý:1 nhóm sinh viên làm đồ án,các thành viên trong nhóm hỗ trợ lẫn nhau để làm đồ án,nếu có 1 người trong nhóm bị bệnh thì nhóm trưởng sẽ phân chia công việc của người đó đồng điều cho các thành viên trong nhóm.


BÀI 2:CẤU TRÚC MÁY TÍNH
Câu 1:Trình bày quá trình khởi động máy tính và HĐH
Trả lời:
- Sau khi bật nguồn, chương trình mồi Bootstrap lấy từ ROM hoặc EEPROM được khởi động cùng chức năng khởi hoạt các thiết bị hệ thống:các thanh ghi CPU,Bộ nhớ,...Sau đó khởi động hạt nhân của hệ điều hành nạp từ đĩa cứng.
- Hạt nhân của HĐH khởi động tiến trình đầu tiên gọi là INIT và chờ các sự kiện có thể xảy ra.

Câu 2: Nguyên lý ngắt của HĐH
Trả lời:
- Có hai loại ngắt chính:
+ Tín hiệu ngắt từ các thiết bị(Ngắt cứng) truyền qua system Bus.
+ Tín hiệu ngắt từ chương trình người dùng (ngắt mềm) nhờ lời goị hệ thống. Lệnh đặc biệt này là cơ chế để tiến trình người dùng yêu cầu một dịch vụ của HĐH.
- Với mỗi loại ngắt, có đoạn mã riêng của HĐH dùng để xử lý.
- Các HĐH hiện đại được dẫn dắt bởi các sự kiện. Nếu không có tiến trình nào vận hành,không có thiết bị I/O nào làm việc,HĐH im lặng chờ và theo dõi.
- Thông thường, mỗi loại ngắt tương ứng với một dòng trong bảng chứa con trỏ tới chương trình xử lý loại ngắt đó (Bảng véc-tơ ngắt). Bảng này nằm ờ vùng thấp của RAM.
- Cơ chế xử lý ngắt phải có trách nhiệm ghi lại địa chỉ lệnh bị ngắt để sau đó có thể quay lại địa chỉ này cùng với nhiều thông tin khác có thể được ghi vào ngăn xếp hệ thống với nguyên tắc làm việc LIFO.
VD:
* Ngắt cứng:khi chương trình đang chạy thì bị ngắt do có câu lệnh buột phải ngắt chương trình.
* Ngắt mềm:khi chương trình đang chạy nhưng người dùng muốn sử dụng thao tác khác nên máy tính phải dừng việc đang làm và thực thi hiệu lệnh của người dùng.


Câu 3: Tuyến thời gian của một tiến trình có các yêu cầu tới thiết bị ngoài.
Trả lời:
bài chỉnh sửa lại(nhờ thầy xem và góp ý dùm em) Cau3bai2

Câu 4: Phân biệt phương thức nhập xuất đồng bộ với phương thức nhập xuất không đồng bộ.(ví dụ minh họa)
Trả lời:
* Nhập/xuất đồng bộ:
- Là nhập/xuất khi mà tiến trình người dùng phải chờ cho đến khi nhập xuất kết thúc rồi mới chạy tiếp.
- Khi dữ liệu truyền tới phần cứng tiến trình người dùng phải chờ một khoảng thời gian để xuất thông tin.
* Nhập/xuất không đồng bộ:
- Là nhập/xuất được tiến hành song song, đồng thời với tiến trình người dùng.
VD:
* Nhập/Xuất đồng bộ:Với thiết bị bàn phím chương trình phải chờ người dùng bấm Yes hoặc No,với kết quả Yes hoặc No chương trình mới chạy tiếp.
* Nhập xuất không đồng bộ:khi người dùng nhập xong thì chương trình sẽ tự động xuất ra mà không cần phải hỏi ý kiến của người dùng.

Câu 5: Phân cấp các loại bộ nhớ, trình bày vai trò các loại bộ nhớ với nhau.
Trả lời:
* Có 2 bộ nhớ chính:
- Bộ nhớ chính
+ Chương trình máy tính phải nạp vào RAM trước khi thực hiện.
+ Lệnh cần thực hiện phải được nạp vào thanh ghi của CPU
+ Các tác tử tương ứng cũng được lấy từ RAM.
+ Lý tưởng nhất là chương trình và dữ liệu đều nằm trong RAM nhưng không khả thi vì RAM quá nhò và là loại bộ nhớ không chắc do nội dung bị xóa khi mất điện.
+ RAM được sử dụng làm bộ nhớ sơ cấp so với bộ nhớ trên các thiết bị ngoài.
- Đĩa từ:
+ Dung lượng lớn.
+ Giá rẻ.
+ Dùng chứa chương trình và dữ liệu.
+ Nội dung không bị xóa khi mất điện.
+ Được sử dụng làm bộ nhớ thứ cấp so với RAM.

Câu 6: Nguyên tắc lưu gần.
Trả lời:
- Là nguyên tắc quan trọng của hệ thống máy tính.
- Thông tin từ RAM có thể được cơ chế phần cứng đưa vào bộ nhớ nhanh hơn gọi là Cache. Khi CPU cần chính thông tin đó,không cần phải truy xuất RAM, mà lấy ngay từ Cache.
- Loại bộ nhớ này không do HĐH quản lý và cấp phát.
-Thực tế, RAM là loại Cache nhanh so với đĩa cứng và HĐH có chức năng quản lý sự lưu chuyển dữ liệu giữa hai loại bộ nhớ này.
VD:khi ta đanh 1 địa chỉ vào wed để tìm kiếm thông tin thì RAM đã thực hiện lưu lại đại chỉ này trên Cache,nếu ta đánh vào đó từ khóa gần giống với từ khóa ta vừa nhập vào thì nó sẽ hiện ra luôn từ khóa ta vừa nhập vào cho ta chọn.

Câu 7:Trình bày thuật giải bảo vệ bộ nhớ bằng thanh ghi cơ sở và thanh ghi giới hạn(vẽ hình và giải thích).
Trả lời:
bài chỉnh sửa lại(nhờ thầy xem và góp ý dùm em) Cau7bai2

CPU tính toán ra 1 địa chỉ và địa chỉ này phải được kiểm tra tính hợp lệ.
- Nếu địa chỉ nhỏ hơn giá trị lưu trong thanh ghi cơ sở thì hệ thống sẽ báo lỗi.
- Nếu địa chỉ lớn hơn hoặc bằng giá trị lưu trong thanh ghi cơ sở thì tiếp tục được kiểm tra với giá trị trong thanh ghi giới hạn cộng với giá trị trong thanh ghi cơ sở:
+ Nếu địa chỉ lớn hơn hoặc bằng tổng trên thì hệ thống sẽ báo lỗi truy cập sai địa chỉ.
VD:
bài chỉnh sửa lại(nhờ thầy xem và góp ý dùm em) Viducau7bai2

HĐH cho ra 1 địa chỉ có chỉ số là 300041,HĐH sẽ tiến hành kiểm tra bằng thanh ghi cơ sở(so sánh 300041 có lớn hơn hoặc bằng 300040(là chỉ số của thanh ghi cơ sở) )nếu đúng thì nó sẽ chuyển qua thanh ghi giới hạn để tiếp tục kiểm tra(so sánh 300041 có nhỏ hơn 420940(là chỉ số của thanh ghi giới hạn))nếu đúng thì nó sẽ thực hiện công việc,nếu 1 trong hai tiến trình kiểm tra phát hiện bị sai thì sẽ thoát ra khỏi chương trình.


BÀI 3: CẤU TRÚC HỆ ĐIỀU HÀNH
Câu 1: Thế nào là bộ thông dịch lệnh. Phân biệt thông dịch với biên dịch.
Trả lời:
* Bộ thông dịch lệnh:
- Giao diện dòng lệnh là một phương thức giao tiếp giữa User và HĐH.
- Một số HĐH coi Command-Interpreter là bộ phận của hạt nhân trong khi MS-DOS và UNIX chỉ coi là chương trình đặc biệt.
- Giao diện do Command-Intepreter hỗ trợ được gọi là Shell.
- Một trong những "vỏ" thân thiện đầu tiên xuất hiện trong HĐH Mac OS cho máy tính Macintosh.
- * Phân biệt thông dịch với biên dịch:
- Thông dịch: Là nhận được lệnh nào, bộ thông dịch phân tích lệnh đó rồi thực hiện luôn.
- Biên dịch: Là chuyển đổi toàn bộ chương trình của người dùng, bao gồm các lệnh cần thực hiện sang ngôn ngữ máy rồi mới thực hiện cả chương trình.
VD:
*Thông dịch:khi ta dùng “google dịch” thì ta đánh vào từ nào nó sẽ dịch ra cho ta từ đó luôn,ta không cần phải nhấn nút “dịch”.
* Biên dịch:khi ta viết chương trình trên Visual C++ sau khi viết xong ta phải nhấn phím F5 thì chương trình mới chạy.


Câu 2: Phương thức liên lạc giữa các tiến trình. Phân biệt hai mô hình đó (vẽ hình).
Trả lời:
bài chỉnh sửa lại(nhờ thầy xem và góp ý dùm em) Cau2bai3
- Liên lạc giữa các tiến trình: Bằng thông điệp(Messages) và qua Vùng nhớ chung.Trao đổi thông tin giữa các tiến trình trên một máy/giữa các máy khác nhau trong mạng.
-Liên lạc giữa các tiến trình:
+ Mỗi máy tính trong mạng có HostName và IP Address. Các tên này được HĐH chuyển đổi thành một số nguyên gọi là HostID.
+ Mỗi tiến trình có ProcessName và ProcessID.
+ Cặp số (HostID, ProcessID) xác định duy nhất tiến trình trong mạng và được dùng để mở/đóng kết nối với tiến trình đó.
+ Các lời gọi hệ thống kiểu Open,Close,Read,Write,Wait để thao tác với tiến trình.
- Truyền thông điệp: Tiến trình A sẽ truyền dữ liệu thông qua hệ thống, Tiếntrình B sẽ nhận dữ liệu từ hệ thống.
- Dùng bộ nhớ chung: Tiến trình A sẽ truyền dữ liệu vào bộ nhớ chia sẻ (dùng chung), Tiến trình B sẽ lấy dữ liệu tù bộ nhớ chia sẻ này.

Câu 3: Các chương trình hệ thống.
Trả lời:
- Còn gọi là các trình tiện ích.
- Các nhóm trình tiện ích:
+ Quản lý tập tin/thư mục:Tạo lập,loại bỏ,sao chép,đổi tên,In ấn,Liệt kê.
+ Cung cấp thông tin về trạng thái hệ thống: Ngày,Giờ,Bộ nhớ trống,Số Users.
+ Chỉnh lý tập tin: Soạn thảo văn bản (NotePad,WordPad).
+ Một số trình biên dịch/Thông dịch: C,C++,VB.
+ Nạp và liên kết chương trình: Loaders, Linkage Editors.
+ Liên lạc: Gửi/nhận thông điệp giữa các máy, trình duyệt (Web Browser), Thư điện tử, Truyền file,...
+ Shell: Command-Interpreter, Desktop Window.

Câu 4: Khái niệm và ứng dụng của máy tính ảo.
Trả lời:
* Máy tính ảo:
- Là sự phát triển lô-gic của kiến trúc phân lớp.
- Bằng cách điều phối CPU và kỹ thuật bộ nhớ ảo, có thể tạo cho người dùng ảo giác rằng người đó đang dùng bộ xử lý, bộ nhớ và các thiết bị của riêng mình.
- Nói cách khác: Máy tính ảo của người dùng được giả lập trên nền máy tính vật lý.
* Ứng dụng của máy tính ảo:
- Tính bảo mật cao do các máy ảo độc lập với nhau. Các tài nguyên của máy vật lý được bảo vệ hoàn toàn vì các máy tính ảo có thiết bị ảo (ví dụ, ổ đĩa ảo). Có thể lấy từ Internet về một chương trình lạ và thử chạy trên máy ảo mà không sợ bị ảnh hưởng (VD như virut) vì nếu có sao thì cũng chỉ hỏng máy ảo.
- Dễ phát triển hệ thống (System Development) mà không sợ làm ảnh hưởng đến công việc toàn hệ máy đang vận hành. HĐH là chương trình phức tạp,cần liên tục thử nghiệm, tinh chỉnh, hoàn thiện và nâng cấp. Có thể tiến hành phát triển hệ thống trên một máy ảo thay vì làm trên máy thực. Thành công rồi mới chuyển nhanh sang máy thực (máy vật lý).
VD:1 số phần mềm như VMWare, Virtual PC, VirtualBox .

BÀI 4: QUẢN LÝ TIẾN TRÌNH
Câu 1: Định nghĩa tiến trình, so sánh tiến trình với chương trình.
Trả lời:
* Định nghĩa tiến trình:
- Tiến trình (Process) là chương trình trong thời gian thực hiện (đặt dưới sự quản lý của HĐH).
* So sánh tiến trình với chương trình:
- Bản thân chương trình không là tiến trình vì là thực thể thụ động, trong khi tiến trình là một thực thể hoạt động với nhiều thông tin về trạng thái trong đó có bộ đếm chương trình cho biết vị trí lệnh hiện hành.
- Nhiều tiến trình có thể liên quan đến một chương trình và là các thực thể khác nhau khi vận hành.
- Mỗi tiến trình có thể sinh ra nhiều tiến trình con khác khi thực hiện.
- Tiến trình cần các tài nguyên (CPU, Memory, Tập tin, Thiết bị I/O,...) để hoàn thành công việc.
- Tài nguyên cấp cho tiến trình ngay từ đầu (Khi tiến trình được tạo lập) hoặc trong thời gian vận hành và được thu hồi hết khi tiến trình hoàn tất.
VD:chúng ta đang ghi âm(là 1 tiến trình).
Chúng ta viết 1 chương trình trên visual C++(là 1 chương trình).


Câu 2: Mô hình trạng thái của tiến trình.
Trả lời:
- có 5 trạng thái:
+ Mới (New) - Tiến trình vừa được tạo lập.
+ Đang chạy (Running) - Các lệnh đang thực hiện.
+ Đang chờ (Waiting) - Tiến trình chờ 1 sự kiện phải xảy ra (Kết thúc I/O,Tín hiệu từ tiến trình khác,...).
+ Sẵn sàng (Ready) - Tiến trình chờ để được ấn định CPU.
+ Kết thúc (Terminated) - Tiến trình vừa được thực hiện xong công việc.
- Sơ đồ chuyển trạng thái tiến trình.
VD:chúng ta sử dụng phần mềm quay video.

Câu 3:Thế nào là khối kiểm soát tiến trình (PCB).
Trả lời:
PCB là một cấu trúc dữ liệu được hệ điều hành duy trì cho mỗi tiến trình dùng để chứa các thông tin cần thiết về tiến trình đó. PCB chứa "Bản sao công việc của tiến trình".

Câu 4: Luân chuyển CPU giữa hai tiến trình.
Trả lời:
bài chỉnh sửa lại(nhờ thầy xem và góp ý dùm em) Cau4bai4
Câu 5: Khái niệm trình điều phối.
Trả lời:
- Nhằm mục đích sử dụng tối đa công thức của CPU.
-Tạo cho người dùng cảm giác luôn làm việc với chương trình của mình.CPU liên tục chuyển đi chuyển lại giữa các tiến trình.
VD:Khi người tham gia giao thông đi trên đường gặp đèn đỏ,thì phải dừng lại chờ,nhưng ta sẽ tắt máy và ngủ luôn ở đó,chờ khi công an giao thông đến kêu ta dậy thì ta sẽ đi tiếp.

Câu 6: Phân biệt điều phối chậm với nhanh
Trả lời:
* Điều phối chậm:
- Chọn tiến trình từ Job Queue để đưa vào Ready Queue.
- Kiểm soát độ đa chương (Số tiến trình trong bộ nhớ).
- Do có nhiều thời gian (vài phút), loại Scheduler này có điều kiện để lựa chọn kỹ các tiến trình cần nhằm phối hợp cân đối hai loại tiến trình:
+ Hướng CPU (CPU-Bound): Tính toán nhiều, Ít I/O.
+ Hướng I/O(I/O-Bound): Tính toán ít, Nhiều I/O.
- Mục đích: Cân bằng tải cho toàn hệ thống.
*Điều phối nhanh:
- Còn gọi là Điều phối CPU.
- Chọn tiến trình từ Ready Queue để cấp CPU (đưa sang trạng thái Running).
- Có tần suất công việc cao. Thường cứ 100ms lại tốn 10ms để xác định tiến trình kế tiếp cần chuyển sang Running, như vậy 10/(100+10)=9% thời gian CPU để điều phối công việc.

Câu 7: Lý do cộng tác giữa các tiến trình.
Trả lời:
- Chia sẽ thông tin: Một tiến trình sử dụng thông tin do tiến trình khác cung cấp.
- Tăng tốc tính toán: Các tiến trình làm việc song song trên cùng một hoặc nhiều máy tính để giải quyết bài toán chung.
- Đảm bảo tính đơn thể: Chương trình được chia thành các đơn thể chức năng riêng vận hành trong các tiến trình hoặc luồng khác nhau.
- Đảm bảo tính tiện dụng: Người dùng có khả năng làm nhiều việc cùng một lúc: Soạn thảo, In ấn, Lấy file về,...
VD:Nhu cầu nối mạng internet của chúng ta.

Câu 8: Phát biểu bài toán Sản xuất-Tiêu thụ với thuật giải phù hợp.
Trả lời:
* Phát biểu bài toán Sản xuất-Tiêu thụ.
- Giả sử có bộ nhớ đệm (buffer) bao gồm nhiều khoang chứa (Items) được tiến trình Producer lần lượt đưa các sản phẩm S1, S2,... vào.
- Tiến trình Consumer lần lượt lấy sản phẩm ra theo đúng thứ tự.
- Công việc của Producer phải đồng bộ với Consumer: Không được đưa sản phẩm vào khi buffer đầy, không được lấy ra khi chưa có sản phẩm.
* Thuật giải chờ bận (Busy-Waiting).
- Tiến trình sản xuất:
CODE:
Code:
item nextProduced;
while (1)
 {
  while (((in + 1) % BUFFER_SIZE) == out);
  buffer[in] = nextProduced;
  in = (in + 1) % BUFFER_SIZE;
}
- Tiến trình tiêu thụ.
CODE:
Code:
item nextConsumed;
while (1)
 {
  while (in == out);
  nextConsumed = buffer[out];
  out = (out + 1) % BUFFER_SIZE;
}


Câu 9: Tổ chức liên lạc trong hệ thống Khách-Chủ qua Sockets. Phân biệt giao thức TCP với UDP.
Trả lời:
* tổ chức liên lạc trong hệ thống Khách-Chủ.
- Khái niệm Hốc liên lạc (Socket)
+ Hốc là điểm đầu của liên kết truyền thông, được đặc trưng bởi cặp số (IP Address, Port Number) trong mạng Client/Server.
+ Server chờ yêu cầu từ Client bằng cách nghe vào cổng (Port) định trước:
• Telnet Server nghe vào cổng 23
• FTP Server nghe vào cổng 21
• Web Server nghe vào cổng 80
•Thông thường các cổng với số hiệu dưới 1024 là các cổng chuẩn của hệ thống.
+ Khi Client phát sinh yêu cầu nối, nó được cấp một cổng nào đó sau 1024.
- Phân loại hốc liên lạc
+ Có kết nối - Connection-Oriented (TCP - Transmission Control Protocol): Thiết lập sẵn mối liên kết giữa hai đầu (hai máy) trước khi truyền.
+ Không kết nối - Connectionless (UDP - User Datagram Protocol): Không phải thiết lập mối liên kết sẵn trước khi truyền, do đó dễ dàng liên lạc với nhiều máy cùng một lúc, Nhưng không đảm bảo bằng TCP.
* Phân biệt TCP với UDP
Giống nhau : đều là các giao thức mạng TCP/IP, đều có chức năng kết nối các máy lại với nhau, và có thể gửi dữ liệu cho nhau....
Khác nhau:
các header của TCP và UDP khác nhau ở kích thước (20 và 8 byte) nguyên nhân chủ yếu là do TCP phải hỗ trợ nhiều chức năng hữu ích hơn (như khả năng khôi phục lỗi). UDP dùng ít byte hơn cho phần header và yêu cầu xử lý từ host ít hơn.
TCP :
- Dùng cho mạng WAN
- Không cho phép mất gói tin
- Đảm bảo việc truyền dữ liệu
- Tốc độ truyền thấp hơn UDP
UDP:
- Dùng cho mạng LAN
- Cho phép mất dữ liệu
- Không đảm bảo.
- Tốc độ truyền cao, VolP truyền tốt qua UDP

BÀI 5:ĐA LUỒNG
Câu 1: Khái niệm đa luồng. So sánh luồng với tiến trình (giống và khác nhau ở chỗ nào?)
Trả lời:
* Khái niệm đa luồng: Luồng còn gọi là tiến trình nhẹ (LWP-Light Weight Process), cũng là một đơn vị cơ bản sử dụng CPU.
* So sánh:
- Luồng cũng có thông tin trạng thái như tiến trình truyền thống (Heavy Weight Process).
+ Nhiều luồng có thể cùng chung một mã chương trình.
- Tiến trình có thể có một luồng chính với nhiều luồng phụ. Mỗi luồng có khả năng chia sẻ tài nguyên với các luồng khác trong tiến trình.

Câu 2: Ích lợi của đa luồng
Trả lời:
- Khả năng đáp ứng (Responsiveness) tốt hơn: Trong khi một luồng bị ách hoặc quá bận, luồng khác vẫn vận hành bình thường (ví dụ, luồng chính của trình duyệt vẫn tương tác với người dùng trong khi dữ liệu được lấy về).
- Chia sẽ tài nguyên (Resource Sharing): Theo mặc định, các luồng có thể dùng chung bộ nhớ và tài nguyên của luồng cha. Vài luồng cùng vận hành trong một vùng địa chỉ, do đó dễ chia sẻ tài nguyên hơn so với trường hợp đa tiến trình.
- Tiết kiệm (Economy): Cấp phát bộ nhớ và tài nguyên cho tiến trình là một công việc tốn kém. Do luồng chung tài nguyên với cha và các luồng khác, việc tạo lập và chuyển ngữ cảnh cũng nhanh hơn (Solaris 2: Tạo tiến trình chậm hơn 30 lần, chuyển ngữ cảnh chậm hơn 5 lần).
- Tận dụng được thế mạnh của kiến trức đa xử lý: Đa luồng làm tăng tính song song trên hệ máy nhiều CPU. Mỗi luồng có thể được chạy bởi CPU riêng.
- Lập trình đa luồng dễ hơn (chia sẻ tài nguyên và tạo mới luồng dễ hơn).

Câu 3: Nguyên lý tập luồng.
Trả lời:
- Tập luồng bao gồm luồng giống nhau (ví dụ, chung mã).
- Tiến trình cha tạo lập sẵn một tập luồng khi khởi động.
- Các luồng trong tập luồng luôn sẵn sàng chờ công việc.
- Khi tiến trình cha (ví dụ Web Server) nhận thêm một yêu cầu, một luồng được đánh thức và nhanh chóng đưa vào vận hành.
- Phục vụ xong luồng được trả về tập luồng.
- Nếu số yêu cầu lớn hơn số tập luồng trong tập, tiến trình cha chờ đến khi có luồng được giải phóng.

Cậu 4: Lập trình đa luồng trong Windows.
Trả lời:
- Windows sử dụng các hàm trong thư viện Win32 API.
- Ứng dụng Windows vận hành như một tiến trình với một hoặc nhiều luồng.
- Bài toán Sản xuất-Tiêu thụ có thể được thực thi bằng ứng dụng đa luồng.
Nguyen_xuan_tam0951010034
Nguyen_xuan_tam0951010034

Tổng số bài gửi : 82
Join date : 24/09/2010
Age : 33
Đến từ : Tanh linh_Binh thuan

Về Đầu Trang Go down

bài chỉnh sửa lại(nhờ thầy xem và góp ý dùm em) Empty Re: bài chỉnh sửa lại(nhờ thầy xem và góp ý dùm em)

Bài gửi  Nguyen_xuan_tam0951010034 27/10/2010, 17:36

xin thầy xem xét bài của em sớm để em có tài liệu học! lol! lol!
Nguyen_xuan_tam0951010034
Nguyen_xuan_tam0951010034

Tổng số bài gửi : 82
Join date : 24/09/2010
Age : 33
Đến từ : Tanh linh_Binh thuan

Về Đầu Trang Go down

bài chỉnh sửa lại(nhờ thầy xem và góp ý dùm em) Empty ví dụ về đa luồng

Bài gửi  Nguyen_xuan_tam0951010034 4/11/2010, 17:02

trong 1 công ty thực phẩm làm bánh thì sẽ có nhiều khoa khác nhau,mỗi khoa đều có 1 công việc riêng của mình.khoa làm bánh,khoa cho bánh vào bọc,khoa dán nhãn bánh,khoa in bánh,khoan đóng thùng,...các khoa này hoạt động độc lập với nhau!nhưng không thê3 thiếu bất cứ khoa nào trong công ty,nếu thiếu thì công ty sẽ ngừng hoạt động,các khoa này có chung 1 mã nguồn là công ty thực phẩm làm bánh.

Admin
"Ngô nghê" quá ! ("con nghê... ngố"). Chưa đúng. Sai.
Nguyen_xuan_tam0951010034
Nguyen_xuan_tam0951010034

Tổng số bài gửi : 82
Join date : 24/09/2010
Age : 33
Đến từ : Tanh linh_Binh thuan

Về Đầu Trang Go down

bài chỉnh sửa lại(nhờ thầy xem và góp ý dùm em) Empty Re: bài chỉnh sửa lại(nhờ thầy xem và góp ý dùm em)

Bài gửi  Dang Hong Phuc (PT1) 5/11/2010, 09:48

Hồi giờ chưa nghe nói "Khoa" trong công ty, chỉ nghe "Phòng ban" thôi. Nhưng thầy bảo sai chắc không phải (lỗi?) cái này. Sao thầy không giải thích sai chỗ nào cho chúng em dễ làm bài hơn?!

Dang Hong Phuc (PT1)

Tổng số bài gửi : 125
Join date : 19/09/2010

Về Đầu Trang Go down

bài chỉnh sửa lại(nhờ thầy xem và góp ý dùm em) Empty Re: bài chỉnh sửa lại(nhờ thầy xem và góp ý dùm em)

Bài gửi  Nguyen_xuan_tam0951010034 5/11/2010, 09:52

mình đọc lời nhận xét của thầy cũng chẳng hiểu!
No No No
Nguyen_xuan_tam0951010034
Nguyen_xuan_tam0951010034

Tổng số bài gửi : 82
Join date : 24/09/2010
Age : 33
Đến từ : Tanh linh_Binh thuan

Về Đầu Trang Go down

bài chỉnh sửa lại(nhờ thầy xem và góp ý dùm em) Empty Re: bài chỉnh sửa lại(nhờ thầy xem và góp ý dùm em)

Bài gửi  Nguyen_xuan_tam0951010034 5/11/2010, 09:54

Dang Hong Phuc (PT1) đã viết:Hồi giờ chưa nghe nói "Khoa" trong công ty, chỉ nghe "Phòng ban" thôi. Nhưng thầy bảo sai chắc không phải (lỗi?) cái này. Sao thầy không giải thích sai chỗ nào cho chúng em dễ làm bài hơn?!


ngô nghê.(con nghê...ngố) có ngjĩa là sao Phúc?
chắc là không phải lỗi mình lấy ví dụ tên khoa hay phòng ban đâu!
cái đó mình chỉ là lấy ví dụ cho dễ hiểu thôi mà!
confused confused confused
Nguyen_xuan_tam0951010034
Nguyen_xuan_tam0951010034

Tổng số bài gửi : 82
Join date : 24/09/2010
Age : 33
Đến từ : Tanh linh_Binh thuan

Về Đầu Trang Go down

bài chỉnh sửa lại(nhờ thầy xem và góp ý dùm em) Empty Re: bài chỉnh sửa lại(nhờ thầy xem và góp ý dùm em)

Bài gửi  nguyenvanthach.cntt (pt1) 9/11/2010, 21:14

tâm ơi.cái này thầy hok giải đâu.ý thầy là muốn mình tự học,tự tìm hiểu là chính đó.nếu bạn này hok hiểu chỗ nào thì có thể hỏi bạn A.Sơn hoăc bạn khác cũng được mà [từ mình ra nha]Very Happy Very Happy Very Happy
nguyenvanthach.cntt (pt1)
nguyenvanthach.cntt (pt1)

Tổng số bài gửi : 21
Join date : 19/09/2010
Age : 34
Đến từ : LAGI

Về Đầu Trang Go down

bài chỉnh sửa lại(nhờ thầy xem và góp ý dùm em) Empty Re: bài chỉnh sửa lại(nhờ thầy xem và góp ý dùm em)

Bài gửi  Nguyen_xuan_tam0951010034 11/11/2010, 09:07

nguyenvanthach.cntt (pt1) đã viết:tâm ơi.cái này thầy hok giải đâu.ý thầy là muốn mình tự học,tự tìm hiểu là chính đó.nếu bạn này hok hiểu chỗ nào thì có thể hỏi bạn A.Sơn hoăc bạn khác cũng được mà [từ mình ra nha]Very Happy Very Happy Very Happy

cảm ơn góp ý của mày mày nha!
tao cứ vô xem hoài mà sao chẳng thấy thầy sữa!
ở đây có 5 chương rồi!
bên kia 2 chương nữa là về học ok rồi! Arrow Arrow Arrow
Nguyen_xuan_tam0951010034
Nguyen_xuan_tam0951010034

Tổng số bài gửi : 82
Join date : 24/09/2010
Age : 33
Đến từ : Tanh linh_Binh thuan

Về Đầu Trang Go down

bài chỉnh sửa lại(nhờ thầy xem và góp ý dùm em) Empty Re: bài chỉnh sửa lại(nhờ thầy xem và góp ý dùm em)

Bài gửi  Dang Hong Phuc (PT1) 12/11/2010, 08:54

Nguyen_xuan_tam0951010034 đã viết: ngô nghê.(con nghê...ngố) có ngjĩa là sao Phúc?
chắc là không phải lỗi mình lấy ví dụ tên khoa hay phòng ban đâu!
cái đó mình chỉ là lấy ví dụ cho dễ hiểu thôi mà!
Theo mình hiểu thì các từ thầy nói có ý là "đi ngược lại với ý nghĩa của một đối tượng nào đó" (?)

Dang Hong Phuc (PT1)

Tổng số bài gửi : 125
Join date : 19/09/2010

Về Đầu Trang Go down

bài chỉnh sửa lại(nhờ thầy xem và góp ý dùm em) Empty Re: bài chỉnh sửa lại(nhờ thầy xem và góp ý dùm em)

Bài gửi  Nguyen_xuan_tam0951010034 13/11/2010, 10:06

Dang Hong Phuc (PT1) đã viết:
Nguyen_xuan_tam0951010034 đã viết: ngô nghê.(con nghê...ngố) có ngjĩa là sao Phúc?
chắc là không phải lỗi mình lấy ví dụ tên khoa hay phòng ban đâu!
cái đó mình chỉ là lấy ví dụ cho dễ hiểu thôi mà!
Theo mình hiểu thì các từ thầy nói có ý là "đi ngược lại với ý nghĩa của một đối tượng nào đó" (?)


thank nha!
Nguyen_xuan_tam0951010034
Nguyen_xuan_tam0951010034

Tổng số bài gửi : 82
Join date : 24/09/2010
Age : 33
Đến từ : Tanh linh_Binh thuan

Về Đầu Trang Go down

bài chỉnh sửa lại(nhờ thầy xem và góp ý dùm em) Empty Re: bài chỉnh sửa lại(nhờ thầy xem và góp ý dùm em)

Bài gửi  Sponsored content


Sponsored content


Về Đầu Trang Go down

Về Đầu Trang

- Similar topics

 
Permissions in this forum:
Bạn không có quyền trả lời bài viết