This lecture discusses operating system structures and design. It covers layered approaches like microkernels that separate the kernel from services. Virtual machines are explained as emulating hardware to run multiple operating systems. The lecture also reviews the UNIX/Linux directory structure with directories like /bin, /home, and /usr. Common commands are introduced.
This lecture discusses operating system structures and design. It covers layered approaches like microkernels that separate the kernel from services. Virtual machines are explained as emulating hardware to run multiple operating systems. The lecture also reviews the UNIX/Linux directory structure with directories like /bin, /home, and /usr. Common commands are introduced.
This lecture discusses operating system structures and design. It covers layered approaches like microkernels that separate the kernel from services. Virtual machines are explained as emulating hardware to run multiple operating systems. The lecture also reviews the UNIX/Linux directory structure with directories like /bin, /home, and /usr. Common commands are introduced.
This lecture discusses operating system structures and design. It covers layered approaches like microkernels that separate the kernel from services. Virtual machines are explained as emulating hardware to run multiple operating systems. The lecture also reviews the UNIX/Linux directory structure with directories like /bin, /home, and /usr. Common commands are introduced.
Download as PPT, PDF, TXT or read online from Scribd
Download as ppt, pdf, or txt
You are on page 1of 26
Lecture 4
Agenda for Today
Review of previous lecture Operating system structures
Operating system design and
implementation UNIX/Linux directory structure
Browsing UNIX/Linux directory structure
Useful UNIX/Linux commands
Recap of the lecture
UNIX System Structure Layered Approach … Layered Approach … Modularity Each layer uses functions and services of only lower layers Simplifies debugging and system verification. The major difficulty with layered approach is careful definition of layers, because a layer can only use the layers below it Less efficient than other approaches Microkernel Structures the operating system by removing all non-essential components from the kernel and implementing them as system and user level programs Smaller kernel Main function is to provide a communication facility between client programs and the various services that are also running in the user space. Microkernel … Easier to extend the OS—new services are added to user space and consequently do not require modification of the kernel and/or its recompilation Easier to maintain operating system code (enhancement, debugging, etc.) OS is easier to port from one hardware to another More security and reliability Mach, MacOS X Server, QNX, OS/2, and Windows NT Windows NT Client-Server Structure Virtual Machines CPU scheduling and virtual memory techniques used to emulate hardware of the underlying machine, on which user can install an operating system that the virtual machine supports On a time-sharing system with virtual machine support, users may be working on different operating systems Pioneered by IBM VM operating system that ran CMS, a single-user interactive operating system Virtual Machines … Difficult to implement. System development done without disrupting normal system operation. Virtual Machines …
Non Virtual Machine Virtual Machine
VMWare on Windows Java Virtual Machine System Design and Implementation Design Goals User: operating system should be convenient to use, easy to learn, reliable, safe, and fast. System designer and administrator: operating system should be easy to design, implement, and maintain, as well as flexible, reliable, error-free, and efficient. System Design and Implementation Mechanism: determine how to do something Policy: determine what will be done Separation of mechanism and policy is important for flexibility. System Design and Implementation Implementation in: Assembly language Higher level languages: Easier to code Compact code Easier to port Written by Dennis Ritchie and Ken Thomsom in at Bell Labs in 1969 Initially written in assembly language and a high-level language called B. Later converted from B to C language. Linux written by Linus Torvalds (an undergraduate student at the Univ. of Helsinki, Finland) in 1991. Most popular operating systems Internet runs on UNIX and Linux UNIX has a hierarchical file system structure consisting of a root directory with other directories and files hanging under it In a command-line user interface, typed commands are used to navigate the system Directories and files are specified by filenames cs604/assignments/assign1.c /home/students/haroon/courses/cs604 / The root directory is the directory that contains all other directories. When a directory structure is displayed as a tree, the root directory is at the top. /bin This directory holds binary executable files that are essential for correct operation of the system /boot This directory includes essential system boot files including the kernel image . /dev This directory contains the devices available to on the machine
/etc Linux uses this directory to store system
configuration files /home This is where every user on a Linux system has a personal directory /lib Shared libraries and kernel modules are stored in this directory /root The home directory for the superuser
/sbin Utilities used for system administration
(halt, ifconfig, fdisk, etc.) are stored in this directory /tmp Used for storing temporary files. Similar to C:\Windows\Temp. /usr Typically a shareable, read-only directory. Contains user applications and supporting files for those applications. /var This directory contains variable data files such as logs (/var/log), mail (/var/mail), and spools (/var/spool) among other things. /
bin dev home … sbin usr
faculty … students students
ali … nadeem … munir
personal … courses
cs401 … cs604 Recap Review of previous lecture Operating system structures