Sự thật về MinWin – “trái tim” Windows 7



TTO – MinWin là thuật ngữ được Microsoft chính thức sử dụng để chỉ thành phần cốt lõi và nhân hệ thống, xuất hiện cùng với thế hệ Vista. Gần đây, theo giới thiệu của gã khổng lồ phần mềm tại hội nghị TechEd, MinWin đã được tối giản về cấu trúc và kích thước nhưng vẫn sẽ là “trái tim” của Windows 7 và Windows Server 2008 R2.

MinWin được “làm sạch” từ đầu ở cấp sâu nhất. Tương lai, việc bổ sung các thành phần cho Windows sẽ dễ dàng hơn nhiều – Ảnh Techradar

Tuy nhiên, MinWin trong các thế hệ Windows sắp phát hành chính thức lại không phải là một nhân mới. Thay vào đó, đây là nỗ lực viết lại nền tảng cơ bản nhất của Windows – kể cả nhân và các tập tin hệ thống cơ bản, khả năng kết nối mạng với cơ chế xử lý driver, dịch vụ… trở thành một hệ thống hợp lý riêng biệt tự tổ chức.

Với một hệ thống phân định rạch ròi thay vì những mối tương tác phức tạp, MinWin sẽ giúp cho việc cải tiến bổ sung vào Windows các thành phần mới một cách dễ dàng hơn rất nhiều mà vẫn tránh được các vấn đề về sự tương thích.

Theo chuyên gia Mark Russinovich: “Cấu trúc của Windows ngày càng phình to với hàng ngàn tập tin EXE, DLL và các API. Tất cả mọi thứ phụ thuộc vào nhau cùng với 600 mã nhị phân. Nếu chúng ta gỡ bỏ một trong số chúng, hệ thống sẽ gặp trục trặc, nhưng chúng ta cũng không thể xác định chuyện gì có thể xảy ra. Khi chúng tôi (Microsoft) làm mới lại Windows, mối siêu liên kết trên đã được thay đổi ở lớp cấu trúc sâu. MinWin là nền tảng để xây dựng nên cấu trúc còn lại của Windows”. Theo chuyên gia này, nó chỉ gồm có 25 MB dung lượng và sử dụng 40 MB bộ nhớ.

Biểu tượng quen thuộc của Windows trên MinWin khiến một số người nhầm tưởng đây là một hệ điều hành hoàn toàn mới

MinWin có thể boot mà không cần bất kì thành phần nào khác của Windows. Thậm chí nó cũng đã sẵn sàng cho việc truy cập mạng. Nhưng điều đó cũng không có nghĩa đây là một hệ điều hành siêu nhỏ chỉ gồm có những dòng lệnh – mà đáng nói ở đây là MinWin có cơ cấu tự tổ chức không phụ thuộc vào bất cứ thành phần nào khác.

Để tạo ra MinWin, Microsoft đã xác định ranh giới cấu trúc Windows ở mức thấp nhất. Do các mối liên kết tương hỗ chằng chịt như mì ống, ranh giới này sẽ cắt xuyên qua các tập tin DLL và nhiều dịch vụ hệ thống khác ở mức sâu nhất. “Chúng tôi đã phải giải bài toán làm thế nào đưa vào và gỡ bỏ các thành phần thiết yếu hoặc không khỏi MinWin”, Russinovich cho biết.

Đội ngũ phát triển Windows đã viết các tập tin DLL hoàn toàn mới (trong đó thành phần cơ bản là KERNELBASE.DLL) nhưng các ứng dụng phụ thuộc vào hệ thống cũ sẽ không bị lỗi vì chúng được chuyển tiếp sang các tập tin DLL mới. Đó là cách Microsoft đã xoay sở để thay đổi Windows ở cấp cơ bản nhất mà không làm trục trặc bất kì chương trình nào của hệ điều hành.

Còn rất nhiều thay đổi khác sẽ được bổ sung nay mai. Microsoft muốn Windows có thể chạy được trên bất kì hệ thống nào, từ các trung tâm dữ liệu tới vi xử lý ARM trên smartphone. Nhưng điều đó không có nghĩa người dùng có một Windows mới được viết lại từ đầu.

NHẬT VƯƠNG (Theo Techradar)

About Author

Tuấn Anh

Là một người đam mê lập trình, hiện tập trung mảng phát triển ứng dụng web dựa trên nền tảng của WordPress. Đồng thời, nhằm đạt sự trọn vẹn trong công việc freelance, tôi đang học đồ hoạ, để có thể tự mình thiết kế layout, logo và những thứ khác liên quan đến đồ họa. Mục tiêu vài năm tới: Tôi sẽ là Full Web Developer = Graphics Design + Coding. Vietcoding Blog viết về WordPress, chia sẻ kinh nghiệm, mẹo vặt, viết plugin, làm theme và ôm ấp ý tưởng viết một Web Application Framework dựa trên WordPress. Đồ hoạ là chuyên mục đang được chuẩn bị trong tương lai.




Got Something To Say:

Your email address will not be published. Required fields are marked *

To create code blocks or other preformatted text, indent by four spaces:

    This will be displayed in a monospaced font. The first four
    spaces will be stripped off, but all other whitespace
    will be preserved.
    
    Markdown is turned off in code blocks:
     [This is not a link](http://example.com)

To create not a block, but an inline code span, use backticks:

Here is some inline `code`.

For more help see http://daringfireball.net/projects/markdown/syntax

GENESIS FRAMEWORK