Điều gì khiến Windows yêu cầu khởi động lại liên tục trong khi Linux thì không? [bản sao]


21

Giống như nhiều người, tôi chạy các hệ thống kép trên máy tính của mình. Các bản cập nhật quan trọng yêu cầu khởi động lại liên tục trên Windows, trong khi tôi không nghĩ điều này từng xảy ra với tôi trên Linux. Những thuộc tính nào của mỗi HĐH quyết định liệu điều này có khả thi hay không?


5
Tôi vẫn phải khởi động lại hệ thống Linux của mình để cài đặt bản cập nhật kernel. Tôi biết có nhiều cách khác nhau, nhưng tôi không yêu cầu thời gian hoạt động cực kỳ như vậy. Mặc dù hiếm khi có bản cập nhật kernel cho máy chủ của tôi hoặc cài đặt hỗ trợ dài hạn, tôi vẫn nhận được các bản cập nhật kernel thường xuyên trên các hệ thống mới hơn của mình - tôi không thấy nhiều sự khác biệt giữa Linux và Windows ở đây. Tuy nhiên, các bản cập nhật Linux ít gây cản trở hơn các bản cập nhật Windows, vì chúng không biến việc khởi động lại thành một trò chơi đang chờ.
amon

1
Chà, thực ra ... 1. Đây không phải là vấn đề với Windows ngày nay so với trước đây. Khi điều đó xảy ra, thường là do ai đó quên đóng ứng dụng đang khóa một số tệp mà Windows cần cập nhật và thay vì không cài đặt, Windows chỉ cần đăng ký các thay đổi tệp đó cho lần khởi động tiếp theo. 2. Khởi động lại lạnh trên máy hiện tại của tôi chạy Windows 10 mất khoảng 15 giây, một nửa trong số đó là thời gian POST.
Robert Harvey

@ Robert-Định nghĩa của bạn về hoàn thành khởi nghiệp là gì? Bắt đầu với màn hình đăng nhập / máy tính để bàn không tệ lắm, nó đang chờ tất cả các dịch vụ đó bắt đầu để bạn thực sự có thể sử dụng máy tính là một điều khó khăn. Nếu thời gian của bạn bao gồm bắt đầu các dịch vụ thì thiết lập của bạn là gì? Cứ cho là tôi không có máy tính mới nhất và tốt nhất nhưng tôi có đủ máy tính và máy tính làm việc của tôi mất khoảng 3 phút và nhà tôi khoảng 2 1/2 trước khi tôi có thể bắt đầu làm việc với chúng.
Dunk

@Dunk: Mua ổ SSD.
Ben Voigt

@ Ben-Tôi không phải là người tiếp theo ở nhà tôi cho một máy tính mới mà là con trai tôi. Vì vậy, tôi sẽ xây dựng nó cho anh ấy vào dịp Giáng sinh và sẽ kiểm tra nó lần đầu tiên. Tuy nhiên, các báo cáo kiểm tra điểm chuẩn mà tôi đã đọc cho thấy khoảng 50% cải thiện tốc độ, chứ không phải 1000% như Robert thấy trên các hệ thống của tôi. 1000% chắc chắn có giá trị rắc rối của việc nâng cấp. 50% không quá nhiều.
Dunk

Câu trả lời:


49

Đó là hậu quả của các quyết định kỹ thuật.

Trên hệ thống Linux, có thể xóa một tệp vẫn đang được sử dụng; hệ thống tệp sử dụng những gì về cơ bản là một hình thức đếm tham chiếu và việc mở tệp chỉ đơn giản là một tham chiếu khác. Khi bạn đóng nó, tập tin sẽ được dọn sạch. Do đó, có thể thay thế các tệp dữ liệu và mã hệ điều hành cốt lõi mà không cần phải tắt chúng và khởi động lại chúng (còn gọi là khởi động lại).

Trên Windows, mở tệp sẽ khóa tệp trong hệ thống tệp và không thể xóa tệp. Điều này có nghĩa là mã hiện đang chạy không thể được cập nhật mà không cần khởi động lại. Nhưng điều này cũng có nghĩa là bạn luôn có thể biết chính xác phiên bản nào đang chạy trên hệ thống của mình; theo mô hình Linux, có thể nhận được bản cập nhật phần mềm hệ thống quan trọng, áp dụng thành công và vẫn không hoạt động trên hệ thống của bạn, vì phiên bản cũ, chưa cập nhật vẫn đang chạy.

Đó là một sự đánh đổi kỹ thuật, giống như hầu hết mọi thứ trong điện toán.


6
@Ian Không, bạn có thể khởi động lại dịch vụ của mình để áp dụng các bản cập nhật. Hoặc, trong trường hợp kernel, bạn có thể sử dụng ksplice, kpatch, v.v. hoặc các tính năng mới trong Linux 4.0.
mẫu

2
@Ded repeatator, chắc chắn; Tôi chỉ bi quan về tỷ lệ chấp nhận. Một nhóm phát triển mà tôi làm việc cùng đã thông báo rằng họ sẽ không còn chấp nhận bất kỳ bản vá nào bổ sung hỗ trợ cho các tính năng systemd tùy chọn sau khi có lỗi trong hỗ trợ theo dõi thông báo dựa trên ổ cắm hệ thống đủ phát hành dẫn đến một bản sao mới của daemon của họ được quay lên (ngoài những cái cũ!) một lần một giây.
Charles Duffy

1
@krlmlr: Điều đó không cho phép bạn xóa một tệp đang mở. Từ tài liệu : "Hàm DeleteFile đánh dấu một tệp để xóa khi đóng. Do đó, việc xóa tệp không xảy ra cho đến khi xử lý cuối cùng đối với tệp bị đóng" Bạn vẫn có thể thay thế nó, sử dụng MoveFileđể loại bỏ tệp cũ. .
Ben Voigt

1
@Ian, bởi "tầm thường" Tôi có nghĩa là bất kỳ ai chịu trách nhiệm xây dựng hệ thống cập nhật phân phối Linux sẽ biết cách làm cho nó xảy ra khỏi đỉnh đầu của họ, vì vậy câu hỏi đặt ra là liệu có nên tự động chạy hay không (hoặc làm thế nào để phơi bày nó cho người dùng), không cho dù nó có thể.
Charles Duffy

2
@CharlesDuffy Tôi không biết nó hoạt động như thế nào, nhưng gói Needrestart Debian thực hiện công việc bạn đang mô tả, tức là tự động khởi động lại các dịch vụ có thư viện / thư viện thực thi vừa được cập nhật.
zwol

3

Đó là kết quả của quan điểm về sự mong đợi của người dùng.

Các hệ thống Linux được mô hình hóa sau khi unix chạy trên các máy chủ. Thời gian hoạt động là một điểm khoe khoang trong các cộng đồng này. Bất cứ điều gì làm giảm thời gian lên là xấu. Và đây là một tác dụng phụ của sự kỳ vọng rằng máy tính có nhiều người dùng và thời gian ngừng hoạt động theo lịch trình phải được phối hợp với nhiều người dùng.

Windows được thiết kế cho thị trường máy tính. Tại thời điểm được giới thiệu, việc biết rằng bạn có thể thoát khỏi một chương trình và bắt đầu một chương trình khác mà không cần khởi động lại là dấu hiệu của một người dùng máy tính có kinh nghiệm. Bởi vì điều này không có lý do để không sử dụng tên tệp làm định danh chính khi thiết kế ntfs.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.