Operating Systems Lecture 1.

Slides:



Advertisements
Similar presentations
Processes and Threads Chapter 3 and 4 Operating Systems: Internals and Design Principles, 6/E William Stallings Patricia Roy Manatee Community College,
Advertisements

Computer Systems/Operating Systems - Class 8
CMPT 300: Final Review Chapters 8 – Memory Management: Ch. 8, 9 Address spaces Logical (virtual): generated by the CPU Physical: seen by the memory.
CMPT 300: Operating Systems Review THIS REIVEW SHOULD NOT BE USED AS PREDICTORS OF THE ACTUAL QUESTIONS APPEARING ON THE FINAL EXAM.
CMPT 300: Final Review Chapters 8 – Memory Management: Ch. 8, 9 Address spaces Logical (virtual): generated by the CPU Physical: seen by the memory.
Process Management. External View of the OS Hardware fork() CreateProcess() CreateThread() close() CloseHandle() sleep() semctl() signal() SetWaitableTimer()
Computer Organization and Architecture
Slide 6-1 Copyright © 2004 Pearson Education, Inc. Operating Systems: A Modern Perspective, Chapter 6.
CS364 CH08 Operating System Support TECH Computer Science Operating System Overview Scheduling Memory Management Pentium II and PowerPC Memory Management.
Slide 6-1 Copyright © 2004 Pearson Education, Inc. Operating Systems: A Modern Perspective, Chapter 6.
Computer Organization Review and OS Introduction CS550 Operating Systems.
Operating System A program that controls the execution of application programs An interface between applications and hardware 1.
General What is an OS? What do you get when you buy an OS? What does the OS do? What are the parts of an OS? What is the kernel? What is a device.
Silberschatz and Galvin  Chapters 3 and 5 Possible questions –Tracing a given program involving fork, exec, semaphores, and share memory –Wring.
Chapter 5 Operating System Support. Outline Operating system - Objective and function - types of OS Scheduling - Long term scheduling - Medium term scheduling.
Lecture 3 Process Concepts. What is a Process? A process is the dynamic execution context of an executing program. Several processes may run concurrently,
Computers Operating System Essentials. Operating Systems PROGRAM HARDWARE OPERATING SYSTEM.
30 October Agenda for Today Introduction and purpose of the course Introduction and purpose of the course Organization of a computer system Organization.
LINUX System : Lecture 7 Bong-Soo Sohn Lecture notes acknowledgement : The design of UNIX Operating System.
OSes: 3. OS Structs 1 Operating Systems v Objectives –summarise OSes from several perspectives Certificate Program in Software Development CSE-TC and CSIM,
Silberschatz, Galvin and Gagne  Operating System Concepts Operating Systems 1. Overview 2. Process Management 3. Storage Management 4. I/O Systems.
Overview of Operating Systems Introduction to Operating Systems: Module 0.
Review for Quiz-2 Applied Operating System Concepts Chap.s 1,2,6,7 - ECE3055b, Spring 2005.
CS1253- OPERATING SYSTEMS. SYLLABUS UNIT I PROCESSES AND THREADS 9 Introduction to operating systems – Review of computer organization – Operating.
2 Processor(s)Main MemoryDevices Process, Thread & Resource Manager Memory Manager Device Manager File Manager.
1/31/20161 Final Exam Dec 10. Monday. 4-7pm. Phelp 1160 Similar to midterm The exam is closed book. You can bring 2 page of notes (double sided) Nachos.
What is an Operating System? Various systems and their pros and cons –E.g. multi-tasking vs. Batch OS definitions –Resource allocator –Control program.
Operating Systems: Summary INF1060: Introduction to Operating Systems and Data Communication.
Concepts and Structures. Main difficulties with OS design synchronization ensure a program waiting for an I/O device receives the signal mutual exclusion.
CMPT 300: Operating Systems Course Summary THIS SUMMARY SHOULD NOT BE USED AS PREDICTORS OF THE ACTUAL QUESTIONS APPEARING ON THE FINAL EXAM.
CSCI/CMPE 4334 Operating Systems Review: Exam 1 1.
CSI 3131 Summer 2016 Principles of Operating Systems Instructor: Dr. Nathalie Japkowicz Office: STE 5029 Office Hours: n In.
Chapter 2 Operating System Overview Dave Bremer Otago Polytechnic, N.Z. ©2008, Prentice Hall Operating Systems: Internals and Design Principles, 6/E William.
Processes and Threads Chapter 3 and 4 Operating Systems: Internals and Design Principles, 6/E William Stallings Patricia Roy Manatee Community College,
Introduction to Operating Systems Concepts
Chapters 3 and 5 Possible questions
Module 12: I/O Systems I/O hardware Application I/O Interface
Applied Operating System Concepts -
Operating System (OS) QUESTIONS AND ANSWERS
Andy Wang COP 5611 Advanced Operating Systems
Chapter 9: Virtual Memory
Course Introduction Dr. Eggen COP 6611 Advanced Operating Systems
Andy Wang COP 5611 Advanced Operating Systems
Chapter 4 Threads.
Operating Systems: A Modern Perspective, Chapter 6
Section 10: Last section! Final review.
Lecture 45 Syed Mansoor Sarwar
Chapter 1: Introduction
Chapter 9: Virtual-Memory Management
Threads, SMP, and Microkernels
Operating Systems Lecture 6.
Operating Systems Lecture 12.
Andy Wang Operating Systems COP 4610 / CGS 5675
Mid Term review CSC345.
Operating Systems Lecture 2.
Lecture 4- Threads, SMP, and Microkernels
Andy Wang COP 5611 Advanced Operating Systems
Operating Systems Lecture 3.
Andy Wang Operating Systems COP 4610 / CGS 5675
Major Topics in Operating Systems
Lecture 37 Syed Mansoor Sarwar
LINUX System : Lecture 7 Lecture notes acknowledgement : The design of UNIX Operating System.
February 5, 2004 Adrienne Noble
Andy Wang COP 5611 Advanced Operating Systems
Implementing Processes, Threads, and Resources
Chapter 2 Operating System Overview
BANKER’S ALGORITHM Prepared by, Prof
Andy Wang COP 5611 Advanced Operating Systems
Sarah Diesburg Operating Systems COP 4610
Andy Wang Operating Systems COP 4610 / CGS 5675
Presentation transcript:

Operating Systems Lecture 1

© Copyright Virtual University of Pakistan Agenda for Today Introduction and purpose of the course Organization of a computer system Purpose of a computer system—setting the stage for OS concepts and principles Outline of topics to be discussed in the course What is an operating system? Recap of the lecture 21 February 2019 © Copyright Virtual University of Pakistan

© Copyright Virtual University of Pakistan Computer System Hardware Operating system Applications programs Users 21 February 2019 © Copyright Virtual University of Pakistan

Layered View of a Computer System 21 February 2019 © Copyright Virtual University of Pakistan

Purpose of a Computer System Computer systems consist of software and hardware that are combined to provide a tool to solve specific problems in an efficient manner Execute programs 21 February 2019 © Copyright Virtual University of Pakistan

Computer System Hardware 21 February 2019 © Copyright Virtual University of Pakistan

© Copyright Virtual University of Pakistan Course Outline Operating system concepts Operating system structures Introduction to UNIX/Linux user interface Processes and threads—scheduling, concurrency, synchronization, etc. Deadlocks Memory management Virtual memory File system Secondary storage management 21 February 2019 © Copyright Virtual University of Pakistan

Operating System Concepts Single-user systems Batch systems Multiprogrammed systems Time-sharing systems Real-time systems Interrupts, traps, and software interrupts (UNIX signals) Hardware protection 21 February 2019 © Copyright Virtual University of Pakistan

Operating System Structures Operating system services System calls Semantics of system call execution Operating system structures (monolithic, microkernel-based, layered, virtual machines, DOS-Windows, UNIX) System design and implementation 21 February 2019 © Copyright Virtual University of Pakistan

Introduction to UNIX/Linux Directory structure Browsing directory structure Useful commands 21 February 2019 © Copyright Virtual University of Pakistan

© Copyright Virtual University of Pakistan Processes Process 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.) 21 February 2019 © Copyright Virtual University of Pakistan

Processes (continued) Sample code for UNIX/Linux process management Cooperating processes Interprocess communication (IPC) IPC in UNIX/Linux (pipe, FIFO, socket, message queue, etc.) 21 February 2019 © 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, <Ctrl-Z>, <Ctrl-C>, etc.) 21 February 2019 © Copyright Virtual University of Pakistan

© Copyright Virtual University of Pakistan Threads Thread concept (thread, states, attributes, etc.) User- and kernel-level threads POSIX threads (the pthread library) Sample code 21 February 2019 © Copyright Virtual University of Pakistan

© Copyright Virtual University of Pakistan CPU Scheduling Basic concepts Scheduling criteria Scheduling triggers Scheduling algorithms UNIX System V scheduling algorithm Optimal scheduling Algorithm evaluation 21 February 2019 © Copyright Virtual University of Pakistan

Process Synchronization Basic concept The Critical Section Problem Solutions for the Critical Section Problem Software-based solutions—the Bakery Algorithm Hardware-based solutions Semaphores Binary and counting semaphores 21 February 2019 © Copyright Virtual University of Pakistan

Process Synchronization … Classic problems of synchronization Deadlocks and starvation Critical regions Monitors Synchronization tools used in Solaris, Linux, and Windows Pthread library functions 21 February 2019 © Copyright Virtual University of Pakistan

© Copyright Virtual University of Pakistan Deadlocks Basic concept Deadlock characterization Deadlock handling (prevention, avoidance, detection and recovery) Banker’s algorithm 21 February 2019 © Copyright Virtual University of Pakistan

© Copyright Virtual University of Pakistan Memory Management Basic concepts Various techniques for memory management Logical to physical address translation Swapping Contiguous memory allocation: MFT, MVT External fragmentation Paging Hardware support for paging Internal fragmentation 21 February 2019 © Copyright Virtual University of Pakistan

© Copyright Virtual University of Pakistan Memory Management … Performance of paging Protection and sharing Page table issues: Multi-level paging, Hashed page tables, Inverted page tables Segmentation Segmentation with paging Intel P4 example 21 February 2019 © Copyright Virtual University of Pakistan

© Copyright Virtual University of Pakistan Virtual Memory Basic concept Demand paging Page fault Performance of demand paging Page replacement Allocation of frames Thrashing Operating-system examples Other considerations (I/O locking, page size, …) 21 February 2019 © Copyright Virtual University of Pakistan

© Copyright Virtual University of Pakistan File System Interface Basic 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 protection UNIX/Linux examples for sharing and protection, and relevant commands (chmod, ln, ln –s, etc.) 21 February 2019 © Copyright Virtual University of Pakistan

File System Implementation Basic 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 implementation Free space management methods Space Allocation Methods Time and space performance of allocation methods Brief introduction to Network File System (NFS) 21 February 2019 © Copyright Virtual University of Pakistan

Mass Storage Structure and Scheduling Disk structure and scheduling Disk management (formatting, boot block, bad blocks, etc.) Course Recap 21 February 2019 © 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 hardware—provides the user a simpler (virtual) machine to work with A program that allocates and deallocates computer system resources in an efficient, fair, and secure manner—a resource manager 21 February 2019 © Copyright Virtual University of Pakistan

Operating System Goals Execute user programs and make solving user problems easier. Make the computer system convenient to use. Use the computer hardware in an efficient manner. 21 February 2019 © Copyright Virtual University of Pakistan

Operating Systems Lecture 1