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. 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).

Sign up to view the full document!

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. Multiuser A multiuser system is a computer that is able to concurrently and independently execute several applications belonging to or more users.

Sign up to view the full document!

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. Linux kernel is multiprocessing operating system with preemptive processes.

Sign up to view the full document!

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).

Sign up to view the full document!

In order for Linux kernel to provide synchronization, the kernel can disable interrupts, be it a single one or all of them. 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.

Sign up to view the full document!

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. 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.

Sign up to view the full document!

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. 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.

Sign up to view the full document!

3) 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. 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.

Sign up to view the full document!

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. 9 was installed as a test kernel. 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.

Sign up to view the full document!

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. 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).

Sign up to view the full document!

From $10 to earn access

Only on Studyloop

Original template

Downloadable