banner

[Rule] Rules  [Home] Main Forum  [Portal] Portal  
[Members] Member Listing  [Statistics] Statistics  [Search] Search  [Reading Room] Reading Room 
[Register] Register  
[Login] Loginhttp  | https  ]
 
Forum Index Thảo luận hệ điều hành *nix Hỏi về Linux Scheduler ?  XML
  [Question]   Hỏi về Linux Scheduler ? 07/11/2007 04:06:56 (+0700) | #1 | 95771
[Avatar]
rickb
Reseacher

Joined: 27/01/2007 17:47:27
Messages: 200
Offline
[Profile] [PM] [Yahoo!]
Mình đang đọc tài liệu có phần đế cập đến Linux Scheduler và lệnh time, nó nói : "real time is the amount of time between when the code started and when it exited. User time and system time are the amount of time spent executing application code versus kernel code, respectively."

Tức là real time trong phần output của lệnh time là thời gian tính từ lúc chương trình bắt đầu chạy cho đến lúc chương trình kết thúc, tương tự user time & system lần lượt là thời gian tính từ lúc bắt đầu -> kết thúc của 1 chương trình ở User mode và kernel mode

Nhưng đoạn sau nó có nói : "A basic knowledge of the Linux scheduler is helpful in interpreting the output, but this tool also is helpful for learning how the scheduler works. For example, the real time of a process typically is larger than the sum of the user and system time. Time spent blocking in a system call does not count against the process, because the scheduler is free to schedule other processes during this time"

Mình ko hiểu tại sao real time lại luôn luôn lớn hơn tổng thời gian user & systime cộng lại ?

Với lại đoạn sau là : "Time spent blocking in a system call does not count against the process, because the scheduler is free to schedule other processes during this time"
Mình cũng ko hiểu đoạn này nó muốn nói gì ?

Ai hiểu xin thích giải thích kỹ giúp mình, cám ơn nhiều
Thân
[Up] [Print Copy]
  [Question]   Re: Hỏi về Linux Scheduler ? 07/11/2007 11:29:30 (+0700) | #2 | 95869
Mr.Khoai
Moderator

Joined: 27/06/2006 01:55:07
Messages: 954
Offline
[Profile] [PM]
Chào rickb, khoai tạm dịch lại đoạn trên như sau:

"Thời gian thực (real time) của một tiến trình thường lớn hơn tổng thời gian ở mức người dùng và hệ thống. Thời gian mà tiến trình đó bị block khi thực hiện các system call không được tính cho tiến trình đó, vì scheduler có thể sắp xếp cho các tiến trình khác chạy".

Tóm lại: RealTime = UserTime + SysTime + blocked1 + blocked2 + .. + blockedn trong đó các blocked là các khoảng thời gian mà process đó bị blocked khi gọi các sys call.

khoai
[Up] [Print Copy]
  [Question]   Re: Hỏi về Linux Scheduler ? 08/11/2007 00:28:35 (+0700) | #3 | 95976
[Avatar]
rickb
Reseacher

Joined: 27/01/2007 17:47:27
Messages: 200
Offline
[Profile] [PM] [Yahoo!]
Thanx Khoai đã trả lời

p/s : Còn ai có cao kiến gì ko nhỉ ? smilie
[Up] [Print Copy]
  [Question]   Re: Hỏi về Linux Scheduler ? 08/11/2007 01:26:21 (+0700) | #4 | 95998
rcrackvn
Elite Member

[Minus]    0    [Plus]
Joined: 27/03/2007 02:04:05
Messages: 42
Offline
[Profile] [PM]
cao kiến thì không có, và Mr.Khoai cũng trả lời hầu hết rồi. Tui chỉ có 1 bổ sung:

Đoạn bạn không hiểu "Time spent blocking in a system call does not count against the process". Các syscalls trong Linux có thể chia làm 2 cat: blocking và non-blocking, ví dụ các blocking syscalls như là read(), recv(), recvfrom(), tổng quát hơn là recvmsg() là blocking syscalls, vì 1 process gọi những hàm trên không có cách nào để biết khi nào data available for reading. Ví dụ 1 server khi gọi 1 hàm trên khi có 1 client connect tới, nếu client chỉ ngồi đó k0 provide gì hết thì các hàm trên không return thứ gì cho server. Process khi đó được gọi là blocking. Điểm quan trọng liên quan tới scheduler là 1 blocking process sẽ KHÔNG bị đặt trở lại vào run queue, cho tới khi nó bị preempted bởi scheduler. Do đó quãng thời gian này không được tính vào user time, hoặc system time, mà tính vào tổng quãng thời gian tồn tại của process.
[Up] [Print Copy]
[digg] [delicious] [google] [yahoo] [technorati] [reddit] [stumbleupon]
Go to: 
 Users currently in here 
1 Anonymous

Powered by JForum - Extended by HVAOnline
 hvaonline.net  |  hvaforum.net  |  hvazone.net  |  hvanews.net  |  vnhacker.org
1999 - 2013 © v2012|0504|218|