Each program is separated into several segments like:
- code segment
- data segment
- stack segment
- heap segment
But who was responsible for that progression? The compiler and linker has to support that conversation to those segments.
- was it first implemented by the compiler and linker developers and the early operating systems used it?
- was it first implemented by the operating system developers and the compiler and linker developers needed an adjustment?