Câu hỏi Máy tính tự khởi động lại như thế nào?


Làm thế nào một máy tính có thể tự khởi động lại? Sau khi nó tắt, làm thế nào để nó tự nói với mình để trở lại trên một lần nữa? Những loại phần mềm là nó có thể làm điều này?


482
2018-06-08 19:04


gốc


@ jer.salamon: Chúng thực sự hoàn toàn khác nhau. Việc tắt sẽ gọi một thường trình ACPI gửi một tín hiệu tới nguồn điện ATX để tắt các đường ray điện áp chính. - Ignacio Vazquez-Abrams
Điều này được điều khiển thông qua BIOS - nếu bộ nhớ phục vụ, các từ khóa quan tâm là APM và APIC - pst
Nó không bao giờ thực sự biến "tắt" khi khởi động lại. - Moab
Chưa có câu hỏi ngu ngốc. Không, có thể có - nhưng tôi nghĩ điều này thực sự rất thú vị. Nổi bật như một câu hỏi của ứng cử viên tuần. - slhck
Tôi đã sử dụng để telework trên một máy chủ từ xa mà về cơ bản chỉ là một máy tính mà không có màn hình hoặc bàn phím trong datacentre của công ty. Máy chủ của tôi không bao giờ bị tắt một cách bình thường, nhưng đôi khi tôi sẽ khởi động lại từ đầu của mình bằng cách sử dụng WinXP Start-> TurnOffComputer-> Khởi động lại, để phân loại các bất ổn gây ra bằng cách kiểm tra mã của riêng tôi. Tôi thường làm việc vào những thời điểm tôi chọn, khi trung tâm dữ liệu không người lái. Đó là rất mệt mỏi những gì tôi vô tình chọn Tắt là tùy chọn cuối cùng và phải đợi đến hai ngày sau đó để một nhà điều hành đi và nhấn trên chuyển cho tôi! - FumbleFingers


Các câu trả lời:


tl; dr: trạng thái năng lượng trong máy tính của bạn được điều khiển bằng cách thực hiện ACPI (cấu hình nâng cao và giao diện nguồn). Khi kết thúc quá trình tắt máy, hệ điều hành của bạn đặt lệnh ACPI cho biết máy tính nên khởi động lại. Đáp lại, bo mạch chủ reset tất cả các thành phần bằng cách sử dụng các lệnh hoặc các lệnh reset tương ứng của chúng, và sau đó thực hiện theo quy trình bootstrap. Các bo mạch chủ không bao giờ thực sự tắt, nó chỉ reset các thành phần khác nhau và sau đó hoạt động như thể nút nguồn vừa được nhấn.

Dài và rambling nhưng (theo ý kiến ​​của tôi) câu trả lời thú vị hơn:

Soft Power và cách nó hoạt động

Trong những ngày xa xưa (tốt, được rồi, với một sinh viên đại học như tôi những năm 90 đã lâu rồi), chúng tôi đã có các bo mạch chủ AT (Công nghệ Tiên tiến) với AT power sự quản lý. Hệ thống điện AT rất, rất đơn giản. Nút nguồn trên máy tính của bạn là một phần cứng chuyển đổi (có thể là ở mặt sau của vụ án) và đầu vào 120vac của bạn đã đi qua nó. Nó bật lên và tắt nguồn, và khi công tắc này ở vị trí Tắt, mọi thứ trong máy tính của bạn đã chết hoàn toàn (điều này làm cho pin CMOS rất quan trọng, vì không có nguồn điện để giữ phần cứng đồng hồ đánh dấu). Bởi vì công tắc nguồn là một cơ chế vật lý, không có cách nào để bật và tắt nguồn. Windows sẽ hiển thị thông điệp "Hiện tại an toàn để tắt máy tính của bạn" vì mặc dù mọi thứ đã được sử dụng và sẵn sàng tắt, hệ điều hành không thể thực sự lật công tắc nguồn. Cấu hình này đôi khi được gọi là sức mạnh cứngbởi vì đó là tất cả phần cứng.

Ngày nay mọi thứ khác nhau, vì những điều kỳ diệu của bo mạch chủ ATX và ATX điện (đó là Công nghệ tiên tiến được eXtended nếu bạn đang theo dõi). Cùng với một số tiến bộ khác (mini-DIN PS / 2, bất cứ ai?), ATX đã mang lại quyền lực mềm. Quyền lực mềm có nghĩa là sức mạnh của máy tính có thể được điều khiển bằng phần mềm. Điều này mang lại một số thay đổi nhập:

  • Chế độ chờ: bạn có thể đã thấy đầu nối "5v SB" hoặc "5v standby" được gắn nhãn trong các pin cấp nguồn. Các nguồn điện dự phòng là dòng 5v cho bo mạch chủ luôn bật, ngay cả khi máy tính bị tắt. Đây là lý do tại sao điều quan trọng là rút phích cắm hoặc tắt công tắc cứng PSU (nếu có) khi bảo dưỡng máy tính hiện đại, bởi vì ngay cả khi tắt máy, bạn vẫn có khả năng làm ngắn mạch 5v SB và làm hỏng bo mạch chủ. Đây cũng là lý do tại sao pin CMOS không thực sự quan trọng nữa - 5v SB được sử dụng để thay thế pin CMOS bất cứ khi nào nguồn điện có nguồn điện chính, vì vậy pin CMOS chỉ được sử dụng khi bạn rút toàn bộ máy tính. Dòng 5v SB quan trọng cho phép các thành phần của máy tính của bạn (quan trọng nhất là BIOS và bộ điều hợp mạng) để tiếp tục chạy một số phần mềm đơn giản ngay cả khi máy tính bị tắt.
  • Kiểm soát nguồn điện thông minh. Nếu bạn nhìn vào pinout cho bo mạch chủ của bo mạch chủ (P1), bạn sẽ thấy hai chân thường được dán nhãn PS_ON và PS_RDY. Chúng phù hợp cho "cung cấp điện trên" và "nguồn điện sẵn sàng". Nếu bạn muốn thử nghiệm, hãy lấy một nguồn điện không có trong máy tính, cắm nó vào, và cẩn thận rút ngắn đường nối đất (một trong những dây màu đen) thành đường dây PS_ON (dây màu xanh lá cây). Nguồn điện sẽ hiển thị rõ ràng, với quạt quay lên. Các thành phần của bo mạch chủ chạy tắt của + 5v SB thực sự bật và tắt nguồn điện của bạn bằng cách kết nối nguồn với chân PS_ON. Vì có một số tụ điện và các thành phần khác trong nguồn điện mất một chút thời gian để sạc, điện áp từ các đầu ra chính của nguồn điện có thể không ổn định ngay lập tức sau khi PSU bật. Đây là những gì mà chân PS_RDY được sử dụng, nó xuất hiện khi logic bên trong của nguồn cung cấp điện xác định rằng nguồn điện là "sẵn sàng" và sẽ cung cấp điện ổn định. Bo mạch chủ chờ cho đến khi PS_RDY bật để tiếp tục khởi động.

Vì vậy, công tắc nguồn của bạn không còn "bật" máy tính nữa. Thay vào đó, nó được kết nối với bộ điều khiển cơ bản của bo mạch chủ của bạn, phát hiện rằng nút đã được nhấn và thực hiện một số bước để sẵn sàng hệ thống, bao gồm chiếu sáng PS_ON sao cho nguồn điện sẽ khả dụng. Nút nguồn không phải là cách duy nhất để kích hoạt quá trình khởi động, các thiết bị trên bus mở rộng của bạn cũng có thể làm như vậy. Điều này quan trọng bởi vì các adapter mạng ethernet của bạn thực sự ở lại khi máy tính của bạn tắt và tìm một gói rất cụ thể thường được gọi là "gói Magic". Nếu họ phát hiện gói tin này được gửi đến địa chỉ MAC của họ, họ sẽ kích hoạt quá trình khởi động. Đây là cách "Wake-on-LAN" (WoL) hoạt động. Đồng hồ cũng có thể bắt đầu khởi động (hầu hết BIOS cho phép bạn đặt thời gian máy tính khởi động mỗi ngày) và các thiết bị USB và FireWire có thể kích hoạt khởi động, mặc dù tôi không biết bất kỳ việc triển khai nào.

Hiểu về điều khiển công suất

Vâng, tôi giải thích điều Soft Power cả bởi vì tôi nghĩ nó thú vị (luôn là lý do chính mà tôi giải thích mọi thứ) và bởi vì nó cho phép bạn hiểu được sức mạnh và trạng thái chạy / tắt của máy tính được điều khiển bằng phần mềm như thế nào. Trong hầu hết các máy tính hiện tại, hệ thống phần mềm này là việc triển khai Cấu hình nâng cao và giao diện nguồn, hoặc ACPI. ACPI là một hệ thống thống nhất, tiêu chuẩn cho phép phần mềm điều khiển hệ thống điện của máy tính của bạn. Bạn có thể đã nghe nói về Trạng thái nguồn ACPI. Cơ chế điều khiển công suất cơ bản là "trạng thái nguồn", hệ điều hành của bạn chuyển qua các chế độ nguồn bằng cách chuẩn bị cho công tắc (các quá trình tắt / ngủ đông xảy ra trước khi tắt nguồn), và sau đó chỉ huy bo mạch chủ để chuyển đổi trạng thái nguồn . Trạng thái nguồn trông như thế này:

  • G0: Làm việc (trạng thái "bật" trên máy tính của bạn)
  • G1: Ngủ (trạng thái chờ của máy tính, chia thành S biến áp)
    • S1: nguồn cho CPU và RAM vẫn bật, nhưng CPU không thực hiện các lệnh. Các thiết bị ngoại vi được tắt nguồn.
    • S2: CPU tắt, RAM được duy trì
    • S3: Tất cả các thành phần được tắt nguồn trừ RAM và các thiết bị sẽ kích hoạt sơ yếu lý lịch (bàn phím). Khi bạn yêu cầu hệ điều hành "Ngủ", hệ điều hành sẽ dừng quá trình và sau đó nhập chế độ này.
    • S4: Ngủ đông. Tuyệt đối mọi thứ đều bị tắt. Khi bạn nói với hệ điều hành của bạn để Hibernate, nó dừng quá trình, lưu nội dung của RAM vào đĩa, và sau đó vào chế độ này.
  • G2: Tắt mềm. đây là trạng thái "tắt" của máy tính của bạn. Tắt nguồn cho tất cả mọi thứ trừ các thiết bị có thể kích hoạt khởi động.
  • G3: Cơ khí tắt.

Cách đặt lại thực sự xảy ra

Bạn sẽ nhận thấy rằng khởi động lại không phải là một trong những trạng thái này. Vậy điều gì thực sự xảy ra khi máy tính của bạn khởi động lại? Câu trả lời có thể đáng ngạc nhiên, bởi vì từ quan điểm quản lý năng lượng, gần như không có gì. Có lệnh reset ACPI. Khi bạn yêu cầu hệ điều hành khởi động lại, nó tuân theo quy trình tắt bình thường của nó (dừng tất cả các tiến trình của bạn, thực hiện một chút bảo trì, tháo dỡ hệ thống tập tin của bạn, vv), và sau đó là bước cuối cùng, thay vì gửi máy đến trạng thái nguồn G2 (vì nếu bạn đơn giản nói với nó là Shut Down), nó sẽ đặt lệnh Reset. Điều này thường được gọi là "Thiết lập lại đăng ký", bởi vì giống như hầu hết các giao diện ACPI nó chỉ là một địa chỉ mà một giá trị cụ thể nên được ghi vào để yêu cầu thiết lập lại. Tôi sẽ trích dẫn thông số 2.0 về những gì nó làm:

Cơ chế đặt lại ACPI tùy chọn chỉ định một cơ chế tiêu chuẩn cung cấp thiết lập lại toàn bộ hệ thống. Khi được triển khai, cơ chế này phải đặt lại toàn bộ hệ thống. Điều này bao gồm các bộ xử lý, logic lõi, tất cả các xe buýt và tất cả các thiết bị ngoại vi. Từ quan điểm của OSPM, việc xác nhận cơ chế đặt lại là tương đương logic với nguồn điện của máy. Sau khi giành quyền kiểm soát sau khi đặt lại, OSPM sẽ thực hiện các hành động theo cách tương tự như khởi động lạnh.

Vì vậy, khi thiết lập lại đăng ký được thiết lập, một vài điều xảy ra theo thứ tự.

  • Tất cả logic được đặt lại. Điều này có nghĩa là gửi các lệnh reset tương ứng tới các bit khác nhau của phần cứng bao gồm CPU, bộ điều khiển bộ nhớ, bộ điều khiển ngoại vi, vv Trong hầu hết các trường hợp, điều này có nghĩa là chiếu sáng một dây RST vật lý, như AndrejaKo đã xuất hiện ở trên.
  • Máy tính sau đó được bootstrapped. Đây là phần "thực hiện hành động theo cách tương tự như một phần khởi động lạnh". Bo mạch chủ thực hiện các bước tương tự như nó sẽ xảy ra nếu nguồn điện vừa mới sẵn sàng sau khi nút nguồn được nhấn.

Hiệu ứng cuối cùng của hai bước này (thực ra là phá vỡ nhiều bước hơn) là nó trông như mọi thứ giống như máy tính vừa mới khởi động, nhưng sức mạnh thực sự là toàn bộ thời gian. Điều này có nghĩa là cần ít thời gian hơn để tắt và khởi động (vì bạn không phải đợi nguồn cấp điện sẵn sàng), và quan trọng là cho phép khởi động hệ điều hành bằng cách tắt. Điều này có nghĩa là một trình kích hoạt khởi động khác không cần phải được sử dụng (WoL vv), và cho phép bạn sử dụng Reboot như một cách hiệu quả để thiết lập lại hệ thống từ xa, khi bạn không có cách kích hoạt khởi động.


Đó là một câu trả lời dài. Nhưng hey, hy vọng bạn biết thêm về quản lý năng lượng máy tính bây giờ. Tôi chắc chắn đã học được một số điều nghiên cứu này.


595
2018-06-08 21:06



+1. Câu trả lời rất hữu ích và hữu ích. Chỉ một điểm - PS_ON là hoạt động thấp tức là chuyển sang 0V chứ không phải là + 5VSB để biến các kết quả đầu ra chính trên. - MikeJ-UK
Đối với các thiết bị USB kích hoạt khởi động, một số BIOS có tùy chọn đánh thức máy tính bằng cách nhấp đúp hoặc nhấn phím. Ngoài ra, một số bàn phím Mac có nút Nguồn (một truyền thống sẽ quay trở lại bản gốc). - Stuart P. Bentley
Câu trả lời tuyệt vời, tôi chắc chắn đã học được rất nhiều. Một câu hỏi vẫn còn, mặc dù: từ quan điểm của bo mạch chủ, sự khác biệt giữa trạng thái S4 và G2 là gì? Tiết kiệm RAM cho đĩa được thực hiện bởi hệ điều hành, vì vậy S4 âm thanh giống như "mềm" cho phần cứng. - EMP
Tôi tin rằng S4 có chức năng tương đương với G2, nhưng sự khác biệt được lưu trữ. Một số BIOS xuất hiện để làm một "POST nhanh" khi bắt đầu từ S4 nhưng POST đầy đủ khi bắt đầu từ G2. Tuy nhiên, tôi không nghĩ có lý do nào cho việc này, ngoài việc mọi người muốn S4 tiếp tục trở nên nhanh. - jcrawfordor
Đó thực sự là một chút đơn giản; có (nhiều) cách không phải ACPI để khởi động lại máy tính và đôi khi ACPI không hoạt động: superuser.com/questions/294681/… - Tobu


Đây là điểm bắt đầu:

Chip thường không tắt và sau đó bật. Thay vào đó, có một dòng thiết lập lại sẽ mang bộ xử lý trong trạng thái reset được gọi là khi thường tất cả bộ nhớ bị xóa và bộ xử lý trông giống như nó vừa được bật nguồn. Trong khi pin đó được giữ ở mức cao (hoặc thấp, tùy thuộc vào bộ xử lý), thì bộ xử lý được đặt lại. Khi pin được phát hành, nó sẽ tiếp tục khởi động bình thường, giống như khi nó được bật lần đầu tiên. Vấn đề là không có điện bị cắt.

Vì vậy, làm thế nào để quy mô này để các hệ thống lớn hơn như máy tính hiện đại? Các máy tính hiện đại được tạo ra từ các máy tính đôi khi được tạo ra từ máy tính. Vì vậy, khi bạn đặt máy tính để thiết lập lại, "máy tính" mà làm cho máy tính sẽ bắt đầu tiết kiệm tiểu bang của họ (nếu đặt lại được kiểm soát), hoặc chỉ có chân thiết lập lại của họ kéo.

Một số bộ vi xử lý và vi điều khiển (là các máy tính tự thu nhỏ, thường là 20 năm sau các máy tính để bàn hiện đại) có thể tự đặt lại bằng cách sử dụng các công tắc bên trong. Như tôi đã nói, một khi tín hiệu tạo ra reset đã biến mất, máy tính sẽ khởi động. Vì vậy, tiền đề trong câu hỏi không hoàn toàn đúng. Máy tính không biết khi nào bật. Trong biết khi nào nó cần phải được "tắt" hoặc trong thiết lập lại và khi tín hiệu mà giữ nó ở đó đã biến mất, nó sẽ bật.

Hành vi này có thể trông lạ trên máy tính hiện đại có thể được đặt để bật vào thời gian cụ thể hoặc qua mạng và v.v. Như tôi đã nói máy tính được làm bằng máy tính. Vì vậy, trong khi bộ vi xử lý chính có thể tắt, có thể có nhiều chip và vi điều khiển khác bên trong. Trường hợp rõ ràng nhất là đồng hồ thời gian thực thường được cấp nguồn pin. Sau đó nó có thể bật các chip khác sẽ bật các chip khác và phản ứng dây chuyền sẽ xuất hiện cho đến khi toàn bộ máy tính bật. Trên các máy tính ngày nay, có một dòng PSU được gọi là +5 VDC Standby Voltage. Nó cung cấp khoảng 50 mW điện cho các thiết bị khác nhau được bật khi máy tính bị tắt.

Một chút đố nhỏ: Đặt lại pin trên bộ xử lý Intel 386 EX là số pin 110.

386EX datasheet figure 2

Trên Intel i7-900 đó là số đất AL39.

Tôi hy vọng rằng ai đó sẽ có thể cung cấp một câu trả lời mà sẽ giải thích cách mọi thứ hoạt động từ quan điểm cấp cao, bởi vì nó là hệ thống khá phức tạp.


79
2018-06-08 19:39



Wow, câu trả lời kỹ lưỡng. - Seth Carnegie
@Seth Carnegie Nó không phải là tuyệt vời. Tôi chỉ chạm vào những thứ cấp thấp là đúng đối với hầu hết các máy tính, từ máy tính trong tủ lạnh đến máy tính. Tôi thậm chí không đề cập đến ACPI, APM và các hệ thống điện hiện đại khác hoặc cách vi xử lý Intel 8042 cũ điều khiển bàn phím có thể đặt lại bộ vi xử lý, cách POST hoạt động, thiết lập lại vectơ và nhiều thứ khác. - AndrejaKo
@netvope Quá nhiều để tưởng tượng, tôi muốn nói. Bạn có thể có ít nhất một con chuột của bạn, một trong bàn phím, hơn 10 cho phần cơ bản nhất của bo mạch chủ (ngay cả khi chúng tôi đưa vào tài khoản "chipset" tích hợp cao), có thể một trong bộ nguồn, ít nhất một trong mỗi ổ đĩa (nhiều khả năng 2-3), một số trong mỗi thẻ mở rộng ... Màn hình là doanh nghiệp nghiêm túc và máy in của tôi hiện có RAM nhiều hơn máy tính để bàn đầu tiên của tôi. - AndrejaKo
Nói về bộ nhớ, bộ đệm của một số ổ cứng và CPU mới giờ đây lớn hơn RAM của máy tính đầu tiên mà tôi đã sử dụng. Bây giờ chúng ta có thể chạy Windows 95 hoàn toàn trong bộ đệm L2 và giữ toàn bộ phân vùng hệ thống trong bộ nhớ cache của ổ đĩa! - netvope


Bài đăng trên blog này mô tả cách Linux kích hoạt khởi động lại.

Trích:

Linux có nhiều cách khác nhau để thiết lập lại x86. Một số người trong số họ là 32-bit chỉ và vì vậy tôi chỉ sẽ bỏ qua chúng bởi vì thành thật chỉ là những gì bạn đang làm với cuộc sống của bạn. Ngoài ra, chúng thật khủng khiếp. Vì vậy, điều đó khiến chúng tôi có năm người trong số họ.

  • kbd - khởi động lại thông qua bộ điều khiển bàn phím. Máy tính IBM gốc có đường reset CPU gắn với bộ điều khiển bàn phím. Viết giá trị ma thuật thích hợp xung quanh đường dây và máy sẽ reset. Điều này là rất đơn giản, ngoại trừ thực tế là các máy hiện đại không có bộ điều khiển bàn phím (chúng thực sự là một phần của bộ điều khiển nhúng) và thậm chí nhiều máy hiện đại hơn thậm chí không giả vờ có bộ điều khiển bàn phím. Bây giờ, bộ điều khiển nhúng chạy phần mềm. Và, như chúng ta đều biết, phần mềm là đáng sợ. Nhưng, tệ hơn, phần mềm trên bộ điều khiển nhúng đã được viết bởi các tác giả BIOS. Vì vậy, rõ ràng bất kỳ giả vờ rằng điều này bao giờ làm việc là một số loại tiểu thuyết phức tạp. Một số máy rất cầu kỳ về phần cứng đang ở trạng thái chính xác mà Windows sẽ lập trình. Một số máy làm việc 9 lần trong số 10 lần và sau đó khóa lại do một số vấn đề thời gian kỳ lạ. Và những người khác chỉ đơn giản là không làm việc cả. Tiếng hoan hô!

  • triple - cố gắng tạo ra một lỗi ba. Điều này được thực hiện bằng cách tải một bảng mô tả ngắt trống và sau đó gọi int (3). Việc ngắt không thành công (không có IDT), trình xử lý lỗi không thành công (không có IDT) và CPU đi vào một điều kiện, theo lý thuyết, sau đó kích hoạt thiết lập lại. Ngoại trừ có vẻ như không phải là một yêu cầu mà điều này xảy ra và nó chỉ không hoạt động trên một loạt các máy.

  • pci - không thực sự là pci. Truy cập không gian cấu hình PCI truyền thống đạt được bằng cách viết một giá trị 32 bit cho cổng io 0xcf8 để xác định đăng ký bus, thiết bị, chức năng và cấu hình. Cổng 0xcfc sau đó chứa đăng ký được đề cập. Nhưng nếu bạn viết cặp giá trị ma thuật thích hợp cho 0xcf9, máy sẽ khởi động lại. Đẹp mắt! Và không được tiêu chuẩn hóa theo bất kỳ cách nào (chắc chắn không phải là một phần của đặc tả PCI), vì vậy các chipset khác nhau có thể có các yêu cầu khác nhau. Booo.

  • efi - Dịch vụ thời gian chạy EFI cung cấp một điểm vào để khởi động lại máy. Nó thường hoạt động! Miễn là các dịch vụ thời gian chạy EFI đang hoạt động, điều này có thể kéo dài.

  • acpi - Các phiên bản gần đây của spec ACPI cho phép bạn cung cấp một địa chỉ (thường là bộ nhớ hoặc không gian hệ thống IO) và một giá trị để viết ở đó. Ý tưởng là viết giá trị cho địa chỉ đặt lại hệ thống. Nó chỉ ra rằng làm như vậy thường thất bại. Nó cũng không thể đại diện cho phương pháp khởi động lại PCI thông qua ACPI, bởi vì phương pháp khởi động lại PCI đòi hỏi một cặp giá trị và ACPI chỉ cung cấp cho bạn một.


27
2018-06-08 23:11



Điều này có liên quan, nhưng câu trả lời sẽ hữu ích hơn nếu bạn đặt một trích đoạn thông tin của trang khác tại đây. - calvinf
tl; dr có nhiều cách để khởi động lại; một số bảng bị hỏng nặng đến mức giả vờ là cửa sổ, một heuristic có liên quan đến một vài cố gắng và ngủ một chút, là cách duy nhất. - Tobu


Nó frobs một I / O vị trí mà kéo một dòng dữ liệu thấp mà nói với CPU rằng nó nên dừng lại bất cứ điều gì nó đang làm và bắt đầu chạy mã từ một vị trí nhất định trong BIOS.


10
2017-07-28 20:19



... và vị trí đó được chỉ định trong mã được chuyển tới cuộc gọi hệ thống khởi động lại? - Knight Samar
@Knight Samar: Không; vị trí I / O thường là một hằng số kiến ​​trúc, mà hạt nhân biết. Bạn có thể thấy điều này, ví dụ: trong mã khởi động lại Linux, chẳng hạn như arch / x86 / kernel / reboot.c. - sleske
có ai có một rescource tốt để đọc thêm về vấn đề đó? - matthias krull
@ mugen.kenichi và tất cả, một người bạn đã cho tôi điều này để tham khảo howstuffworks.com/bios.htm/printable - Knight Samar
Tôi đề nghị superuser.com/a/347115/38062 . - JdeBP


Quay trở lại những ngày trước khi quản lý năng lượng, tất nhiên máy tính vẫn có thể tự khởi động lại. (Có ai nhớ khi một chương trình đông lạnh có nghĩa là bạn phải sử dụng Ctrl + Alt + Delete để khởi động lại máy tính?)

Trên 486 cũ của tôi, lệnh ngôn ngữ assembly JMP FFFF:0000 (tức là, đặt Con trỏ Chỉ thị của CPU thành địa chỉ được nói) sẽ khiến toàn bộ máy tính khởi động lại. Nói cách khác, FFFF: 0000 giải quyết một vị trí trong BIOS có hướng dẫn cho máy tính nên làm gì khi nó khởi động lần đầu tiên. Tôi nghi ngờ Reset Pin được mô tả bởi câu trả lời của AndrejaKo, hoặc thiết lập lại các nút trong những ngày quản lý trước quyền lực, cũng sẽ buộc Con trỏ Chỉ dẫn đến cùng một địa chỉ.

A Google tìm kiếm JMP FFFF: 0000 tiết lộ nhiều trang thú vị về điều này.


10
2018-06-12 14:38



Bạn cũng cần phải viết một giá trị cụ thể cho 0040: 0072 để xác định xem đó là khởi động lạnh (0x0000) hay ấm (0x1234). - Synetech


Ngoài ra còn có một thứ có tên là cơ quan giám sát. Thiết bị này hoạt động như một công tắc của người chết. Máy tính phải báo hiệu cho cơ quan giám sát mỗi phút nói rằng nó vẫn còn sống. Khi máy tính bị treo, ví dụ: bằng cách chạy vào vòng lặp vô tận, nó sẽ thất bại tín hiệu cho cơ quan giám sát nó vẫn chạy như dự định, nhân dịp cơ quan giám sát sẽ thực hiện thiết lập lại phần cứng. Điều này đã được chứng minh trong loạt phim truyền hình nổi tiếng của người kết thúc, nơi một robot bị đánh gục bởi một sức mạnh điện áp cao. nó sẽ tự khởi động lại sau 2 phút.


9
2018-06-09 14:24



Điều này là đúng, nhưng không thực sự trả lời câu hỏi. - sleske
Có cơ quan giám sát nào thực sự sẽ khởi động lại toàn bộ máy tính không? Tôi biết rằng họ đôi khi được sử dụng cho các vi điều khiển khác nhau bên trong máy tính, nhưng có một trên một mức độ máy tính toàn bộ? Kinh nghiệm cá nhân của tôi dẫn tôi đến nói không, nhưng một số bằng chứng cho hay chống lại sẽ được hoan nghênh. - AndrejaKo
@AndrejaKo: Tôi từng làm việc cho một công ty sản xuất các máy chủ truyền thông (chủ yếu là các máy chủ phiến với các modem kết nối với chúng). Họ đã có một bộ đếm thời gian watchdog được kết nối với các chân reset trên bo mạch chủ. Bộ đếm thời gian đã bị một công cụ nền chạy theo định kỳ, do đó nếu bộ vi xử lý bị treo, cơ quan giám sát cuối cùng sẽ đẩy nút đặt lại. Nó được gắn với một mạch khiến đường dây điện thoại bận rộn trong khi bo mạch chủ khởi động lại. - Robert Harvey


Quay lại bộ điều khiển bàn phím IBM PC-1 cũ, đủ kỳ quặc, xử lý khởi động lại. IBM đã nhúng một bộ vi xử lý nhỏ để xử lý bàn phím, và nó có một số dòng I / O dự phòng, vì vậy họ đã sử dụng một trong các dòng để điều khiển đường reset của CPU chính. Một lệnh được gửi đến bộ điều khiển bàn phím sẽ khiến CPU được đặt lại như thể nguồn vừa được bật.

Tôi đoán rằng truyền thống này tiếp tục tốt vào thời đại "AT", và có thể có dấu vết của nó còn lại trong ACPI ngày nay.

Đã thêm: Có một chi tiết thú vị về lược đồ đặt lại ở trên. Trong trình tự khởi động ban đầu, mã tìm kiếm một mẫu cụ thể trong RAM có thể đã được thiết lập bởi mã thực hiện trước đó. Nếu mã này xuất hiện một số chẩn đoán POST (tự kiểm tra nguồn) đã bị bỏ qua. Các mô hình sẽ chỉ có mặt trên một khởi động "ấm".


4
2017-12-03 04:47