Operating Systems: Summary INF1060: Introduction to Operating Systems and Data Communication.

Slides:



Advertisements
Similar presentations
CMPT 300: Final Review Chapters 8 – Memory Management: Ch. 8, 9 Address spaces Logical (virtual): generated by the CPU Physical: seen by the memory.
Advertisements

Figure 2.8 Compiler phases Compiling. Figure 2.9 Object module Linking.
Memory Design Example. Selecting Memory Chip Selecting SRAM Memory Chip.
Lecture 11: Memory Management
CS 104 Introduction to Computer Science and Graphics Problems
CMPT 300: Final Review Chapters 8 – Memory Management: Ch. 8, 9 Address spaces Logical (virtual): generated by the CPU Physical: seen by the memory.
CSI 400/500 Operating Systems Spring 2009 Lecture #9 – Paging and Segmentation in Virtual Memory Monday, March 2 nd and Wednesday, March 4 th, 2009.
1 Last Class: Introduction Operating system = interface between user & architecture Importance of OS OS history: Change is only constant User-level Applications.
Chapter 11 Operating Systems
MEMORY MANAGEMENT By KUNAL KADAKIA RISHIT SHAH. Memory Memory is a large array of words or bytes, each with its own address. It is a repository of quickly.
Computer Organization and Architecture
Part two. 3.2 operating system architecture  Software have two categories  Application software  System software  Application software: consists of.
Copyright Arshi Khan1 System Programming Instructor Arshi Khan.
CS364 CH08 Operating System Support TECH Computer Science Operating System Overview Scheduling Memory Management Pentium II and PowerPC Memory Management.
Computer Organization and Architecture Operating System Support Chapter 8.
Basics of Operating Systems March 4, 2001 Adapted from Operating Systems Lecture Notes, Copyright 1997 Martin C. Rinard.
 Introduction Introduction  Definition of Operating System Definition of Operating System  Abstract View of OperatingSystem Abstract View of OperatingSystem.
Chapter 3 Operating Systems Introduction to CS 1 st Semester, 2015 Sanghyun Park.
Operating System Chapter 7. Memory Management Lynn Choi School of Electrical Engineering.
Silberschatz, Galvin and Gagne ©2009 Operating System Concepts – 8 th Edition, Chapter 2: System Structures.
 What is an operating system? What is an operating system?  Where does the OS fit in? Where does the OS fit in?  Services provided by an OS Services.
Chapter 3: Operating-System Structures System Components Operating System Services System Calls System Programs System Structure Virtual Machines System.
OS provide a user-friendly environment and manage resources of the computer system. Operating systems manage: –Processes –Memory –Storage –I/O subsystem.
Chapter 5 Operating System Support. Outline Operating system - Objective and function - types of OS Scheduling - Long term scheduling - Medium term scheduling.
CSE 451: Operating Systems Section 10 Project 3 wrap-up, final exam review.
Processes and OS basics. RHS – SOC 2 OS Basics An Operating System (OS) is essentially an abstraction of a computer As a user or programmer, I do not.
Chapter 4 Storage Management (Memory Management).
INVITATION TO COMPUTER SCIENCE, JAVA VERSION, THIRD EDITION Chapter 6: An Introduction to System Software and Virtual Machines.
Silberschatz, Galvin and Gagne  Operating System Concepts Chapter 3: Operating-System Structures System Components Operating System Services.
Lecture 3 Process Concepts. What is a Process? A process is the dynamic execution context of an executing program. Several processes may run concurrently,
Silberschatz, Galvin and Gagne  Operating System Concepts Chapter 9: Memory Management Background Swapping Contiguous Allocation Paging Segmentation.
Hardware process When the computer is powered up, it begins to execute fetch-execute cycle for the program that is stored in memory at the boot strap entry.
CE Operating Systems Lecture 3 Overview of OS functions and structure.
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.
Ihr Logo Operating Systems Internals & Design Principles Fifth Edition William Stallings Chapter 2 (Part II) Operating System Overview.
Virtual Memory Virtual Memory is created to solve difficult memory management problems Data fragmentation in physical memory: Reuses blocks of memory.
Operating System Principles And Multitasking
Main Memory. Chapter 8: Memory Management Background Swapping Contiguous Memory Allocation Paging Structure of the Page Table Segmentation Example: The.
We will focus on operating system concepts What does it do? How is it implemented? Apply to Windows, Linux, Unix, Solaris, Mac OS X. Will discuss differences.
UNIX Unit 1- Architecture of Unix - By Pratima.
Hardware process When the computer is powered up, it begins to execute fetch-execute cycle for the program that is stored in memory at the boot strap entry.
Chapter 2 Operating System Overview Patricia Roy Manatee Community College, Venice, FL ©2008, Prentice Hall Operating Systems: Internals and Design Principles,
Chapter 1 Basic Concepts of Operating Systems Introduction Software A program is a sequence of instructions that enables the computer to carry.
What is an Operating System? Various systems and their pros and cons –E.g. multi-tasking vs. Batch OS definitions –Resource allocator –Control program.
CS4315A. Berrached:CMS:UHD1 Introduction to Operating Systems Chapter 1.
Major OS Components CS 416: Operating Systems Design, Spring 2001 Department of Computer Science Rutgers University
Silberschatz, Galvin and Gagne ©2009 Operating System Concepts – 8 th Edition, Chapter 8: Main Memory.
Chapter 8: Memory Management. 8.2 Silberschatz, Galvin and Gagne ©2005 Operating System Concepts Chapter 8: Memory Management Background Swapping Contiguous.
Chapter 7: Main Memory CS 170, Fall Program Execution & Memory Management Program execution Swapping Contiguous Memory Allocation Paging Structure.
System Components Operating System Services System Calls.
Operating System Structure Lecture: - Operating System Concepts Lecturer: - Pooja Sharma Computer Science Department, Punjabi University, Patiala.
CT101: Computing Systems Introduction to Operating Systems.
Introduction to Operating Systems Concepts
Chapter 2 Memory and process management
Chapter 8: Main Memory.
Chapter 9 – Real Memory Organization and Management
Operating Systems.
Chapter 8: Memory management
Outline Module 1 and 2 dealt with processes, scheduling and synchronization Next two modules will deal with memory and storage Processes require data to.
CSCE 313 – Introduction to UNIx process
Operating System Chapter 7. Memory Management
Chapter 2: Operating-System Structures
Operating Systems Lecture 1.
Introduction to Operating Systems
Chapter 2: Operating-System Structures
COMP755 Advanced Operating Systems
Chapter 1: Introduction CSS503 Systems Programming
CSE 542: Operating Systems
Presentation transcript:

Operating Systems: Summary INF1060: Introduction to Operating Systems and Data Communication

2004 Kjell Åge Bringsrud & Pål HalvorsenINF1060 – introduction to operating systems and data communication What is an Operating System (OS)? “An operating system (OS) is a collection of programs that acts as an intermediary between the hardware and its user(s), providing a high-level interface to low level hardware resources, such as the CPU, memory, and I/O devices. The operating system provides various facilities and services that make the use of the hardware convenient, efficient, and safe” Lazowska, E. D.: Contemporary Issues in Operating Systems, in: Encyclopedia of Computer Science, Ralston, A., Reilly, E. D. (Editors), IEEE Press, 1993, pp.980 It is an extended machine (top-down view)  Hides the messy details  Presents user with a virtual machine, easier to use It is a resource manager (bottom-up view)  Each program gets time with the resource  Each program gets space on the resource hardware user application operating system

2004 Kjell Åge Bringsrud & Pål HalvorsenINF1060 – introduction to operating systems and data communication Primary Components User interface (shell) Device management File management Memory management Processor (or process) management Communication services Operating system layer Application program layer Hardware layer Apparent to user  Shell  File system  Device management Transparent  Processor management  Memory management  Communication services

2004 Kjell Åge Bringsrud & Pål HalvorsenINF1060 – introduction to operating systems and data communication Processes vs. Programs What is a process?  a program is a set of instructions how to perform a task  the execution of a program is called a process  analogy: receipt vs. chef

2004 Kjell Åge Bringsrud & Pål HalvorsenINF1060 – introduction to operating systems and data communication Scheduling A task is a schedulable entity/something that can run (a process/thread executing a job, e.g., a packet through the communication system or a disk request through the file system) In a multi-tasking system, several tasks may wish to use a resource simultaneously A scheduler decides which task that may use the resource, i.e., determines order by which requests are serviced, using a scheduling algorithm Scheduling performance criteria and goals are dependent on environment and workload resource requests scheduler

2004 Kjell Åge Bringsrud & Pål HalvorsenINF1060 – introduction to operating systems and data communication CPU Scheduling Preemptive  currently executing task may be interrupted (preempted) by higher priority processes  preempted process continues later at the same state Non-preemptive  running tasks will be allowed to finish its time-slot (higher priority processes must wait) Many different scheduling algorithms  modern systems, like Windows and Linux, use some kind of priority based scheduling  the right time slice can improve overall utilization

2004 Kjell Åge Bringsrud & Pål HalvorsenINF1060 – introduction to operating systems and data communication Memory Memory management is concerned with managing the systems’ memory resources  allocating space to processes  protecting the memory regions  in the real world programs are loaded dynamically physical addresses it will get are not known to program – dynamic address translation program size at run-time is not known to kernel Each process usually has text, data and stack segments Systems like Windows and Unix use virtual memory with paging Many issues when designing a memory component

2004 Kjell Åge Bringsrud & Pål HalvorsenINF1060 – introduction to operating systems and data communication Segmentation & Paging Requiring that a process is placed in contiguous memory gives much fragmentation (and memory compaction is expensive) Segmentation  different lengths  determined by programmer  memory frames  programmer (or compiler tool chain) organizes program in parts move control needs awareness of possible segment size limits Paging  equal lengths (determined by processor)  one page moved into one memory frame  process is loaded into several frames (not necessarily consecutive) Memory lookup and address translation via tables, e.g., page table Many different page replacement algorithms, e.g., FIFO, Clock, LRU, …

2004 Kjell Åge Bringsrud & Pål HalvorsenINF1060 – introduction to operating systems and data communication Virtual Memory & Memory Lookup bit offset Outgoing physical address 4-bit index into page table virtual page = 0010 = 2 Incoming virtual address (0x2004, 8196) Page table 0010 present bit (0x6004, 24580) Example: 4 KB pages (12-bit offsets) 16 bit virtual address space  16 pages (4-bit index) 8 physical pages (3-bit index)

2004 Kjell Åge Bringsrud & Pål HalvorsenINF1060 – introduction to operating systems and data communication Storage Disks are the main persistent secondary storage device The main bottleneck is often disk I/O performance due to disk mechanics: seek time and rotational delays Much work has been performed to optimize disks performance  scheduling algorithms try to minimize seek overhead (most systems use SCAN derivates)  memory caching can save disk I/Os  additionally, many other ways (e.g., block sizes, placement, prefetching, …) World today more complicated (both different access patterns, unknown disk characteristics, …)  new disks are “smart”, we cannot fully control the device

2004 Kjell Åge Bringsrud & Pål HalvorsenINF1060 – introduction to operating systems and data communication Storage File systems provide an abstraction to  file management – store, share, access, …  storage management – management of physical storage  access methods – functions to read, write, seek, …  … Files are often organized in hierarchical directories Many ways to manage file blocks, but many modern systems often use a variant of index-based management with a table of pointers (inodes or improvements)

2004 Kjell Åge Bringsrud & Pål HalvorsenINF1060 – introduction to operating systems and data communication Inter-Process Communication (IPC) Many ways to perform send messages or perform IPC on a machine, and we have briefly looked at  mailboxes - FIFO, messages has types  pipes – FIFO, no type  shared memory – shared memory mapped into virtual space  signals – send a signal which can invoke a special handler

2004 Kjell Åge Bringsrud & Pål HalvorsenINF1060 – introduction to operating systems and data communication Where to Continue? If you like…  … programming languages INF2100 – Project assignments in programming INF3110 – Programming languages (INF5110 – Compiler techniques)  … operating systems INF3150 & INF3160 – Operating systems 1 & 2  … data communication INF3190 – Data communications (INF5050 – Protocols and routing in the Internet) (INF5060 – Multimedia Networking using Network Processor Cards)