27

Click here to load reader

Operating Systems - CS604 Power Point Slides Lecture

Embed Size (px)

DESCRIPTION

This is PPT of Operating Systems

Citation preview

  • Operating SystemsLecture 1

    Copyright Virtual University of Pakistan

  • Agenda for TodayIntroduction and purpose of the courseOrganization of a computer systemPurpose of a computer systemsetting the stage for OS concepts and principlesOutline of topics to be discussed in the courseWhat is an operating system? Recap of the lecture

    Copyright Virtual University of Pakistan

  • Computer SystemHardware Operating system Applications programs Users

    Copyright Virtual University of Pakistan

  • Layered View of a Computer System

    Copyright Virtual University of Pakistan

  • Purpose of a Computer SystemComputer systems consist of software and hardware that are combined to provide a tool to solve specific problems in an efficient mannerExecute programs

    Copyright Virtual University of Pakistan

  • Computer System Hardware

    Copyright Virtual University of Pakistan

  • Course OutlineOperating system conceptsOperating system structuresIntroduction to UNIX/Linux user interfaceProcesses and threadsscheduling, concurrency, synchronization, etc.DeadlocksMemory managementVirtual memoryFile systemSecondary storage management

    Copyright Virtual University of Pakistan

  • Operating System ConceptsSingle-user systemsBatch systemsMultiprogrammed systemsTime-sharing systemsReal-time systemsInterrupts, traps, and software interrupts (UNIX signals)Hardware protection

    Copyright Virtual University of Pakistan

  • Operating System StructuresOperating system servicesSystem callsSemantics of system call executionOperating system structures (monolithic, microkernel-based, layered, virtual machines, DOS-Windows, UNIX)System design and implementation

    Copyright Virtual University of Pakistan

  • Introduction to UNIX/LinuxDirectory structureBrowsing directory structureUseful commands

    Copyright Virtual University of Pakistan

  • ProcessesProcess concept (process, states, attributes, etc.)Process scheduling (scheduler)Context switching (dispatcher)Operations on processes (creation, termination, signaling, suspend, foreground, background, etc.)Process management in UNIX (fork, wait, exec, exit, etc.)

    Copyright Virtual University of Pakistan

  • Processes (continued)Sample code for UNIX/Linux process managementCooperating processesInterprocess communication (IPC)IPC in UNIX/Linux (pipe, FIFO, socket, message queue, etc.)

    Copyright Virtual University of Pakistan

  • Processes (continued)Communication between UNIX/Linux processes (pipe, mkfifo, read, write, close, etc.)Sample code UNIX/Linux processes (process images, control structures, etc. explained with sample code)Managing UNIX/Linux processes (ps, top, fg, bg, , , etc.)

    Copyright Virtual University of Pakistan

  • ThreadsThread concept (thread, states, attributes, etc.)User- and kernel-level threadsPOSIX threads (the pthread library)Sample code

    Copyright Virtual University of Pakistan

  • CPU SchedulingBasic conceptsScheduling criteriaScheduling triggersScheduling algorithms UNIX System V scheduling algorithmOptimal schedulingAlgorithm evaluation

    Copyright Virtual University of Pakistan

  • Process SynchronizationBasic conceptThe Critical Section ProblemSolutions for the Critical Section Problem Software-based solutionsthe Bakery Algorithm Hardware-based solutionsSemaphores Binary and counting semaphores

    Copyright Virtual University of Pakistan

  • Process Synchronization Classic problems of synchronization Deadlocks and starvation Critical regionsMonitors Synchronization tools used in Solaris, Linux, and WindowsDeadlocks and starvation Pthread library functions

    Copyright Virtual University of Pakistan

  • DeadlocksBasic conceptDeadlock characterizationDeadlock handling (prevention, avoidance, detection and recovery)Bankers algorithm

    Copyright Virtual University of Pakistan

  • Memory ManagementBasic conceptsVarious techniques for memory managementLogical to physical address translationSwappingContiguous memory allocation: MFT, MVTExternal fragmentationPagingHardware support for pagingInternal fragmentation

    Copyright Virtual University of Pakistan

  • Memory Management Performance of pagingProtection and sharingPage table issues: Multi-level paging, Hashed page tables, Inverted page tablesSegmentationProtection and sharingSegmentation with pagingIntel P4 example

    Copyright Virtual University of Pakistan

  • Virtual MemoryBasic conceptDemand pagingPage fault Performance of demand pagingPage replacement Allocation of frames Thrashing Operating-system examples Other considerations (I/O locking, page size, )

    Copyright Virtual University of Pakistan

  • File System InterfaceBasic concepts (file attributes, operations, types, structure, etc.)Access methods (sequential, random, etc.)Directory structure UNIX/Linux directory structure (links in UNIX)File system mounting, sharing, and protectionUNIX/Linux examples for sharing and protection, and relevant commands (chmod, ln, ln s, etc.)

    Copyright Virtual University of Pakistan

  • File System ImplementationBasic concepts (overview of disk structure, file structure, boot control block, super block, inode, per process file descriptor table, system-wide open-file table, etc.)Directory implementationFree space management methods Space Allocation MethodsTime and space performance of allocation methods Brief introduction to Network File System (NFS)

    Copyright Virtual University of Pakistan

  • Mass Storage Structure and SchedulingDisk structure and scheduling Disk management (formatting, boot block, bad blocks, etc.)Course Recap

    Copyright Virtual University of Pakistan

  • What is an Operating System?A program that acts as an intermediary between a user of a computer and the computer hardwareprovides the user a simpler (virtual) machine to work withA program that allocates and deallocates computer system resources in an efficient, fair, and secure mannera resource manager

    Copyright Virtual University of Pakistan

  • Operating System GoalsExecute user programs and make solving user problems easier.Make the computer system convenient to use.Use the computer hardware in an efficient manner.

    Copyright Virtual University of Pakistan

  • Operating SystemsLecture 1

    Copyright Virtual University of Pakistan