SlideShare uma empresa Scribd logo
1 de 39
illumos 
State of the Community 
POSIX Update 
Garrett D’Amore 
Advanced Micro Devices, Inc.
illumos is… 
• Open Source System V (Solaris) Derived 
• Development home for DTrace and ZFS 
• Kernel + core for OmniOS, SmartOS, NexentaStor 
• Four years on its own, but really ~25 years old
Recent Developments 
• Network Virtualization 
• Virtualization (LX brand, Bhyve, etc.) 
• Persistent L2ARC 
• SMB2 / SMB3 
• Hardware drivers 
• POSIX & Compatibility
Pace 
• Good stuff happening 
• But, 
• without the frenetic churn 
• this is a good thing 
• but, 
• its also a concern
State of POSIX in Tree 
• Mostly complete support for POSIX.1-2001, SUSv3 
• Failings are in user land mostly (e.g. more, pax, etc.) 
• Minimal support for POSIX 2008 updates. Largest 
of which is locale_t (newlocale(3c)& friends) 
• Some 2008 interfaces present, but not exposed, and 
many removed interfaces exposed
Driving Real $$ 
• Standbys: Nexenta, Joyent, Delphix, OmniTI 
• New comers: RackTop, Pluribus Networks 
• “Stealthy” players: e.g. Tegile 
• Total “market” value: > $100M (perhaps >>)
Challenges & 
Opportunities
No “Formal” 
Organization
things we lack 
• Bounties 
• Governance (?!?) 
• Ownership 
• Marketing 
• Legal presence
Opportunities for non- 
Gurus 
• Write & improve documentation 
• Localization 
• Test development 
• Marketing
~150 Contributors
~0 ♀ Contributors
Where are the 
women?
Hire a Female Kernel 
Engineer. Today.
Groupthink. 
— people are sheeple
Linux 
—“easy” choice
FUD. 
(Not Elmer.)
Drift & Divergence
Lots of private forks
less is more
less(1) is more(1)
less bloat is more 
(better)
less (compatible) is more 
(compatible)
less talking is more coding
illumos-core
illumos-core vision 
• focus on code 
• standards compliant - by default 
• less is more 
• self-hosting 
• self-testing 
• cross-platform 
• illumos coding standards (RTI ready by default)
Standards 
• SunOS 4.x (and 3.x) is truly ancient (32-bit SPARC only!) 
• XPG3 - this is really, really old 
• POSIX is really, really old (1988) 
• XPG4 - is also really old 
• SUS - aka XPG4v2 - also old 
• SUSv2 - UNIX98 
• SUSv3 - POSIX.1 2001 
• SUSv4 - POSIX.1 2008 - work in progress
Ancient & Useless Stuff 
• htable, gettable - last possible use was in 1990 (DNS anyone?!) 
• Wireless USB. DOA. 
• 16-bit PCMCIA. Seriously?!? 
• SunOS 4.x a.out support 
• kssl - no TLS support 
• NCA/NL7C - Global Zone only, actually slows all other traffic down 
• LMS (AMT/HECI) - Can you say security risk/pointless?
readdir_r(3c) case study 
• Standardized by POSIX in 1995 (IEEE Std. 1003.1c-1995) 
• Earlier Draft version (Draft 6) supported in Solaris 2.6 - 11 
• By default 
• Solaris is the only common operating system to still do this
readdir_r(3c) case study 
• struct dirent *readdir_r(DIR *, struct dirent ***); 
• unless… 
• _POSIX_C_SOURCE - 0 >= 199506L or… 
• _POSIX_PTHREAD_SEMANTICS or… 
• _LP64 or… 
• _FILE_OFFSET_BITS != 32 
• in which case… 
• int readdir_r(DIR *, struct dirent *, struct dirent **); 
• note that return value semantics are different!
readdir_r(3c) resolution 
• struct dirent *readdir_r(DIR *, struct dirent ***); 
• unless… 
• _POSIX_C_SOURCE - 0 >= 199506L or… 
• _POSIX_PTHREAD_SEMANTICS or… 
• _LP64 or… 
• _FILE_OFFSET_BITS == 32 or… 
• !_SUNOS_SOURCE 
• in which case… 
• int readdir_r(DIR *, struct dirent *, struct dirent **); 
• (note that you now get POSIX compliant by DEFAULT!)
accomplishments so far 
• less(1) is more(1) 
• uname & puname 
• fexecve(2), O_TTY_INIT, O_DIRECTORY 
• removed a lot of bloat (~200KLOC) 
• suppression and updates for POSIX 2008 symbols we already had (-D_XOPEN_SOURCE=700) 
• s/awk/nawk/ 
• no more dbus or hal dependencies 
• rich self tests for POSIX (and non-POSIX) interfaces (>3000 tests) 
• 85 separate bugs/features integrated (started Aug 14, approx 2 per day) 
• vi(1) is real vi, not vim(1)
uname(2) 
• uname -s == “illumos” 
• uname -r == 0.9.x (x == months since Aug 2010) 
• puname(1) utility 
• puname -S uname -s -r == “SunOS 5.11” 
• puname -S uname -v == “alternate-uname” 
• puname -U to restore 
• implemented as new flag in process uarea
uname breakage 
• 64-bit Studio (checks for SunOS > 5.7) 
• hald - fixed (in separate git repo), breaks X 
• config.guess (auto*) - can override in configure 
command line 
• pkgdepend - (fixed?) via terminatorlib/cwd.py 
• DTrace printf test (test checks uname == SunOS)
Remaining Compliance Work for C APIs 
• System Interfaces (POSIX.1-2008) 
• memory streams 
• dprintf (universe explodes…) 
• pthreads changes 
• C11 support 
• interfaces to improve security
Shell & Utilities Work 
• pax (not star, thank you very much) 
• modernize (slightly) awk 
• lots of minor updates (mv, cp, ls, etc.) 
• replace ksh93 with dash + libedit 
• Test suite development, Standard(s) trolling
Can I Help? 
YES! YOU CAN!
• Code & Documentation reviews 
• Testing 
• Help upstreaming 
• Code contributions (pull requests!) 
• http://bitbucket.org/gdamore/illumos-gate 
• “core” branch
Thank you!!

Mais conteúdo relacionado

Mais procurados

WIndows Kernel-Land exploitation
WIndows Kernel-Land exploitationWIndows Kernel-Land exploitation
WIndows Kernel-Land exploitationkyaw thiha
 
Arm device tree and linux device drivers
Arm device tree and linux device driversArm device tree and linux device drivers
Arm device tree and linux device driversHoucheng Lin
 
Upstream Allwinner ARM SoC (sunxi) Support
Upstream Allwinner ARM SoC (sunxi) SupportUpstream Allwinner ARM SoC (sunxi) Support
Upstream Allwinner ARM SoC (sunxi) SupportChen-Yu Tsai
 
Software update for embedded systems - elce2014
Software update for embedded systems - elce2014Software update for embedded systems - elce2014
Software update for embedded systems - elce2014Stefano Babic
 
Jonny_Martin-Asterisk
Jonny_Martin-AsteriskJonny_Martin-Asterisk
Jonny_Martin-Asterisktutorialsruby
 
XPDS16: Hypervisor Enforced Data Loss Prevention - Neil Sikka, A1LOGIC
XPDS16: Hypervisor Enforced Data Loss Prevention - Neil Sikka, A1LOGICXPDS16: Hypervisor Enforced Data Loss Prevention - Neil Sikka, A1LOGIC
XPDS16: Hypervisor Enforced Data Loss Prevention - Neil Sikka, A1LOGICThe Linux Foundation
 
Kernel Recipes 2013 - Crosstool-NG, a cross-toolchain generator
Kernel Recipes 2013 - Crosstool-NG, a cross-toolchain generatorKernel Recipes 2013 - Crosstool-NG, a cross-toolchain generator
Kernel Recipes 2013 - Crosstool-NG, a cross-toolchain generatorAnne Nicolas
 
RAID, Replication, and You
RAID, Replication, and YouRAID, Replication, and You
RAID, Replication, and YouGreat Wide Open
 
Git Money
Git MoneyGit Money
Git MoneyTim N
 
Aide 2014 - Fundamentals of Linux Privilege Escalation
Aide 2014 - Fundamentals of Linux Privilege EscalationAide 2014 - Fundamentals of Linux Privilege Escalation
Aide 2014 - Fundamentals of Linux Privilege Escalationnullthreat
 
IoT mit Rust programmieren
IoT mit Rust programmierenIoT mit Rust programmieren
IoT mit Rust programmierenLars Gregori
 
linux-sunxi - OSDC.tw 2014 Lightning Talk
linux-sunxi - OSDC.tw 2014 Lightning Talklinux-sunxi - OSDC.tw 2014 Lightning Talk
linux-sunxi - OSDC.tw 2014 Lightning TalkChen-Yu Tsai
 

Mais procurados (19)

WIndows Kernel-Land exploitation
WIndows Kernel-Land exploitationWIndows Kernel-Land exploitation
WIndows Kernel-Land exploitation
 
Introduction to Linux
Introduction to LinuxIntroduction to Linux
Introduction to Linux
 
References
ReferencesReferences
References
 
Arm device tree and linux device drivers
Arm device tree and linux device driversArm device tree and linux device drivers
Arm device tree and linux device drivers
 
Upstream Allwinner ARM SoC (sunxi) Support
Upstream Allwinner ARM SoC (sunxi) SupportUpstream Allwinner ARM SoC (sunxi) Support
Upstream Allwinner ARM SoC (sunxi) Support
 
Software update for embedded systems - elce2014
Software update for embedded systems - elce2014Software update for embedded systems - elce2014
Software update for embedded systems - elce2014
 
File Systems
File SystemsFile Systems
File Systems
 
Jonny_Martin-Asterisk
Jonny_Martin-AsteriskJonny_Martin-Asterisk
Jonny_Martin-Asterisk
 
XPDS16: Hypervisor Enforced Data Loss Prevention - Neil Sikka, A1LOGIC
XPDS16: Hypervisor Enforced Data Loss Prevention - Neil Sikka, A1LOGICXPDS16: Hypervisor Enforced Data Loss Prevention - Neil Sikka, A1LOGIC
XPDS16: Hypervisor Enforced Data Loss Prevention - Neil Sikka, A1LOGIC
 
Kernel Recipes 2013 - Crosstool-NG, a cross-toolchain generator
Kernel Recipes 2013 - Crosstool-NG, a cross-toolchain generatorKernel Recipes 2013 - Crosstool-NG, a cross-toolchain generator
Kernel Recipes 2013 - Crosstool-NG, a cross-toolchain generator
 
RAID, Replication, and You
RAID, Replication, and YouRAID, Replication, and You
RAID, Replication, and You
 
Low-level Accesses
Low-level AccessesLow-level Accesses
Low-level Accesses
 
Character Drivers
Character DriversCharacter Drivers
Character Drivers
 
Git Money
Git MoneyGit Money
Git Money
 
PCI Drivers
PCI DriversPCI Drivers
PCI Drivers
 
Aide 2014 - Fundamentals of Linux Privilege Escalation
Aide 2014 - Fundamentals of Linux Privilege EscalationAide 2014 - Fundamentals of Linux Privilege Escalation
Aide 2014 - Fundamentals of Linux Privilege Escalation
 
tizen-oshw-tds14sh
tizen-oshw-tds14shtizen-oshw-tds14sh
tizen-oshw-tds14sh
 
IoT mit Rust programmieren
IoT mit Rust programmierenIoT mit Rust programmieren
IoT mit Rust programmieren
 
linux-sunxi - OSDC.tw 2014 Lightning Talk
linux-sunxi - OSDC.tw 2014 Lightning Talklinux-sunxi - OSDC.tw 2014 Lightning Talk
linux-sunxi - OSDC.tw 2014 Lightning Talk
 

Semelhante a Surge2014 talk - illumos State of the Community & POSIX Update

Operating Systems 1 (5/12) - Architectures (Unix)
Operating Systems 1 (5/12) - Architectures (Unix)Operating Systems 1 (5/12) - Architectures (Unix)
Operating Systems 1 (5/12) - Architectures (Unix)Peter Tröger
 
What Linux can learn from Solaris performance and vice-versa
What Linux can learn from Solaris performance and vice-versaWhat Linux can learn from Solaris performance and vice-versa
What Linux can learn from Solaris performance and vice-versaBrendan Gregg
 
Live Memory Forensics on Android devices
Live Memory Forensics on Android devicesLive Memory Forensics on Android devices
Live Memory Forensics on Android devicesNikos Gkogkos
 
オペレーティングシステム 設計と実装 第3版(20101211)
オペレーティングシステム 設計と実装 第3版(20101211)オペレーティングシステム 設計と実装 第3版(20101211)
オペレーティングシステム 設計と実装 第3版(20101211)Ryousei Takano
 
A Brief History of System Calls
A Brief History of System CallsA Brief History of System Calls
A Brief History of System Callsahl0003
 
Network Stack in Userspace (NUSE)
Network Stack in Userspace (NUSE)Network Stack in Userspace (NUSE)
Network Stack in Userspace (NUSE)Hajime Tazaki
 
Gentoo Linux, or Why in the World You Should Compile Everything
Gentoo Linux, or Why in the World You Should Compile EverythingGentoo Linux, or Why in the World You Should Compile Everything
Gentoo Linux, or Why in the World You Should Compile EverythingDonnie Berkholz
 
Running Applications on the NetBSD Rump Kernel by Justin Cormack
Running Applications on the NetBSD Rump Kernel by Justin Cormack Running Applications on the NetBSD Rump Kernel by Justin Cormack
Running Applications on the NetBSD Rump Kernel by Justin Cormack eurobsdcon
 
Systems Performance: Enterprise and the Cloud
Systems Performance: Enterprise and the CloudSystems Performance: Enterprise and the Cloud
Systems Performance: Enterprise and the CloudBrendan Gregg
 
Android Mind Reading: Android Live Memory Analysis with LiME and Volatility
Android Mind Reading: Android Live Memory Analysis with LiME and VolatilityAndroid Mind Reading: Android Live Memory Analysis with LiME and Volatility
Android Mind Reading: Android Live Memory Analysis with LiME and VolatilityJoe Sylve
 
Introduction to Linux Kernel by Quontra Solutions
Introduction to Linux Kernel by Quontra SolutionsIntroduction to Linux Kernel by Quontra Solutions
Introduction to Linux Kernel by Quontra SolutionsQUONTRASOLUTIONS
 
Auditing the Opensource Kernels
Auditing the Opensource KernelsAuditing the Opensource Kernels
Auditing the Opensource KernelsSilvio Cesare
 
Ice Age melting down: Intel features considered usefull!
Ice Age melting down: Intel features considered usefull!Ice Age melting down: Intel features considered usefull!
Ice Age melting down: Intel features considered usefull!Peter Hlavaty
 
Nikita Abdullin - Reverse-engineering of embedded MIPS devices. Case Study - ...
Nikita Abdullin - Reverse-engineering of embedded MIPS devices. Case Study - ...Nikita Abdullin - Reverse-engineering of embedded MIPS devices. Case Study - ...
Nikita Abdullin - Reverse-engineering of embedded MIPS devices. Case Study - ...DefconRussia
 
The Ultimate IBM and Lotus on Linux Workshop for Windows Admins
The Ultimate IBM and Lotus on Linux Workshop for Windows AdminsThe Ultimate IBM and Lotus on Linux Workshop for Windows Admins
The Ultimate IBM and Lotus on Linux Workshop for Windows AdminsBill Malchisky Jr.
 
Linux Performance Analysis: New Tools and Old Secrets
Linux Performance Analysis: New Tools and Old SecretsLinux Performance Analysis: New Tools and Old Secrets
Linux Performance Analysis: New Tools and Old SecretsBrendan Gregg
 
Linux Knowledge Transfer
Linux Knowledge TransferLinux Knowledge Transfer
Linux Knowledge TransferTapio Vaattanen
 
A Reimplementation of NetBSD Based on a Microkernel by Andrew S. Tanenbaum
A Reimplementation of NetBSD Based on a Microkernel by Andrew S. TanenbaumA Reimplementation of NetBSD Based on a Microkernel by Andrew S. Tanenbaum
A Reimplementation of NetBSD Based on a Microkernel by Andrew S. Tanenbaumeurobsdcon
 
Jonny_Martin-Asterisk
Jonny_Martin-AsteriskJonny_Martin-Asterisk
Jonny_Martin-Asterisktutorialsruby
 
Jonny_Martin-Asterisk
Jonny_Martin-AsteriskJonny_Martin-Asterisk
Jonny_Martin-Asterisktutorialsruby
 

Semelhante a Surge2014 talk - illumos State of the Community & POSIX Update (20)

Operating Systems 1 (5/12) - Architectures (Unix)
Operating Systems 1 (5/12) - Architectures (Unix)Operating Systems 1 (5/12) - Architectures (Unix)
Operating Systems 1 (5/12) - Architectures (Unix)
 
What Linux can learn from Solaris performance and vice-versa
What Linux can learn from Solaris performance and vice-versaWhat Linux can learn from Solaris performance and vice-versa
What Linux can learn from Solaris performance and vice-versa
 
Live Memory Forensics on Android devices
Live Memory Forensics on Android devicesLive Memory Forensics on Android devices
Live Memory Forensics on Android devices
 
オペレーティングシステム 設計と実装 第3版(20101211)
オペレーティングシステム 設計と実装 第3版(20101211)オペレーティングシステム 設計と実装 第3版(20101211)
オペレーティングシステム 設計と実装 第3版(20101211)
 
A Brief History of System Calls
A Brief History of System CallsA Brief History of System Calls
A Brief History of System Calls
 
Network Stack in Userspace (NUSE)
Network Stack in Userspace (NUSE)Network Stack in Userspace (NUSE)
Network Stack in Userspace (NUSE)
 
Gentoo Linux, or Why in the World You Should Compile Everything
Gentoo Linux, or Why in the World You Should Compile EverythingGentoo Linux, or Why in the World You Should Compile Everything
Gentoo Linux, or Why in the World You Should Compile Everything
 
Running Applications on the NetBSD Rump Kernel by Justin Cormack
Running Applications on the NetBSD Rump Kernel by Justin Cormack Running Applications on the NetBSD Rump Kernel by Justin Cormack
Running Applications on the NetBSD Rump Kernel by Justin Cormack
 
Systems Performance: Enterprise and the Cloud
Systems Performance: Enterprise and the CloudSystems Performance: Enterprise and the Cloud
Systems Performance: Enterprise and the Cloud
 
Android Mind Reading: Android Live Memory Analysis with LiME and Volatility
Android Mind Reading: Android Live Memory Analysis with LiME and VolatilityAndroid Mind Reading: Android Live Memory Analysis with LiME and Volatility
Android Mind Reading: Android Live Memory Analysis with LiME and Volatility
 
Introduction to Linux Kernel by Quontra Solutions
Introduction to Linux Kernel by Quontra SolutionsIntroduction to Linux Kernel by Quontra Solutions
Introduction to Linux Kernel by Quontra Solutions
 
Auditing the Opensource Kernels
Auditing the Opensource KernelsAuditing the Opensource Kernels
Auditing the Opensource Kernels
 
Ice Age melting down: Intel features considered usefull!
Ice Age melting down: Intel features considered usefull!Ice Age melting down: Intel features considered usefull!
Ice Age melting down: Intel features considered usefull!
 
Nikita Abdullin - Reverse-engineering of embedded MIPS devices. Case Study - ...
Nikita Abdullin - Reverse-engineering of embedded MIPS devices. Case Study - ...Nikita Abdullin - Reverse-engineering of embedded MIPS devices. Case Study - ...
Nikita Abdullin - Reverse-engineering of embedded MIPS devices. Case Study - ...
 
The Ultimate IBM and Lotus on Linux Workshop for Windows Admins
The Ultimate IBM and Lotus on Linux Workshop for Windows AdminsThe Ultimate IBM and Lotus on Linux Workshop for Windows Admins
The Ultimate IBM and Lotus on Linux Workshop for Windows Admins
 
Linux Performance Analysis: New Tools and Old Secrets
Linux Performance Analysis: New Tools and Old SecretsLinux Performance Analysis: New Tools and Old Secrets
Linux Performance Analysis: New Tools and Old Secrets
 
Linux Knowledge Transfer
Linux Knowledge TransferLinux Knowledge Transfer
Linux Knowledge Transfer
 
A Reimplementation of NetBSD Based on a Microkernel by Andrew S. Tanenbaum
A Reimplementation of NetBSD Based on a Microkernel by Andrew S. TanenbaumA Reimplementation of NetBSD Based on a Microkernel by Andrew S. Tanenbaum
A Reimplementation of NetBSD Based on a Microkernel by Andrew S. Tanenbaum
 
Jonny_Martin-Asterisk
Jonny_Martin-AsteriskJonny_Martin-Asterisk
Jonny_Martin-Asterisk
 
Jonny_Martin-Asterisk
Jonny_Martin-AsteriskJonny_Martin-Asterisk
Jonny_Martin-Asterisk
 

Último

Pigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Allon Mureinik
 
SIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge GraphSIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge GraphNeo4j
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptxHampshireHUG
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 3652toLead Limited
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slidespraypatel2
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticscarlostorres15106
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...shyamraj55
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking MenDelhi Call girls
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking MenDelhi Call girls
 
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersEnhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersThousandEyes
 
Key Features Of Token Development (1).pptx
Key  Features Of Token  Development (1).pptxKey  Features Of Token  Development (1).pptx
Key Features Of Token Development (1).pptxLBM Solutions
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreternaman860154
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsMemoori
 
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...HostedbyConfluent
 
Pigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationSafe Software
 
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | DelhiFULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhisoniya singh
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machinePadma Pradeep
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxKatpro Technologies
 

Último (20)

Pigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food Manufacturing
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)
 
SIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge GraphSIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge Graph
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slides
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
 
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersEnhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
 
Key Features Of Token Development (1).pptx
Key  Features Of Token  Development (1).pptxKey  Features Of Token  Development (1).pptx
Key Features Of Token Development (1).pptx
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial Buildings
 
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
 
Pigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping Elbows
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
 
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | DelhiFULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machine
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
 

Surge2014 talk - illumos State of the Community & POSIX Update

  • 1. illumos State of the Community POSIX Update Garrett D’Amore Advanced Micro Devices, Inc.
  • 2. illumos is… • Open Source System V (Solaris) Derived • Development home for DTrace and ZFS • Kernel + core for OmniOS, SmartOS, NexentaStor • Four years on its own, but really ~25 years old
  • 3. Recent Developments • Network Virtualization • Virtualization (LX brand, Bhyve, etc.) • Persistent L2ARC • SMB2 / SMB3 • Hardware drivers • POSIX & Compatibility
  • 4. Pace • Good stuff happening • But, • without the frenetic churn • this is a good thing • but, • its also a concern
  • 5. State of POSIX in Tree • Mostly complete support for POSIX.1-2001, SUSv3 • Failings are in user land mostly (e.g. more, pax, etc.) • Minimal support for POSIX 2008 updates. Largest of which is locale_t (newlocale(3c)& friends) • Some 2008 interfaces present, but not exposed, and many removed interfaces exposed
  • 6. Driving Real $$ • Standbys: Nexenta, Joyent, Delphix, OmniTI • New comers: RackTop, Pluribus Networks • “Stealthy” players: e.g. Tegile • Total “market” value: > $100M (perhaps >>)
  • 9. things we lack • Bounties • Governance (?!?) • Ownership • Marketing • Legal presence
  • 10. Opportunities for non- Gurus • Write & improve documentation • Localization • Test development • Marketing
  • 13. Where are the women?
  • 14. Hire a Female Kernel Engineer. Today.
  • 15. Groupthink. — people are sheeple
  • 22. less bloat is more (better)
  • 23. less (compatible) is more (compatible)
  • 24. less talking is more coding
  • 26. illumos-core vision • focus on code • standards compliant - by default • less is more • self-hosting • self-testing • cross-platform • illumos coding standards (RTI ready by default)
  • 27. Standards • SunOS 4.x (and 3.x) is truly ancient (32-bit SPARC only!) • XPG3 - this is really, really old • POSIX is really, really old (1988) • XPG4 - is also really old • SUS - aka XPG4v2 - also old • SUSv2 - UNIX98 • SUSv3 - POSIX.1 2001 • SUSv4 - POSIX.1 2008 - work in progress
  • 28. Ancient & Useless Stuff • htable, gettable - last possible use was in 1990 (DNS anyone?!) • Wireless USB. DOA. • 16-bit PCMCIA. Seriously?!? • SunOS 4.x a.out support • kssl - no TLS support • NCA/NL7C - Global Zone only, actually slows all other traffic down • LMS (AMT/HECI) - Can you say security risk/pointless?
  • 29. readdir_r(3c) case study • Standardized by POSIX in 1995 (IEEE Std. 1003.1c-1995) • Earlier Draft version (Draft 6) supported in Solaris 2.6 - 11 • By default • Solaris is the only common operating system to still do this
  • 30. readdir_r(3c) case study • struct dirent *readdir_r(DIR *, struct dirent ***); • unless… • _POSIX_C_SOURCE - 0 >= 199506L or… • _POSIX_PTHREAD_SEMANTICS or… • _LP64 or… • _FILE_OFFSET_BITS != 32 • in which case… • int readdir_r(DIR *, struct dirent *, struct dirent **); • note that return value semantics are different!
  • 31. readdir_r(3c) resolution • struct dirent *readdir_r(DIR *, struct dirent ***); • unless… • _POSIX_C_SOURCE - 0 >= 199506L or… • _POSIX_PTHREAD_SEMANTICS or… • _LP64 or… • _FILE_OFFSET_BITS == 32 or… • !_SUNOS_SOURCE • in which case… • int readdir_r(DIR *, struct dirent *, struct dirent **); • (note that you now get POSIX compliant by DEFAULT!)
  • 32. accomplishments so far • less(1) is more(1) • uname & puname • fexecve(2), O_TTY_INIT, O_DIRECTORY • removed a lot of bloat (~200KLOC) • suppression and updates for POSIX 2008 symbols we already had (-D_XOPEN_SOURCE=700) • s/awk/nawk/ • no more dbus or hal dependencies • rich self tests for POSIX (and non-POSIX) interfaces (>3000 tests) • 85 separate bugs/features integrated (started Aug 14, approx 2 per day) • vi(1) is real vi, not vim(1)
  • 33. uname(2) • uname -s == “illumos” • uname -r == 0.9.x (x == months since Aug 2010) • puname(1) utility • puname -S uname -s -r == “SunOS 5.11” • puname -S uname -v == “alternate-uname” • puname -U to restore • implemented as new flag in process uarea
  • 34. uname breakage • 64-bit Studio (checks for SunOS > 5.7) • hald - fixed (in separate git repo), breaks X • config.guess (auto*) - can override in configure command line • pkgdepend - (fixed?) via terminatorlib/cwd.py • DTrace printf test (test checks uname == SunOS)
  • 35. Remaining Compliance Work for C APIs • System Interfaces (POSIX.1-2008) • memory streams • dprintf (universe explodes…) • pthreads changes • C11 support • interfaces to improve security
  • 36. Shell & Utilities Work • pax (not star, thank you very much) • modernize (slightly) awk • lots of minor updates (mv, cp, ls, etc.) • replace ksh93 with dash + libedit • Test suite development, Standard(s) trolling
  • 37. Can I Help? YES! YOU CAN!
  • 38. • Code & Documentation reviews • Testing • Help upstreaming • Code contributions (pull requests!) • http://bitbucket.org/gdamore/illumos-gate • “core” branch