Thứ Tư, 4 tháng 8, 2010

Linux là bột nhào, Windows là thủy tinh

Linux is dough, windows is glass

Locutus (System Administrator) posted, July 29, 2010

Theo: http://it.toolbox.com/blogs/locutus/linux-is-dough-windows-is-glass-40255

Bài được đưa lên Internet ngày: 29/07/2010

Lời người dịch: Một bài về kỹ thuật khá thú vị để chứng minh vì sao khi hệ điều hành hỏng với cùng một nguyên nhân như nhau, thì Windows lại xử sự khác hoàn toàn với Linux, và dễ vỡ hơn nhiều so với Linux. Điều cốt lõi nằm ở thiết kế của Windows và Linux. “Linux là một hệ điều hành nơi mà tất cả các phần làm việc cùng với nhau nhưng lại độc lập với nhau. Điều này là khá giống với các phân tử trong trò play-doh(tm). Bạn có thể kéo play-doh(tm) ra, nhào nó với nhau và bóp nó theo các cấu hình khác nhau. Hoàn toàn những thứ y hệt như vậy có thể làm trong thế giới điện tử với Linux. Nên khi một thành phần của Linux bị hỏng, không gì ngoài thứ được kết nối trực tiếp tới thành phần đó bị ảnh hưởng. Trong thế giới Windows, mọi thứ là bị ràng buộc vào nhau một cách chặt chẽ. Giống như các phân tử trong kính (đừng có nói với tôi về bất kỳ tấm kính nào là một chất lỏng siêu lạnh nhé). Khi tấm kính bị đánh với một lực tàn phá thì nó có xu hướng gãy vỡ như thế lực đó được truyền qua cấu trúc”.

Một thứ mà với các hệ điều hành, bất kỳ hệ điều hành nào, là việc chúng có những lỗi logic. Nói một cách khác chúng có các lỗi. Các lỗi này đơn giản là không tính tới rằng một lập trình viên đã làm trong việc thiết kế các cấu trúc logic hoặc lập trình viên lóng ngóng khi gõ vào một biến và quên một ký tự “i” hoặc thứ gì đó (chúng là những lỗi khó mà tìm ra). Đối với bất kỳ lý do gì mà một hệ điều hành hoặc người sử dụng nó dựa vào các chương trình có thể, làm và sẽ bị hỏng. Điều quan trọng nhất là cách mà hệ điều hành đó hành xử với sự hỏng này.

Bây giờ hãy giả vờ một sự hỏng hệ điều hành có sử dụng sự tương tự. Nếu bạn có trẻ em, hoặc bản thân bạn là một đứa trẻ lớn (tôi béo, xám và hói và vẫn là một đứa trẻ) rồi bạn hầu như có thể biết về cách chơi. Nếu bạn có thể chộp được cái nắm của ai đó rồi ném nó xuống sàn thật mạnh như bạn có thể làm. Điều gì sẽ xảy ra? Nó sẽ méo, và phẳng ra nhưng vẫn còn là một miếng. Đó là những gì xảy ra khi Linux bị hỏng.

Sau đó lấy một mảnh thủy tinh, nó có thể là từ một cửa sổ cũ, một cái chai (ưu tiên là một chai bia rỗng mà bạn vừa uống hết) hoặc một mảnh thủy tinh thông thường mà bạn không quên. Hãy cầm lấy miếng thủy tinh đó và ném nó thật mạnh như bạn có thể xuống sàn nhà. Điều gì sẽ xảy ra? Tất nhiên nó tan thành hàng triệu mảnh. OK, không là một triệu mảnh nhưng mà tôi nói theo mỹ từ ở đây: Đây là điều xảy ra khi Windows bị hỏng.

Chắc chắn các phiên bản sau này của Windows là tốt hơn nhiều so với những gì thường thấy, miếng kính được tôi luyện và được làm thành miếng để làm cho nó cứng hơn. Kết quả cuối cùng vẫn y hệt. Khi Windows bị hỏng, nó hỏng theo một cách to lớn. Một sự hỏng của Linux thường không có sự kiện gì để so sánh được. Nó giống nhiều hơn việc để không khí xì ra ngoài một cái lốp hơn là việc làm nổ một quả bóng.

The thing with operating systems, any operating system, is that they have logic errors. In other words they have bugs. Bugs are simply mis-calculations that a programmer has made in designing logic structures or the programmer fumble fingered when typing in a variable and missed an "i" or something (those are the hardest bugs to find :(). For what ever the reason an operating system or its user based programs can, do and will crash. The most important thing is how does the operating system handle this crash.

Now lets simulate an operating system crash using analogy's. If you have children, or are a big child yourself (I am fat, grey and balding yet still a child :) then you most probably know about play-doh (tm). If you can grab a hold of some then take a handful and throw it at the floor as hard as you can. What happens? It goes splat, and flattens out but is still in one piece. That is what happens when Linux crashes.

Next find a piece of glass, it could be an old window pain, a bottle (preferably empty from the beer you just finished) or a regular glass that you won't miss. Take that glass and throw it as hard as you can against the floor. What happens? Of course it smashes into a million pieces. OK, not a million pieces but I am claiming artistic license here :) This is what happens when windows crashes.

Sure later versions of windows are a lot better than what they used to be, the glass is tempered and laminated to make it stronger. The end result is still the same. When windows crashes, it crashes in a big way. A crash under Linux is more of a non-event in comparison. More like letting the air out of a car tire than popping a balloon.

Nên vì sao 2 hệ điều hành vận hành quá khác nhau vậy? Đó là do cách mà hệ điều hành điều khiển các phần bộ nhớ và các thành phần của nó. Linux là một hệ điều hành nơi mà tất cả các phần làm việc cùng với nhau nhưng lại độc lập với nhau. Điều này là khá giống với các phân tử trong trò play-doh(tm). Bạn có thể kéo play-doh(tm) ra, nhào nó với nhau và bóp nó theo các cấu hình khác nhau. Hoàn toàn những thứ y hệt như vậy có thể làm trong thế giới điện tử với Linux. Nên khi một thành phần của Linux bị hỏng, không gì ngoài thứ được kết nối trực tiếp tới thành phần đó bị ảnh hưởng.

Trong thế giới Windows, mọi thứ là bị ràng buộc vào nhau một cách chặt chẽ. Giống như các phân tử trong kính (đừng có nói với tôi về bất kỳ tấm kính nào là một chất lỏng siêu lạnh nhé). Khi tấm kính bị đánh với một lực tàn phá thì nó có xu hướng gãy vỡ như thế lực đó được truyền qua cấu trúc. Kính là cứng và không mềm dẻo và sẽ không thể uốn được nhiều trước khi nó hồi phục lại theo một miếng cắt. Nên thường là, khi một thành phần của Windows hỏng thì nó ảnh hưởng tới toàn bộ hệ điều hành và bạn có được những gì thường nổi tiếng được gọi là màn hình xanh chết chóc BSOD.

Cho bạn một ví dụ sống động thực tế. Giả sử bạn có một máy tính với một chip bộ nhớ bị lỗi. Trong máy tính này bạn cài đặt Windows trong một phân vùng và Linux trong một phân vùng khác. Cả 2 hệ điều hành làm việc tốt cho tới khi lỗi đó bị đánh. Khi máy tính đang chạy Windows thì bạn có thể có vài thứ xảy ra. Máy tính có thể bị co lại và đòi hỏi bạn phải khởi động lại, chương trình mà bạn đang làm việc có thể hỏng và bộ nhớ hệ thống hỏng đòi hỏi một sự khởi động lại hoặc máy tính có thể đơn giản là BSOD và đòi hỏi khởi động lại. Vì bất kỳ lý do gì thì sự kiểm soát máy tính cũng ngay lập tức và không thể cứu chữa nổi sẽ bị lấy đi khỏi bạn.

So why do the two operating systems operate so differently? It is due to the way the operating system handles its memory and component parts. Linux is an operating system where all parts work together but are independent of each other. This is pretty similar to the molecules in play-doh(tm). You can pull play-doh(tm) apart, mash it together and squeeze it into different configurations. Exactly the same things can be done in the electronic world with Linux. So when a component of Linux crashes, nothing else that is not directly connected to that component is affected.

In the windows world, everything is tightly bound together. Same as the molecules in glass (no giving me any lip about glass being a supercooled liquid either :). When glass is hit with a damaging force it tends to shatter as that force is transmitted throughout the structure. Glass is rigid and inflexible and will not take too much bending before it retaliates in a cutting manner. So generally, when a component of windows fails it effects the whole operating system and you get what is famously known as the BSOD or Blue Screen Of Death.

To give you a real life example. Suppose you have a computer with a faulty memory chip. On this computer you install windows in one partition and Linux in another partition. Both operating systems work fine until that faulty bit is hit. That is when the fit hits the shan. When the computer is running under windows you can have several things happen. The computer can freeze up on you requiring you to have to reboot, the program you are working on can crash and corrupt system memory requiring a reboot or the computer can simply BSOD requiring a reboot. For what ever the reason control of the computer is instantly and irrecoverably taken away from you.

Đây lại là một câu chuyện khác trong kịch bản của Linux. Một số thứ có thể xảy ra. Chương trình mà bạn đang làm việc có thể hỏng. Rồi Linux tự động xóa bộ nhớ sao cho bạn đơn giản chỉ khởi động lại chương trình đó. Giao diện người sử dụng của bạn có thể co lại sao cho bạn có thể đơn giản kết nối thông qua một cổng từ xa và khởi động lại giao diện đó. Nếu đây là nhân mà bị ảnh hưởng thì nó không làm cho Linux tương tự như với BSOD. Phụ thuộc vào phần nào của nhân bị đánh thì nó có thể hoảng loạn, hỏng bộ nhớ cốt lõi cho lần phân tích sau và khởi động lại (chỉ module nhân, chứ không phải là máy tính) hoặc trong trường hợp tệ nhất, hoàn toàn khóa yêu cầu một sự khởi động lại.

Điểm ở đây là việc cùng một dạng các vấn đề vật lý và logic y hệt như nhau thì Windows dễ vỡ và không thể dung thứ hơn nhiều so với Linux. Ít nhất đây là kinh nghiệm của tôi khi làm việc với cả Windows và Linux nhiều năm mà tôi có thể nhớ. Bạn có kinh nghiệm nào với việc phục hồi từ những lần hỏng hệ điều hành? Bạn thấy được gì dễ dàng hơn để sửa, mà không phải khởi động lại.

It is a different story in the Linux scenario. Again several things can happen. The program you are working on can crash. Then Linux automatically clears the memory so you simply just restart the program. Your user interface can freeze so you can simply connect through a remote port and restart that interface. If it is the kernel that is effected it doesn't do the Linux equivalent of the BSOD. Depending on which part of the kernel is hit it can panic, dump core memory for later analysis and restart (just the kernel module, not the computer) or in the worst case, totally lock up requiring a reboot.

The point here is that for the same type of physical or logical problems windows is far more fragile and unforgiving than Linux is. At least this is my experience with working with both windows and Linux for more years than I can remember. What experience do you have with recovering from operating system crashes? Which do you find to be easier to fix, without having to reboot.

Dịch tài liệu: Lê Trung Nghĩa

letrungnghia.foss@gmail.com

Không có nhận xét nào:

Đăng nhận xét

Lưu ý: Chỉ thành viên của blog này mới được đăng nhận xét.