<<

Lecture 4

Operating & Application OS & OS & Application Software

Application Software

Operating System Driver Driver

Hardware

Introduction to Operating Software Component Software Component

Applications – API: application program interface – management – I/O Drivers – Network Module – Kernel • • Resource • Program • Security

Linux Kernel Module Programming - 01 (If interested in Kernel programming, see the complete series) Operating System What is an Operating System

Operating System handles & Management & Memory Addressing & Management Process Scheduling & Synchronization

Examples of Operating Systems Single-, Single-task: PalmOS Single-user, Multi-task: MS Windows and MacOS Multi-user, Multi-task: , , Windows 2008/2012 Device Drivers Device Drivers A is a program allows higher-level computer programs to interact with a hardware device. Drivers are hardware-dependent and operating-system- specific. They usually provide the interrupt handling required for any necessary asynchronous -dependent hardware interface. A device driver simplifies programming by acting as an layer between a hardware device and the operating systems that use it. Drivers are usually written by the companies that develop the hardware or by others for free operating systems like Linux. DOS

IBM Introduced DOS (Disk Operating System) in 1981. Later many versions like MS-DOS (1982) by were introduced. Text based OS All DOS- operating systems run on with the or compatible CPUs, mainly the IBM PC and compatibles. DOS is a single-user, single-task operating system with kernel functions that are non-reentrant: only one program a time can use them. Disk Operating System DOS

DOS consists of two parts, the kernel and the command.com which is the command interface. The DOS kernel provides various functions for programs, like displaying characters on-screen, reading a character from the keyboard, accessing disk files and memory etc. Command.com provides the or the user and system commands The new Windows versions provide emulated DOS command interface (cmd). Windows Operating System Windows Operating System has a significant majority of market in the desktop and notebook computer markets Microsoft first introduced an named Windows in November 1985 as an add-on to MS-DOS in response to the growing interest in graphical user interfaces (GUIs). It was a 16 Bit OS running on of DOS providing Multitasking and GUI Windows 3.0 (1990) and Windows Workgroup 3.11 (1992) improved the design and were 16/32 Bit OS. Windows 3.11 had browser as a part of the OS. Later came (1995), (1998) and Windows ME (2000) which were 32 Bit OS and used FAT File System and supported DOS also. Windows Operating System Windows Operating System

NTFS was introduced in 1993 as the file system for Windows NT server and it was later adopted as default File system for all later releases of Windows client and server OS. Windows NT 4.0 (1996) was a popular server OS which was later replaced by (2000). NT was the true Multi-User and Multi-Tasking OS based on NTFS File System. Windows XP (2001), Vista (2006), (2010), (2012), 2003 (2003), 2008 (2008) and 2012 (2012) are all available in 32 bit and 64 bit versions. The recent client version of Windows is Windows 8; the most recent server version is . UNIX Operating System UNIX Operating System

Servers generally run on Linux or other Unix-like systems UNIX was designed as a Multi-User and Multi- Tasking OS First Version was created in in 1969 Various Proprietary UNIX OS like IBM AIX, SUN Solaris, SGI IRIX, HP HP-UX etc and public domain OS like various variants of LINUX and BSD are available Today most of the proprietary OS are also available free and for x86 platforms also Apple OS Apple Operating System

Apple introduced the OS (Mac OS) in 1984 which had a graphical Various versions have come since then and the latest version is OS X v10.9 called “Mavericks” Apple OS was based on Unix (much like BSD Unix) and so it has always been robust and faster than windows. The processor used in Apple was PowerPC until 2006 when they switched over to Intel platform. Now they are planning to use ARM processors. Multi OS System Multiple Operating System

Multi-Boot system Combination of Windows and Linux is the most popular Generally multi-boot system boots into any one OS at a time. software like VMware can be used to run multiple instances of OS simultaneously on the same physical . Boot Boot Loader is a process that starts operating systems when the user turns on a computer system. A boot sequence is the initial set of operations that the computer performs when it is switched on. The typically loads the main operating system for the computer. The bootloader may be multistage In Desktop Computers, the boot process involve running of system BIOS followed by the second stage bootloader like GRUB, BOOTMGR, LILO or NTLDR which is located in the of the boot device or the hard disk. File System File system is a method for storing and organizing computer files and the they contain to it easy to and access them. Most file systems make use of an underlying data storage device such as Hard Disks that offers access to an array of fixed-size blocks which is the smallest logical amount of disk space that can be allocated to hold a file. File systems typically have directories which associate file names with files, usually by connecting the file name to an index in a of some , such as the FAT in a DOS file system, or an in a Unix-like file system. File System File System

File names are simple , and per-file Metadata is maintained which is the bookkeeping information, typically associated with each file within a file system. Metadata could contain file attributes such as file size, data and time of creation or modification of the file, owner of the file, access permissions etc. File System Types of File System

File system types can be classified into disk file systems, network file systems and flash file systems. A disk file system is a file system designed for the storage of files on a data storage device, most commonly a disk drive .g. FAT, NTFS, , etc. A is a file system that acts as a client for a remote file access protocol, providing access to files on a server e.g. NFS, SMB etc. A is a file system designed for storing files on devices. File System File System and OS

Operating systems provide a file system, as a file system is an integral part of any modern operating system. Windows Operating system supports FAT and NTFS File Systems Linux popularly supports ext3 and ext4 File Systems Other flavors of Operating Systems may support other File Systems like UFS in many UNIX Operating Systems and HFS in MAC OS X. All Operating Systems provide a user interface like Command (CLI) or File Browser to access and manage File . DOS/Windows File System FAT

The File Allocation Table (FAT) file system was initially developed for DOS Operating System and was later used and supported by all versions of Microsoft Windows. It was an evolution of Microsoft's earlier operating system MS-DOS and was the predominant File System in Windows versions like 95, 98, ME etc. All the latest versions of Windows still support FAT file system although it may not be popular. FAT had various versions like FAT12, FAT16 and FAT32. Successive versions of FAT were named after the number of bits in the table: 12, 16 and 32. Windows File System NTFS

NTFS or the NT File System was introduced with the Windows NT operating system. NTFS allows ACL-based permission control which was the most important feature missing in FAT File System. Later versions of Windows like Windows 2000, Windows XP – Windows 8, - , also use NTFS. NTFS has several improvements over FAT such as security access control lists (ACL) and file system journaling. Linux File System File System in Linux Linux supports many different file systems, but common choices for the system disk include the ext family (such as ext3 and ext4), XFS, JFS and ReiserFS. The ext3/ext4 or third/fourth extended file system is a journaled file system and is the default file system for many popular Linux distributions . It is an of its predecessor file system and among other things it has added the journaling feature. A is a file system that logs changes to a journal (usually a circular log in a dedicated area) before committing them to the main file system. Such file systems are likely to become corrupted in the of power failure or system . References References

Operating Systems: http://en.wikipedia.org/wiki/Operating_system

Kernel: http://en.wikipedia.org/wiki/Kernel_%28computing %29

Device Drivers: http://en.wikipedia.org/wiki/Device_driver

File Systems: http://en.wikipedia.org/wiki/File_system Assignment 4 Assignment 4

1. If you install Windows and Linux on the same machine, first Windows needs to be installed and then Linux. Find out the reason why you have to do like this. 2. List the device drivers installed in your Linux partition. 3. the kernel file name of your Linux partition. Can you find out the kernel version you are using? 4. For any file in Linux, find out the entry corresponding to it in inode table. Can you find out the actual physical location in the hard disk where the content of this file is written? 5. releases 2.4, 2.6 and 3.0 are considered as major releases, in terms of features they supported. Can you do a feature comparison between these major releases. 6. Compare NTFS and EXT4 File Systems. What are the key differences between them? 7. Write the structure under / in Linux. Also write the typical content/type of files that are kept in these directories.