IPC Independent processes & co-operating processes Communicating two processes related or unrelated. Purposes for IPC Information Sharing Data Transfer Synchronization Event Notification IPC mechanism: Signal Message Passing Pipes Sockets Shared memory SYSTEM V IPC Messages: allow processes to send formatted data streams to arbitrary process Shared memory: allows processes to share parts of virtual address space Semaphores: allows processes to synchronize execution COMMON PROPERTIES Each Mechanism contains: A table whose entries describes all instances of mechanism A get system call to create a new entry or to retrieve existing entry Includes a key and flags Set IPC_CREAT bit in flag: ...
Read more
Since disk is limited, we need to reuse it To keep track of free disk space, system maintains a free space list Free space list records all free disk blocks New file allocation is done amongst the free disk block When file is deleted, its disk space is added to free space list Bit vector – approach 1 Frequently, free space list is maintained as a bit map or bit vector Each block is represented as 1 bit If block is free, bit is 1 If block is allocated, bit is 0 For eg. consider disk where blocks 2,3,5,7,8,10 ...
Read more
UNIX file system File is remarkable feature of UNIX File is a sequence of bytes of data that reside in semi permanent form on some stable medium Network interface, disk drive, keyboard, printer, etc are treated as file File management is flexible and powerful Provides hierarchical directory scheme Internal Representation of File Each file in UNIX is specified by an unique inode Contains info. for a process to access a file Fields of an inode: File owner identifier File type File access permissions File access times Number of links to the file Table of contents for the disk addresses of ...
Read more
Buffer cache When a process wants to access data from a file, the kernel brings the data into main memory, alters it and then request to save in the file system Example: copy cp one.c two.c To increase the response time and throughput, the kernel minimizes the frequency of disk access by keeping a pool of internal data buffer called buffer cache. Buffer cache contains the data in recently used disk blocks When reading data from disk, the kernel attempts to read from buffer cache. If data is already in the buffer cache, the kernel does not need to read ...
Read more
GRUB GRUB is an operating system independent boot loader A multiboot software packet Flexible command line interface File system access Support multiple executable format Support diskless system Download OS from network GNU GRUB is a Multiboot boot loader. It was derived from GRUB, the GRand Unified Bootloader, which was originally designed and implemented by Erich Stefan Boleyn. Briefly, a boot loader is the first software program that runs when a computer starts. It is responsible for loading and transferring control to the operating system kernel software The kernel, in turn, initializes the rest of the operating system GRUB boot process The BIOS finds a bootable ...
Read more
Introduction A kernel is a central component of an operating system. It acts as an interface between the user applications and the hardware. The aim of the kernel is to manage the communication between the software (user level applications) and the hardware (CPU, disk memory etc) Part of UNIX OS that contains code for Controlling execution of process Scheduling process fairly Allocating main memory Allocating secondary memory Handling peripherals Characteristics of kernel Loading and existence into main memory Mostly written in C and assembly language Use programs accesses kernel services via system call interface Provides its services transparently Terminology Kernel ...
Read more
What is operating system? Computer = set of resources Processors, memory, I/O & communication devices OS Enable use of resources Manage resources The low-level software that supports a computer’s basic functions, such as scheduling tasks and controlling peripherals Resources not limited to hardware OS Model Operating system components Processor scheduler Memory manager I/O manager Inter-process communication manager File system manager Operating system booting Booting is a bootstrapping process that starts OS when the user turns on computer system Boot sequence is set of operations the computer performs when it is switched on that load an operating system During bootstrapping, the ...
Read more