Faculty of Computer Science Institute for System Architecture, Operating Systems Group. Naming. Stefan Kalkowski. Dresden,

Size: px
Start display at page:

Download "Faculty of Computer Science Institute for System Architecture, Operating Systems Group. Naming. Stefan Kalkowski. Dresden,"

Transcription

1 Faculty of Computer Science Institute for System Architecture, Operating Systems Group Naming Stefan Kalkowski Dresden,

2 So far... Basics: Tasks and Threads Synchronization Memory Communication Device Drivers Real-Time Today: Naming Slide 2 von 37

3 Motivation Naming is relevant for different abstractions: Kernel objects File systems Networks Programming languages Hardware... for different purposes: Usability Security Slide 3 von 37

4 Today Naming Terminology Distributed name services Global vs. local name spaces Naming and access: Capabilities Examples Slide 4 von 37

5 Terminology: Names Symbolic names: textual representation of an entity Address: locates an entity Identifiers: identifies (uniquely) an entity of a system Slide 5 von 37

6 Example: DNS. com edu org kernel de wikipedia de = URI: symbolic name and identifier gets resolved to IP address Slide 6 von 37

7 More Terminology Name space resp. context: contains mappings of higher-level to lowerlevel names or attributes (e.g.: symbolic name -> address, id, symbolic name) Name resolution: process of mapping Name service: activity that performs name resolution Slide 7 von 37

8 Example: UNIX VFS Inode 0 ('/') links -> inode 1 etc -> inode 2 Directory = Name space Inode 1 ('/links') Inode 2 ('/etc') fstab -> /etc/fstab bashrc -> inode 4 fstab -> inode 5 bashrc -> inode 4 Inode = Identifier Slide 8 von 37

9 Example: UNIX VFS [14:56:59] >> ls -dils SOFTLINK 0 4 drwxr-xr-x 4 root root 4096 Sep 27 14: drwxr-xr-x 2 root root 4096 Sep 27 14:49 links 4 4 -rw-r r-- 2 root root 1293 Sep 27 14:48 links/bashrc 3 0 lrwxrwxrwx 1 root root 9 Sep 27 14:49 links/fstab->etc/fstab 2 4 drwxr-xr-x 2 root root 4096 Sep 27 14:48 etc 4 4 -rw-r r-- 2 root root 1293 Sep 27 14:48 etc/bashrc 5 4 -rw-r r-- 1 root root 1026 Sep 27 14:48 etc/fstab HARDLINK Slide 9 von 37

10 Example: C++ namespace My_names { class Example {... } } // specify the name space explicitly My_names::Example obj(); // specify name space until block ends using namespace std; cout << address of obj: << &obj; Slide 10 von 37

11 More Differentiation... Name spaces can be organized: flat or hierarchical global or local Name services might be implemented centralized or distributed Resolving names can be done iterative or recursive Slide 11 von 37

12 Distributed name service Example: Name: /a/b/c implemented by three name servers Name server one provides initial context Client Name Server 1 Name Server 2 Name Server 3 Name Space Slide 12 von 37

13 Iterative name resolution I Client controlled iterative lookup Client Client repeatedly queries servers 1 (1)lookup(ns1, /a/b/c ) -> client: ns2, /b/c (2)lookup(ns2, /b/c ) -> client: ns3, /c (3)lookup(ns3, /c ) -> client: file_id 2 Name Server 1 Name Server 2 3 Name Server 3 Name Space Slide 13 von 37

14 Iterative name resolution II Server controlled iterative lookup Client Initial name server repeatedly queries subsequent name servers 1 (1)lookup(ns1, /a/b/c ) (2)lookup(ns2, /b/c ) -> ns1: ns3, /c (3)lookup(ns3, /c ) -> ns1: file_id -> client: file_id 2 Name Server 1 Name Server 2 3 Name Server 3 Name Space Slide 14 von 37

15 Recursive name resolution Server controlled recursive lookup Client Each name server queries subsequent name server 1 (1)lookup(ns1, /a/b/c ) (2)lookup(ns2, /b/c ) (3)lookup(ns3, /c ) -> ns2: file_id -> ns1: file_id -> client: file_id 2 Name Server 1 Name Server 2 Name Server 3 3 Name Space Slide 15 von 37

16 Distributed name service: L4VFS Part of the L4 Environment Provides a UNIX like hierarchical name space Distributed name service with object and name servers Application Backend Name server Object servers provide sub name spaces called volumes Name servers manage volumes and resolve names Object server Ext2fs Object server Terminal Slide 16 von 37

17 Distributed name service: L4VFS Name server Maps symbolic names -> object ids: (volume id).(local object id) Iteratively queries object servers to resolve names Maps volume ids to object servers Manages mount table Application Backend Name server Object server Maps names -> local object ids Can manage different volumes Keeps client s state (seek pos., access mode,...) Object server Ext2fs Object server Terminal Slide 17 von 37

18 L4VFS: Mounting server Mounting is completely done by name Application Mount table is checked for each step Backend in name resolution Mount point Volume 3... Root: 0.0 Name server / 0.0 dev 0.1 tty1 0.3 etc 0.2 tty1 Object server 3.0 Ext2fs tty2 Object4.0 server Terminal conf 0.4 Slide 18 von 37

19 L4VFS: Resolution Request: /dev/input/mice -> 3.2 Mount point Name server Volume 3... Root: resolve(0.1, resolve(0.0,'input') 'dev') resolve(3.0, 'mice') Object server 1 / 0.0 dev 0.1 input 0.3 Object server 2 / 3.0 etc 0.2 event 3.1 conf 0.4 mice 3.2 Slide 19 von 37

20 Local vs. global name spaces Global name spaces: All instances share the same view Classical in monolithic systems Easy to configure Local name spaces: Instances have a private name space Forwards 'principle of least privilege' Facilitates virtualization and debugging Development trend: FreeBSD's jails or chroot Slide 20 von 37

21 Principle of least privilege Every program and every user of the system should operate using the least set of privileges necessary to complete the job. (Saltzer and Schroeder) General design principle to reduce vulnerabilities in software Local name spaces enable developers to put this into practice Slide 21 von 37

22 Problems with global names Example: L4 thread ids are globally visible Everyone can send IPC to everyone Services need to care of access control Denial of Service attacks are possible No full isolation Possible solution: Reference monitor Kernel uses a bitmap that contains communication rights Simpler solution: using local names Slide 22 von 37

23 Local names example: Plan 9 Developed by Bell Labs in the late 1980 s Distributed system, one UNIX out of a lot of systems Main features: All resources are named and accessed like files Network protocol 9P for remote file access Per process, private hierarchical file name space Slide 23 von 37

24 Local names example: Plan 9 Services export file hierarchies Processes mount services they use into their own name space Processes might inherit the name space of their parent process In addition processes can use bind to duplicate paths in the file hierarchy Slide 24 von 37

25 Combine name and access Capabilities Designate a specific object (e.g.: kernel object) and give certain access rights to that object Possession of a capability is sufficent to access the concerning object Can be implemented by using hardware support, memory protection mechanisms or cryptography Famous capability systems: KeyKOS, EROS, Coyotos Mach / GNU Hurd Amoeba Slide 25 von 37

26 Capability properties Capability models differ: Originally: possession of a capability is sufficient to further delegate that capability -> complicates information flow control Today: most capability systems have separate privileges for capability propagation Capabilities vs. Access Control Lists: R... Alice Alice Resource Access control list R... Resource Capability list Slide 26 von 37

27 Capabilities in practice L4.Sec (Florence): Local names in a task local capability space translate to capabilities Capabilities reference kernel objects, especially endpoints Capabilities can be obtained by creating an object or by mapping An additional identifier the badge is associated with each endpoint capability Badges enable the receiver to distinguish sender capabilities from each other Slide 27 von 37

28 Capabilities to Endpoints Make thread implementation details transparent Client 1 Objects Server 1456 Kernel Badges endpoint Client Slide 28 von 37

29 Capabilities in userland: Bastei Strict hierarchical structure Core provides basic services to provide system's resources GUI Parent node acts as name server and 'reference monitor' User Session Init Resource accounting for every service a node uses Terminal Core Slide 29 von 37

30 Capabilities in userland: Bastei Tasks initially possess only a parent capability Child nodes query their parent for services/objects GUI Child nodes can announce services at their parent Subsystem configuration can be implemented by creating new subtrees Terminal User Session Init Core Slide 30 von 37

31 Bastei: Service announcement Announcing services: GUI root announce( GUI, root_cap) Init Core Slide 31 von 37

32 Bastei: Open a session Using service: Terminal session( GUI, input=yes, label=xterm ) GUI User Session root session( input=false, label=bob->xterm ) session( GUI, label=bob->xterm, input=yes ) Init Core Slide 32 von 37

33 Outlook: Mapping to kernel caps Creation of a new service object: Creation of new service object and insertion into service object data structure Use policy data when creating service object, so that resource access by the service object can only be done in a defined fashion Mapping of send-capability to existing or new endpoint of the server by using the service object index as the badge Slide 33 von 37

34 DEMO Slide 34 von 37

35 Bastei Demo use Logging use use Window Framebuffer Window Manager Tutorial use Time Service Framebuffer Driver Launchpad Window Manager Input Driver uses Init use Core Log Slide 35 von 37

36 References Christian Helmuth and Norman Feske: 'Design of the Bastei OS Architecture' Tech. Report Rob Pike, Dave Presetto, Ken Thompson et al.: 'The use of name spaces in Plan 9' ACM SIGOPS Operating Systems Review Jerome H. Saltzer and Michael D. Schroeder: 'The Protection of Information in Computer Systems' Proceedings of the IEEE Mark S. Miller, Ka-Ping Yee, Jonathan Shapiro: 'Capability Myths Demolished' Tech. Report Slide 36 von 37

37 Coming soon... Tomorrow: Paper reading: On micro-kernel construction by the godfather Jochen Liedtke Read and understand it Be prepared to summarize it Next weeks: Resource Management (4.12.) Virtualization ( ) Slide 37 von 37

RESOURCE MANAGEMENT MICHAEL ROITZSCH

RESOURCE MANAGEMENT MICHAEL ROITZSCH Faculty of Computer Science Institute of Systems Architecture, Operating Systems Group RESOURCE MANAGEMENT MICHAEL ROITZSCH AGENDA done: time, drivers today: misc. resources architectures for resource

More information

RESOURCE MANAGEMENT MICHAEL ROITZSCH

RESOURCE MANAGEMENT MICHAEL ROITZSCH Faculty of Computer Science Institute of Systems Architecture, Operating Systems Group RESOURCE MANAGEMENT MICHAEL ROITZSCH AGENDA done: time, drivers today: misc. resources architectures for resource

More information

RESOURCE MANAGEMENT MICHAEL ROITZSCH

RESOURCE MANAGEMENT MICHAEL ROITZSCH Department of Computer Science Institute for System Architecture, Operating Systems Group RESOURCE MANAGEMENT MICHAEL ROITZSCH AGENDA done: time, drivers today: misc. resources architectures for resource

More information

Mario Oschwald -

Mario Oschwald - Seminar Origins of Operating Systems - mario.oschwald@hpi.uni-potsdam.de 1 Agenda History and Background s Characteristics Demo 2 History UNIX was developed in the early 70 s Some of its characteristics:

More information

Classic Systems: Unix and THE. Presented by Hakim Weatherspoon

Classic Systems: Unix and THE. Presented by Hakim Weatherspoon Classic Systems: Unix and THE Presented by Hakim Weatherspoon The UNIX Time-Sharing System Dennis Ritchie and Ken Thompson Background of authors at Bell Labs Both won Turing Awards in 1983 Dennis Ritchie

More information

CSE 124 January 27, Winter 2017, UCSD Prof. George Porter

CSE 124 January 27, Winter 2017, UCSD Prof. George Porter CSE 124 January 27, 2017 Winter 2017, UCSD Prof. George Porter Announcements Today s plan: Finish up DNS/naming Bit more detail on threading and synchronization Open discussion about Project 1 Part 1:

More information

Access Control Lists. Don Porter CSE 506

Access Control Lists. Don Porter CSE 506 Access Control Lists Don Porter CSE 506 Background (1) ò If everything in Unix is a file ò Everything in Windows is an object ò Why not files? ò Not all OS abstractions make sense as a file ò Examples:

More information

OS Containers. Michal Sekletár November 06, 2016

OS Containers. Michal Sekletár November 06, 2016 OS Containers Michal Sekletár msekleta@redhat.com November 06, 2016 whoami Senior Software Engineer @ Red Hat systemd and udev maintainer Free/Open Source Software contributor Michal Sekletár msekleta@redhat.com

More information

Microkernel-based Operating Systems - Introduction

Microkernel-based Operating Systems - Introduction Faculty of Computer Science Institute for System Architecture, Operating Systems Group Microkernel-based Operating Systems - Introduction Björn Döbel Dresden, Oct 14 th 2008 Lecture Goals Provide deeper

More information

CISC 220 fall 2011, set 1: Linux basics

CISC 220 fall 2011, set 1: Linux basics CISC 220: System-Level Programming instructor: Margaret Lamb e-mail: malamb@cs.queensu.ca office: Goodwin 554 office phone: 533-6059 (internal extension 36059) office hours: Tues/Wed/Thurs 2-3 (this week

More information

OS Security III: Sandbox and SFI

OS Security III: Sandbox and SFI 1 OS Security III: Sandbox and SFI Chengyu Song Slides modified from Dawn Song 2 Administrivia Lab2 VMs on lab machine Extension? 3 Users and processes FACT: although ACLs use users as subject, the OS

More information

Microkernel Construction. Introduction. Michael Hohmuth. Lars Reuther. TU Dresden Operating Systems Group

Microkernel Construction. Introduction. Michael Hohmuth. Lars Reuther. TU Dresden Operating Systems Group Introduction Lecture Goals Provide deeper understanding of OS mechanisms Make all of you enthusiastic kernel hackers Illustrate alternative system design concepts Promote OS research at 2 Administration

More information

Protection. CSE473 - Spring Professor Jaeger. CSE473 Operating Systems - Spring Professor Jaeger

Protection. CSE473 - Spring Professor Jaeger.   CSE473 Operating Systems - Spring Professor Jaeger Protection CSE473 - Spring 2008 Professor Jaeger www.cse.psu.edu/~tjaeger/cse473-s08/ Protection Protect yourself from untrustworthy users in a common space They may try to access your resources Or modify

More information

Operating Systems. Week 13 Recitation: Exam 3 Preview Review of Exam 3, Spring Paul Krzyzanowski. Rutgers University.

Operating Systems. Week 13 Recitation: Exam 3 Preview Review of Exam 3, Spring Paul Krzyzanowski. Rutgers University. Operating Systems Week 13 Recitation: Exam 3 Preview Review of Exam 3, Spring 2014 Paul Krzyzanowski Rutgers University Spring 2015 April 22, 2015 2015 Paul Krzyzanowski 1 Question 1 A weakness of using

More information

CS 416: Operating Systems Design April 22, 2015

CS 416: Operating Systems Design April 22, 2015 Question 1 A weakness of using NAND flash memory for use as a file system is: (a) Stored data wears out over time, requiring periodic refreshing. Operating Systems Week 13 Recitation: Exam 3 Preview Review

More information

Introducing Genode. Norman Feske Genode Labs

Introducing Genode. Norman Feske Genode Labs Introducing Genode Norman Feske Genode Labs FOSDEM Feb 4, 2012 Overview 1. Why do we need another operating system? 2. Genode OS architecture at a glance 3. Features of the framework 4. Showcases 5. Plans

More information

DISTRIBUTED SYSTEMS [COMP9243] Lecture 9a: Naming WHAT IS NAMING? Name: Entity: Slide 3. Slide 1. Address: Identifier:

DISTRIBUTED SYSTEMS [COMP9243] Lecture 9a: Naming WHAT IS NAMING? Name: Entity: Slide 3. Slide 1. Address: Identifier: BASIC CONCEPTS DISTRIBUTED SYSTEMS [COMP9243] Name: String of bits or characters Refers to an entity Slide 1 Lecture 9a: Naming ➀ Basic Concepts ➁ Naming Services ➂ Attribute-based Naming (aka Directory

More information

Operating system security models

Operating system security models Operating system security models Unix security model Windows security model MEELIS ROOS 1 General Unix model Everything is a file under a virtual root diretory Files Directories Sockets Devices... Objects

More information

cs642 /operating system security computer security adam everspaugh

cs642 /operating system security computer security adam everspaugh cs642 computer security /operating system security adam everspaugh ace@cs.wisc.edu principles Principles of Secure Designs Compartmentalization / Isolation / Least privilege Defense-in-depth / Use more

More information

Linux Operating System

Linux Operating System Linux Operating System Dept. of Computer Science & Engineering 1 History Linux is a modern, free operating system based on UNIX standards. First developed as a small but self-contained kernel in 1991 by

More information

The Microkernel Overhead

The Microkernel Overhead The Micro Overhead http://d3s.mff.cuni.cz Martin Děcký decky@d3s.mff.cuni.cz CHARLES UNIVERSITY IN PRAGUE faculty of mathematics and physics Martin Děcký, FOSDEM 2012, 5 th February 2012 The Micro Overhead

More information

File Systems: Fundamentals

File Systems: Fundamentals File Systems: Fundamentals 1 Files! What is a file? Ø A named collection of related information recorded on secondary storage (e.g., disks)! File attributes Ø Name, type, location, size, protection, creator,

More information

SECURITY ARCHITECTURES CARSTEN WEINHOLD

SECURITY ARCHITECTURES CARSTEN WEINHOLD Department of Computer Science Institute of System Architecture, Operating Systems Group SECURITY ARCHITECTURES CARSTEN WEINHOLD MOTIVATION Common observations: Complex software has security bugs Users

More information

Explicit Information Flow in the HiStar OS. Nickolai Zeldovich, Silas Boyd-Wickizer, Eddie Kohler, David Mazières

Explicit Information Flow in the HiStar OS. Nickolai Zeldovich, Silas Boyd-Wickizer, Eddie Kohler, David Mazières Explicit Information Flow in the HiStar OS Nickolai Zeldovich, Silas Boyd-Wickizer, Eddie Kohler, David Mazières Too much trusted software Untrustworthy code a huge problem Users willingly run malicious

More information

Systems Design and Implementation I.4 Naming in a Multiserver OS

Systems Design and Implementation I.4 Naming in a Multiserver OS Systems Design and Implementation I.4 Naming in a Multiserver OS System, SS 2009 University of Karlsruhe 06.5.2009 Jan Stoess University of Karlsruhe The Issue 2 The Issue In system construction we combine

More information

Processes. CS3026 Operating Systems Lecture 05

Processes. CS3026 Operating Systems Lecture 05 Processes CS3026 Operating Systems Lecture 05 Dispatcher Admit Ready Queue Dispatch Processor Release Timeout or Yield Event Occurs Blocked Queue Event Wait Implementation: Using one Ready and one Blocked

More information

Microkernel-based Operating Systems - Introduction

Microkernel-based Operating Systems - Introduction Faculty of Computer Science Institute for System Architecture, Operating Systems Group Microkernel-based Operating Systems - Introduction Nils Asmussen Dresden, Oct 09 2018 Lecture Goals Provide deeper

More information

The L4 microkernel. Garland, Mehta, Roehricht, Schulze. CS-450 Section 3 Operating Systems Fall 2003 James Madison University Harrisonburg, VA

The L4 microkernel. Garland, Mehta, Roehricht, Schulze. CS-450 Section 3 Operating Systems Fall 2003 James Madison University Harrisonburg, VA Garland, Mehta, Roehricht, Schulze The L4 microkernel Harrisonburg, November 29, 2003 CS-450 Section 3 Operating Systems Fall 2003 James Madison University Harrisonburg, VA Contents 1 An Introduction to

More information

Containers and isolation as implemented in the Linux kernel

Containers and isolation as implemented in the Linux kernel Containers and isolation as implemented in the Linux kernel Technical Deep Dive Session Hannes Frederic Sowa Senior Software Engineer 13. September 2016 Outline Containers and isolation

More information

Contents. 1.1 What Operating Systems Do Computer-System Organization Computer-System Architecture 12. Operating-System Structures

Contents. 1.1 What Operating Systems Do Computer-System Organization Computer-System Architecture 12. Operating-System Structures Contents PART ONE Chapter 1 Introduction OVERVIEW 1.1 What Operating Systems Do 3 1.2 Computer-System Organization 6 1.3 Computer-System Architecture 12 1.4 Operating-System Structure 18 1.5 Operating-System

More information

Lecture Topics. Announcements. Today: Threads (Stallings, chapter , 4.6) Next: Concurrency (Stallings, chapter , 5.

Lecture Topics. Announcements. Today: Threads (Stallings, chapter , 4.6) Next: Concurrency (Stallings, chapter , 5. Lecture Topics Today: Threads (Stallings, chapter 4.1-4.3, 4.6) Next: Concurrency (Stallings, chapter 5.1-5.4, 5.7) 1 Announcements Make tutorial Self-Study Exercise #4 Project #2 (due 9/20) Project #3

More information

Introduction to Linux

Introduction to Linux Introduction to Operating Systems All computers that we interact with run an operating system There are several popular operating systems Operating Systems OS consists of a suite of basic software Operating

More information

Systems Programming/ C and UNIX

Systems Programming/ C and UNIX Systems Programming/ C and UNIX Alice E. Fischer Lecture 6: Processes October 9, 2017 Alice E. FischerLecture 6: Processes Lecture 5: Processes... 1/26 October 9, 2017 1 / 26 Outline 1 Processes 2 Process

More information

Liferay User Management. Kar Joon Chew Oct 2011

Liferay User Management. Kar Joon Chew Oct 2011 Liferay User Management Kar Joon Chew Oct 2011 Terminology You will See 2 Understand the Relationship 3 Resource Resources are scoped into portal, group, page, and content model-resource and application

More information

UNIX File System. UNIX File System. The UNIX file system has a hierarchical tree structure with the top in root.

UNIX File System. UNIX File System. The UNIX file system has a hierarchical tree structure with the top in root. UNIX File System UNIX File System The UNIX file system has a hierarchical tree structure with the top in root. Files are located with the aid of directories. Directories can contain both file and directory

More information

Embedded Linux Architecture

Embedded Linux Architecture Embedded Linux Architecture Types of Operating Systems Real-Time Executive Monolithic Kernel Microkernel Real-Time Executive For MMU-less processors The entire address space is flat or linear with no memory

More information

A Comparison of Two Distributed Systems: Amoeba & Sprite. By: Fred Douglis, John K. Ousterhout, M. Frans Kaashock, Andrew Tanenbaum Dec.

A Comparison of Two Distributed Systems: Amoeba & Sprite. By: Fred Douglis, John K. Ousterhout, M. Frans Kaashock, Andrew Tanenbaum Dec. A Comparison of Two Distributed Systems: Amoeba & Sprite By: Fred Douglis, John K. Ousterhout, M. Frans Kaashock, Andrew Tanenbaum Dec. 1991 Introduction shift from time-sharing to multiple processors

More information

Lecture 3. Unix. Question? b. The world s best restaurant. c. Being in the top three happiest countries in the world.

Lecture 3. Unix. Question? b. The world s best restaurant. c. Being in the top three happiest countries in the world. Lecture 3 Unix Question? Denmark is famous for? a. LEGO. b. The world s best restaurant. c. Being in the top three happiest countries in the world. d. Having the highest taxes in Europe (57%). e. All of

More information

ELEC 377 Operating Systems. Week 9 Class 3

ELEC 377 Operating Systems. Week 9 Class 3 ELEC 377 Operating Systems Week 9 Class 3 Last Week I/O Systems Block and Character Devices Today I/O Systems Block and Character Devices Network Devices Kernel Services Distributed Systems /dev filesystem

More information

Today: File System Functionality. File System Abstraction

Today: File System Functionality. File System Abstraction Today: File System Functionality Remember the high-level view of the OS as a translator from the user abstraction to the hardware reality. User Abstraction Processes/Threads Hardware Resource CPU Address

More information

When we start? 10/24/2013 Operating Systems, Beykent University 1

When we start? 10/24/2013 Operating Systems, Beykent University 1 When we start? 10/24/2013 Operating Systems, Beykent University 1 Early Systems 10/24/2013 Operating Systems, Beykent University 2 Second Generation 10/24/2013 Operating Systems, Beykent University 3 Third

More information

File System Code Walkthrough

File System Code Walkthrough File System Code Walkthrough File System An organization of data and metadata on a storage device Data expected to be retained after a program terminates by providing efficient procedures to: store, retrieve,

More information

Least-Privilege Isolation: The OKWS Web Server

Least-Privilege Isolation: The OKWS Web Server Least-Privilege Isolation: The OKWS Web Server Brad Karp UCL Computer Science CS GZ03 / M030 14 th December 2015 Can We Prevent All Exploits? Many varieties of exploits Stack smashing, format strings,

More information

The Operating System Machine Level

The Operating System Machine Level The Operating System Machine Level Wolfgang Schreiner Research Institute for Symbolic Computation (RISC-Linz) Johannes Kepler University Wolfgang.Schreiner@risc.uni-linz.ac.at http://www.risc.uni-linz.ac.at/people/schreine

More information

System Administration

System Administration Süsteemihaldus MTAT.08.021 System Administration File system basics UNIX shell basics 1/23 2/23 3/23 4/23 5/23 6/23 System Root Mount points User Profiles /home /boot /dev/sda Boot loader files and Linux

More information

Secure Architecture Principles

Secure Architecture Principles CS 155 Spring 2017 Secure Architecture Principles Isolation and Least Privilege Access Control Concepts Operating Systems Browser Isolation and Least Privilege Secure Architecture Principles Isolation

More information

Underlying computer system = hardware + software

Underlying computer system = hardware + software Underlying computer system = hardware + software Thanks to Chandra Krintz and Kevin Sanft, for this figure and some other parts of these lecture notes. Processing data & instructions Program instructions

More information

June Gerd Liefländer System Architecture Group Universität Karlsruhe (TH), System Architecture Group

June Gerd Liefländer System Architecture Group Universität Karlsruhe (TH), System Architecture Group Distributed Systems 9 Naming June-08-2009 Gerd Liefländer System Architecture Group 1 Overview Schedule of the Week Motivation & Introduction Basic Terms Naming System Flat Naming Hierarchical Location

More information

Microkernel Construction

Microkernel Construction Introduction SS2013 Class Goals Provide deeper understanding of OS mechanisms Introduce L4 principles and concepts Make you become enthusiastic L4 hackers Propaganda for OS research at 2 Administration

More information

Microkernel-based Operating Systems - Introduction

Microkernel-based Operating Systems - Introduction Faculty of Computer Science Institute for System Architecture, Operating Systems Group Microkernel-based Operating Systems - Introduction Carsten Weinhold Dresden, Oct 09 th 2012 Lecture Goals Provide

More information

Electrical Engineering Department EE 400, Experiment # 4 IP Addressing and Subnetting

Electrical Engineering Department EE 400, Experiment # 4 IP Addressing and Subnetting Electrical Engineering Department EE 400, Experiment # 4 IP Addressing and Subnetting Objectives: After this experiment, the students should be able to configure for networking, assign IP address, and

More information

Operating System Structure

Operating System Structure Operating System Structure Heechul Yun Disclaimer: some slides are adopted from the book authors slides with permission Recap: Memory Hierarchy Fast, Expensive Slow, Inexpensive 2 Recap Architectural support

More information

SecSpider: Distributed DNSSEC Monitoring and Key Learning

SecSpider: Distributed DNSSEC Monitoring and Key Learning SecSpider: Distributed DNSSEC Monitoring and Key Learning Eric Osterweil UCLA Joint work with Dan Massey and Lixia Zhang Colorado State University & UCLA 1 Who is Deploying DNSSEC? Monitoring Started From

More information

Distributed Operating Systems

Distributed Operating Systems Distributed Operating Systems Name no more precise Interesting/advanced Topics in Operating Systems scalability systems security modeling Some overlap with Distributed Systems (Prof Schill) In some cases

More information

Data Security and Privacy. Unix Discretionary Access Control

Data Security and Privacy. Unix Discretionary Access Control Data Security and Privacy Unix Discretionary Access Control 1 Readings for This Lecture Wikipedia Filesystem Permissions Other readings UNIX File and Directory Permissions and Modes http://www.hccfl.edu/pollock/aunix1/filepermissions.htm

More information

Unix File System. Learning command-line navigation of the file system is essential for efficient system usage

Unix File System. Learning command-line navigation of the file system is essential for efficient system usage ULI101 Week 02 Week Overview Unix file system File types and file naming Basic file system commands: pwd,cd,ls,mkdir,rmdir,mv,cp,rm man pages Text editing Common file utilities: cat,more,less,touch,file,find

More information

Workloads. CS 537 Lecture 16 File Systems Internals. Goals. Allocation Strategies. Michael Swift

Workloads. CS 537 Lecture 16 File Systems Internals. Goals. Allocation Strategies. Michael Swift Workloads CS 537 Lecture 16 File Systems Internals Michael Swift Motivation: Workloads influence design of file system File characteristics (measurements of UNIX and NT) Most files are small (about 8KB)

More information

APNIC elearning: DNS Concepts

APNIC elearning: DNS Concepts APNIC elearning: DNS Concepts 27 MAY 2015 11:00 AM AEST Brisbane (UTC+10) Issue Date: Revision: Introduction Presenter Sheryl Hermoso Training Officer sheryl@apnic.net Specialties: Network Security IPv6

More information

Distributed Application Development with Inferno

Distributed Application Development with Inferno _ Distributed Application Development with Inferno Ravi Sharma Inferno Network Software Solutions Bell Laboratories, Lucent Technologies Suite 400, 2 Paragon Way Freehold, NJ 07728 +1 732 577-2705 sharma@lucent.com

More information

Cristina Nita-Rotaru. CS355: Cryptography. Lecture 17: X509. PGP. Authentication protocols. Key establishment.

Cristina Nita-Rotaru. CS355: Cryptography. Lecture 17: X509. PGP. Authentication protocols. Key establishment. CS355: Cryptography Lecture 17: X509. PGP. Authentication protocols. Key establishment. Public Keys and Trust Public Key:P A Secret key: S A Public Key:P B Secret key: S B How are public keys stored How

More information

COMP 530: Operating Systems File Systems: Fundamentals

COMP 530: Operating Systems File Systems: Fundamentals File Systems: Fundamentals Don Porter Portions courtesy Emmett Witchel 1 Files What is a file? A named collection of related information recorded on secondary storage (e.g., disks) File attributes Name,

More information

Policy vs. Mechanism. Example Reference Monitors. Reference Monitors. CSE 380 Computer Operating Systems

Policy vs. Mechanism. Example Reference Monitors. Reference Monitors. CSE 380 Computer Operating Systems Policy vs. Mechanism CSE 380 Computer Operating Systems Instructor: Insup Lee and Dianna Xu University of Pennsylvania Fall 2003 Lecture Note: Protection Mechanisms q Access control policy is a specification

More information

CS519: Computer Networks. Lecture 6: Apr 5, 2004 Naming and DNS

CS519: Computer Networks. Lecture 6: Apr 5, 2004 Naming and DNS : Computer Networks Lecture 6: Apr 5, 2004 Naming and DNS Any problem in computer science can be solved with another layer of indirection David Wheeler Naming is a layer of indirection What problems does

More information

Processes. Process Concept

Processes. Process Concept Processes These slides are created by Dr. Huang of George Mason University. Students registered in Dr. Huang s courses at GMU can make a single machine readable copy and print a single copy of each slide

More information

Exercise Sheet 2. (Classifications of Operating Systems)

Exercise Sheet 2. (Classifications of Operating Systems) Exercise Sheet 2 Exercise 1 (Classifications of Operating Systems) 1. At any given moment, only a single program can be executed. What is the technical term for this operation mode? 2. What are half multi-user

More information

Chapter 3: Processes. Operating System Concepts 8th Edition

Chapter 3: Processes. Operating System Concepts 8th Edition Chapter 3: Processes Chapter 3: Processes Process Concept Process Scheduling Operations on Processes Interprocess Communication Examples of IPC Systems Communication in Client-Server Systems 3.2 Objectives

More information

Announcements Processes: Part II. Operating Systems. Autumn CS4023

Announcements Processes: Part II. Operating Systems. Autumn CS4023 Operating Systems Autumn 2018-2019 Outline Announcements 1 Announcements 2 Announcements Week04 lab: handin -m cs4023 -p w04 ICT session: Introduction to C programming Outline Announcements 1 Announcements

More information

The UNIX Time- Sharing System

The UNIX Time- Sharing System The UNIX Time- Sharing System Dennis M. Ritchie and Ken Thompson Bell Laboratories Communications of the ACM July 1974, Volume 17, Number 7 UNIX overview Unix is a general-purpose, multi-user, interactive

More information

Lab 4 File System. CS140 February 27, Slides adapted from previous quarters

Lab 4 File System. CS140 February 27, Slides adapted from previous quarters Lab 4 File System CS140 February 27, 2015 Slides adapted from previous quarters Logistics Lab 3 was due at noon today Lab 4 is due Friday, March 13 Overview Motivation Suggested Order of Implementation

More information

Overview LEARN. History of Linux Linux Architecture Linux File System Linux Access Linux Commands File Permission Editors Conclusion and Questions

Overview LEARN. History of Linux Linux Architecture Linux File System Linux Access Linux Commands File Permission Editors Conclusion and Questions Lanka Education and Research Network Linux Architecture, Linux File System, Linux Basic Commands 28 th November 2016 Dilum Samarasinhe () Overview History of Linux Linux Architecture Linux File System

More information

Introduction to Linux

Introduction to Linux Introduction to Linux Prof. Jin-Soo Kim( jinsookim@skku.edu) TA Sanghoon Han(sanghoon.han@csl.skku.edu) Computer Systems Laboratory Sungkyunkwan University http://csl.skku.edu Announcement (1) Please come

More information

CSE 380 Computer Operating Systems

CSE 380 Computer Operating Systems CSE 380 Computer Operating Systems Instructor: Insup Lee and Dianna Xu University of Pennsylvania Fall 2003 Lecture Note: Protection Mechanisms 1 Policy vs. Mechanism q Access control policy is a specification

More information

Labels and Information Flow

Labels and Information Flow Labels and Information Flow Robert Soulé March 21, 2007 Problem Motivation and History The military cares about information flow Everyone can read Unclassified Few can read Top Secret Problem Motivation

More information

Announcements/Reminders

Announcements/Reminders Announcements/Reminders Additional rmiregistry notes on the newsgroup CMPSCI 377: Operating Systems Lecture 15, Page 1 Today: File System Functionality Remember the high-level view of the OS as a translator

More information

EECS 482 Introduction to Operating Systems

EECS 482 Introduction to Operating Systems EECS 482 Introduction to Operating Systems Winter 2018 Baris Kasikci Slides by: Harsha V. Madhyastha Naming and directories How to specify file to be accessed? File name, click on icon, or describe contents

More information

Networking Applications

Networking Applications Networking Dr. Ayman A. Abdel-Hamid College of Computing and Information Technology Arab Academy for Science & Technology and Maritime Transport 1 Outline Introduction Name Space concepts Domain Name Space

More information

Operating System Structure

Operating System Structure Operating System Structure Heechul Yun Disclaimer: some slides are adopted from the book authors slides with permission Recap OS needs to understand architecture Hardware (CPU, memory, disk) trends and

More information

CSE 124 January 12, Winter 2016, UCSD Prof. George Porter

CSE 124 January 12, Winter 2016, UCSD Prof. George Porter CSE 124 January 12, 2016 Winter 2016, UCSD Prof. George Porter Announcements HW 2 due on Thursday Project 1 has been posted Today s plan: Finish discussing server sockets DNS: the Domain Name System API

More information

Removing files and directories, finding files and directories, controlling programs

Removing files and directories, finding files and directories, controlling programs Removing files and directories, finding files and directories, controlling programs Laboratory of Genomics & Bioinformatics in Parasitology Department of Parasitology, ICB, USP Removing files Files can

More information

CSE 5306 Distributed Systems

CSE 5306 Distributed Systems CSE 5306 Distributed Systems Naming Jia Rao http://ranger.uta.edu/~jrao/ 1 Naming Names play a critical role in all computer systems To access resources, uniquely identify entities, or refer to locations

More information

Last time. Security Policies and Models. Trusted Operating System Design. Bell La-Padula and Biba Security Models Information Flow Control

Last time. Security Policies and Models. Trusted Operating System Design. Bell La-Padula and Biba Security Models Information Flow Control Last time Security Policies and Models Bell La-Padula and Biba Security Models Information Flow Control Trusted Operating System Design Design Elements Security Features 10-1 This time Trusted Operating

More information

Kernels & Processes The Structure of the Operating System

Kernels & Processes The Structure of the Operating System COMP 111: Operating Systems (Fall 2013) Kernels & Processes The Structure of the Operating System Noah Mendelsohn Tufts University Email: noah@cs.tufts.edu Web: http://www.cs.tufts.edu/~noah Based on a

More information

Chapter 5 Naming. Names, Identifiers, and Addresses

Chapter 5 Naming. Names, Identifiers, and Addresses Chapter 5 Naming 1 Names, Identifiers, and Addresses In a distributed system, a name is used to refer to an entity (e.g., computer, service, remote object, file, user) An address is a name that refers

More information

MultiThreading. Object Orientated Programming in Java. Benjamin Kenwright

MultiThreading. Object Orientated Programming in Java. Benjamin Kenwright MultiThreading Object Orientated Programming in Java Benjamin Kenwright Outline Review Essential Java Multithreading Examples Today s Practical Review/Discussion Question Does the following code compile?

More information

Operating System Architecture. CS3026 Operating Systems Lecture 03

Operating System Architecture. CS3026 Operating Systems Lecture 03 Operating System Architecture CS3026 Operating Systems Lecture 03 The Role of an Operating System Service provider Provide a set of services to system users Resource allocator Exploit the hardware resources

More information

OS Virtualization. Linux Containers (LXC)

OS Virtualization. Linux Containers (LXC) OS Virtualization Emulate OS-level interface with native interface Lightweight virtual machines No hypervisor, OS provides necessary support Referred to as containers Solaris containers, BSD jails, Linux

More information

CSE 124 January 18, Winter 2017, UCSD Prof. George Porter

CSE 124 January 18, Winter 2017, UCSD Prof. George Porter CSE 124 January 18, 2017 Winter 2017, UCSD Prof. George Porter Comic by A&K of chaoslife.findchaos.com Lesson of the day 1: Always backup your computer Lesson of the day 2: That backup needs to be automatic!

More information

COURSE INTRODUCTION. Software Tools EECS2031 Winter 2018 Manos Papagelis. Thanks to Karen Reid and Alan J Rosenthal for material in these slides

COURSE INTRODUCTION. Software Tools EECS2031 Winter 2018 Manos Papagelis. Thanks to Karen Reid and Alan J Rosenthal for material in these slides COURSE INTRODUCTION Software Tools EECS2031 Winter 2018 Manos Papagelis Thanks to Karen Reid and Alan J Rosenthal for material in these slides What EECS2031 is about? A useful way to think about this course

More information

Week Overview. Unix file system File types and file naming Basic file system commands: pwd,cd,ls,mkdir,rmdir,mv,cp,rm man pages

Week Overview. Unix file system File types and file naming Basic file system commands: pwd,cd,ls,mkdir,rmdir,mv,cp,rm man pages ULI101 Week 02 Week Overview Unix file system File types and file naming Basic file system commands: pwd,cd,ls,mkdir,rmdir,mv,cp,rm man pages Text editing Common file utilities: cat,more,less,touch,file,find

More information

Welcome to Linux. Lecture 1.1

Welcome to Linux. Lecture 1.1 Welcome to Linux Lecture 1.1 Some history 1969 - the Unix operating system by Ken Thompson and Dennis Ritchie Unix became widely adopted by academics and businesses 1977 - the Berkeley Software Distribution

More information

Security Architecture

Security Architecture Security Architecture We ve been looking at how particular applications are secured We need to secure not just a few particular applications, but many applications, running on separate machines We need

More information

Inter-Process Communication

Inter-Process Communication Faculty of Computer Science Institute for System Architecture, Operating Systems Group Inter-Process Communication Björn Döbel Dresden, So far... Microkernels Basic resources in an operating system Tasks

More information

1 System & Activities

1 System & Activities 1 System & Activities Gerd Liefländer 23. April 2009 System Architecture Group 2009 Universität Karlsruhe (TU), System Architecture Group 1 Roadmap for Today & Next Week System Structure System Calls (Java)

More information

Secure Architecture Principles

Secure Architecture Principles Secure Architecture Principles Isolation and Least Privilege Access Control Concepts Operating Systems Browser Isolation and Least Privilege Original slides were created by Prof. John Mitchel 1 Secure

More information

Exam Guide COMPSCI 386

Exam Guide COMPSCI 386 FOUNDATIONS We discussed in broad terms the three primary responsibilities of an operating system. Describe each. What is a process? What is a thread? What parts of a process are shared by threads? What

More information

UNIX Kernel. UNIX History

UNIX Kernel. UNIX History UNIX History UNIX Kernel 1965-1969 Bell Labs participates in the Multics project. 1969 Ken Thomson develops the first UNIX version in assembly for an DEC PDP-7 1973 Dennis Ritchie helps to rewrite UNIX

More information

Processes and Non-Preemptive Scheduling. Otto J. Anshus

Processes and Non-Preemptive Scheduling. Otto J. Anshus Processes and Non-Preemptive Scheduling Otto J. Anshus Threads Processes Processes Kernel An aside on concurrency Timing and sequence of events are key concurrency issues We will study classical OS concurrency

More information

To understand this, let's build a layered model from the bottom up. Layers include: device driver filesystem file

To understand this, let's build a layered model from the bottom up. Layers include: device driver filesystem file Disks_and_Layers Page 1 So what is a file? Tuesday, November 17, 2015 1:23 PM This is a difficult question. To understand this, let's build a layered model from the bottom up. Layers include: device driver

More information

MCTS Guide to Microsoft Windows Server 2008 Network Infrastructure Configuration. Chapter 5 Introduction to DNS in Windows Server 2008

MCTS Guide to Microsoft Windows Server 2008 Network Infrastructure Configuration. Chapter 5 Introduction to DNS in Windows Server 2008 MCTS Guide to Microsoft Windows Server 2008 Network Infrastructure Configuration Chapter 5 Introduction to DNS in Windows Server 2008 Objectives Discuss the basics of the Domain Name System (DNS) and its

More information

Part V. Process Management. Sadeghi, Cubaleska RUB Course Operating System Security Memory Management and Protection

Part V. Process Management. Sadeghi, Cubaleska RUB Course Operating System Security Memory Management and Protection Part V Process Management Sadeghi, Cubaleska RUB 2008-09 Course Operating System Security Memory Management and Protection Roadmap of Chapter 5 Notion of Process and Thread Data Structures Used to Manage

More information