Sie sind auf Seite 1von 10

Introduction of System Call

In computing, a system call is the programmatic way in which a computer program requests a service from the
kernel of the operating system it is executed on. A system call is a way for programs to interact with the
operating system. A computer program makes a system call when it makes a request to the operating system’s
kernel. System call provides the services of the operating system to the user programs via Application Program
Interface(API). It provides an interface between a process and operating system to allow user-level processes to
request services of the operating system. System calls are the only entry points into the kernel system. All
programs needing resources must use system calls.
Services Provided by System Calls :
1. Process creation and management
2. Main memory management
3. File Access, Directory and File system management
4. Device handling(I/O)
5. Protection
6. Networking, etc.
Types of System Calls : There are 5 different categories of system calls –
1. Process control: end, abort, create, terminate, allocate and free memory.
2. File management: create, open, close, delete, read file etc.
3. Device management
4. Information maintenance
5. Communication
Shell
A graphical interface from the late 1980s, which features a TUI window for a man page. Another text window for a Unix
shell is partially visible.
In computing, a shell is a user interface for access to an operating system's services. In general, operating system shells
use either a command-line interface (CLI) or graphical user interface (GUI), depending on a computer's role and particular
operation. It is named a shell because it is the outermost layer around the operating system kernel.
CLI shells require the user to be familiar with commands and their calling syntax, and to understand concepts about the
shell-specific scripting language (for example bash script). They are also more easily operated via refreshable braille
display, and provide certain advantages to screen readers.
Graphical shells place a low burden on beginning computer users, and are characterized as being easy to use. Since they
also come with certain disadvantages, most GUI-enabled operating systems also provide CLI shells.
Operating systems provide various services to their users, including file management, process management (running and
terminating applications), batch processing, and operating system monitoring and configuration.
Most operating system shells are not direct interfaces to the underlying kernel, even if a shell communicates with the user
via peripheral devices attached to the computer directly. Shells are actually special applications that use the kernel API in
just the same way as it is used by other application programs. A shell manages the user–system interaction by prompting
users for input, interpreting their input, and then handling an output from the underlying operating system (much like a
read–eval–print loop, REPL). Since the operating system shell is actually an application, it may easily be replaced with
another similar application, for most operating systems.
In addition to shells running on local systems, there are different ways to make remote systems available to local users;
such approaches are usually referred to as remote access or remote administration. Initially available on multi-user
mainframes, which provided text-based UIs for each active user simultaneously by means of a text terminal connected to
the mainframe via serial line or modem, remote access has extended to Unix-like systems and Microsoft Windows. On
Unix-like systems, Secure Shell protocol is usually used for text-based shells, while SSH tunneling can be used for X
Window System–based graphical user interfaces (GUIs). On Microsoft Windows, Remote Desktop Protocol can be used
to provide GUI remote access, and since Windows Vista, PowerShell Remote can be used for text-based remote access
via WMI, RPC, and WS-Management.
Most operating system shells fall into one of two categories – command-line and graphical. Command line shells provide
a command-line interface (CLI) to the operating system, while graphical shells provide a graphical user interface (GUI).
Other possibilities, although not so common, include voice user interface and various implementations of a text-based
user interface (TUI) that are not CLI. The relative merits of CLI- and GUI-based shells are often debated.

command line interface (CLI)


A command line interface (CLI) is a text-based user interface (UI) used to view and manage computer files.
Command line interfaces are also called command-line user interfaces, console user interfaces and character
user interfaces.
CLI advantages and disadvantages
The advantages of a command line interface are:

 granular control of an OS or application;

 faster management of a large number of operating systems;

 ability to store scripts to automate regular tasks; and

 basic command line interface knowledge to help with troubleshooting, such as network connection issues.The

disadvantages of a command line interface are:

 GUI is more user-friendly;

 steeper learning curve associated with memorizing commands and complex syntax/arguments; and

 different commands used in different shells.


Graphical shells (GUI)

Short for Graphical User Interface, a GUI (pronounced as either G-U-I or gooey) allows the use of
icons or other visual indicators to interact with electronic devices, rather than using only text via the
command line. For example, all versions of Microsoft Windows utilize a GUI, whereas MS-DOS does
not. The GUI was first developed at Xerox PARC by Alan Kay, Douglas Engelbart, and a group of
other researchers in 1981. Later, Apple introduced the Lisa computer, the first commercially available
computer, on January 19, 1983.
 GUI overview
 How does a GUI work?
 What are the benefits of GUI?
 What are examples of a GUI operating system?
 Are all operating systems GUI?
 What are examples of a GUI interface?
 How does the user interact with a GUI?
 Related GUI pages.
 Computer operating systems information.

GUI overview

Below is a picture of the Windows 7 Desktop and an example of a GUI.


Tip: If you need an example of a command line for comparison see our command line page.

How does a GUI work?

A GUI uses windows, icons, and menus to carry out commands, such as opening, deleting, and moving files.
Although many GUI operating systems are navigated through the use of a mouse, the keyboard can also be utilized
by using keyboard shortcuts or arrow keys.

What are the benefits of GUI?

Unlike a command line operating system or CUI, like Unix or MS-DOS, GUI operating systems are much easier to
learn and use because commands do not need to be memorized. Additionally, users do not need to know any
programming languages. Because of their ease of use, GUI operating systems have become the dominant operating
system used by today's end-users.

What are examples of a GUI operating system?

1. Microsoft Windows
2. Apple System 7 and macOS
3. Chrome OS
4. Linux variants like Ubuntu using a GUI interface.

Are all operating systems GUI?

No. Early command line operating systems like MS-DOS and even some versions of Linux today have no GUI
interface.

What are examples of a GUI interface?

1. GNOME
2. KDE
3. Any Microsoft program (e.g., Word, Excel, Outlook)
4. Internet browser (e.g., Internet Explorer, Chrome, Firefox)

How does the user interact with a GUI?

Typically the user uses a pointing device such as the mouse to interact and use most aspects of the GUI. However,
it is also possible to interact with a GUI using a keyboard or other input device.

CLI versus GUI

The graphical user interface is the most popular user interface today. A GUI uses windows, menus
and icons to execute commands. A mouse is the most common way to navigate through a GUI,
although many GUIs allow navigation and execution via a keyboard.

One example of a GUI-based application is Microsoft Word. A user can change options for page
layouts and styles by selecting the corresponding icon with a mouse or keyboard.

The advantage of a GUI is the interface visually displays the available functions. However, because
of its simplicity and ease of use, a GUI does not have the same level of functionality and granular
control as a command line interface. For example, it may take numerous clicks and movement
through several dialog boxes in a GUI to accomplish the same result as a single command line.

In addition, GUIs do not readily support scripting or automation. For common tasks, a user must
repeat each click or navigate each dialog within the GUI manually.
Administrators who manage thousands of systems or user configurations will find a GUI far less
efficient than a CLI. But a simple CLI command can easily adjust configurations for a large group
of systems at once.

Commands and arguments can also be combined and saved, then executed as a script each time that
specific action -- or comprehensive set of actions -- is required. The CLI is the preferred tool for
many enterprise-wide systems management tasks.

Open-Source Operating Systems

We noted at the beginning of this chapter that the study of operating systems has been made easier
by the availability of a vast number of open-source releases. Open-source operating systems are
those available in source-code format rather than as compiled binary code. Linux is the most
famous opensource operating system, while Microsoft Windows is a well-known example of the
opposite closed-source approach. Apple’s Mac OS X and iOS operating systems comprise a hybrid
approach. They contain an open-source kernel named Darwin yet include proprietary,closed-source
components as well. Starting with the source code allows the programmer to produce binary code
that can be executed on a system. Doing the opposite—reverse engineering the source code from
the binaries—is quite a lot of work, and useful items such as comments are never recovered.
Learning operating systems by examining the source code has other benefits as well. With the
source code in hand, a student can modify the operating system and then compile and run the code
to try out those changes, which is an excellent learning tool. This text includes projects that involve
modifying operating-system source code, while also describing algorithms at a high level to be sure
all important operating-systemtopicsarecovered.Throughoutthetext,weprovidepointers to examples
of open-source code for deeperstudy. There are many benefits to open-source operating systems,
including a community of interested (and usually unpaid) programmers who contribute to the code
by helping to debug it, analyze it, provide support, and suggest changes. Arguably, open-source
code is more secure than closed-source code
becausemanymoreeyesareviewingthecode.Certainly,open-sourcecodehas bugs, but open-source
advocates argue that bugs tend to be found and fixed fasterowing tothe number ofpeopleusingand
viewingthe code.Companies that earn revenue from selling their programs often hesitate to open-
source their code, but Red Hat and a myriad of other companies are doing just that
andshowingthatcommercialcompaniesbenefit,ratherthansuffer,whenthey open-source their code.
Revenue can be generated through support contracts and the sale of hardware on which the
software runs, for example.

Cosmos
This is an open source operating system written mostly in programming language C#. Its full form is C# Open
Source Managed Operating System. Till 2016, Cosmos did not intend to be a fully fledged operating system but a
system that allowed other developers to easily build their own operating systems. It also hid the inner workings of
the hardware from the developers thus providing data abstraction.

FreeDOS
This was a free operating system developed for systems compatible with IBM PC computers. FreeDOS provides a
complete environment to run legacy software and other embedded systems. It can booted from a floppy disk or USB
flash drive as required. FreeDos is licensed under the GNU General Public license and contains free and open source
software. So there is no license fees required for its distribution and changes to the system are permitted.

Genode
Genode is free as well as open source. It contains a microkernel layer and different user components. It is one of the
few open source operating systems not derived from a licenced operating system such as Unix. Genode can be used
as an operating system for computers, tablets etc. as required. It is also used as a base for virtualisation, interprocess
communication, software development etc. as it has a small code system.

Ghost OS
This is a free, open source operating system developed for personal computers. It started as a research project and
developed to contain various advanced features like graphical user interface, C library etc. The Ghost operating
system features multiprocessing and multitasking and is based on the Ghost Kernel. Most of the programming in
Ghost OS is done in C++.

ITS
The incompatible time-sharing system was developed by the MIT Artificial Intelligence Library. It is principally a
time sharing system. There is a remote login facility which allowed guest users to informally try out the operating
system and its features using ARPAnet. ITS also gave out many new features that were unique at that time such as
device independent graphics terminal, virtual devices, inter machine file system access etc.
OSv
This was an operating system released in 2013. It was mainly focused on cloud computing and was built to run on
top of a virtual machine as a guest. This is the reason it doesn't include drivers for bare hardware. In the OSv
operating system, everything runs in the kernel address space and there is no concept of a multi-user system.

Phantom OS
This is an operating system that is based on the concepts on persistent virtual memory and is code oriented. It was
mostly developed by Russian developers. Phantom OS is not based on concepts of famous operating systems such as
Unix. Its main goal is simplicity and effectiveness in process management.

Das könnte Ihnen auch gefallen