Understanding the OS Architecture and Linux History. Zhiqiang Lin



Similar documents
CSE 265: System and Network Administration

Unit 10 : An Introduction to Linux OS

Example of Standard API

CSE 265: System and Network Administration. CSE 265: System and Network Administration

(Advanced Topics in) Operating Systems

Components of a Computing System. What is an Operating System? Resources. Abstract Resources. Goals of an OS. System Software

CS 3530 Operating Systems. L02 OS Intro Part 1 Dr. Ken Hoganson

Chapter 1: Introduction. What is an Operating System?

CSE 120 Principles of Operating Systems. Modules, Interfaces, Structure

CSE 265: System and Network Administration. CSE 265: System and Network Administration

Star System Deitel & Associates, Inc. All rights reserved.

Computers: Tools for an Information Age

Operating System Structures

After studying this lesson, you will have a clear understanding of, what an Operating System is. functions of an Operating System

FAME Operating Systems

Fall Lecture 1. Operating Systems: Configuration & Use CIS345. Introduction to Operating Systems. Mostafa Z. Ali. mzali@just.edu.

OS Concepts and structure

Lecture 1: Introduction to UNIX

Operating System Components

Operating Systems. Design and Implementation. Andrew S. Tanenbaum Melanie Rieback Arno Bakker. Vrije Universiteit Amsterdam

Outline. Operating Systems Design and Implementation. Chap 1 - Overview. What is an OS? 28/10/2014. Introduction

Last Class: OS and Computer Architecture. Last Class: OS and Computer Architecture


Kernel Types System Calls. Operating Systems. Autumn 2013 CS4023

3 - Introduction to Operating Systems

Introduction to Linux

Virtual Machines.

ELEC 377. Operating Systems. Week 1 Class 3

A Comparison of Distributed Systems: ChorusOS and Amoeba

HULFT7e for i5os(ver.7.3.0) Effective on 3 Apr HULFT7e for UNIX-M(Ver.7.3.0) HULFT7e for UNIX-L(Ver.7.3.0) Effective on 3 Apr.

CS420: Operating Systems OS Services & System Calls

CHAPTER 15: Operating Systems: An Overview

Operating Systems Introduction

Operating Systems. Study this screen display and answer these questions.

Objectives. Chapter 2: Operating-System Structures. Operating System Services (Cont.) Operating System Services. Operating System Services (Cont.

Review from last time. CS 537 Lecture 3 OS Structure. OS structure. What you should learn from this lecture

Last Class: OS and Computer Architecture. Last Class: OS and Computer Architecture

Components of a Computer System

Unit 4 Objectives. System Software. Component 4: Introduction to Information and Computer Science. Unit 4: Application and System Software Lecture 2

Operating Systems 4 th Class

Chapter 5: System Software: Operating Systems and Utility Programs

Software: Systems and Application Software

Operating System Structure

Chapter 10 Case Study 1: LINUX

OPERATING SYSTEM SERVICES

How To Understand The History Of An Operating System

International Engineering Journal For Research & Development

Functions of NOS Overview of NOS Characteristics Differences Between PC and a NOS Multiuser, Multitasking, and Multiprocessor Systems NOS Server

Chapter 4 IT Infrastructure: Hardware and Software

CPS221 Lecture: Operating System Structure; Virtual Machines

CS3600 SYSTEMS AND NETWORKS

Operating Systems OS Architecture Models

Mobile Operating Systems. Week I

Network operating systems typically are used to run computers that act as servers. They provide the capabilities required for network operation.

Evolution of the Data Center

System Structures. Services Interface Structure

Introduction. General Course Information. Perspectives of the Computer. General Course Information (cont.) Operating Systems 1/12/2005

CS 377: Operating Systems. Outline. A review of what you ve learned, and how it applies to a real operating system. Lecture 25 - Linux Case Study

How do Users and Processes interact with the Operating System? Services for Processes. OS Structure with Services. Services for the OS Itself

Chapter 2 System Structures

Operating Systems Concepts. Chapter 1: Introduction. What is an operating system? Why might I want a virtual machine?

& Data Processing 2. Exercise 1: Introduction to Operating System Concepts. Dipl.-Ing. Bogdan Marin. Universität Duisburg-Essen

CS 140: Introduction to Computer Science A Brief History of Computer Science. Edwin Rodríguez

How To Write A Windows Operating System (Windows) (For Linux) (Windows 2) (Programming) (Operating System) (Permanent) (Powerbook) (Unix) (Amd64) (Win2) (X

Tools Page 1 of 13 ON PROGRAM TRANSLATION. A priori, we have two translation mechanisms available:

PARALLELS SERVER 4 BARE METAL README

Embedded Linux development training 4 days session

Computer Systems and Networks. ECPE 170 Jeff Shafer University of the Pacific. Linux Basics

Operating Systems. Notice that, before you can run programs that you write in JavaScript, you need to jump through a few hoops first

Programming for GCSE Topic H: Operating Systems

COS 318: Operating Systems

Operating System Organization. Purpose of an OS

OPERATING SYSTEMS Software in the Background. Chapter 2

Computer Architectures

Contents. Chapter 1. Introduction

Computer Science 4302 Operating Systems. Student Learning Outcomes

ReactOS is (not) Windows. Windows internals and why ReactOS couldn t just use a Linux kernel

Chapter 2: Operating-System Structures. Operating System Concepts 9 th Edition

Chapter 7A. Functions of Operating Systems. Types of Operating Systems. Operating System Basics

LSN 10 Linux Overview

An introduction to operating systems

Virtualization and Other Tricks.

CSC230 Getting Starting in C. Tyler Bletsch

Operating System Software

Chapter 3 Operating-System Structures

Kernel Projects for Linux Web Version of First Edition

Chap-02, Hardware and Software. Hardware Model

Free software GNU/Linux TOR project

DB2 Connect for NT and the Microsoft Windows NT Load Balancing Service

Transcription:

CS 6V81-05: System Security and Malicious Code Analysis Understanding the OS Architecture and Linux History Zhiqiang Lin Department of Computer Science University of Texas at Dallas February 15 th, 2012

Outline 1 Basic Concepts 2 Kernel Architecture 3 GNU/Linux 4 Summary

Outline 1 Basic Concepts 2 Kernel Architecture 3 GNU/Linux 4 Summary

Abstract View of A Computer System

Concrete View of A Computer systems

Computer System Components 1 Hardware - provides basic computing resources (CPU, memory, I/O devices). 2 Operating system-controls and coordinates the use of the hardware among the various application programs for the various users. 3 Applications programs-define the ways in which the system resources are used to solve the computing problems of the users (compilers, database systems, video games, business programs). 4 Users (people, machines, other computers).

What is an Operating System An operating system is the "permanent" software that controls/abstracts hardware User applications can thus be simpler and device-independent

Importance of Operating Systems System API are the only interface between user applications and hardware API are designed for general-purpose, not performance driven (e.g. network applications) OS code cannot allow any bug Any break(e.g. invalid access) causes reboot The owner of OS technology controls the software & hardware industry Operating systems and computer architecture influence each other (Wintel)

Programmer Perspective

Outline 1 Basic Concepts 2 Kernel Architecture 3 GNU/Linux 4 Summary

OS Kernel Approaches Integrated Kernel Approach "Monolithic kernel" Flat function calling UnixWare, Solaris, AIX, HP-UX, DG-UX, IRIX, Linux, etc Microkernel Approach Serverization based on MK Message passing Cray UNICOS/mk, CMU Mach Chorus, Digital UNIX, ETRI MISIX, Linux Mk, etc

2-layered OS Architecture

3-layered OS Architecture

3-layered with Microkernel OS

4-layered OS Architecture: android

Modern operating systems x86 platform Linux Windows Mac platform-mac i-os Oracle/Sun Solaris & Unix (Sun workstations) IBM AIX (mainframes) Embedded systems (special-purpose OS) Palm (Handheld), PocketPC (Windows CE), etc Xbox, etc Android (Linux)

System Category Mainframe Systems Desktop Systems Parallel Systems Distributed Systems Real-Time Systems Handheld Systems

Migration of Operating-System Concepts and Features source: OPERATING SYSTEM CONCEPTS Sixth Edition

Case Study: Unix Architecture Typical computer system consists of: Hardware Operating system Applications and utilities Typical OS includes a user interface (and programmer interface) or command interpreter (the shell)

Case Study: Unix Architecture

Case Study: Unix Functional Layer Model

Outline 1 Basic Concepts 2 Kernel Architecture 3 GNU/Linux 4 Summary

Dennis Ritchie An American computer scientist who "helped shape the digital era." He created the C programming language and, with long-time colleague Ken Thompson, the Unix operating system. Ritchie and Thompson received the Turing Award from the ACM in 1983, the Hamming Medal from the IEEE in 1990 and the National Medal of Technology from President Clinton in 1999. Ritchie was the head of Lucent Technologies System Software Research Department when he retired in 2007. He was the R in K&R C and commonly known by his username dmr... http://en.wikipedia.org/wiki/dennis_ritchie September 9, 1941 October 12, 2011 Computer Scientist One of the greatest hackers Turing Award...

Kenneth Thompson An American pioneer of computer science. Having worked at Bell Labs for most of his career, Thompson is notable for his work with the B programming language (basing it mainly on the BCPL language he had used to write Unix while in the MULTICS project), the C programming language, and as one of the creators and early developers of the Unix and Plan 9 operating systems. Other notable contributions included his work on regular expressions and early computer text editors QED and ed, his work on computer chess that included creation of endgame tablebases and the chess machine Belle, and most recently the co-creation of Google s programming language Go... http://en.wikipedia.org/wiki/ken_thompson Born February 4, 1943 Computer Scientist One of the greatest hackers Turing Award...

What were real hacker doing at 1980s

Basic Concepts Kernel Architecture GNU/Linux Summary Richard Stallman In September 1983, he launched the GNU Project to create a free Unix-like operating system, and he has been the project s lead architect and organizer. With the launch of the GNU Project, he initiated the free software movement; in October 1985 he founded the Free Software Foundation... http://en.wikipedia.org/wiki/richard_stallman Born March 16, 1953 Software freedom activist and a programmer One of the greatest hackers

Andrew S. Tanenbaum Andrew Stuart "Andy" Tanenbaum (sometimes referred to by the handle ast) (born March 16, 1944) is a professor of computer science at the Vrije Universiteit, Amsterdam in the Netherlands. He is best known as the author of MINIX, a free Unix-like operating system for teaching purposes, and for his computer science textbooks, regarded as standard texts in the field. He regards his teaching job as his most important work...http://en.wikipedia.org/wiki/andrew_s._tanenbaum Born March 16, 1944 A Professor ACM/IEEE/Fellow,...

Linus Torvalds He is best known for having initiated the development of the open source Linux kernel. He later became the chief architect of the Linux kernel, and now acts as the project s coordinator. He also created the revision control system Git as well as the Scuba diving log book software Subsurface...http://en.wikipedia.org/wiki/Linus_Torvalds Born December 28, 1969 Software engineer One of the greatest hackers

The GNU Project

Birth of Linux

Definition of Linux Linux is a Unix clone written from scratch by Linus Torvalds with assistance from a loosely-knit team of hackers across the Net. It aims towards POSIX compliance. It has all the features you would expect in a modern fully-fledged Unix, including true multitasking, virtual memory, shared libraries, demand loading, shared copy-on-write executables, proper memory management and TCP/IP networking. It is distributed under the GNU General Public License. Linux was first developed for 386/486-based PCs. These days it also runs on ARMs, DEC Alphas, SUN Sparcs, M68000 machines (like Atari and Amiga), MIPS and PowerPC, and others.

Linux Architecture

Outline 1 Basic Concepts 2 Kernel Architecture 3 GNU/Linux 4 Summary

Summary Operating System Core technique in Information Technology Windows/*Unix* Why GNU/Linux UNIX/INTERNET/GNU/MINIX/POSIX/ A great opportunity to digging the kernel details

References 1 https://netfiles.uiuc.edu/rhasan/linux/ 2 https://www.linux.com/component/content/article/197- stories-of-linux/427910-the-birth-of-linux-how-linux-gotstarted 3 http://www.aboutlinux.info/2005/11/complete-concisehistory-of-gnulinux.html