LINUX System : Lecture 2 OS and UNIX summary Bong-Soo Sohn Assistant Professor School of Computer Science and Engineering Chung-Ang University Acknowledgement.

Slides:



Advertisements
Similar presentations
CMPT 300: Operating Systems I Dr. Mohamed Hefeeda
Advertisements

Chapter 1: Introduction
UNIX Chapter 01 Overview of Operating Systems Mr. Mohammad A. Smirat.
1 School of Computing Science Simon Fraser University CMPT 300: Operating Systems I Dr. Mohamed Hefeeda.
Operating Systems: Software in the Background
Silberschatz, Galvin and Gagne  Operating System Concepts Chapter 1: Introduction What is an Operating System? Mainframe Systems Desktop Systems.
CMPTR1 CHAPTER 3 COMPUTER SOFTWARE Application Software – The programs/software/apps that we run to do things like word processing, web browsing, and games.
Understanding Operating Systems 1 Overview Introduction Operating System Components Machine Hardware Types of Operating Systems Brief History of Operating.
Introduction  What is an Operating System  What Operating Systems Do  How is it filling our life 1-1 Lecture 1.
Operating Systems - Introduction S H Srinivasan
Lecture 1: Introduction CS170 Spring 2015 Chapter 1, the text book. T. Yang.
Introduction Operating Systems’ Concepts and Structure Lecture 1 ~ Spring, 2008 ~ Spring, 2008TUCN. Operating Systems. Lecture 1.
Xuan Guo Chapter 1 What is UNIX? Graham Glass and King Ables, UNIX for Programmers and Users, Third Edition, Pearson Prentice Hall, 2003 Original Notes.
1/16/2008CSCI 315 Operating Systems Design1 Introduction Notice: The slides for this lecture have been largely based on those accompanying the textbook.
Silberschatz, Galvin and Gagne  Operating System Concepts Chapter 1: Introduction What is an Operating System? Mainframe Systems Desktop Systems.
Operating Systems.
Linux Operating system
Unix Presentation. What is an Operating System An operating system (OS) is a program that allows you to interact with the computer -- all of the software.
The University of Akron Summit College Business Technology Department Computer Information Systems 2440: 145 Operating Systems Introduction to UNIX/Linux.
Linux Basics CS 302. Outline  What is Unix?  What is Linux?  Virtual Machine.
Operating Systems Bryce Boe 2012/08/07 CS32, Summer 2012 B.
Objectives To provide a grand tour of the major operating systems components To provide coverage of basic computer system organization.
CS212: OPERATING SYSTEM Lecture 1: Introduction 1.
LINUX System : Lecture 2 (English-Only Lecture) Bong-Soo Sohn Assistant Professor School of Computer Science and Engineering Chung-Ang University Acknowledgement.
Operating Systems CS3502 Fall 2014 Dr. Jose M. Garrido
 What is OS? What is OS?  What OS does? What OS does?  Structure of Operating System: Structure of Operating System:  Evolution of OS Evolution of.
UNIX and Shell Programming (06CS36)
Operating Systems.
유닉스, 왜 공부하나 ? 자동화 –GUI vs commands 서버 개발 능력, 관리 능력 – 데스크탑에서의 개발과 관리와의 차이 ?
LINUX System : Lecture 2 OS and UNIX summary Bong-Soo Sohn Assistant Professor School of Computer Science and Engineering Chung-Ang University Acknowledgement.
Silberschatz, Galvin and Gagne  Operating System Concepts Chapter 1: Introduction What is an Operating System? Mainframe Systems Desktop Systems.
Silberschatz, Galvin and Gagne  2002 Modified for CSCI 399, Royden, Operating System Concepts Operating Systems Lecture 1 Introduction Read:
COSC513 Project Linux Features Instructor: Prof. Mort Anvari Student: Yingfeng Luo ID: #
Operating Systems. Operating systems  Most important program that runs on a computer  Every general-purpose (such as desktop) computer must have OS.
Unix Background. Introducing Unix Brief Unix History u In 1969, Ken Thompson at AT&T Bell Labs began developing Unix. –First done in assembly language.
المحاضرة الاولى Operating Systems. The general objectives of this decision explain the concepts and the importance of operating systems and development.
CS 390 Unix Programming Summer Unix Programming - CS 3902 Course Details Online Information Please check.
INVITATION TO COMPUTER SCIENCE, JAVA VERSION, THIRD EDITION Chapter 6: An Introduction to System Software and Virtual Machines.
1.1 Operating System Concepts Introduction What is an Operating System? Mainframe Systems Desktop Systems Multiprocessor Systems Distributed Systems Clustered.
LINUX System : Lecture 1 Course Overview Bong-Soo Sohn Associate Professor School of Computer Science and Engineering Chung-Ang University.
Operating Systems David Goldschmidt, Ph.D. Computer Science The College of Saint Rose CIS 432.
리눅스 : Lecture 2 운영체제 및 UNIX 요약 중앙대학교 컴퓨터공학부 손 봉 수 교수.
CS2204: Introduction to Unix January 19 th, 2004 Class Meeting 1 * Notes adapted by Christian Allgood from previous work by other members of the CS faculty.
Operating System Principles And Multitasking
© Paradigm Publishing, Inc. 4-1 Chapter 4 System Software Chapter 4 System Software.
The UNIX Time-sharing system
Basic UNIX Concepts. Why We Need an Operating System (OS) OS interacts with hardware and manages programs. A safe environment for programs to run is required.
Linux History C151 Multi-User Operating Systems. Open Source Programming Open source programming: 1983, Richard Stallman started the GNU Project (GNU.
UNIX History UNIX began as a research project. UNIX System V developed at Bell Laboratories. BSD (Berkley Software Distribution) UNIX XENIX UNIX Sun Operating.
Introduction to UNIX CS465. What is UNIX? (1) UNIX is an Operating System (OS). An operating system is a control program that allocates the computer's.
Chapter 1 Basic Concepts of Operating Systems Introduction Software A program is a sequence of instructions that enables the computer to carry.
Operating Systems.
Agenda UNX122_022_w1_p3 Overview of UNIX
Programming for GCSE Topic 5.2: Operating Systems T eaching L ondon C omputing William Marsh School of Electronic Engineering and Computer Science Queen.
Chapter 1: Introduction to Linux. 2 Introduction Computer Components: –Hardware –Software Types of hardware and software Important components of an OS.
CS4315A. Berrached:CMS:UHD1 Introduction to Operating Systems Chapter 1.
CEG 2400 FALL 2012 Linux/UNIX Network Operating Systems.
WHY AN OPERATING SYSTEM (OS) OS interacts with hardware and manages programs. Programs not expected to know which hardware they will run on. Must be possible.
Chapter 1: Introduction What is an Operating System? Mainframe Systems Desktop Systems Multiprocessor Systems Distributed Systems Clustered System Real.
Introduction to unix. The UNIX Operating System An operating system "OS” is a set of programs that controls a computer. It controls both the hardware.
UDel CISC361 Study Operating System principles - processes, threads - scheduling - mutual exclusion - synchronization - deadlocks - memory management -
Operating System & Application Software
Lecture 1-Part 2: Operating-System Structures
2. OPERATING SYSTEM 2.1 Operating System Function
Introduction to Operating System (OS)
Chapter 1: Introduction
Chapter 2: System Structures
Chapter 2: The Linux System Part 1
The Main Features of Operating Systems
Introduction to Operating Systems
Presentation transcript:

LINUX System : Lecture 2 OS and UNIX summary Bong-Soo Sohn Assistant Professor School of Computer Science and Engineering Chung-Ang University Acknowledgement : (i) wikipedia.org, (ii)

Operating Systems OS acts as an intermediary between user and HW Resource Manager Allocates and manages system resources (CPU, Memory, Disks, Networks, … ) Efficient and fair use of the resources Interface OS allows users and application programs to access system resources Controls the execution of user programs accurately Efficiently, Fairly, Safely(Accurately), Abstractly

Computer System Structure HW – provides basic computing resources CPU, memory, disk (flash memory), … OS Kernel direct control of underlying HW System call Programming interface to the services provided by the OS The one program running at all times on the computer is the kernel. Everything else is either a system program (shipped with OS) or an application program Application programs Define the ways in which the system resources are used to solve user problems executed thru shell/GUI. Ex) word processor, video games, etc

Operating Systems Functionality Process Management CPU scheduling : batch vs time-sharing Memory Management Memory allocation : determine what is in memory when? Virtual memory : a technique that gives an application program the impression that it has large contiguous working memory, while in fact it is physically fragmented and may even overflow on to disk storage. Disk and file system Device driver : interface for communicating with HW devices Networking : supports network protocols. (ex) TCP/IP Security : authentication (login), authorization (file permission), … UI : GUI (Graphical User Interface), CLI (Command Line Interface) OS comes with application programs that provide an interface for managing OS.

Storage Hierarchy Register, Cache, Main memory, Secondary Storage (disks), Magnetic tapes Why hierarchical structure? Speed Cost Volatility Caching Copying information into faster storage system. Faster storage checked first to determine if information is there Cache main memory, main memory disk Important principle, performed at many levels in computer

OS Structures Multiprogramming a technique used to utilize maximum CPU time by running multiple programs Multiprogramming organizes jobs (code and data) so CPU always has one to execute One job is selected and run via job scheduler When a running job has to wait for I/O, OS switches to another job Multitasking (time-sharing) CPU switches jobs so frequently that users can interact with each job while it is running. Creates interactive computing Response time can be controlled If processes don’t fit in memory, swapping moves them in and out to run

Operating Systems MS Windows Most popular on desktop computers Gaining popularity in servers. UNIX/LINUX Most popular in server environments LINUX are gaining popularity on desktop PC.

UNIX History Created by Ken Thompson et al. ( a researcher at AT&T Bell Lab) UNICS(1969) (shortened to UNIX later) : first version (Assembly) Released Fifth version of UNIX kernel was rewritten in C, which was a big step forwards in terms of system portability (1973) EX) LINUX, FreeBSD, Solaris, AIX, HP-UX, IRIX, etc

UNIX-like OS

UNIX 장점 has been popular for more than two decades Portability (platform-independent) Written mostly in C + a few in assembly language Kernel size is small Multi-user, multi-tasking (interactive) environment Security (Permission) Stability Powerful networking capabilities (client-server model) LINUX is free / open source code Suitable for using as a server

UNIX 장점 UNIX is simple Clear design : 상대적으로 적은 개수의 system call Make each program do one thing well. (combined with pipe) Everything is file Uniform access to file, device and socket Written in C portability Fast process creation Various research (fork with COW) Robust IPC mechanism

LINUX Developed by Linus Torvalds( 핀란드 헬싱키대 ), in 1991 (22yo) Free open source UNIX OS for PC GPL license : GNU project by Richard Stallman 리눅스는 LINUX 커널 (Linus Torvalds) + LINUX 에서 실행되는 UNIX utilities/applications (GNU project) 로 구성됨 Now run on mainframe, supercomputer, embedded/smart system Open source code nature any one can add features and correct deficiencies. Turned into collaboration of volunteer developers around the world. Several different distributions (e.g. Redhat, Debian, … etc) a prepackaged kernel, system utilities, GUI, application programs Having all advantages of UNIX with low cost

LINUX Kernel Device driver support for various HW device Advanced processor and memory management Support different types of file system Shells / GUI : two forms of command input Textual command line shells (e.g. C shell, … ) Graphical user interface (e.g. GNOME window manager) System utilities Virtually every UNIX system utilities were ported to LINUX Include daemons server program running as a background process Application programs Come with standard application programs e.g. vi, emacs, xv, gcc/g++, xfig, latex, …

GPL (General Public License) GNU 에서 만든 free software license GNU GPL 이 적용된 SW 는 다음 사항을 강제함. 컴퓨터 프로그램을 어떠한 목적으로든지 사용할 수 있다. 다만 법 으로 제한하는 행위는 할 수 없다. 컴퓨터 프로그램의 실행 복사본은 언제나 프로그램의 소스 코드 와 함께 판매하거나 소스코드를 무료로 배포해야 한다. 컴퓨터 프로그램의 소스 코드를 용도에 따라 변경할 수 있다. 변경된 컴퓨터 프로그램 역시 프로그램의 소스 코드를 반드시 공 개 배포해야 한다. 변경된 컴퓨터 프로그램 역시 반드시 똑같은 라이선스를 취해야 한다. 즉 GPL 라이선스를 적용해야 한다.