Operating SystemsHomework 1 (Chapter 1 and 2)Name: Tanveen Kaur UB ID: 1014603 Briefly describe, the following terms in the space provided: Real-time operating system: When the rigid time requirements have been placed on the operation of a processor or the flow of data, real-time system is used. It is often used as a control device in a dedicated application and it has well-defined, fixed time constraints. Processing must be done within the defined constraints, or the system will fail. GNU: GNU stands for GNUs not Unix. Richard Stallman in 1983 started the GNU project to create a free, open-source UNIX compatible operating system.
In 1985, he published the GNU Manifesto, which argues that all software should be free and open-sourced. He also formed the Free Software Foundation (FSF) with the goal of encouraging the free exchange of software source code and the free use of that software. As an example of an open-source operating system, consider GNU/Linux. The GNU project produced many UNIX-compatible tools, including compilers, editors, and utilities, but never released a kernel.
We Will Write a Custom Essay Specifically
For You For Only $13.90/page!
Peer-to-Peer computing: Peer-to-peer (P2P) system is the model in which clients and servers are not distinguished from one another. Depending on whether it is requesting or providing a service, all nodes within the system are considered peers, and each may act as either a client or a server. In this model, services can be provided by several nodes distributed throughout the network. To participate in a peer-to-peer system, a node must first join the network of peers. Once a node has joined the network, it can begin providing services to and requesting services from other nodes in the network. Interrupt: The occurrence of an event is usually signaled by an interrupt from either the hardware or the software. Hardware may trigger an interrupt at any time by sending a signal to the CPU, usually by way of the system bus. Software may trigger an interrupt by executing a special operation called a system call which is also called a monitor call.
Solid-State disk: Electronic RAM disks which is also known as solid-state disks, may be used for high-speed storage that is accessed through the file-system interface. Shell script: A shell script is a text file that contains a sequence of commands for a UNIX- based operating system. It’s called a shell script because it combines into a “script” in a single file a sequence of commands that would otherwise have to be presented to the system from a keyboard one at a time.System calls : System calls provide an interface to the services made available by an operating system. These calls are generally available as routines written in C and C++, although certain low-level tasks (for example, tasks where hardware must be accessed directly) may need to be written using assembly-language instructions. A system call is a program that describes how a program requests a service from kernel of operating system- This may include services like accessing hard disk, executing and creating new processes and defines communication with kernel services like scheduling.
H. fork() and exec() : the fork() system call is used to create a separate, duplicate process. The semantics of the fork() and exec() system calls change in a multithreaded program. Some UNIX systems have chosen to have two versions of fork(), one that duplicates all threads and another that duplicates only the thread that invoked the fork() system call. The exec() system call typically works in the same way. That is, if a thread invokes the exec() system call, the program specified in the parameter to exec() will replace the entire process—including all threads. Which of the two versions of fork() to use depends on the application.
If exec() is called immediately after forking, then duplicating all threads is unnecessary, as the program specified in the parameters to exec() will replace the process. In this instance, duplicating only the calling thread is appropriate. If, however, the separate process does not call exec() after forking, the separate process should duplicate all threads. I.
System programs: System programs, also known as system utilities, provide a convenient environment for program development and execution. Some of them are simply user interfaces to system calls; others are considerably more complex. They can be divided into these categories: 1. File management 2. Status information 3. File modification 4.
Programming-language support 5. Program loading and execution 6. Communications J. Microkernels: In the mid-1980s, researchers at Carnegie Mellon University developed an operating system called Mach that modularized the kernel using the microkernel approach. This method structures the operating system by removing all nonessential components from the kernel and implementing them as system and user-level programs.
The result is a smaller kernel. There is little consensus regarding which services should remain in the kernel and which should be implemented in user space. Typically, however, microkernels provide minimal process and memory management, in addition to a communication facility. The main function of the microkernel is to provide a communication facility between the client program and the various services that are also running in user space.
Communication is provided by message passing. K. Dtrace : DTrace is a facility that dynamically adds probes to a running system, both in user processes and in the kernel. These probes can be queried via the D programming language to determine an astonishing amount about the kernel, the system state, and process activities. For example, Figure below follows an application as it executes a system call (ioctl) and further shows the functional calls within the kernel as they execute to perform the system call.
Lines ending with “U” are executed in user mode, and lines ending in “K” in kernel mode.