Microsoft เปิดเผยวิธีการทำงานของระบบย่อย windows 10 linux
วีดีโอ: à¸�ารจับà¸�ารเคลื่à¸à¸™à¹„หวผ่านหน้าà¸�ล้à¸à¸‡Mode Motion Detection www keepvid com 2024
Bash บน Ubuntu บน Windows เปิดใช้งานไบนารี Linux ELF64 แบบเนทิฟเพื่อให้ทำงานบน Windows ผ่านระบบย่อย Windows สำหรับ Linux (WSL) ถึงแม้ว่าหลาย ๆ คนจะตกใจกับการประกาศของ Bash บน Ubuntu แต่ก็เป็นสิ่งที่ควรค่าแก่การกล่าวถึงว่าจะเปิดประตูใหม่สำหรับความเข้ากันได้ระหว่างระบบปฏิบัติการที่แตกต่างกัน Microsoft ก้าวไปอีกขั้นและเผยให้เห็นว่า WSL ทำงานอย่างไรเพื่อให้เราสามารถเข้าใจได้ดีขึ้นว่าระบบทั้งสองสื่อสารกันอย่างไร
WSL ถูกสร้างโดยทีมเคอร์เนล Microsoft Windows และมีทั้งโหมดผู้ใช้และส่วนประกอบโหมดเคอร์เนล โดยเฉพาะอย่างยิ่งระบบประกอบด้วย:
- เซอร์วิสตัวจัดการเซสชันโหมดผู้ใช้ที่จัดการกับวงจรชีวิตอินสแตนซ์ Linux
- ไดรเวอร์ของผู้ให้บริการ Pico (lxss.sys, lxcore.sys) ซึ่งมีบทบาทคือเลียนแบบเคอร์เนล Linux โดยการแปล Linux syscalls
- กระบวนการ Pico โฮสต์ Linux โหมดผู้ใช้ที่ไม่ได้แก้ไข (เช่น / bin / bash)
การเชื่อมต่อระหว่างองค์ประกอบทั้งสามอธิบายไว้ดังต่อไปนี้:
มันเป็นช่องว่างระหว่างลินุกซ์โหมดผู้ใช้และส่วนประกอบเคอร์เนลของ Windows ที่เกิดเวทย์มนตร์ ด้วยการวางไบนารีลินุกซ์ที่ไม่ได้แก้ไขในกระบวนการ Pico เราเปิดใช้งานการโทรของระบบ Linux เพื่อนำไปยังเคอร์เนลของ Windows ไดรเวอร์ lxss.sys และ lxcore.sys แปลการเรียกระบบ Linux เป็น NT APIs และจำลองเคอร์เนล Linux
ความท้าทายหลักในกระบวนการนี้คือการทำให้ทั้งสองระบบทำงานร่วมกัน:
WSL ดำเนินการไบนารี Linux ELF64 ที่ไม่ได้แก้ไขโดยการจำลองเสมือนอินเตอร์เฟสเคอร์เนล Linux ที่ด้านบนของเคอร์เนล Windows NT หนึ่งในอินเตอร์เฟสของเคอร์เนลที่ถูกเปิดเผยคือการเรียกของระบบ (syscalls) syscall เป็นบริการที่ให้บริการโดยเคอร์เนลที่สามารถเรียกได้จากโหมดผู้ใช้ ทั้งเคอร์เนล Linux และเคอร์เนล Windows NT เปิดเผยหลายร้อย syscalls ไปยังโหมดผู้ใช้ แต่มีซีแมนทิกส์ต่างกันและโดยทั่วไปไม่เข้ากันโดยตรง ตัวอย่างเช่นเคอร์เนล Linux ประกอบด้วยสิ่งต่าง ๆ เช่น fork, open และ kill ในขณะที่เคอร์เนล Windows NT มี NtCreateProcess ที่เปรียบเทียบได้, NtOpenFile และ NtTerminateProcess
ระบบย่อย Windows สำหรับ Linux ประกอบด้วยไดรเวอร์โหมดเคอร์เนล (lxss.sys และ lxcore.sys) ที่รับผิดชอบการจัดการการร้องขอการเรียกระบบ Linux ในการประสานงานกับเคอร์เนล Windows NT ไดรเวอร์ไม่มีรหัสจากเคอร์เนล Linux แต่เป็นการใช้งานคลีนรูมของอินเตอร์เฟสเคอร์เนลที่เข้ากันได้กับ Linux แทน บน Linux ดั้งเดิมเมื่อ syscall ทำจากโหมดผู้ใช้ที่สามารถเรียกทำงานได้จะถูกจัดการโดยเคอร์เนล Linux บน WSL เมื่อ syscall ถูกสร้างขึ้นมาจากการปฏิบัติการเดียวกันเคอร์เนลของ Windows NT จะส่งต่อการร้องขอไปยัง lxcore.sys หากเป็นไปได้ lxcore.sys จะแปล Linux syscall ให้เทียบเท่ากับการเรียก Windows NT ซึ่งจะเป็นการยกที่หนัก
เมื่อพิจารณาถึงความสนใจของ Microsoft ในแพลตฟอร์มโอเพ่นซอร์สหลายคนสงสัยว่ายักษ์ใหญ่ด้านเทคโนโลยีควรซื้อ บริษัท ที่มุ่งเน้น Linux เป็นหลักเช่น Canonical บริษัท ที่อยู่เบื้องหลังระบบปฏิบัติการ Ubuntu แม้ว่า Microsoft และ Canonical จะร่วมมือกับซอฟต์แวร์โอเพ่นซอร์ส แต่ก็ไม่ได้แสดงความคิดเห็นใด ๆ เกี่ยวกับความเป็นไปได้นี้
หากคุณสนใจวิธีการโต้ตอบของ Linux - Windows ให้ไปที่บล็อกของ Microsoft ทีมสัญญาว่าจะมีการโพสต์บล็อกเพิ่มเติมในหัวข้อนี้
ดาวน์โหลดและติดตั้ง wsl arch linux จาก microsoft store
ตอนนี้คุณสามารถดาวน์โหลด Arch Linux บนคอมพิวเตอร์ Windows 10 ของคุณโดยตรงจาก Microsoft Store แต่ก่อนอื่นคุณต้องเปิดใช้งาน Windows Subsystem สำหรับ Linux
Microsoft วางแผนที่จะนำเคอร์เนล linux เต็มไปใช้กับ windows 10
Windows กำลังจะได้รับคุณสมบัติใหม่ที่สำคัญมาก - เคอร์เนลแบบเต็ม ซึ่งหมายความว่าเคอร์เนลจะสามารถเข้าถึงได้ในฐานะเครื่องเสมือน
Microsoft วางแผนที่จะบล็อก linux จาก windows 10 s
ย้อนกลับไปเมื่อการศึกษาตามเป้าหมายของ Windows 10 S มีผู้ใช้หลายคนสงสัยความสำเร็จเนื่องจากข้อ จำกัด ของแอพ Windows Store ซึ่งดูเหมือนเป็นเส้นทางสู่ความล้มเหลว ความคิดเห็นนั้นไม่ได้มีอยู่มากนักเมื่อพิจารณาว่า Windows RT นั้นทำตามสูตรเดียวกันและล้มเหลว แอพบางตัวไม่สามารถใช้งานได้ใน Windows Store บน ...