4 ms·
From my understanding: WSL1 emulated Linux syscalls and ran Linux-compatible ELF binaries on picoprocesses. This isn't really sufficient to call it a POSIX laye
by jchw 3y ago
From my understanding: WSL1 emulated Linux syscalls and ran Linux-compatible ELF binaries on picoprocesses. This isn't really sufficient to call it a POSIX layer. I am not aware (and can not find evidence) of Microsoft attempting to get it certified as compliant, and in order to do so it would need a compliant root image (e.g. not Ubuntu.)
Services for UNIX was a different story, but that's not what either version of WSL is.
- alexvitkov 3y agoPOSIX also specifies the coreutils, so implementing a few syscalls definitely doesn't cut it.
- nullindividual 3y ago> Microsoft attempting to get it certified as compliant Who would bother getting POSIX, UNIX, or FIPS 140-2 certified in today's world? We've moved on from when any of those things were important. It costs time/money and what customers would Microsoft attract? The US Gov't no longer sees those as important requirements.
- AlotOfReading 3y agoCertification isn't required to be compliant, and I'd argue that very few people actually care or refer to it in the real world. It meets the same bar that all of the other "mostly compliant" OSes listed on the POSIX wiki page meet: you can write code against a POSIX stdlib and it'll work without involving a VM as long as you stick to some subset of interfaces and behaviors. WSL1's compliance was actually larger than most of the OSes on that list. The last time I asked Mentor Graphics which parts of POSIX they supported on Nucleus they said "tell us what APIs your application needs and we'll implement them" (anything beyond PSE51 was largely unimplemented). Zephyr is nice enough to actually document their limitations, but the support is far from comprehensive either: https://docs.zephyrproject.org/latest/services/portability/posix.html https://docs.zephyrproject.org/latest/services/portability/p...
- jchw 3y agoWSL1 doesn't even handle userspace. It just ships Ubuntu. And certification or no certification, Ubuntu is very trivially not POSIX-compliant. Perhaps you can make it POSIX compliant, but there is no obvious way to do this; you would have to go point-by-point. I don't think that is any better than OSes that conform to some specific subset.