Det finns ingen enda "Windows Unix" -arkitektur. Windows och UNIX är distinkta operativsystem med grundläggande olika arkitekturer. Windows är baserat på en monolitisk kärna, medan UNIX-liknande system (Linux, MacOS, BSD, etc.) vanligtvis är baserade på en mikrokernel eller en hybridmetod. Du kan inte direkt kombinera dem på ett enkelt sätt.
Det är emellertid möjligt att köra en Unix-liknande miljö * på toppen * av Windows med hjälp av tekniker som:
* Windows Subsystem för Linux (WSL): Det är förmodligen vad du tänker på om du överväger en "Windows Unix" -arkitektur. Det smälter inte de två operativsystemen; Snarare ger det ett kompatibilitetslager som gör att en Linux-distribution kan köras som en användarläge-process inom en Windows-miljö.
Låt oss illustrera WSL:s arkitektur:
`` `
+-----------------++-----------------++-----------------+
| Windows | <--> | WSL -kompatibilitet | <--> | Linux |
| (Kernel &användare) | | Lager | | (Kernel &användare) |
| Utrymme) | + -----------------+ | Utrymme) |
+-----------------+ ^+-----------------+
|
| Systemsamtal, filsystemåtkomst etc.
v
+-----------------+
| Windows Kernel | <-hanterar hårdvaruinteraktion på låg nivå
+-----------------+
`` `
Förklaring:
1. Windows Kernel och användarutrymme: Basen är Windows-operativsystemet med sina kärn- och användarutrymme. Detta hanterar hårdvaruinteraktion direkt.
2. WSL -kompatibilitetslager: Detta är en avgörande komponent. Det fungerar som en bro, översätter systemsamtal och andra förfrågningar från Linux -miljön till deras Windows -ekvivalenter. Den hanterar filsystemåtkomst, nätverk och andra interaktioner mellan de två miljöerna. Kompatibilitetsskiktet implementeras i Windows -kärnan, vilket ger det ett prestationsökning jämfört med att köra en fullständig virtuell maskin.
3. Linux -kärnan och användarutrymmet: Detta är en full Linux -distribution (som Ubuntu eller Debian) som körs som en process inom Windows. Den har sina egna kärnkraft, användarutrymme, bibliotek och verktyg. Linux -kärnan * kommer inte * direkt åt hårdvaran; Det förlitar sig på WSL -kompatibilitetsskiktet för det.
Nyckelskillnader från ett verkligt integrerat system:
* ingen kärnintegration: WSL integrerar inte Linux -kärnan i Windows -kärnan. Detta innebär att det alltid finns ett översättningsskikt, som kan införa vissa prestanda över huvudet och begränsningarna jämfört med ett infödda UNIX -system.
* isolerade miljöer: WSL körs som en separat process. Även om det kan komma åt Windows Filesystems, är det fortfarande en i stort sett isolerad miljö. Direkt interaktion mellan Windows och Linux-processer kräver mekanismer som Inter-Process Communication (IPC).
* Limited Hardware Access: Linux -kärnan i WSL har inte direkt kontroll över all hårdvara. Vissa enheter kan kräva specifika drivrutiner eller kanske inte stöds fullt ut.
Kort sagt, medan WSL tillhandahåller ett bekvämt sätt att köra Linux -verktyg och applikationer på Windows, är det inte en riktig "Windows Unix" -arkitektur. Det beskrivs mer exakt som en Linux -miljö som emuleras i Windows -operativsystemet.