1 CMSC421: Principles of Operating Systems Nilanjan Banerjee Principles of Operating Systems Assistant Professor, University of Maryland Baltimore County.

Slides:



Advertisements
Similar presentations
1 CMSC421: Principles of Operating Systems Nilanjan Banerjee Principles of Operating Systems Assistant Professor, University of Maryland Baltimore County.
Advertisements

1 CMSC421: Principles of Operating Systems Nilanjan Banerjee Principles of Operating Systems Assistant Professor, University of Maryland Baltimore County.
1 CMSC421: Principles of Operating Systems Nilanjan Banerjee Principles of Operating Systems Acknowledgments: Some of the slides are adapted from Prof.
Introduction to Operating Systems CS-2301 B-term Introduction to Operating Systems CS-2301, System Programming for Non-majors (Slides include materials.
CMPT 300: Operating Systems I Dr. Mohamed Hefeeda
CMPT 300: Final Review Chapters 8 – Memory Management: Ch. 8, 9 Address spaces Logical (virtual): generated by the CPU Physical: seen by the memory.
1 School of Computing Science Simon Fraser University CMPT 300: Operating Systems I Dr. Mohamed Hefeeda.
OS Fall ’ 02 Introduction Operating Systems Fall 2002.
INTRODUCTION OS/2 was initially designed to extend the capabilities of DOS by IBM and Microsoft Corporations. To create a single industry-standard operating.
Home: Phones OFF Please Unix Kernel Parminder Singh Kang Home:
Embedded Real-time Systems The Linux kernel. The Operating System Kernel Resident in memory, privileged mode System calls offer general purpose services.
OS Spring’03 Introduction Operating Systems Spring 2003.
Cs238 Lecture 3 Operating System Structures Dr. Alan R. Davis.
OS Spring’04 Introduction Operating Systems Spring 2004.
Copyright Arshi Khan1 System Programming Instructor Arshi Khan.
Operating Systems Concepts 1. A Computer Model An operating system has to deal with the fact that a computer is made up of a CPU, random access memory.
I/O Tanenbaum, ch. 5 p. 329 – 427 Silberschatz, ch. 13 p
Basics of Operating Systems March 4, 2001 Adapted from Operating Systems Lecture Notes, Copyright 1997 Martin C. Rinard.
CSE 451: Operating Systems Autumn 2013 Module 6 Review of Processes, Kernel Threads, User-Level Threads Ed Lazowska 570 Allen.
Week 6 Operating Systems.
1 CMSC 628: Introduction to Mobile Computing Nilanjan Banerjee Introduction to Mobile Computing University of Maryland Baltimore County
Chapter 3.1:Operating Systems Concepts 1. A Computer Model An operating system has to deal with the fact that a computer is made up of a CPU, random access.
Computer Organization Review and OS Introduction CS550 Operating Systems.
1 CS503: Operating Systems Part 1: OS Interface Dongyan Xu Department of Computer Science Purdue University.
Chapter 6 Operating System Support. This chapter describes how middleware is supported by the operating system facilities at the nodes of a distributed.
ICOM Noack Operating Systems - Administrivia Prontuario - Please time-share and ask questions Info is in my homepage amadeus/~noack/ Make bookmark.
1 Introduction to Operating Systems 9/16/2008 Lecture #1.
Kernel, processes and threads Windows and Linux. Windows Architecture Operating system design Modified microkernel Layered Components HAL Interacts with.
Contact Information Office: 225 Neville Hall Office Hours: Monday and Wednesday 12:00-1:00 and by appointment.
1 Operating System Overview. 2 Today’s Objectives Explain the main purpose of operating systems and describe milestones of OS evolution Explain fundamental.
COS 598: Advanced Operating System. Operating System Review What are the two purposes of an OS? What are the two modes of execution? Why do we have two.
OPERATING SYSTEMS Goals of the course Definitions of operating systems Operating system goals What is not an operating system Computer architecture O/S.
1 CMSC421: Principles of Operating Systems Nilanjan Banerjee Principles of Operating Systems Acknowledgments: Some of the slides are adapted from Prof.
1 CMSC421: Principles of Operating Systems Nilanjan Banerjee Principles of Operating Systems Assistant Professor, University of Maryland Baltimore County.
CT 1503 Network Operating Systems Instructor: Dr. Najla Al-Nabhan 2014.
1 CMSC421: Principles of Operating Systems Nilanjan Banerjee Principles of Operating Systems Acknowledgments: Some of the slides are adapted from Prof.
LINUX System : Lecture 7 Bong-Soo Sohn Lecture notes acknowledgement : The design of UNIX Operating System.
CNIT 127: Exploit Development Ch 3: Shellcode. Topics Protection rings Syscalls Shellcode nasm Assembler ld GNU Linker objdump to see contents of object.
11/21/20151 Operating Systems Design (CS 423) Elsa L Gunter 2112 SC, UIUC Based on slides by Sam King and Andrew.
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.
Operating Systems Engineering Based on MIT (2012, lec3) Recitation 2: OS Organization.
System Components ● There are three main protected modules of the System  The Hardware Abstraction Layer ● A virtual machine to configure all devices.
Chapter 13 – I/O Systems (Pgs ). Devices  Two conflicting properties A. Growing uniformity in interfaces (both h/w and s/w): e.g., USB, TWAIN.
Course Overview 1 FCM 710 Architecture of Secure Operating Systems Prof. Shamik Sengupta Office 4210 N
Copyright ©: Nahrstedt, Angrave, Abdelzaher1 Operating System Overview Tarek Abdelzaher Lawrence Angrave Vikram Adve.
Unit 4: Processes, Threads & Deadlocks June 2012 Kaplan University 1.
Operating Systems CMPSC 473 Introduction and Overview August 24, Lecture 1 Instructor: Bhuvan Urgaonkar.
Dr. Ying Lu ylu at cse.unl.edu Schorr Center Aug 22, CSCE 351 Operating System Kernels.
Course Book Course Objective - The student will be able to describe various operating system concepts as they are applied to memory, process, file system.
1 Chapter 2: Operating-System Structures Services Interface provided to users & programmers –System calls (programmer access) –User level access to system.
CSNB334 Advanced Operating Systems 3. Kernel Structure and Organization Lecturer: Abdul Rahim Ahmad.
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.
Introduction to Operating Systems Concepts
Computer Organization & Design 计算机组成与设计
CMSC 621: Advanced Operating Systems Advanced Operating Systems
Kernel Design & Implementation
KERNEL ARCHITECTURE.
What is an Operating System?
Operating Systems and Systems Programming
Computer-System Architecture
CSE 451: Operating Systems Spring 2012 Module 6 Review of Processes, Kernel Threads, User-Level Threads Ed Lazowska 570 Allen.
System Calls David Ferry CSCI 3500 – Operating Systems
Operating Systems Lecture 3.
LINUX System : Lecture 7 Lecture notes acknowledgement : The design of UNIX Operating System.
Operating Systems: A Modern Perspective, Chapter 3
System Calls System calls are the user API to the OS
Chapter-1 Computer is an advanced electronic device that takes raw data as an input from the user and processes it under the control of a set of instructions.
Operating Systems Structure
Presentation transcript:

1 CMSC421: Principles of Operating Systems Nilanjan Banerjee Principles of Operating Systems Assistant Professor, University of Maryland Baltimore County

2 Administrivia Course webpage: Instructor: Nilanjan Banerjee Class time: MW 5:30 – 6:45 pm, IT room # Office hours: MW: 2: :00 pm, room 362 Teaching Assistant for this course Lawrence Sebald Office hours: Mon(11AM-1PM), Tu(9:30AM-11:30AM), ITE240 Milind Patil Office hours: Tu(11AM-1:00PM), Th(1PM-3PM), ITE240

3 Teaching Style Highly interactive Incentivize questions and discussions in class Live coding in class You are welcome to bring your laptops with toolkits installed Writing userland code in class (mostly) and some kernel code Kernel code surfing Will be using Labeled, annotated linux source code Focus is on implementation and hands-on experience

4 Course webpage will be moved to a central place Lets take a look at the webpage Blackboard page is a replica All homeworks and projects would be submitted using blackboard

5 What is the grading distribution? Homeworks (10%, 3-4+1) Theoretical concepts Some small programming components Projects (40%) 3 project Involve writing linux kernel code Midterm (20%) Final (25%) End of class discussions (5%)

6 What is end of class discussions! Puzzles from Microsoft, Google, Intel, etc. interviews Mathematical puzzles. Algorithmic puzzles Programming puzzles Bit hacks! Weird stuff on C How would be grading done 0 or (if you do not attend class or do not attempt the problem at all), 1 (if you make a plausible attempt at the problem– need not be best solution)

7 Late Policy and Plagiarism Very strict policy on plagiarism You can discuss questions but you are *NOT* supposed to see or replicate each others answers or source code There is no late policy for homeworks or projects! extra-ordinary circumstances you will have to get permission from the instructor We might extend deadlines if need be.

8 Lets get started with some demonstrations

9 What does a OS really consist of? distribution operating system kernel flavor of an OS e.g. Redhat Ubuntu bunch of stuff -- User interface -- system management tools -- developer tools -- compilers/interpreters -- assemblers/linkers -- kernel -- core OS resource mgmt -- process mgmt -- CPU scheduling -- memory mgmt -- storage mgmt -- I/O subsystem user-space kernel-space Where do drivers reside?

10 What does an OS provide us? Hardware abstractions Applications do not have to deal with nits and grits of hardware Applications cannot access hardware directly Use OS to access disk drives, Network cards, CPU, memory (some parts) Multi-tasking/multiprocessing Resource allocations One CPU, one disk, one memory Allocate resources to different applications Protection Sandbox applications & applications and the OS Usually done through the Memory controller (virtual memory) (First microprocessor to support MC?)

11 What does an Operating System look like? Applications (UI, system mgmt) User libraries (libc) Kernel System calls Drivers Hardware User space Kernel space Memory Controller

12 Magnify the kernel Task mgmt CPU sched. System call interface Drivers directly built into the kernel memory mgmt file system I/O mgmt loadable modules Kernel source

13 Topics to be covered user-kernel interface bootup process Process/task mgmt CPU scheduling memory mgmt file system, I/O devices Other topics system calls processes/threads concurrency inter-process comm. scheduling algo etc. virtual memory, memory allocation, mmap() FAT, ext2, RAID I/O devices Security Distributed OS

14 Kernel-userspace interaction Application kernel Hardware interrupts software interrupts system calls timers exceptions Timers/return from sys call A closer look at system calls

15 Lets take an example OS_start main: libc.c file.s file.o fileExec. assembler libraries linker

16 Let take a look at some x86 assembly mov $1, %eax mov $25, %ebx int $0x80 Software interrupt Jump to an address in the kernel where the syscall table is stored And execute syscall # stored in %eax args for syscall in registers [ebx, ecx, edx, esi, edi] Execute interrupt # 128 In the interrupt vector table

17 Next class System calls in detail What really happens during a system call Kernel Code surfing Intro to the linux kernel How the context switch happens to the kernel Writing System calls in the kernel Write a simple system call Things to know about system calls in the kernel Concurrency issues Copy data to and from the kernel

18 An in-class discussion (pointers in C)