[Question] Câu hỏi về hệ điều hành |
25/11/2009 10:28:10 (+0700) | #1 | 199103 |
|
lacazizi
Member
|
0 |
|
|
Joined: 03/03/2009 19:58:22
Messages: 87
Offline
|
|
Hệ điều hành ko đảm nhiệm nhiệm vụ nào sau đây
1-Giao tiếp với ổ cứng
2-quản lí thông tin trên bộ nhớ ngoài
3-sắp xếp thông tin trên bộ nhớ ngoài
4-tìm kiếm thông tin trên internet
Mọi người giúp với, câu này thấy cái nào cũng đúng. |
|
|
|
|
[Question] Câu hỏi về hệ điều hành |
25/11/2009 10:35:00 (+0700) | #2 | 199104 |
|
quanta
Moderator
|
Joined: 28/07/2006 14:44:21
Messages: 7265
Location: $ locate `whoami`
Offline
|
|
|
Let's build on a great foundation! |
|
|
|
[Question] Câu hỏi về hệ điều hành |
25/11/2009 10:38:01 (+0700) | #3 | 199105 |
|
lacazizi
Member
|
0 |
|
|
Joined: 03/03/2009 19:58:22
Messages: 87
Offline
|
|
Em nghĩ câu 1 , giao tiếp là do mình trực tiếp làm chứ hdh ko hẳn là đảm nhiệm. |
|
|
|
|
[Question] Câu hỏi về hệ điều hành |
25/11/2009 10:41:12 (+0700) | #4 | 199106 |
StarGhost
Elite Member
|
0 |
|
|
Joined: 29/03/2005 20:34:22
Messages: 662
Location: The Queen
Offline
|
|
Cho mình hỏi bộ nhớ ngoài là cái gì vậy? |
|
Mind your thought. |
|
|
|
[Question] Câu hỏi về hệ điều hành |
25/11/2009 11:10:09 (+0700) | #5 | 199107 |
|
linux_xxx
Member
|
0 |
|
|
Joined: 31/07/2009 00:03:31
Messages: 81
Location: nơi chân trời
Offline
|
|
|
|
[Question] Câu hỏi về hệ điều hành |
25/11/2009 23:00:13 (+0700) | #6 | 199121 |
vndncn
Member
|
0 |
|
|
Joined: 21/08/2006 10:38:00
Messages: 77
Offline
|
|
Chắc không có câu nào đúng quá! |
|
|
|
|
[Question] Câu hỏi về hệ điều hành |
25/11/2009 23:20:48 (+0700) | #7 | 199122 |
phuoctrung
Member
|
0 |
|
|
Joined: 22/03/2009 19:51:42
Messages: 88
Location: Vietnamese
Offline
|
|
câu 4. VÌ tìm kiếm trên mạng phải có nhiều thiết bị khác nữa |
|
|
|
|
[Question] Câu hỏi về hệ điều hành |
25/11/2009 23:35:11 (+0700) | #8 | 199126 |
|
quanta
Moderator
|
Joined: 28/07/2006 14:44:21
Messages: 7265
Location: $ locate `whoami`
Offline
|
|
StarGhost wrote:
Cho mình hỏi bộ nhớ ngoài là cái gì vậy?
Đọc lại câu "vặn" của StarGhost mới giật mình vì trả lời háu táu: bộ nhớ ngoài ngày xưa được học là những cái gì lưu được dữ liệu nhưng nằm ở ngoài, ví dụ như: đĩa mềm, USB, băng từ... Vậy thì hệ điều hành có "quản lý thông tin" với "sắp xếp thông tin" trên các thiết bị này không nhỉ? Theo mình là không.
Còn câu 1, nghĩ lại thì thấy giao tiếp với ổ cứng phải là mấy cái IDE, ATA, SATA Controller chứ nhỉ.
Tóm lại, câu trả lời cuối cùng của mình là cả 4 đáp án.
@chủ topic: Bạn lấy câu hỏi này ở đâu ra vậy? |
|
Let's build on a great foundation! |
|
|
|
[Question] Câu hỏi về hệ điều hành |
26/11/2009 00:25:53 (+0700) | #9 | 199130 |
|
lacazizi
Member
|
0 |
|
|
Joined: 03/03/2009 19:58:22
Messages: 87
Offline
|
|
Mình lục lọi lại đống sách vở, nhìn lại thấy còn kém quá, chưa hiểu về hệ điều hành nên hỏi anh em, xin anh quanta có thể giải thích rõ hơn cho em được không. Em thấy hơi bối rối phần này. |
|
|
|
|
[Question] Câu hỏi về hệ điều hành |
26/11/2009 00:51:46 (+0700) | #10 | 199132 |
|
lacazizi
Member
|
0 |
|
|
Joined: 03/03/2009 19:58:22
Messages: 87
Offline
|
|
Không có ai trả lời dùm tớ à |
|
|
|
|
[Question] Câu hỏi về hệ điều hành |
26/11/2009 03:16:20 (+0700) | #11 | 199138 |
|
linux_xxx
Member
|
0 |
|
|
Joined: 31/07/2009 00:03:31
Messages: 81
Location: nơi chân trời
Offline
|
|
lacazizi wrote:
Hệ điều hành ko đảm nhiệm nhiệm vụ nào sau đây
1-Giao tiếp với ổ cứng
2-quản lí thông tin trên bộ nhớ ngoài
3-sắp xếp thông tin trên bộ nhớ ngoài
4-tìm kiếm thông tin trên internet
Mọi người giúp với, câu này thấy cái nào cũng đúng.
Sorry!Mình xin trả lời như thê này nhé:
Các bạn có đồng ý rằng HDD chính là một thiết bị lưu trữ ngoài(bộ nhớ ngoài)vì thế
1.Quản lí truy suất dữ liệu trên HDD phụ thuộc vào disk controller(bộ điều khiển ổ cứng).Nhờ có DK thì HDD và CPU có thể giao tiếp được với nhau.
Như anh quanta nói các chuẩn IDE,SATA ,ATA.Đó là các chuẩn giao tiếp.Còn đối tượng giao tiếp với HDD ở đây là CPU.
Câu 1:Đúng. |
|
Tự do muôn năm! |
|
|
|
[Question] Câu hỏi về hệ điều hành |
26/11/2009 11:54:01 (+0700) | #12 | 199190 |
myquartz
Member
|
0 |
|
|
Joined: 04/01/2005 04:58:30
Messages: 563
Offline
|
|
Câu 4. (OS ko làm việc này, chỉ có người hoặc ứng dụng chạy trên OS mới đi tìm thông tin trên Internet, OS chỉ cung cấp các dịch vụ thấp hơn như kết nối, truyền dữ liệu chứ ko quan tâm đến nội dung thông tin, nó ko biết là bạn đang tìm kiếm, gửi thư hay là ... xem phim bậy).
Còn các câu còn lại:
1. HDD do controller điều khiển, nhưng tính riêng phần software thì do OS làm (cụ thể là device driver của OS nó làm). Các ứng dụng ko dùng HDD trực tiếp mà dùng file system (nó có thể là trên ổ đĩa mạng, có thể trong mem như là RAM disk hay thẻ nhớ chẳng hạn, ko chỉ là HDD).
2,3. quản lý và sắp xếp thông tin trên bộ nhớ ngoài. Bộ nhớ ngoài theo định nghĩa thì nó là thiết bị lưu trữ lâu dài nói chung như là HDD, đĩa mềm, hay thẻ nhớ. Tóm lại là truy nhập theo block. OS làm việc này và cung cấp API lại ở mức cao hơn cho ứng dụng. Ứng dụng ko cần quan tâm đến dữ liệu được lưu ở đâu ở bộ nhớ ngoài, hoặc theo thứ tự nào, có phủ kín 1 block hay không, cái này hoàn toàn do OS làm.
Khác với bộ nhớ ngoài là bộ nhớ trong, là khái niệm chỉ RAM hoặc cache L1, L2 (của CPU). Đây thường được coi là vùng nhớ truy cập ngẫu nhiên, tốc độ cao, đặc điểm là nó được truy cập từng byte một và quan trọng là do CPU quản lý địa chỉ một cách trực tiếp (bộ nhớ ngoài ko phải do CPU quản lý địa chỉ mà do OS quản lý, CPU chỉ giúp OS giao tiếp theo cổng hoặc ngắt như bất kỳ thiết bị nào khác).
------------------------
Chúc các bạn hiểu được mấy khái niệm do nền giáo dục CNTT VN nghĩ ra. |
|
|
|
|
[Question] Câu hỏi về hệ điều hành |
26/11/2009 21:39:11 (+0700) | #13 | 199202 |
StarGhost
Elite Member
|
0 |
|
|
Joined: 29/03/2005 20:34:22
Messages: 662
Location: The Queen
Offline
|
|
myquartz wrote:
2,3. quản lý và sắp xếp thông tin trên bộ nhớ ngoài. Bộ nhớ ngoài theo định nghĩa thì nó là thiết bị lưu trữ lâu dài nói chung như là HDD, đĩa mềm, hay thẻ nhớ. Tóm lại là truy nhập theo block. OS làm việc này và cung cấp API lại ở mức cao hơn cho ứng dụng. Ứng dụng ko cần quan tâm đến dữ liệu được lưu ở đâu ở bộ nhớ ngoài, hoặc theo thứ tự nào, có phủ kín 1 block hay không, cái này hoàn toàn do OS làm.
Khác với bộ nhớ ngoài là bộ nhớ trong, là khái niệm chỉ RAM hoặc cache L1, L2 (của CPU). Đây thường được coi là vùng nhớ truy cập ngẫu nhiên, tốc độ cao, đặc điểm là nó được truy cập từng byte một và quan trọng là do CPU quản lý địa chỉ một cách trực tiếp (bộ nhớ ngoài ko phải do CPU quản lý địa chỉ mà do OS quản lý, CPU chỉ giúp OS giao tiếp theo cổng hoặc ngắt như bất kỳ thiết bị nào khác).
------------------------
Chúc các bạn hiểu được mấy khái niệm do nền giáo dục CNTT VN nghĩ ra.
---> cái "lưu ở đâu" này thường thường có 2 nghĩa: block và vị trí vật lý. OS chỉ biết dữ liệu được lưu ở block nào, chứ không biết vị trí vật lý của dữ liệu.
---> CPU mà thông minh đến mức quản lý được RAM sao? |
|
Mind your thought. |
|
|
|
[Question] Câu hỏi về hệ điều hành |
26/11/2009 22:07:39 (+0700) | #14 | 199203 |
|
lacazizi
Member
|
0 |
|
|
Joined: 03/03/2009 19:58:22
Messages: 87
Offline
|
|
Em nghĩ nghe nói muốn điểu khiển được RAM thì CPU & ổ cứng phải hoạt động chứ chưa từng nghe CPU điều khiễn được RAM anh à. |
|
|
|
|
[Question] Câu hỏi về hệ điều hành |
26/11/2009 23:08:40 (+0700) | #15 | 199210 |
|
lacazizi
Member
|
0 |
|
|
Joined: 03/03/2009 19:58:22
Messages: 87
Offline
|
|
Có ai cho em đáp án cuối không. ( |
|
|
|
|
[Question] Câu hỏi về hệ điều hành |
27/11/2009 00:22:57 (+0700) | #16 | 199214 |
myquartz
Member
|
0 |
|
|
Joined: 04/01/2005 04:58:30
Messages: 563
Offline
|
|
StarGhost wrote:
---> cái "lưu ở đâu" này thường thường có 2 nghĩa: block và vị trí vật lý. OS chỉ biết dữ liệu được lưu ở block nào, chứ không biết vị trí vật lý của dữ liệu.
---> CPU mà thông minh đến mức quản lý được RAM sao?
- Vị trí vật lý được hiểu là gì? tức là ổ đĩa HDD lắp ở khay nào? bằng ốc vít nào hay đặt ở mặt bàn nào? Nếu thế thì cả disk controller cũng ko biết.
OS nó ko hẳn là quản lý theo block, nó quản lý theo sector, cụ thể nó định vị được cylinder, head và sector number của HDD, dù có thể các thông số này do HDD ánh xạ logic, vì có thể đĩa cứng có 2 đĩa - 2 plate - 4 mặt, tức là tương đương với 4 head, nhưng được ánh xạ có thể nhiều head hơn (ví dụ 64). Còn vị trí thực tế của dữ liệu nằm trên đĩa tất nhiên chỉ cái HDD (đúng hơn là cái mạch điều khiển ở trên ổ đĩa nó mới biết), chả có phần nào, kể cả SATA hay IDE controller biết được cái đó.
- Xem kỹ lại, CPU quản lý địa chỉ của RAM chứ ko phải là quản lý RAM. RAM được điều khiển bởi memory controller (với các chip AMD, từ Athlon, memory controller nằm ngay trên CPU, còn của Intel thì dòng core i3, i5, i7 trở về sau thì cũng tích hợp luôn trên đó). Thêm nữa, RAM được cấp điện và cấp xung nhịp hoạt động bởi main board.
Quản lý địa chỉ của RAM tức là nó có đánh số địa chỉ này, đọc/ghi trực tiếp vào ô nhớ được đánh địa chỉ này, có thể sử dụng các phép toán của CPU trực tiếp và quan trọng nhất là PC (Program Counter) chứa giá trị địa chỉ RAM này. CPU 32bit thì thường quản lý bộ nhớ RAM với độ dài địa chỉ 32bit (tức ~ 4GB RAM), còn 64bit thì độ dài địa chỉ quản lý được có thể lên đến 64bit. Tất cả phụ thuộc vào khả năng của CPU, thậm chỉ cache L1, L2 cũng là 1 phần của CPU luôn (tức là các cơ chế cache hit/miss, các set, các tag, hay instrution/data cache, đều là 1 phần của CPU cả).
Bộ nhớ ngoài thì không phải thế, OS sẽ nhận ra kích thước của HDD hay thẻ nhớ, chứ CPU thì ko biết nó là cái gì cả, tất cả được coi là thiết bị ngoại vi (nghĩa là đối với CPU, HDD, card mạng, bàn phím hay giao tiếp VGA, cổng COM đều là như nhau, đều là ngoại vi, chỉ có OS mới phân biệt chức năng của các thiết bị đó).
Hi vọng các bạn đã học qua Kiến trúc máy tính, mấy thứ này được giảng giải kỹ trong môn học đó. |
|
|
|
|
[Question] Câu hỏi về hệ điều hành |
27/11/2009 00:27:47 (+0700) | #17 | 199215 |
myquartz
Member
|
0 |
|
|
Joined: 04/01/2005 04:58:30
Messages: 563
Offline
|
|
lacazizi wrote:
Em nghĩ nghe nói muốn điểu khiển được RAM thì CPU & ổ cứng phải hoạt động chứ chưa từng nghe CPU điều khiễn được RAM anh à.
Máy tính có thể chạy được khi không có ổ cứng (ví dụ mạng máy tính không ổ cứng).
Nhưng kiến trúc cơ bản 1 máy tính phải có 2 thành phần: CPU + RAM. Còn để hữu dụng thì người ta cần thêm thiết bị xuất/nhập (bàn phím và màn hình, đời cổ thì người ta dùng 1 cái cổng Serial - COM gì đó, nối với 1 cái terminal câm là xong) và thiết bị lưu trữ chương trình để load lên (có thể là ROM/floppy/HDD/thẻ nhớ hay gì đó. Máy cơ bản chỉ cần duy nhất cái ROM chứa chương trình mồi vẫn gọi là BIOS đấy). |
|
|
|
|
[Question] Câu hỏi về hệ điều hành |
27/11/2009 00:56:38 (+0700) | #18 | 199217 |
StarGhost
Elite Member
|
0 |
|
|
Joined: 29/03/2005 20:34:22
Messages: 662
Location: The Queen
Offline
|
|
myquartz wrote:
- Vị trí vật lý được hiểu là gì? tức là ổ đĩa HDD lắp ở khay nào? bằng ốc vít nào hay đặt ở mặt bàn nào? Nếu thế thì cả disk controller cũng ko biết.
OS nó ko hẳn là quản lý theo block, nó quản lý theo sector, cụ thể nó định vị được cylinder, head và sector number của HDD, dù có thể các thông số này do HDD ánh xạ logic, vì có thể đĩa cứng có 2 đĩa - 2 plate - 4 mặt, tức là tương đương với 4 head, nhưng được ánh xạ có thể nhiều head hơn (ví dụ 64). Còn vị trí thực tế của dữ liệu nằm trên đĩa tất nhiên chỉ cái HDD (đúng hơn là cái mạch điều khiển ở trên ổ đĩa nó mới biết), chả có phần nào, kể cả SATA hay IDE controller biết được cái đó.
Vị trí vật lý ở đây có nghĩa là sector nằm ở cylinder nào, track nào, plate nào trên HDD. Và cái này thì OS thường thường mù tịt.
myquartz wrote:
- Xem kỹ lại, CPU quản lý địa chỉ của RAM chứ ko phải là quản lý RAM. RAM được điều khiển bởi memory controller (với các chip AMD, từ Athlon, memory controller nằm ngay trên CPU, còn của Intel thì dòng core i3, i5, i7 trở về sau thì cũng tích hợp luôn trên đó). Thêm nữa, RAM được cấp điện và cấp xung nhịp hoạt động bởi main board.
Quản lý địa chỉ của RAM tức là nó có đánh số địa chỉ này, đọc/ghi trực tiếp vào ô nhớ được đánh địa chỉ này, có thể sử dụng các phép toán của CPU trực tiếp và quan trọng nhất là PC (Program Counter) chứa giá trị địa chỉ RAM này. CPU 32bit thì thường quản lý bộ nhớ RAM với độ dài địa chỉ 32bit (tức ~ 4GB RAM), còn 64bit thì độ dài địa chỉ quản lý được có thể lên đến 64bit. Tất cả phụ thuộc vào khả năng của CPU, thậm chỉ cache L1, L2 cũng là 1 phần của CPU luôn (tức là các cơ chế cache hit/miss, các set, các tag, hay instrution/data cache, đều là 1 phần của CPU cả).
Hì hì, CPU cũng quản lý địa chỉ của RAM hay sao? Memory controller là gì, nó chỉ là một cái io interface không hơn không kém, liên quan gì đến quản lý địa chỉ ở đây?
Việc memory controller nằm ngay trên CPU không có nghĩa là nó được coi là một phần của CPU, mà chỉ là cách đặt chỗ với mục đích liên quan đến performance. Nên tỉnh táo với khái niệm CPU.
---> Bạn myquartz có chắc không vậy? |
|
Mind your thought. |
|
|
|
[Question] Câu hỏi về hệ điều hành |
27/11/2009 05:02:08 (+0700) | #19 | 199231 |
myquartz
Member
|
0 |
|
|
Joined: 04/01/2005 04:58:30
Messages: 563
Offline
|
|
StarGhost wrote:
Vị trí vật lý ở đây có nghĩa là sector nằm ở cylinder nào, track nào, plate nào trên HDD. Và cái này thì OS thường thường mù tịt.
Hì hì, CPU cũng quản lý địa chỉ của RAM hay sao? Memory controller là gì, nó chỉ là một cái io interface không hơn không kém, liên quan gì đến quản lý địa chỉ ở đây?
Việc memory controller nằm ngay trên CPU không có nghĩa là nó được coi là một phần của CPU, mà chỉ là cách đặt chỗ với mục đích liên quan đến performance. Nên tỉnh táo với khái niệm CPU.
---> Bạn myquartz có chắc không vậy?
Biết ngay StarGhost thích tranh luận các vấn đề lý thuyết mà. Dù sao cũng để cho nó rõ ràng, nói cho hết, sau SG khỏi lăn tăn.
Vậy để StarGhost thử xem: OS ko truy xuất HDD qua cylinder, head, track (track thực ra chính là cylinder + head), sector thì OS truy xuất HDD bằng cái gì? chả nhẽ bảo là cho tao cái file tên là x.avi trên HDD? SG thử tìm trên Internet coi có giống vậy không.
Có cái test này có vẻ hay ho, gõ thử lệnh: hdparm -i /dev/sda trên 1 máy linux (giả sử sda là ổ cứng chính), có xem các thông số CHS (Cylinder/Head/Sector) xem. Hoặc xem lại các BIOS API (các ngắt của BIOS) do OS sử dụng, xem tham số yêu cầu khi truy xuất đĩa cứng là cái gì?
Còn vụ CPU quản lý địa chỉ của RAM chưa hiểu ý SG ko hiểu là gì cả, CPU ko truy xuất bằng địa chỉ chả nhẽ truy xuất bằng tên hãng? tóm lại, xem thử cái này: http://en.wikipedia.org/wiki/Addressing_mode
Memory Controller ko phải là 1 cái IO Interface, vì RAM ko đc coi là IO device. Coi cái này: http://en.wikipedia.org/wiki/Memory_Controller
Nếu coi CPU chỉ là cái lõi xử lý ALU, CU, thanh ghi... thì thực ra, CPU vẫn sử dụng địa chỉ vật lý mỗi ô nhớ RAM (nếu ko hiểu khái niệm địa chỉ xem lại link bên trên) và thao tác trên nó. Memory Controller như 1 cái vùng đệm giữa CPU với lại RAM, và thêm khả năng refresh cái DRAM và ánh xạ từ địa chỉ vật lý do CPU sang tín hiệu điện "address bus" của mỗi thanh RAM (khi khả năng đánh địa chỉ của CPU là lớn hơn dung lượng RAM thực tế, và hoạt động ở các chế độ khác nhau như là interleaved hay mirror của các thanh RAM). Nói CPU ko quan tâm gì đến địa chỉ vật lý RAM thì ko đúng, nhưng bảo mỗi mình CPU làm việc đó thì cũng ko đúng hoàn toàn (mặc dù thời máy tính cách đây 20 năm điều đó là đúng vì lúc đó ko có MC).
Người ta tích hợp memory controller lên CPU ko chỉ là vì tốc độ, còn là giá thành, nó cũng khiến thay đổi cả kiến trúc của computer, nhất là khi máy tính với multi-processors.
Giá trị PC chính là giá trị địa chỉ vật lý của lệnh tiếp theo được thực thi của CPU. Chính là địa chỉ của RAM đấy. Nếu không, nó là cái gì?
Còn vấn đề gì nữa ko SG, nếu còn, SG định nghĩa từng khái niệm của SG và giải thích nó hoạt động ra sao đi. Nếu có thêm nguồn tham khảo nữa càng tốt. |
|
|
|
|
[Question] Câu hỏi về hệ điều hành |
27/11/2009 05:28:49 (+0700) | #20 | 199236 |
|
HiTnRuN
Member
|
0 |
|
|
Joined: 20/10/2008 19:49:28
Messages: 108
Offline
|
|
lacazizi cho biết rõ thêm câu hỏi này ở đâu (sách nào, tài liệu nào)?
Không biết Microsoft có update chức năng tìm kiếm trên Internet cho MS-DOS không nhỉ? |
|
|
|
|
[Question] Câu hỏi về hệ điều hành |
27/11/2009 06:39:21 (+0700) | #21 | 199246 |
StarGhost
Elite Member
|
0 |
|
|
Joined: 29/03/2005 20:34:22
Messages: 662
Location: The Queen
Offline
|
|
myquartz wrote:
Vậy để StarGhost thử xem: OS ko truy xuất HDD qua cylinder, head, track (track thực ra chính là cylinder + head), sector thì OS truy xuất HDD bằng cái gì? chả nhẽ bảo là cho tao cái file tên là x.avi trên HDD? SG thử tìm trên Internet coi có giống vậy không.
Có cái test này có vẻ hay ho, gõ thử lệnh: hdparm -i /dev/sda trên 1 máy linux (giả sử sda là ổ cứng chính), có xem các thông số CHS (Cylinder/Head/Sector) xem. Hoặc xem lại các BIOS API (các ngắt của BIOS) do OS sử dụng, xem tham số yêu cầu khi truy xuất đĩa cứng là cái gì?
Vậy cái thông số CHS kia có phải là đúng như những gì xuất hiện trên HDD hay không? Bạn myquartz có biết cái gì là virtual/logical geometry hay không?
myquartz wrote:
Còn vụ CPU quản lý địa chỉ của RAM chưa hiểu ý SG ko hiểu là gì cả, CPU ko truy xuất bằng địa chỉ chả nhẽ truy xuất bằng tên hãng? tóm lại, xem thử cái này: http://en.wikipedia.org/wiki/Addressing_mode
Memory Controller ko phải là 1 cái IO Interface, vì RAM ko đc coi là IO device. Coi cái này: http://en.wikipedia.org/wiki/Memory_Controller
Nếu coi CPU chỉ là cái lõi xử lý ALU, CU, thanh ghi... thì thực ra, CPU vẫn sử dụng địa chỉ vật lý mỗi ô nhớ RAM (nếu ko hiểu khái niệm địa chỉ xem lại link bên trên) và thao tác trên nó. Memory Controller như 1 cái vùng đệm giữa CPU với lại RAM, và thêm khả năng refresh cái DRAM và ánh xạ từ địa chỉ vật lý do CPU sang tín hiệu điện "address bus" của mỗi thanh RAM (khi khả năng đánh địa chỉ của CPU là lớn hơn dung lượng RAM thực tế, và hoạt động ở các chế độ khác nhau như là interleaved hay mirror của các thanh RAM). Nói CPU ko quan tâm gì đến địa chỉ vật lý RAM thì ko đúng, nhưng bảo mỗi mình CPU làm việc đó thì cũng ko đúng hoàn toàn (mặc dù thời máy tính cách đây 20 năm điều đó là đúng vì lúc đó ko có MC).
Người ta tích hợp memory controller lên CPU ko chỉ là vì tốc độ, còn là giá thành, nó cũng khiến thay đổi cả kiến trúc của computer, nhất là khi máy tính với multi-processors.
Giá trị PC chính là giá trị địa chỉ vật lý của lệnh tiếp theo được thực thi của CPU. Chính là địa chỉ của RAM đấy. Nếu không, nó là cái gì?
Vậy theo bạn myquartz, trong đoạn thông tin dưới đây:
Code:
52 user@server% gdb null
GNU gdb Fedora (6.8-37.el5)
Copyright (C) 2008 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law. Type "show copying"
and "show warranty" for details.
This GDB was configured as "x86_64-redhat-linux-gnu"...
(gdb) start
Breakpoint 1 at 0x8048398: file null.c, line 5.
Starting program: /smt/null
main () at null.c:5
5 bzero(&arr, 400);
(gdb) i r $eip
eip 0x8048398 0x8048398 <main+20>
thì 0x8048398 có phải là địa chỉ trên RAM chứa instruction của program null hay không? |
|
Mind your thought. |
|
|
|
[Question] Câu hỏi về hệ điều hành |
27/11/2009 07:14:08 (+0700) | #22 | 199250 |
myquartz
Member
|
0 |
|
|
Joined: 04/01/2005 04:58:30
Messages: 563
Offline
|
|
StarGhost wrote:
Vậy cái thông số CHS kia có phải là đúng như những gì xuất hiện trên HDD hay không? Bạn myquartz có biết cái gì là virtual geometry hay không?
Rất biết, đó chính là cái mà tớ đã nói post trước đó, việc ánh xạ khi ổ thật có 2 plate mà có tới 64 head. Xem kỹ lại. HDD nó có virtual geometry riêng, thậm chí còn có vùng dự trữ dành khi chỗ nào đó bị hư thì thay thế, tất cả được quy ra CHS. Nhưng tựu trung lại, kỹ thuật này chỉ là cách để khắc phục việc đánh địa chỉ kiểu CHS khi dung lượng HDD lớn lên đến mức mà CHS theo đúng như vật lý đánh dấu không thể biểu diễn được, ví dụ không thể có HDD dành cho PC có tới 255 cái Head ~ 128 plate, thực tế chỉ là 2 plate/4 head và CHS được ánh xạ sang CHS vật lý của đĩa.
Tóm lại câu này có thể close được, SG ko phản đối là OS sử dụng CHS (dù là ảo hay thật) để gửi đến HDD? Nếu HDD nhỏ, đời cổ (ví dụ ổ cứng 2 heads, 63 sectors/track, 9729 cylinders ~ 598MB) thì CHS ảo đó chính là CHS thật đấy.
StarGhost wrote:
Vậy theo bạn myquartz, trong đoạn thông tin dưới đây:
Code:
52 user@server% gdb null
GNU gdb Fedora (6.8-37.el5)
Copyright (C) 2008 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law. Type "show copying"
and "show warranty" for details.
This GDB was configured as "x86_64-redhat-linux-gnu"...
(gdb) start
Breakpoint 1 at 0x8048398: file null.c, line 5.
Starting program: /smt/null
main () at null.c:5
5 bzero(&arr, 400);
(gdb) i r $eip
eip 0x8048398 0x8048398 <main+20>
thì 0x8048398 có phải là địa chỉ trên RAM chứa instruction của program null hay không?
Đó không phải giá trị địa chỉ vật lý trên RAM, mà là virtual address. Vì CPU (đây chắc là Intel - thanh ghi eip) theo chỉ định của OS Linux nó còn phải dựa vào bảng TLB http://en.wikipedia.org/wiki/Translation_lookaside_buffer) nữa mới ra địa chỉ vật lý, cũng là chuỗi số 32bit như trên nhưng ý nghĩa tương tự là "vị trí của 1 ô nhớ". Lúc đó thao tác read/write vào RAM mới thực sự thực hiện.
Còn SG nói rằng vì thế nên PC ko phải là địa chỉ vật lý, hihi, thì đúng đó là PC ảo, PC vật lý phải là PC ảo + TLB, đó chỉ là cách biểu diễn thôi. Mà PC ảo này sẽ chính là PC vật lý khi CPU chạy ở x86 real-mode. Mà CPU loại 8086 cổ đại thì PC đó luôn luôn là vật lý rồi.
Anyway, kiểu gì thì kiểu CPU vẫn phải đụng đến địa chỉ vật lý của RAM, dù nó map qua TLB hoặc dùng nhiều thanh ghi hợp lại mới thành. Như thế ko phải là nó quản lý trực tiếp địa chỉ vật lý của RAM à? (à, nếu tranh cãi thêm việc này do OS đảm nhiệm thì cũng có lý, nhưng đó là xét khi ứng dụng yêu cầu OS cấp phát và quản lý việc cấp phát/thu hồi đó).
Câu này chắc cũng close được rồi chứ SG?
Mọi câu hỏi về kiến trúc máy tính, cơ bản như bài bạn kia hỏi, đều xét trên 1 cái rất cơ bản, cổ điển, sơ khởi chung chung của computer. Trong trường ĐH người ta dạy như thế, còn trên thực tế, việc có các work around hay là cải tiến, hoặc là đặc thù theo hãng, đều là các nghiên cứu thêm dựa trên cơ bản kia.
Câu trả lời của mình là 4. cũng là câu trả lời cho kiến thức cơ bản, cổ điển như thế. Bạn SV kia có thể hỏi lại thày giáo hướng dẫn coi, xem có được điểm ko? |
|
|
|
|
[Question] Câu hỏi về hệ điều hành |
27/11/2009 09:00:26 (+0700) | #23 | 199254 |
|
linux_xxx
Member
|
0 |
|
|
Joined: 31/07/2009 00:03:31
Messages: 81
Location: nơi chân trời
Offline
|
|
Nhắc nhỏ các bác tí:
Đây là câu hỏi của lacazazi.Các bác nên trả lời câu hỏi.
Còn nếu muốn tranh luận gì thì nên lập topic riêng |
|
Tự do muôn năm! |
|
|
|
[Question] Câu hỏi về hệ điều hành |
27/11/2009 09:33:51 (+0700) | #24 | 199257 |
|
lacazizi
Member
|
0 |
|
|
Joined: 03/03/2009 19:58:22
Messages: 87
Offline
|
|
1 Câu em gặp khi đang đọc lại cuốn lập trình, lấy cuốn sách ra thấy tờ giấy nhõ, càng trả lời càng khó hiếu. |
|
|
|
|
[Question] Câu hỏi về hệ điều hành |
27/11/2009 10:21:47 (+0700) | #25 | 199258 |
|
khanhqhi
Member
|
0 |
|
|
Joined: 27/05/2008 18:02:54
Messages: 27
Offline
|
|
Theo em thì OS quản lý HDD theo từng block một. Ví dụ như nó coi thư mục hoặc file là một inode trong đó nếu inode đó là thư mục thì inode đó sẽ chứa địa chỉ của các inode khác (inode khác ở đây có thể là địa chỉ inode của file hoặc là của thư mục con của nó). Nếu inode là file thì nó sẽ chứa địa chỉ(địa chỉ vật lý thật) của các block (kích thước mỗi block thì e cũng không rõ lắm khoảng vài KB hay sao đó) các block này chứa dữ liệu. (Em học nguyên lý hệ điều hành thấy thế không biết phải không ) |
|
|
|
|
[Question] Câu hỏi về hệ điều hành |
27/11/2009 11:53:32 (+0700) | #26 | 199264 |
|
WinDak
Researcher
|
Joined: 27/01/2002 11:15:00
Messages: 223
Offline
|
|
khanhqhi wrote:
Theo em thì OS quản lý HDD theo từng block một. Ví dụ như nó coi thư mục hoặc file là một inode trong đó nếu inode đó là thư mục thì inode đó sẽ chứa địa chỉ của các inode khác (inode khác ở đây có thể là địa chỉ inode của file hoặc là của thư mục con của nó). Nếu inode là file thì nó sẽ chứa địa chỉ(địa chỉ vật lý thật) của các block (kích thước mỗi block thì e cũng không rõ lắm khoảng vài KB hay sao đó) các block này chứa dữ liệu. (Em học nguyên lý hệ điều hành thấy thế không biết phải không )
Quản lý từng block một nhưng mà không có nghĩa là đếm 1,2,3... mỗi block nó có địa chỉ riêng, và địa chỉ của nó thì OS sẽ quyết định,nó thì chính là mấy cái CHS. Ví dụ như de-fragmentation chẳng hạn, đó là việc OS dịch chuyển data về các vị trí gần nhau, để khi access sẽ nhanh hơn vì HDD không cần phải quay nhiều vòng quá.
Khái niệm quản lý này cũng hơi "mơ hồ"... vì thật ra ở từng lớp của kiến trúc máy tính đều có sự liên hệ từ lớp trên xuống lớp dưới. User click -> OS thực hiện -> CPU dịch, ra lệnh cho các thiết bị v.v.., nên lúc trả lời mình nghĩ cần xác định rõ đang nhìn trên khía cạnh ở lớp nào, nếu nhìn từ user->OS thì rõ ràng là OS có thể tác động đến address của data trên bộ nhớ ngoài (vd HDD) một cách indirect. |
|
-- w~ -- |
|
|
|
[Question] Câu hỏi về hệ điều hành |
27/11/2009 14:27:07 (+0700) | #27 | 199283 |
StarGhost
Elite Member
|
0 |
|
|
Joined: 29/03/2005 20:34:22
Messages: 662
Location: The Queen
Offline
|
|
myquartz wrote:
Rất biết, đó chính là cái mà tớ đã nói post trước đó, việc ánh xạ khi ổ thật có 2 plate mà có tới 64 head. Xem kỹ lại. HDD nó có virtual geometry riêng, thậm chí còn có vùng dự trữ dành khi chỗ nào đó bị hư thì thay thế, tất cả được quy ra CHS. Nhưng tựu trung lại, kỹ thuật này chỉ là cách để khắc phục việc đánh địa chỉ kiểu CHS khi dung lượng HDD lớn lên đến mức mà CHS theo đúng như vật lý đánh dấu không thể biểu diễn được, ví dụ không thể có HDD dành cho PC có tới 255 cái Head ~ 128 plate, thực tế chỉ là 2 plate/4 head và CHS được ánh xạ sang CHS vật lý của đĩa.
Tóm lại câu này có thể close được, SG ko phản đối là OS sử dụng CHS (dù là ảo hay thật) để gửi đến HDD? Nếu HDD nhỏ, đời cổ (ví dụ ổ cứng 2 heads, 63 sectors/track, 9729 cylinders ~ 598MB) thì CHS ảo đó chính là CHS thật đấy.
À ra vậy, bây giờ mình mới thấy. Tuy nhiên, CHS mới chỉ là các con số, và còn chưa thể hiện được cái gọi là geometry. Mặc dù CHS ảo có thể chính là CHS thật, nhưng virtual geometry vẫn có thể khác physical geometry đấy.
myquartz wrote:
Đó không phải giá trị địa chỉ vật lý trên RAM, mà là virtual address. Vì CPU (đây chắc là Intel - thanh ghi eip) theo chỉ định của OS Linux nó còn phải dựa vào bảng TLB http://en.wikipedia.org/wiki/Translation_lookaside_buffer) nữa mới ra địa chỉ vật lý, cũng là chuỗi số 32bit như trên nhưng ý nghĩa tương tự là "vị trí của 1 ô nhớ". Lúc đó thao tác read/write vào RAM mới thực sự thực hiện.
Còn SG nói rằng vì thế nên PC ko phải là địa chỉ vật lý, hihi, thì đúng đó là PC ảo, PC vật lý phải là PC ảo + TLB, đó chỉ là cách biểu diễn thôi. Mà PC ảo này sẽ chính là PC vật lý khi CPU chạy ở x86 real-mode. Mà CPU loại 8086 cổ đại thì PC đó luôn luôn là vật lý rồi.
Anyway, kiểu gì thì kiểu CPU vẫn phải đụng đến địa chỉ vật lý của RAM, dù nó map qua TLB hoặc dùng nhiều thanh ghi hợp lại mới thành. Như thế ko phải là nó quản lý trực tiếp địa chỉ vật lý của RAM à? (à, nếu tranh cãi thêm việc này do OS đảm nhiệm thì cũng có lý, nhưng đó là xét khi ứng dụng yêu cầu OS cấp phát và quản lý việc cấp phát/thu hồi đó).
Câu này chắc cũng close được rồi chứ SG?
Mọi câu hỏi về kiến trúc máy tính, cơ bản như bài bạn kia hỏi, đều xét trên 1 cái rất cơ bản, cổ điển, sơ khởi chung chung của computer. Trong trường ĐH người ta dạy như thế, còn trên thực tế, việc có các work around hay là cải tiến, hoặc là đặc thù theo hãng, đều là các nghiên cứu thêm dựa trên cơ bản kia.
Câu trả lời của mình là 4. cũng là câu trả lời cho kiến thức cơ bản, cổ điển như thế. Bạn SV kia có thể hỏi lại thày giáo hướng dẫn coi, xem có được điểm ko?
Hì, mình không tưởng ra được bây giờ có ai dạy là PC chứa địa chỉ vật lý của instruction trên RAM. Nếu có thì người ta cũng phải nói rằng ngày xưa nó thế, còn tất cả các thiết kế hiện tại đều khác xa, còn vì lý do gì thì chắc bạn cũng hiểu.
Còn khái niệm PC ảo và vật lý, thì nói thật là đây là lần đầu mình nghe thấy. Mình cho rằng PC chỉ có một cái, và là cái PC của CPU. Bạn đã nói rằng PC chứa virtual address, tức là CPU chỉ biết đến virtual address thì làm sao mà quản lý được địa chỉ vật lý của RAM?
Kể cả bạn cho rằng TLB là một phần của CPU, vậy chứ thông tin trong cái TLB đó có phải do CPU quản lý không? Đấy còn chưa kể đến việc cái TLB chỉ là một yếu tố phụ với mục đích performance, tức là không có nó thì mọi thứ vẫn hoạt động, chỉ có điều chậm hơn. Còn chuyện chạy trên mode nào thì cuối cùng cũng vẫn không phải do CPU quyết định (trừ phi nó chỉ có một mode duy nhất). Vậy mình không thấy CPU có cái quyết định gì trong việc quản lý địa chỉ vật lý của RAM cả.
p/s: bạn myquartz bảo mình thích nói chuyện lý thuyết làm mình xấu hổ quá. Mình cũng thích nói chuyện thực tiễn lắm chứ, nhưng mà có biết gì đâu mà nói. |
|
Mind your thought. |
|
|
|
[Question] Câu hỏi về hệ điều hành |
27/11/2009 15:20:41 (+0700) | #28 | 199285 |
|
WinDak
Researcher
|
Joined: 27/01/2002 11:15:00
Messages: 223
Offline
|
|
StarGhost wrote:
Còn khái niệm PC ảo và vật lý, thì nói thật là đây là lần đầu mình nghe thấy. Mình cho rằng PC chỉ có một cái, và là cái PC của CPU. Bạn đã nói rằng PC chứa virtual address, tức là CPU chỉ biết đến virtual address thì làm sao mà quản lý được địa chỉ vật lý của RAM?
Không muốn chen ngang phần tranh luận đang gay cấn nhưng mà mình thấy chỗ này thì StarGhost vặn kinh quá... nếu nói thế thì phải xem lại khái niệm "quản lý" là thế nào ?
Ví dụ như cần làm việc X
anh A là sếp quản lý anh B, A ra lệnh anh B làm việc X rồi don't care anh B làm thế nào miễn là anh B ra kết quả là được,
hay là anh A còn phải cho anh B biết việc X gồm có các bước x1,x2,x3,x4,x5... rồi anh B cứ theo thế mà làm ?
À hỏi luôn câu này cũng khá thú vị ) , nếu VAddress gần nhau thì PAddress có gần nhau không ( có relative to không ? )
|
|
-- w~ -- |
|
|
|
[Question] Câu hỏi về hệ điều hành |
27/11/2009 22:30:07 (+0700) | #29 | 199297 |
StarGhost
Elite Member
|
0 |
|
|
Joined: 29/03/2005 20:34:22
Messages: 662
Location: The Queen
Offline
|
|
@WinDak: ở trường hợp thứ nhất, anh A giao quyền quản lý quá trình hoàn thành việc X cho anh B. Ở trường hợp thứ hai, anh A trực tiếp quản lý quá trình hoàn thành việc X. Còn việc anh A có quản lý anh B hay không thì không quan trọng, miễn là anh A được quyền phân công công việc cho anh B.
Còn VAddress với PAddress có phải là virtual address với Physical address không? Nếu vậy câu trả lời là "có thể có, có thể không", ví dụ 2 virtual addresses liên tiếp nhau cũng có thể có 2 physical addresses khác hoàn toàn, và ngược lại. |
|
Mind your thought. |
|
|
|
[Question] Câu hỏi về hệ điều hành |
28/11/2009 00:32:03 (+0700) | #30 | 199304 |
myquartz
Member
|
0 |
|
|
Joined: 04/01/2005 04:58:30
Messages: 563
Offline
|
|
StarGhost wrote:
Hì, mình không tưởng ra được bây giờ có ai dạy là PC chứa địa chỉ vật lý của instruction trên RAM. Nếu có thì người ta cũng phải nói rằng ngày xưa nó thế, còn tất cả các thiết kế hiện tại đều khác xa, còn vì lý do gì thì chắc bạn cũng hiểu.
Còn khái niệm PC ảo và vật lý, thì nói thật là đây là lần đầu mình nghe thấy. Mình cho rằng PC chỉ có một cái, và là cái PC của CPU. Bạn đã nói rằng PC chứa virtual address, tức là CPU chỉ biết đến virtual address thì làm sao mà quản lý được địa chỉ vật lý của RAM?
Kể cả bạn cho rằng TLB là một phần của CPU, vậy chứ thông tin trong cái TLB đó có phải do CPU quản lý không? Đấy còn chưa kể đến việc cái TLB chỉ là một yếu tố phụ với mục đích performance, tức là không có nó thì mọi thứ vẫn hoạt động, chỉ có điều chậm hơn. Còn chuyện chạy trên mode nào thì cuối cùng cũng vẫn không phải do CPU quyết định (trừ phi nó chỉ có một mode duy nhất). Vậy mình không thấy CPU có cái quyết định gì trong việc quản lý địa chỉ vật lý của RAM cả.
p/s: bạn myquartz bảo mình thích nói chuyện lý thuyết làm mình xấu hổ quá. Mình cũng thích nói chuyện thực tiễn lắm chứ, nhưng mà có biết gì đâu mà nói.
Hehe, biết SG chưa phục chỗ này.
PC ngày xưa và ngày nay vẫn giống nhau về ý nghĩa. Với dòng vi xử lý này với dòng kia cũng giống nhau vậy.
Còn cách dịch từ virtual address sang physical address thì mỗi thằng mỗi cách làm, nhưng nó đều nhằm 1 mục đích: định vị vị trí ô nhớ trên RAM.
TLB hoàn toàn phụ thuộc kiến trúc CPU, phụ thuộc ở đây là cấu trúc, ý nghĩa của từng field, độ lớn của page... đều do CPU quyết định. OS xây dựng ra bảng TLB theo cấu trúc phù hợp để bảo cho CPU làm việc của nó muốn.
Còn nếu quản lý được hiểu theo ý nghĩa "xây dựng, thay đổi và update giá trị", thì tất nhiên TLB do OS xây dựng rồi. Everything đều do OS/App tác động: PC (PC có 1 phần do CPU tác động là sau mỗi lệnh thực thi nó tự tăng lên 1 đơn vị lệnh), các thanh ghi, nội dung RAM... CPU là người thực thi theo chỉ định vậy thôi. Lúc này đúng là OS "quản lý", nhưng nó "quản lý" TLB thôi.
Vậy còn gì tranh cãi ở đây? CPU chắc chắn biết virtual address và physical address, có chỗ lưu giữ chúng, diễn giải ý nghĩa của chúng và quan trọng là đặt giá trị đó lên address bus (tất nhiên mọi việc làm đó đều theo chỉ thị của OS/App), và từ đó nó (chứ ko phải ai khác) thực hiện thao tác đọc/ghi RAM. Tớ tránh dùng "quản lý" vì nó dễ mù mờ, tớ hiểu "quản lý" khác với SG hiểu "quản lý". Tớ cũng nói luôn khái niệm "quản lý" của tớ là biết ý nghĩa, sử dụng, và tác động đến đối tượng đó (một cách trực tiếp).
Ví dụ của cậu WinDak về khái niệm "quản lý" thì là trường hợp 1: CPU tự biết cách làm X1, X2, .... (tức là: tự chuyển giá trị từ VA sang PA nếu nó thấy cần, tự load memory lên, tự thực hiện toán hạng, tự store kết quả, thậm chí tự rẽ nhánh nếu điều kiện nào đó xảy ra), còn OS/App chỉ ra lệnh cho CPU làm việc đó (và chuẩn bị đầu vào, sử dụng đầu ra, tất nhiên).
Ngoài ra, các việc khác mà OS/App ko can thiệp được là: CPU tự quản lý cache L1, L2 (được tính như 1 phần của nó, đối với các bộ XL hiện đại), tự quản lý lấy việc write-back hay write-through từ cache vào RAM, hoặc CPU quản lý pipeline của nó, như việc huỷ kết quả lệnh dự đoán nếu rẽ nhánh sai. Tất cả các việc này đụng đến Physical Address hết.
Còn gì nữa không SG? Nếu không, cậu định nghĩa "quản lý" là gì, tớ sẽ chỉ ra do cái gì thực thi.
-----------------------------------
Gửi các bạn khác: việc tranh luận này giữa SG và MQ hoá ra là sự hiểu về khái niệm khác nhau. Rút kinh nghiệm sau sẽ đưa câu chữ nó chặt chẽ hơn, khỏi phải mất công mà lại cứ như là mình đang thể hiện trình độ dù ko phải lĩnh vực chuyên môn của mình, mà thực ra cái này trong giáo trình ĐH nó viết hết cả, chịu khó đọc hết là xong. |
|
|
|
|
|
|
|
Users currently in here |
2 Anonymous
|
|
Powered by JForum - Extended by HVAOnline
hvaonline.net | hvaforum.net | hvazone.net | hvanews.net | vnhacker.org
1999 - 2013 ©
v2012|0504|218|
|
|