Chapter 2: Unix Standardization and ImplementationsIn The Old Days…MulticsUnix is BornGoals of UnixDifferent Versions of UnixBrief History of WindowsWhy StandardsDifferent InterfacesLimitsSome LimitsPrimitive System Data TypesChapter 2: Unix Standardization and ImplementationsCMPS 105: Systems ProgrammingProf. Scott BrandtT Th 2-3:45Soc Sci 2, Rm. 167In The Old Days… Before Unix, every hardware vendor had their own operating system These systems were completely proprietary They were not open You had to buy tools from the hardware vendor Code was not portable from one platform to anotherMultics A joint OS venture between MIT, AT&T Bell Labs, and GE to develop a new OS Every good OS idea, up to a point, appeared in Multics Virtual memory File system Security Etc. As a result, Multics was huge and cumbersome It eventually failed, although everyone liked the ideaUnix is Born Several researchers at AT&T Bell Labs still liked the idea of a new OS In 1969, they began by designing a new file system Keep in mind that these were relatively new Then they added an assembler, a shell, process management, and some basic I/O Unix was bornGoals of Unix Unix was intended to be: small, flexible, portable, efficient, a programmer’s tool It was really written by a group of hardcore programmers for themselves and people like them C was developed to facilitate UNIX development Another innovation: pipes and lots of small utilities Side note: the shortened names for everything were an accidentDifferent Versions of Unix AT&T licensed the Unix source code to Berkeley Researchers at Berkeley started working with it and made lots of changes: BSD Unix But others couldn’t use it without an AT&T license Eventually, Berkeley people rewrote the AT&T proprietary parts so that they could distribute theirs Later: SunOS/Solaris, DEC Ultrix, HPUX, Xenix Even later: Linux was born First really, truly open-source UnixBrief History of Windows In the early 80s, IBM decided to produce a “personal computer” 1 MHz processor, 5 MB HD, 128K RAM? They contacted a small software company led by Bill Gates to ask them if they would produce a version of their DOS system for the new “PC” First version of DOS wasn’t much of an OS DOS stands for “Disk Operating System” Windows idea was stolen from Xerox PARCWhy Standards Problem: as soon as everyone gets their hands on something (C, UNIX, etc.) they start changing it to suit their needs Issues: Portability, modularity, reusability, interoperability, etc. Standards efforts driven by the government, and by corporations ANSI C, IEEE POSIXDifferent Interfaces Many different flavors of UNIX support different system call interfaces POSIX specifies one set of interfaces and semantics Many extensions existLimits Portability requires that data types be the same on different architectures Even if the hardware is different This requires careful standardization of the data types How they are stored and interpreted, how many bits, formats, endian-ness, max, min, sign, …Some Limits Size of char, short, int, long Signed/unsigned Min/max values Pathnames Open filesPrimitive System Data Typescaddr_t clock_t comp_tdev_t fd_set fpos_tgid_t ino_t mode_tnlink_t off_t pid_tptrdiff_t rlim_t sig_atomic_tsigset_t size_t ssize_ttime_t uid_t
View Full Document