* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
Download LINUX System (English
Linux adoption wikipedia , lookup
Distributed operating system wikipedia , lookup
Burroughs MCP wikipedia , lookup
Berkeley Software Distribution wikipedia , lookup
Copland (operating system) wikipedia , lookup
Plan 9 from Bell Labs wikipedia , lookup
Process management (computing) wikipedia , lookup
Security-focused operating system wikipedia , lookup
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) http://www.doc.ic.ac.uk/~wjk/UnixIntro 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, … 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 Memory Management CPU scheduling : batch vs time-sharing 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 simultanously Single user cannot keep CPU and I/O devices busy at all times. 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 System has been popular for more than two decades Portability Written mostly in C + a few in assembly language Kernel size is small Multi-user, multi-tasking environment Stability Powerful networking capabilities Free, open source code(LINUX) Suitable for using as a server UNIX History Created by Ken Thompson et al. ( a researcher at AT&T Bell Lab) UNICS(1969) (shortened to UNIX later) : first version Released Fifth version of UNIX kernel was rewritten in C, which was a big step forwards in terms of system portability (1973) LINUX Developed by Linus Torvalds, a finnish undergrad student, in 1991 Free open source UNIX OS for PC Open source code nature means any one can add features and correct deficiencies. Turned in to collaboration of hundreds of volunteer developers around the world. Several different distributions (e.g. Redhat, Debian, … etc) Distribution comprises a prepackaged kernel, system utilities, GUI, application programs LINUX Kernel Shells / GUI : two forms of command input Device driver support for various HW device Advanced processor and memory management Support different types of file system 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, …