Skip to content

வெள்ளை அறிக்கை ​

இந்த ஆவணம் WSL Dashboard-இன் கட்டமைப்பு வடிவமைப்பு, தொழில்நுட்ப தேர்வு மற்றும் முக்கிய அம்சங்களின் அடிப்படை செயலாக்க தர்க்கத்தை ஆழமாக ஆராய்கிறது, டெவலப்பர்கள் மற்றும் மேம்பட்ட பயனர்களுக்கு தொழில்நுட்ப ஆழமான கண்ணோட்டத்தை வழங்குவதை நோக்கமாகக் கொண்டுள்ளது.

1. கட்டமைப்பு கண்ணோட்டம் ​

WSL Dashboard கிளாசிக்பதிலளிக்கக்கூடிய UI இயக்கி + ஒத்திசைவற்ற பின்புல பணி கட்டமைப்பைப் பயன்படுத்துகிறது, Rust மொழியின் வகை அமைப்பு மற்றும் உரிமை மாதிரியைப் பயன்படுத்தி நினைவக பாதுகாப்பு மற்றும் உயர் ஒத்தியங்கும் செயல்திறனை உறுதிசெய்கிறது.

முக்கிய கூறுகள் ​

  • முன்பகுதி (UI): Slint விளம்பர முறை இடைமுகத்தை அடிப்படையாகக் கொண்டது. UI நூல் ரெண்டரிங் மற்றும் பயனர் தொடர்புக்கு பொறுப்பு.
  • பின்பகுதி (Runtime): Tokio ஒத்திசைவற்ற இயக்க நேரத்தை அடிப்படையாகக் கொண்டது. கணினி கட்டளைகளை (CLI) பகிர்ந்தளித்தல், செயல்படுத்துதல், கோப்பு I/O மற்றும் நெட்வொர்க் கேட்புக்கு பொறுப்பு.
  • தொடர்பு: UI நூல் மற்றும் ஒத்திசைவற்ற பணிகள்சேனல் (MPSC) மற்றும்பகிரப்பட்ட நிலை (Arc/Mutex/RwLock) மூலம் திறமையாக, நூல்-பாதுகாப்பாக தொடர்பு கொள்கின்றன.

2. தொழில்நுட்ப தேர்வுக்கான காரணங்கள் ​

ஏன் Rust? ​

  • செயல்திறன்: பூஜ்ஜிய-செலவு சுருக்கம், சொந்த இயந்திர குறியீடாக தொகுக்கப்படுகிறது, GC நடுக்கம் இல்லை.
  • நினைவக பாதுகாப்பு: தொகுப்பு நேரத்தில் தாங்கல் வழிதல் மற்றும் தரவு பந்தயங்களை நீக்குகிறது, இது கணினி அடிப்படை செயல்பாடுகளை (வட்டு இடமாற்றம், நெட்வொர்க் உள்ளமைவு போன்றவை) உள்ளடக்கிய கருவிக்கு முக்கியமானது.
  • பைனரி அளவு: அனைத்து சார்புநிலைகளையும் நிலையான முறையில் இணைக்கிறது, ஒற்றை கோப்பு போர்ட்டபிள் இயக்கக்கூடிய நிரலை உருவாக்குகிறது.

ஏன் Slint + Skia? ​

  • விளம்பர முறை தொடரியல்: இடைமுக விளக்கம் மற்றும் தர்க்கம் பிரிக்கப்பட்டுள்ளன, குறியீடு பராமரிக்க எளிதானது.
  • Skia ரெண்டரிங்: GPU முடுக்கத்தை நேரடியாகப் பயன்படுத்துகிறது (Skia இயந்திரம் மூலம்), துணை-பிக்சல் அளவு தெளிவான எழுத்துகள் மற்றும் மென்மையான அனிமேஷன் விளைவுகளை வழங்குகிறது.
  • குறைந்த மேல்நிலை: Electron அல்லது WPF உடன் ஒப்பிடும்போது, Slint-இன் இயக்க நேர மேல்நிலை மிகக் குறைவு.

3. முக்கிய தொழில்நுட்ப செயலாக்கங்கள் ​

3.1 WSL நிகழ்வு கண்டறிதல் மற்றும் பாகுபடுத்தல் ​

பயன்பாடு wsl.exe --list --verbose ஐ அழைத்து அதன் வெளியீட்டை (UTF-16 குறியாக்க செயலாக்கம்) பாகுபடுத்துவதன் மூலம் நிகழ்வின் நிலையை நிகழ்நேரத்தில் பெறுகிறது.

  • அடிப்படை குறியாக்க/குறியிறக்கம்: சுய-உருவாக்கிய திறமையான குறியாக்கி/குறியிறக்கி, வெவ்வேறு இட அமைப்புகளில் உள்ள Windows சூழல்களிலும் வெளியீட்டை சரியாக பாகுபடுத்துவதை உறுதிசெய்கிறது.
  • நிலை ஒத்திசைவு: கால இடைவெளி வாக்கெடுப்பு + செயல்பாடு தூண்டப்பட்ட இரட்டை ஒத்திசைவு வழிமுறை பயன்படுத்தப்படுகிறது.

3.2 வட்டு பட இடமாற்றம் (VHDX Move) ​

இடமாற்ற அம்சம் WSL-இன் இறக்குமதி/ஏற்றுமதி வழிமுறையைப் பயன்படுத்துகிறது, ஆனால் உயர் சுருக்கம் மற்றும் அணு செயலாக்கத்துடன்.

  • பரிவர்த்தனை உத்தரவாதம்: இடமாற்றம் தொடங்கும் முன், பயன்பாடு பரஸ்பர விலக்கு பூட்டு (Mutex) மூலம் இலக்கு டிஸ்ட்ரோவைப் பூட்டுகிறது, ஒத்திசைவான செயல்பாடுகளால் தரவு சேதம் ஏற்படுவதைத் தடுக்கிறது.
  • தானியங்கி பதிவு: இடமாற்றம் முடிந்த பிறகு, பயன்பாடு தானாக VHDX பாதையை மறுவழிசெய்து டிஸ்ட்ரோவை மீண்டும் பதிவு செய்கிறது, பயனர் கைமுறை தலையீடு தேவையில்லை.

3.3 போர்ட் ஃபார்வர்டிங் மற்றும் ஃபயர்வால் தானியக்கம் ​

நெட்வொர்க் அம்சம் வெறும் netsh interface portproxy அழைப்பு மட்டுமல்ல.

  • விதி வாழ்க்கைச் சுழற்சி மேலாண்மை: பயன்பாடு தானாக ஏற்கனவே உள்ள ஃபயர்வால் விதிகளைக் கண்டறியும். பயனர் ஃபார்வர்டிங் உருவாக்கும்போது, பயன்பாடு Windows API அல்லது CLI மூலம் ஒத்திசைவாக இன்பவுண்ட் விலக்கு விதிகளை உருவாக்கும்.
  • தானியங்கி IP பெறுதல்: wsl hostname -I முடிவுகளை பாகுபடுத்துவதன் மூலம், ஹோஸ்ட் மற்றும் நிகழ்வுக்கு இடையிலான மெய்நிகர் நெட்வொர்க் IPகளை தானாக மேப்பிங் செய்கிறது.

3.4 USBIP ஒருங்கிணைப்பு ​

usbipd-win-இன் கட்டளை வரி இடைமுகத்தைப் பயன்படுத்துகிறது.

  • அனுமதி உயர்த்தல் செயலாக்கம்: பைண்டிங் செயல்பாட்டிற்கு நிர்வாகி அனுமதி தேவை, பின்பகுதி தர்க்கம் நேர்த்தியான UAC உயர்த்தல் கோரிக்கை அனுப்புதலைச் செயல்படுத்துகிறது.
  • நிலை இயந்திரம்: உள் USB சாதன இணைப்பு நிலை இயந்திரத்தை பராமரிக்கிறது, Attach/Detach செயல்முறையின் தடமறியும் தன்மையை உறுதிசெய்கிறது.

3.5 வள கண்காணிப்பு மற்றும் இலகுவான தன்மை ​

பயன்பாடு Windows சொந்த API (எ.கா: GetProcessMemoryInfo) ஐ அழைத்து சொந்த வள பயன்பாட்டைக் கண்காணிக்கிறது.

  • மிக இலகுவானது: ட்ரே அமைதியான முறையில், பயன்பாடு தேவையற்ற UI வளங்களை தானாக விடுவிக்கும். ஆங்கிலம் போன்ற நிலையான எழுத்து தொகுப்புகளுக்கு, நினைவக பயன்பாடு10MB வரை குறைவாக இருக்கலாம்; சீனம், ஜப்பானியம், கொரியம் போன்ற சிக்கலான எழுத்து தொகுப்புகளுக்கு, பெரிய எழுத்துரு ரெண்டரிங் கேச் ஏற்றப்பட வேண்டும் என்பதால், பயன்பாடு சுமார்38MB இருக்கும்.

4. செயல்திறன் மேம்படுத்தல் அளவீடுகள் ​

அளவீடுஇலக்கு/அளவீடுமேம்படுத்தும் முறை
தொடக்க வேகம்< 500msமுன்-தொகுக்கப்பட்ட Slint இடைமுகம், இயக்க நேர பாகுபடுத்தலைக் குறைத்தல்.
அடிப்படை நினைவகம் (ட்ரே)~10MBபின்புல வாக்கெடுப்பு அதிர்வெண்ணை குறைத்தல், தேவைக்கேற்ப ரெண்டரிங் கேச் விடுவித்தல்.
CPU பயன்பாடு (செயலற்ற)< 0.1%Windows நிகழ்வு-இயக்கி மாதிரியைப் பயன்படுத்துதல், வெற்று லூப் வாக்கெடுப்பைத் தவிர்த்தல்.
ரெண்டரிங் FPS60 FPSSkia GPU முடுக்கம், துணை-பிக்சல் நிலை எதிர்-விளிம்பு ரெண்டரிங்.

5. பின்பகுதி பணி பகிர்வு தர்க்கம் ​

UI மென்மையை உறுதிப்படுத்த, அனைத்து நேரம் எடுக்கும் செயல்பாடுகளும் (VHDX ஏற்றுமதி போன்றவை) ஒத்திசைவற்ற பணிகள் மூலம் பகிரப்படுகின்றன:

  1. கோரிக்கை உறையாக்கம்: UI நூல் பயனர் செயல்பாட்டை Command செய்தியாக உறையாக்குகிறது.
  2. செய்தி சேனல்: tokio::sync::mpsc மூலம் பின்புல பணி செயலிக்கு அனுப்பப்படுகிறது.
  3. நிலை திரும்ப அனுப்புதல்: பின்புல பணி முடிந்த பிறகு, கால்பேக் அல்லது பகிரப்பட்ட நிலை மூலம் UI புதுப்பிக்கப்படுகிறது. இந்த வடிவமைப்பு பல GB அளவிலான காப்பக பணியை செயலாக்கும்போதும் இடைமுகம் பயனர் கிளிக்குகளுக்கு நிகழ்நேரத்தில் பதிலளிப்பதை உறுதிசெய்கிறது.

6. பாதுகாப்பு கருத்தில் ​

  • அணு செயல்பாடுகள்: முக்கியமான நிகழ்வு பதிவு நீக்கம் மற்றும் இடமாற்றத்திற்கு முன் சரிபார்ப்பைச் செயல்படுத்துகிறது.
  • UAC உயர்த்தல் மேலாண்மை: தேவைப்படும்போது மட்டுமே (USB சாதன பைண்டிங் போன்றவை) அனுமதி கோருகிறது, குறைந்தபட்ச அனுமதி கொள்கையைப் பின்பற்றுகிறது.
  • உள்ளூர் சேமிப்பு: உள்ளமைவு உள்ளூரில் ~\.wsldashboard-ல் மட்டுமே சேமிக்கப்படுகிறது, எந்த கிளவுட் ஒத்திசைவும் இல்லை, பயனர் தனியுரிமையைப் பாதுகாக்கிறது.