LINUX System _English-Only Lecture__1_ by hcj


									 리눅스: Lecture 2
운영체제 및 UNIX 요약

 중앙대학교 컴퓨터공학부
    손 봉 수 교수
            Operating Systems
   OS 는 사용자와 HW간의 중간 매개체 역할을 한다.

   자원 관리자 (Resource Manager)
     시스템 자원(CPU, Memory, Disks, Networks)을 할당하고 관리함.
     자원의 효율적이고 공정한 사용을 목표로 함.

   인터페이스(Interface)
     OS 는 사용자와 응용프로그램이 시스템 자원에 접근하고 사용할수
      있도록 함.
     사용자 프로그램의 실행을 제어함.

   효율성, 공정성, 정확성, 추상성(abstract) 지향
Computer System Structure

          HW – 기본적인 computing resources 제공
               CPU, memory, disk, …

          OS 커널 (Kernel)
               HW를 직접 제어
               System call
                    시스템 자원에 대하여 OS에 의해 제공되는 서비스가 일종의
                     함수 형태로 되어있는 programming interface
               커널은 전원이 켜져있는 컴퓨터에서 항상 실행되고 있다.
                다른 프로그램은 OS와 함께 제공되는 시스템 프로그램
                (system program) 이거나 응용 프로그램(application

          응용 프로그램 (Application programs)
               시스템 자원이 사용자의 문제를 해결하는데 사용되는 방
                식을 정의함.
               쉘 또는 GUI를 통해 실행됨
               Ex) 워드프로세서, 컴퓨터 게임 등
                   Operating Systems
   운영체제의 기능
       프로세스 관리(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)
                   저장 장치의 계층
                 (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
     Cache<->main memory, main memory<->disk
     Important principle, performed at many levels in computer
             멀티프로그래밍, 시분할
   멀티프로그래밍(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

   시분할 (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
              Operating Systems
   MS Windows
       Most popular on desktop computers
       Gaining popularity in servers.

       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
       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
 Ken Thompson et al. (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)

       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
       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
   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, …

To top