System calls in modern operating systems give programmers the ability to access and manipulate system-level objects. Example objects are files and processes, and example system calls are read, write, and fork. Thus, the operating comes with a predefined set of system calls that can be used to interact with a predefined set of objects. An important point is that users cannot create new objects without rebuilding the entire system. The Hydra CALL mechanism is also used to manipulate system-level objects. The distinction with respect to modern system calls is that the CALL mechanism is very general -- it can be used to run any user-defined procedure. Since Hydra allows users to define their own system-level objects dynamically, it is necessary for them to be able to write their own procedures to interact with those objects. Also, modern os system calls generally only interact with a single object when invoked because they are at such a low level. Very few objects in Hydra are at such a low level. Instead, created objects generally build off of existing objects, making it necessary for CALLed procedures to be able to interact with other objects frequently. The protection schemes employed are also worthy of note. Modern operating systems predefine the access rights to various objects, which correspond to the system calls a user is allowed to run on those objects. In Hydra, the access rights correspond to the user-defined procedures a user is allowed to CALL on the object. So the two protection schemes are similar in function, but different in terms of flexibility, with Hydra allowing for more flexible protection.