Hot answers tagged

61

The message was This program posts news to thousands of machines throughout the entire civilized world. Your message will cost the net hundreds if not thousands of dollars to send everywhere. Please be sure you know what you are doing. This message isn’t inherent to Usenet, it’s output by certain clients. It originated in rn, Larry Wall’s news ...


56

The I/O model on "Cutler systems" -- RSX-11M, VAX/VMS, Windows NT -- is an asynchronous packet-driven I/O model, rather than the fundamentally synchronous I/O model of Unix. At its core, you fire off an I/O request, and get a notification of when it's complete. Meanwhile, execution continues. Of course, it's trivial for the system to provide synchronous I/...


32

From this list of Multics features, almost all are recognizable in modern UNIX-style systems in one form or another. Looking for distinctions between is two is made difficult due to the longevity of UNIX and the proliferation of its children. For me, the most interesting distinction between Multics and UNIX (and most operating systems to follow) was Multics'...


30

In 1986 (and for a few years after that still), /dev wasn’t handled by a special file system. It was generally a directory on the root file system, and its contents were largely static: a series of device nodes, created by mknod. Many systems had some way of creating the “standard” nodes, for example a Makefile in V7 or MAKEDEV. Each device node has a type, ...


22

While I am sure that the merits of Cutler's stated "low opinion" could be debated, I'm interested to better understand exactly what he was referring to here. There's no citation, and I haven't found a good explanation critiquing his criticism. Honestly, at face value, it's a naive criticism. Cutler was not naive, so, it's likely just a sound bite poke ...


19

At the operating system level – as seen by applications – files in VMS are very record oriented. Guide to OpenVMS File Applications (336 page, 2MB PDF) probably goes into far more detail than anyone should be expected to know, but you can get a feel from the Introduction (emphasis mine): 1.1 File Concepts A computer file is an organized collection of ...


18

Just a supplement to what Stephen Kitt already said: The entries in any directory in a classic Unix file system are hard links that map names to inodes —small fixed-size records in the file system. There were several different kinds of inode; A "regular file" inode contained information that the OS could use to find the pages of a file. A "directory" ...


17

There is not a single Unix line ('Unix' is not unique). The numbers measure different things. Anyone who forked a variant of Unix was free to start a whole new sequence of numbering. Seventh edition Unix came from the 'classic' Unix lineage out of Bell Labs, latterly known as 'Research Unix'. Meanwhile, presumably because of its flexibility, there were many ...


16

Here's a manual for CROS and one for the C500C robot controller. It seems clear that the bytecode files are compiled from the RAPL-3 programming language (no filename extension for binaries, .r3 for source files, .v3 for "variables files". There's a manual for the language here and for the development tools, which run on Windows, here. The manual for ...


14

In Multics, not only was all data mapped into memory, but all binary executables were what we now call DLLs. There was no natural "main program" concept: every binary executable was a compiled function. Processes were extremely "heavy": you got one when you logged in, and everything you ran was a DLL linked into that process. This messed ...


14

Because $foo may itself start with a hyphen and look like an option or an operation, which would cause misinterpretation of the command line. Using -z or -n guarantees that no matter the contents of $foo, it will never be interpreted as an option. The BSD 2.11 man page for test says: The test grammar is inherently ambiguous. In order to assure a degree of ...


12

The V1 Unix B manpage uses .s as the extension for intermediate assembly files used during the build. This is the earliest use of .s that I can find, and would correspond to November 1971 at the latest. There were assemblers on systems with file systems before Unix, but none that I’m aware of used .s. Some like DECsys don’t appear to have extensions; other ...


11

Note: this is mostly guesswork I don't know this assembler but the f suffix seems to denote a label. Example bec 1f jmp cerror 1: Those instructions write the parameters in the parameter zone of the system call. mov 6(r5),0f mov 8(r5),0f+2 note that there's a 0 label just after the sys instruction. It holds the parameters (copies of those which ...


11

Original all three have different meanings and are (in part) based on different implementations. But, as you already assume in your answer, people may have taken the name and used it with differend (usualy simpler) implementations Is there a backstory to the catalog command The term "Catalog(ue)" goes quite in line how IBM's terminology is based on ...


10

A Brief History of BSD Net/1, Net/2 I found the answers while browsing the old OpenBSD release notes today. The release note of OpenBSD 4.4 contains a brief history of BSD Net/1 and Net/2. While it doesn't answer exactly what code or which features were removed and rewritten from the BSD codebase (time for me to start digging up the source code and Usenet ...


10

Probably wasn't a Unix release per se, but the GUI you happened to use,such as raw x-windows (which would be my guess). There were other GUI's layered on top of x-windows, and it wouldn't surprise me if there were GUIs predating x-windows. Initially, as I'm sure you know, Unix was solely a console-controlled OS. So the first color available would likely ...


9

A plausible but impossible-to-prove history could be that the HP 2000A Time-Shared BASIC System (1968–~1976) had the CATALOG command (see http://bitsavers.trailing-edge.com/pdf/hp/2000TSB/22687-90009_LearningTSB.pdf, page 39). Woz ‘grew up’ with HP systems, so it may have been natural that the Apple disk system was inspired by HP commands (as with DEC ...


9

A couple other significant differences between Multics and early Unix systems in the security area: Multics had rings (8 in commercial versions), whereas Unix only had two effective rings -- supervisor and user. This allowed privileged subsystems to be created that would run in process, but be protected from tampering by user (ring) manipulation. This was ...


9

Depends on what you mean by "OS support". Early Unix (and all other OS) used video terminals that replaced the teletypes of even earlier Unixes. These video terminals started supporting graphics and a bit later also color graphics. The first color graphics video terminal from DEC was the VT241 with Regis and Sixel graphics from 1983. BTW, Sixel ...


8

Another significant difference between Multics and Unix was the size of the virtual memory accessible to a process. It is true that each Multics segment was limited to 255K 36-bit words in length. But each process mapped more than 300 such segments into its address space. About 1/2 of these segments belonged to kernel and inner-ring programming ...


7

All these answers accurately describe the most salient features of Multics. One of the main consequences was that it could only run on specialized hardware. From a programmer's standpoint, dynamic links had a fantastic use: when debugging a program, you could pause on a breakpoint, fix your code, recompile it, update the link and continue execution (if you ...


7

At that time, computing model was very rich API, complex CPUs, complex tools, etc. Filesystem were almost structured files oriented, etc. UNIX came with its "uniform" vision of I/O, everything is a file, a file is just a stream of bytes. That wasn't so easy for people trained on former OSes to understand why UNIX is a good model. While I loosely remember the ...


7

The argument from consistency: The majority of test commands are of the form -flag value. For example, test -e foo.bar - does file foo.bar exist? test -n "$VAR" fits into that model, and is therefore consistent. The first mention of test I could find in 'man' pages is to this link to the PWB (Programmer's Work Bench) shell aka Mashey shell, it in ...


6

The question asks about microcomputer operating systems. I think the answer for such systems is that the authors simply reused whatever words they were familiar with from earlier systems. For earlier systems, I further guess that the authors of those systems just used whatever seemed like a good word at the time, and which they hadn't already used for some ...


5

If you want to get it running on a modern Posix system, here's what you can do. Get the source from this archive. (This is a more recent version than the one cited in the other answer.) Follow the instructions to obtain the files bsearch.c, Makefile, etc. In smiley.c, there is a function explain, which looks like this: static int explain(s) char ...


5

Not an answer, as Jean-François Fabre has already deducted all workings, but some hints about the syntax/workings of AS to understand the source. This source is meant to be assembled using the Unix assember AS. AS is an extreme primitive assembler designed only to handle machine specific parts of Unix. It carries only the most essential functions and those ...


5

Perhaps the best way of thinking about it is that Unix basically is a minimal implementation of Multics (the ideas in it a least) with absolutely everything that was not strictly necessary to bring up the system stripped out. So segmenting and virtual memory are not really needed (at least to get started). Complex permissions, ACLs or protection rings, ...


4

Many of such decisions are arbitrary and only guided by major considerations. An OS designer, especially back then, did not sit down for days to muse about the best way, it's all about usability for the given task. T The story might have worked like this: We need a timestamp. Lets take the 60 Hz source. That way 32 Bit is fine to hold a whole year. Cool. ...


4

The first filesystems were not stored on disk, but on tape. Usually tapes could only reliably be appended to or overwritten entirely, and could only be accessed in a more-or-less sequential order. Reading the entire tape just to find out what was stored on it was a very slow operation. It's likely that the terms catalogue and list originated from a ...


Only top voted, non community-wiki answers of a minimum length are eligible