This made the Aleph system rather insecure. To address this, Accent made the port ID's internal to the kernel only. Instances of a program opening ports were handed back different IDs, stored in a mapping in the kernel. Whenever a message was sent to the kernel for delivery, it would first check that the program had access to the port in question by comparing with the mapping table for that program. Guessing port numbers no longer worked, the program's port IDs gave no clue of the "real" IDs in the kernel, and any attempt to talk on one not explicitly handed out by the kernel was an error. Thus Accent's ports represented capabilities, granting rights to use resources as the result of being handed a valid port ID. This kind of capability system, using subject-specific identifiers for capabilities, is called a C-list system. After a few years the Accent project started looking less and less interesting. In the early 1980s many felt that future gains in performance would be made by adding more CPUs to machines, something the Accent kernel was not really equipped to handle. Adding to the problem was that a new generation of more powerful workstations were appearing, meaning that Accent would likely have to be ported to them anyway. Likewise Unix had grown into the operating system of choice for experimental work, both on operating system design, as well as a development platform for user applications. In order to address these changes, it was decided to end work on Accent and start again. The new system would use Accent's ports system within a Unix kernel, creating the famed Mach kernel. Some features of Accent: Port capabilities Copy-on-write virtual memory management Distributed file management Distributed process management Protected message-based inter-process communication Ability to run processes with different microcoded instruction sets. References External links Monolithic kernels Carnegie Mellon University software