คอมพิวเตอร์ติดตามเวลาได้อย่างไร


69

คอมพิวเตอร์สามารถบอกเวลาและวันที่ที่ถูกต้องทุกครั้งได้อย่างไร

เมื่อใดก็ตามที่ฉันปิดคอมพิวเตอร์ (ปิดเครื่อง) การเชื่อมต่อและกระบวนการทั้งหมดภายในหยุด มันเป็นอย่างไรเมื่อฉันเปิดคอมพิวเตอร์อีกครั้งมันบอกเวลาที่ถูกต้องแน่นอน? คอมพิวเตอร์ปิดไม่สมบูรณ์เมื่อฉันปิดเครื่องหรือไม่ มีบางกระบวนการที่ยังทำงานอยู่หรือไม่? แต่แล็ปท็อปของฉันจะบอกเวลาที่ถูกต้องได้อย่างไรเมื่อฉันนำแบตเตอรี่ออก (และบังคับให้หยุดกระบวนการทั้งหมด) และเริ่มต้นใหม่อีกครั้งหลังจากสองสามวัน


3
คำถามนี้เกี่ยวกับหัวข้อสำหรับไซต์นี้จริง ๆหรือไม่ ดูเหมือนจะเหมาะสมกว่าสำหรับผู้ใช้ขั้นสูงสำหรับฉัน
Ilmari Karonen

3
@IlmariKaronen ดูเหมือนจะนับเป็นคำถามเกี่ยวกับ "สถาปัตยกรรมคอมพิวเตอร์" หากฉันเข้าใจคำศัพท์อย่างถูกต้อง
PyRulez

คำตอบ:


96

คอมพิวเตอร์มี "นาฬิกาแบบเรียลไทม์" - อุปกรณ์ฮาร์ดแวร์พิเศษ (เช่นมีผลึกคริสตัล) บนแผงวงจรหลักที่รักษาเวลา มันขับเคลื่อนเสมอแม้ว่าคุณจะปิดคอมพิวเตอร์ของคุณ นอกจากนี้เมนบอร์ดยังมีแบตเตอรี่ขนาดเล็กที่ใช้ในการจ่ายพลังงานให้กับอุปกรณ์นาฬิกาแม้ว่าคุณจะถอดสายไฟของคอมพิวเตอร์ออก แบตเตอรี่ใช้งานไม่ได้ตลอดไป แต่จะใช้เวลาอย่างน้อยสองสามสัปดาห์ สิ่งนี้จะช่วยให้คอมพิวเตอร์ติดตามเวลาแม้ในขณะที่ปิดเครื่องคอมพิวเตอร์ นาฬิกาเรียลไทม์ไม่ต้องการพลังงานมากนักดังนั้นจึงไม่เป็นการสิ้นเปลืองพลังงาน หากคุณถอดแบตเตอรี่นาฬิกาออกจากการถอดแบตเตอรี่หลักและถอดสายไฟคอมพิวเตอร์จะเสียเวลาและจะขอให้คุณป้อนเวลาและวันที่เมื่อคุณรีสตาร์ทคอมพิวเตอร์

ต้องการเรียนรู้เพิ่มเติมโปรดดูที่นาฬิกาแบบ Real-timeและแบตเตอรี่ CMOSและทำไมเมนบอร์ดของฉันมีแบตเตอรี่

นอกจากนี้ในคอมพิวเตอร์หลายเครื่องเมื่อคุณเชื่อมต่อคอมพิวเตอร์ของคุณเข้ากับการเชื่อมต่ออินเทอร์เน็ตระบบปฏิบัติการจะค้นหาเซิร์ฟเวอร์เวลาบนเครือข่ายและสอบถามเซิร์ฟเวอร์เวลาสำหรับเวลาปัจจุบัน ระบบปฏิบัติการสามารถใช้สิ่งนี้เพื่อตั้งนาฬิกาท้องถิ่นของคอมพิวเตอร์ของคุณอย่างแม่นยำ สิ่งนี้ใช้โปรโตคอลเวลาเครือข่ายหรือที่เรียกว่า NTP


1
ระบบปฏิบัติการสามารถตั้งเวลา BIOS ได้หรือไม่? สิ่งที่ฉันหมายถึงคือถ้าฉันบังคับให้รีเซ็ตนาฬิกาฮาร์ดแวร์จากนั้นบูตและเชื่อมต่อกับ NTP หรือตั้งนาฬิกาเอง BIOS จะรับรู้สิ่งนี้หรือไม่
แมว

1
ใช่. การเปลี่ยนเวลาของระบบปฏิบัติการตั้งค่านาฬิกาเรียลไทม์หรือรู้จักกับเวลา BIOS ภายในนาฬิกาเป็นเพียงการนับจำนวนวินาที (หรือมิลลิวินาที) ตั้งแต่ Epoch (ปกติ 1 มกราคม 1970 00:00) ดังนั้นจึงไม่ทำงานมากและสามารถขับเคลื่อนด้วยแบตเตอรี่ขนาดเหรียญเป็นเวลาหลายปี ฟังก์ชั่นระดับที่สูงขึ้นในระบบปฏิบัติการจะทำหน้าที่แปลงให้เป็นวันที่ / เวลาที่จะแสดง
Chris Nava

คริสตัลควอตซ์ไม่ใช่อุปกรณ์ฮาร์ดแวร์พิเศษที่ติดตามเวลา (แม้ว่าจะเป็นเพียงองค์ประกอบเดียว)
user253751

1
@ แทนไม่มีโทรศัพท์ใช้พลังงานจากแบตเตอรี่อยู่ตลอดเวลา ส่วนใหญ่เป็นแบบเดียวกับที่คุณสามารถเปิดเครื่องคอมพิวเตอร์โดยกดปุ่มเปิดปิดเครื่องเมื่อคาดว่าจะปิดเครื่องพีซี (แต่ไม่ได้ตัดการเชื่อมต่อจากเต้ารับบนผนัง)
Ruslan

1
ฉันใช้ถ้อยคำในย่อหน้าสุดท้ายเปลี่ยนคอมพิวเตอร์เป็นระบบปฏิบัติการ พีซีใด ๆ ที่เชื่อมต่อกับอินเทอร์เน็ตอาจไม่ได้และในทางกลับกัน - เป็นหน้าที่ของ OS ที่จะทำเช่นนี้ไม่ใช่พีซี (หมายถึงฮาร์ดแวร์)
MatthewRock

13

หากคุณถอดแบตเตอรี่ออกจากเมนบอร์ดแล้วคอมพิวเตอร์จะไม่มีวิธีบอกเวลา

นี่เป็นกรณีที่มีโทรศัพท์มือถือ หากคุณปล่อยโทรศัพท์แล้วไม่ต้องชาร์จนานกว่าสองสามสัปดาห์มันจะ "ลืมเวลา" เพราะแบตเตอรี่เสริมขนาดเล็กหมดลงอย่างสมบูรณ์และไม่มีการเปิดเครื่องนาฬิกาแบบเรียลไทม์

คุณสามารถลองเปิดใช้งานโทรศัพท์มือถือเก่าถ้าคุณมีและตรวจสอบด้วยตัวคุณเองเพื่อดูว่า "ลืมเวลา"

นี่คือลักษณะของแบตเตอรี่ https://yandex.com/images/touch/search?text=mobo%20battery&source=tabbar

ฉันต้องซื้อหนึ่งครั้งเมื่อฉันเริ่มที่จะเหลือน้อยกว่าหนึ่งวัน ฉันต้องกำหนดค่านาฬิกาทุกครั้งที่เปิดเครื่อง PC


3
ตอนนี้ระบบปฏิบัติการหลายแห่งใช้ NTP (Network Time Protocol) และสามารถใช้เพื่อรีเซ็ตตัวเองโดยอัตโนมัติเมื่อเริ่มต้นดังนั้นพวกเขาจึงไม่จำเป็นต้องใช้นาฬิกาในตัว
James Snell

3
@JamesSnell ที่จะทำให้เสียเวลาประทับใน logfiles เช่นเดียวกับไฟล์ใด ๆ ที่แก้ไขในระหว่างการบูตก่อนที่จะเริ่ม NTP
kasperd

@kasperd - การประทับเวลาไม่สำคัญเท่าที่เคยเป็นระบบจำนวนมากใช้เมทาดาทาอื่น ๆ (การกำหนดเวอร์ชัน) ดูบันทึกการบูตจากระบบที่ไม่มี RTC เช่นเราเตอร์หรือราสเบอร์รี่ pi และพวกเขาเข้าสู่ระบบเมื่อมีการปรับปรุงเวลา (และสิ่งที่จะ) อาจมีความสำคัญมากกว่าในระบบที่ไม่ได้เชื่อมต่อ แต่ก็มีความสำคัญน้อยลงเมื่อเวลาผ่านไป
James Snell

1
@ JamesSnell ฉันมีคอมพิวเตอร์บอร์ดเดียวหลายตัวที่สามารถเรียกใช้ระบบปฏิบัติการมาตรฐาน x86 ได้ แต่พวกเขาไม่มีแบตเตอรี่สำรอง RTC ในที่สุดฉันก็ให้พวกเขาใช้เครือข่ายสแต็กน้อยที่สุดจากภายใน ramdisk เพื่อเรียกใช้ `ntpdate 'ก่อนที่การเข้าถึงดิสก์จะเกิดขึ้น
kasperd

@JamesSnell ใช่ แต่แล็ปท็อปและแท็บเล็ตเชื่อมต่อกับ wifi หลังจากบู๊ต (อย่างน้อยพวกเขาส่วนใหญ่ทำอย่างนั้น) และพวกเขาไม่มีการเชื่อมต่ออีเธอร์เน็ตดังนั้นแบตเตอรี่จึงยังคงใช้งานได้ในคอมพิวเตอร์เกือบทุกเครื่อง ด้วยคอมพิวเตอร์ตั้งโต๊ะไม่มีอินเทอร์เน็ตตลอดเวลาเช่นกัน บางคนปิดเราเตอร์ในเวลากลางคืนหรือไม่ใช้อินเทอร์เน็ตตลอดเวลาหากต้องการเล่นเกมหรือดูภาพยนตร์และไม่เปิดเราเตอร์ ไม่ใช่ทุกคนที่ต้องการเชื่อมต่ออินเทอร์เน็ตตลอดเวลา
yoyo_fun

2

เมื่อคุณเริ่ม Windows จะได้รับการเข้าถึงโดยตรงไปยังหน่วยความจำของนาฬิกาเวลาจริง (RTC) และใช้ค่าวันที่และเวลาเพื่อตั้งค่าวันที่และเวลาของคอมพิวเตอร์ การขัดจังหวะตัวจับเวลาจะช่วยรักษาเวลาของคอมพิวเตอร์เมื่อ Windows ทำงาน Time Daemon ใน Windows จะทำงานประมาณหนึ่งครั้งต่อชั่วโมงหลังจาก Windows เริ่มทำงาน Time Daemon เปรียบเทียบเวลาใน Windows กับเวลาใน RTC ถ้าสองครั้งอยู่ห่างกันมากกว่าหนึ่งนาที Windows จะเปลี่ยนเวลาและวันที่ให้ตรงกับ RTC คุณไม่สามารถเปลี่ยนช่วงเวลาเพื่อให้ Time Daemon ทำงาน

ถ้าคุณใช้บริการการซิงโครไนซ์เวลาเช่นเครื่องมือ TimeServ.exe ที่มาพร้อมกับ Kit ทรัพยากร Windows NT 4.0 เครื่องมือจะอัพเดตเวลาใน Windows และ RTC ของคอมพิวเตอร์ ถ้า Windows Time Service ทำงานบนคอมพิวเตอร์ที่ใช้ Windows 2000 Time Daemon ใน Windows จะไม่สามารถทำงานได้ประมาณหนึ่งครั้งต่อชั่วโมงหลังจาก Windows เริ่มทำงาน

สำหรับรายละเอียดเพิ่มเติมเยี่ยมชมลิงค์นี้: http://msdn2.microsoft.com/en-us/library/ms724936.aspxhttp://msdn2.microsoft.com/en-us/library/ms724942.aspx


น่าสนใจ ดังนั้น Windows จึงกำหนดเวลาที่แม่นยำในปัจจุบัน (เป็นไมโครวินาที) เพื่อตอบสนองต่อการโทรจากโปรแกรม (เช่น time.time () ใน python) และความถี่บ่อยเพียงใดและจะอัพเดทค่าปัจจุบันเป็นอย่างไร?
jacanterbury
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.