Essay on Linux

Document Type:Thesis

Subject Area:Computer Science

Document 1

In most cases, the ITS4 commercial package is used to identify suspect calls. While the package highlights a large number of different calls, almost all vulnerable calls in an operating system were string related operations including printk and prinf related functions. The results show that the drives directory of the Linux operating system distribution was the most vulnerable. Interrupts are events that usually alters the sequence of instructions executed by a processor. The interrupts are issued by interval timers and I/O devices, for instances, the arrival of keystroke from the users sets off an interrupt. Thus, interrupt is signal to the processor emitted by hardware or software indicating an event that needs immediate attention (Peter, 27). It usually alerts the operating system to high-priority condition requiring the interruption of the current executed instructions. Introduction The general architectural diagram exhibited in the Unix documentation has become the basic viewing structure of the modern operating system. In this diagram, software has been viewed to be a series of concentric circles with the hardware at the center. This representation started with the Multics system ‘s rings of protections. The first ring of programs around the hardware is Linux kernel. The interface It exhibits is thought of as a virtual machine implemented by the Linux kernel. The outer rings of complex code, which are program data, complete the operating system. Application programs operate using the interfaces provided by those rings code. Thus, Unix kernel is integrated into kernel program and runs in kernel mode on behalf of the current process.

Sign up to view the full document!

In contrast, microkernel operating systems demand a very small set of functions from the kernel, generally including a simpler scheduler, few synchronization primitives and an inter-process communications mechanism (Barabanor, 23). Furthermore, the microkernel implements other operating system layer functions such as device drivers, system call handlers and memory allocators. Therefore, for Linux kernel to achieve, this exemplary advantages without introducing penalties, it offers modules. Which can be linked to (unlinked from) the kernel at runtime. The object code is usually set functions that implement a file system, device driver, or other feature at the kernel’s upper layer. For enforcement in the modern operating system, kernel relies on the availability of specific hardware features that forbid users programs to directly interact with low-level hardware components to an arbitrary memory location (Love, 56). Other concepts include: i.

Sign up to view the full document!

Multiuser A multiuser system is a computer that is able to concurrently and independently execute several applications belonging to or more users. concurrently means that the applications can run at same time and contend for memory space as well as CPU and hard disk. While independently means that application can perform its task with no concern for what the application of other users is doing. A process is defined either as “an instance of a program in execution” or as the execution of a running program. In traditional operating systems, a process executes a single sequence of instructions in an address space; the address space is the set of memory addresses that the process is allowed to reference. Modern operating systems allow processes with multiple executions flows that is, multiple sequences of instructions executed in the same address space.

Sign up to view the full document!

Linux kernel is multiprocessing operating system with preemptive processes. Even when no user is logged in and no application is running, several system processes monitor the peripherals devices (Beck et. This includes the kernel and devices drivers, bootloader, command shell or another user interface, and basic system and file utilities. The kernel is the innermost portion of the operating system. It is the core internals; the software that provides basic services for all other parts of the system manages hardware and distributes system resources. The operating system kernel contains several major pieces of software that make up the operating system. First, there is software to provide allocation and deallocation of sources provided by the operating system. The synchronization and serialization protocols form another component of the inner ring. In addition, there is software that activates each task or process when it starts the next time slice.

Sign up to view the full document!

The inner ring is hardware dependent and must be written specifically for given hardware platform. For instance, the inter-process communication should take advantage of the hardware support for updating memory so that all updates occurred at one time as seen by all other processor elements. Linux has gained in popularity over the years due it being open source hence, based on Unix like the design, and ported to more platforms compared to other competing operating systems. The kernel in Linux Kernel OS manages the system’s hardware through what is referred as the interrupts. In Linux kernel, when the hardware wants the user interface, an interrupts signal is issued that interrupts the processor’s current execution and thus does the same to the kernel space (Reina, 265). In order for Linux kernel to provide synchronization, the kernel can disable interrupts, be it a single one or all of them.

Sign up to view the full document!

Furthermore, the interrupt handlers in Linux OS handlers do not run in a process context, they instead run in an interrupt context not associated with any process. This specific interrupt context exists solely to let an interrupt handler quickly respond to an individual interrupt and then finally exit. The kernel space manages application running in this space from messing with each other, and machine. Userspace Unlike the kernel space, where its actions are supervisory, the user space performs its functions without the privilege. Here, where the user’s programs are carried out, where they can reach a subset of the machine’s available resources via kernel system calls. By using the kernel, core service provided, the user level application can be created such as office productivity software. Unlike kernel space, the user space software cannot access the operating system resources directly, therefore, the access is handled by OS kernel.

Sign up to view the full document!

When the kernel executes a user –level program, it virtualizes the memory space so that programs believe they are the only process running in memory. This protective bubble of hardware and software isolation increases security and reliability. An unprivileged application cannot access memory belonging to other programs, and if that program crashes, the kernel terminates so that it cannot harm the rest of the system (Barabanov, 23). Therefore, the system call breaching the barrier, that is, the layer of isolation between unprivileged applications provides an excellent boundary to protect other applications and user on the system. Since Linux follows the UNIX “philosophy of everything is ta file”, many functions can be performed by opening and reading or write to file, which could be advice. In order to be accessed, the file must be opened.

Sign up to view the full document!

Files can be opened for reading, writing or both. An open file is referenced via a unique descriptor, a mapping from the metadata associated with the open file back to the specific file itself. Inside the Linux Kernel, this descriptor is handled by the integer called file descriptor. The file descriptors are shared with the user space and are used directly by the user programs to access files (Beck et. Thus, for any user software who wants to access the memory, send a request to the OS through memory management system call, which the OS will check the detail and grant it access to the memory. Interrupts The idea of the interrupt is at the core of modern operating system such as Linux kernel. By its nature, the OS cannot handle more than one task at any given time.

Sign up to view the full document!

Nevertheless, the modern OS has this interrupt functionality been included so that it can help in switching from one task to another, that is a switch in and out of the task. An interrupt is an event external to the currently executing program by the processor e. The hardware interrupts, they are interrupts who signal to the processor is from external device or hardware. Software interrupt, they are interrupts who signal to the processor is from the user program, software. It includes the following interrupts: a) Maskable interrupt. The hardware interrupts which can be delayed when a much highest priority interrupt has occurred to the processor. b) Non-maskable interrupt. was selected from Linux distribution site and downloaded. A Linux machine UMR trusted systems laboratory was chosen and the Linux version 2. was installed as a test kernel.

Sign up to view the full document!

After installation, the machine with the rest kernel was tested to ensure the downloaded version would run (Love, 57). The initial activity was to identify the kernel routine that performed the transition from one address space to another address space. al, 204). To ensure that the necessary include file data was present, the code was preprocessor by the C processor using the Linux include directory. The ITS4 package did identify calls to a large collection of functions that frequently have security and integrity concerns. The ITS4 identify that in Linux kernel, the function printf and printk have the same function. Also, kernel function that actually performed a file open was in the various file systems. System calls have different types which include: file management system calls allow transpiration of interactions which include writing to and reading of files.

Sign up to view the full document!

These acts as the basic and fundamental notion in the Linux Kernel. We have a process control which is also a basic abstraction in the Linux Kernel OS. The devices control which userspace requests the OS when software and hardware want to interact (Love, 57). The memory control-requests to access the memory by user software is sent to the OS through memory control. Love, Robert.  Linux Kernel Development (Novell Press). Novell Press, 2015:11-68. Beck, Michael, Robert Magnus, and Ulrich Kunitz.  Linux Kernel Internals with Cdrom.  Usenix Security Symposium. Sugerman, Jeremy, Ganesh Venkitachalam, and Beng-Hong Lim. Virtualizing I/O Devices on VMware Workstation's Hosted Virtual Machine Monitor.  USENIX Annual Technical Conference, General Track.

Sign up to view the full document!

From $10 to earn access

Only on Studyloop

Original template

Downloadable