제 4 강 운영체제 개요 및 리눅스 실습
아깝지만 쓸모 없는 물건
항공 서비스 서비스 대상: 승객, 화물 Pilot: Chuck Yeager, 김아무개, Airplane: B747, DC10, A300, etc
컴퓨터의 서비스 서비스의 대상: Powerpoint, Excel, 워드 Pilot: Windows2000, Linux, MacOS Airplane: 삼성, IBM, Compaq, etc
컴퓨터 서비스의 구성
빈 컴퓨터 내장 프로그램 컴퓨터 ? 기억장치(RAM)에 프로그램이 저장 (내장프로그램방식) RAM은 전원이 꺼지면 지워진다. 그렇다면 전원을 켜는 순간은? ROM: Read-Only Memory 지워지지 않음 융통성이 없음
OS는 어디에? Disk에 저장 ROM에는 최초 (부팅시) OS를 HDD에서 가져오는 프로그램이 저장 전원 ON 시에는 ROM의 번지부터 시작 BIOS (Basic Input/Output System)
OS Kernel Runs all the time Schedules tasks Manages memories
자원의 관리 Memory CPU Peripheral devices
사용자와의 상호작용 GUI Command line interpreter Shell
프로그램의 작성과 수행 OS 편집기 compiler 사용자 Etc. C 프로그램을 입력하게 해 주시오. 편집기 구동 편집기로 프로그램 입력 C 프로그램을 2진 프로그램으로 바꾸어 주시요. 컴파일러 구동 2진 프로그램을 수행시켜 주시오 Etc.
C Programming Language Mid-high level language Originated from Basic Combined Programming Language (Bell Lab) Dennis Ritchie 1977 “casting” 1978 C programming Language by K&R A.K.A. “the white book” Now standardized as ANSI C (American National Standards Institute)
ANSI/ISO C Proliferation of compilers in the 80’s Portability issues Preprocessor directives C library ANSI X3J11 committee 1990 standardized ANSI C
C compilers Sun, HP, Borland, Microsoft Free Software Foundation: gcc Integrated Tools: Compiler Linker Debugger Project manager Other utilities
Integrated Development Environment (IDE)
Example (Linux)
복습 컴퓨터 실행 시 프로그램이 들어 있는 곳은? RAM(Random Access Memory) 컴퓨터가 최초 작동될 때 필요한 프로그램은 어디에 들어 있나? ROM (Read-only memory) C언어가 만들어진 곳은? Bell연구소
복습 컴파일러, 링커, 디버거 등 여러 도구가 연계되어 있는 종합적인 도구는? 답: IDE (Integrated Development Environment) 현재 많이 사용되는 C언어는 표준화 되어 있다. 이 표준 기구는? 답: ANSI와 ISO 하드디스크에서 운영체제를 최초에 가져오기 위해 필요한 기본 입출력을 해주는 제어 프로그램은? 답: BIOS
리눅스(Linux)개요
Linux 개요 Initially developed by Linus Torvalds Based on UNIX Runs on Intel, Sun, Mac etc. GNU general Public License Anyone can modify and redistribute it Cannot stop others from redistributing the software
Linux Distribution 설치 가능한 Package OS kernel + other software Usually on CD-ROM’s or DVD’s E.g. Red Hat, Corel, Debian, SuSE, Caldera, Fedora
Features Free Good Programming Environment Reliable: Less need for rebooting Stable multi-tasking: several tasks/users can use a computer Networking capabilities TCP/IP, telnet, ftp, mail, web server, client X-window (not MS windows) network-transparent windowing system
Minimum Hardware 80386 and above 4MB RAM 400MB HDD Very small footprint Better Hardware needed for GUI, DNS, Web server, etc.
Running telnet “telnet” is a remote client Can use a remote computer on A PC or Another UNIX Not graphical window Just text For using X window, use X window emulators
telnet?
시작하기 전에 로그인할 서버의 주소 자신의 계정(login name) 비밀 번호를 알아야 함
Log-in (telnet)
Logging in (zterm)
Logging out exit
Windows Directory(folder)
Linux Directory 보여주는 방법만 다름 Text mode 에서는 directory의 내용을 보여달라고 요청을 해야 함 X-Window mode 에서는 MS-Windows 처럼 그냥 보여짐
Home directory login 직후의 기본 directory
모든 shell 명령 (Linux 명령) 뒤에는 Enter key 를 쳐야 실행됨 pwd: Where am I? Present Working Directory pwd Enter 모든 shell 명령 (Linux 명령) 뒤에는 Enter key 를 쳐야 실행됨
ls: what’s in the directory “list” 의 약자 ls ls –l ls -a Enter 앞으로는 생략함
Changing the current dir cd dirname 이 표시는 실제 d-i-r-... 이렇게 입력하라는 뜻이 아니고 적절한 directory 이름으로 대치하라는 것.
Creating a file (w/o editor) cat 명령어 cat > filename content... ... ^d 누르고 d 치고 손떼고 ctrl ^d ^c 등등 또는 ctl-D ctl-C 등으로 표시 ctrl
파일 내용 보기 cat filename 여러개 파일 연속해서 출력 cat file1 file2 file3
Copying files cp filename1 filename2
Moving/Renaming mv filename1 filename2 mv filename dirname
파일 없애기 rm filename Q: rm * ? rm a* ?
Making a new directory mkdir dirname
Viewing files more filename Enter to proceed one line Spacebar to proceed one page ‘b’ to go back a page *적절한 파일을 하나 골라놓을 것. (긴 것으로)
cd 대신에 pushd / popd
Who are logged in? w/who/finger whoami
File name completion Long filenames: tedious Use <tab> to complete the file name If not unique, it displays alternatives Use .bash_history and .bash_profile
Wild card * matches any string replaced by all filenames “아무개” “김아무개” 현재 directory 내에 파일 aa ab cb 세개가 있다면: ls * = ls aa ab cb cat * = cat aa ab cb cat a* = cat aa ab cat *b = cat ab cb
History history !! !pattern ↑ - history up(previous) ↓ - history down(next)
File의 속성 Owner Group Size date name
File 속성 바꾸기 rwx = 111 = 7 r-x = 101 = 5 --- = 000 = 0 chmod 777 filename chmod 755 filename chmod 000 filename
Environment Setting path alias prompt rehash source
lab04_01 run script and experiment with the following commands: mkdir, cd, cat, cp, mv, pwd, rm, rm –r, ls ...
제 4 강 끝. 운영체제 & 리눅스