Unix/Linux 프로그래밍 인천대학교 컴퓨터공학과 성 미 영 ( 成 美 暎 )

Slides:



Advertisements
Similar presentations
Linux1 Linux 개요 Linux 방문하여 홈페이지 등록하기 Vi 편집해 보기. Linux2 개요  Linux 란 ? 1991 Linus Benedict Torvalds 가 만든 Unix 의 한 버전 GNU(GNU is Not Unix) » 프로그램이나 정보의.
Advertisements

- 1 - IT COOKBOOK 컴퓨터 기술 IT COOKBOOK Chapter 01. 서론.
PPT L ET’S G O N OW! PPT L E S G O N OW! O.S (Operating System) 운영체제 H/W 의 전반적인 동작을 제어하고 조정하는 시스템 프로그램들의 집합 사용자가 HW 를 쉽고, 효율적으로 활용 할 수 있는 환경을 제공 H/W.
1 장 Unix/Linux 소개 1 Helpers. 1 장 내용 1. 왜 유닉스인가 ? 2. 유닉스 시스템 구조 3. 유닉스 역사 및 버전 4. 리눅스 설치 ( 별도 2 시간 실습 ) 5. 사용 환경 6. 사용자 계정 관리 Unix/Linux 2.
운영체제의 역사 작성 / 발표 오두환.  OS( 운영체제 ) 의 정의 OS(operating system) 란 ?? 머리 - > 계산 = Cpu 얼굴 + 몸매 = 그래픽카드 눈 = 모니터 머리 -> 기억 = HDD/SDD 입 = 스피커 귀 = 마이크 ….. 하드웨어하드웨어.
이재우.  운영체제 정의 ◦ OS(Operation System) ◦ 사용자와 컴퓨터 시스템 사이에 위치하여 컴퓨터 시스템의 전반 적인 동작을 제어하고 조정하며 ◦ 사용자에게 편리성을 제공하여 한정된 시스템 자원을 효율적으 로 사용할 수 있도록 관리하는.
운 영 체 제 실 습 ( 리눅스 서버관리입문 ) 개 요. 2/31 운영체제 (Operating System) 개요 시스템 소프트웨어 !!!  응용 프로그램과 하드웨어 사이의 인터페이스 역할  응용 소프트웨어를 실행하기 위하여 하드웨어 추상화 플랫폼과 공통 시스템 서비스를.
Dept. Computer Engineering DBLAB 정보처리개론 담당 교수 : 김정석 2009 년도 1 학기.
1/37 Chapter 4: 프로세서 성능과 휴대성을 위한 하드웨어 © The McGraw-Hill Companies, Inc., 세기의 가장 중요한 발명품 : 마이크로 프로세서 일상생활에 널리 사용됨 프로그램에 의한 적응성.
컴퓨터의 기본 개념. 목 차목 차 컴퓨터의 정의 컴퓨터의 세대별 분류 컴퓨터의 분류 컴퓨터의 종류 컴퓨터의 구성 컴퓨터의 동작원리 컴퓨터의 외양 컴퓨터의 내부 구조 단위.
2.1 컴퓨터 시스템의 구성 2.2 컴퓨터 시스템의 정보 표현 2.3 중앙처리장치 2.4 저장장치 2.5 컴퓨터 주변기기
Understanding of Ubiquitous & Computers Plus
Unix 시스템 인천대학교 컴퓨터공학과 성 미 영
마이크로 컨트롤러 Microcontroller.
TCP/IP 네트워크 제 26 장 Telnet과 Rlogin 정보통신연구실.
1.1 병렬처리의 한계와 가능성 1.2 병렬처리의 단위 1.3 병렬컴퓨터의 분류 1.4 병렬컴퓨터의 성능 척도
제 2장 컴퓨터 구조.
강좌명 : 유닉스 시스템프로그래밍 (UNIX System Programming) 강좌번호 : E 이수구분 : 전공선택
1장 유닉스 소개.
컴퓨터 과학 개론 √ 원리를 알면 IT가 맛있다 컴퓨터 과학도를 위한 첫 전공서 ehanbit.net.
Operating Systems Overview
컴퓨터 구조학 정보보호학과.
소개: Unix란 무엇인가? 숙명여대 창병모 2009/09.
임베디드 운영체제 (리눅스 중심) Lecture #2.
[beginning] Linux & vi editor
유닉스 이론과 실습 √ 원리를 알면 IT가 맛있다 컴퓨터정보계열 이광규.
리눅스 커널의 이해 중에서 1장. 소개 이원구 네트워크 실험실.
운영체제 (Operating System)
14장. 병렬 프로세서 다루는 내용 병렬 프로세서로의 개념 병렬 처리와 병렬 컴퓨터 분류 배열 프로세서와 다중 프로세서의 개념
운영체제 (Operating System) 강좌 소개
A system is a set of related components that work together in a particular environment to perform whatever functions are required to achieve the system’s.
컴퓨터 구조.
UNIX Unbounded A Beginning Approach
운영체제 (OS: Operating System)
2장 운영 체제의 개요 운영체제의 개념 운영체제의 유형 운영체제의 발전 과정 운영체제의 구성 운영체제 서비스 시스템 구조
5. 네트워킹 사용자 표시 : users/ rusers/who/w users 지역 호스트 상에 있는 사용자의 간단한 목록 표시
정보(information) 데이터(data) 어떤 사물에 대한 소식이나 자료 가공된 데이터
운영체제 (Operating System)

컴퓨터 시스템의 개요.
운영체제 (Operating Systems) (Multi-Thread Programming)
제 4 강 운영체제 개요 및 리눅스 실습.
제9장 네트워킹 숙명여대 창병모 2011 가을.
3주 컴퓨터구조.
8086 프로세서의 구조 및 동작 방식 시스템 프로그래밍 - Lecture #2 신라대학교 컴퓨터공학과 시스템 프로그래밍.
디지털미디어론 김 화 동 교 수.
교육대학원 운영체제 (Unix) 인천대학교 컴퓨터공학과 성 미 영
네트워크 보안 3 오 세 종.
상지대학교 컴퓨터공학과 고광만 Lecture 01: 유닉스/리눅스 소개 상지대학교 컴퓨터공학과 고광만
운영체제 (Operating System) 강좌 소개
UNIX Internet Server의 대부분을 차지 대표적인 공급업체
GIT Operating System 인천대학교 컴퓨터공학과 성 미 영 (成 美 暎)
제4장 유닉스 쉘 숙명여대 창병모 2011 가을.
Unix 시스템 인천대학교 컴퓨터공학과 성 미 영
2018 봄학기 Pusan National University School of CSE
1 컴퓨터 구조 IT CookBook, 컴퓨터 구조와 원리 2.0.
2015 운영체제 특강 수업 소개 Special Topics on Operating Systems
운영체제(Operating System)
리눅스: Lecture 1 강의개요 중앙대학교 컴퓨터공학부 손 봉 수 교수.
제16,17,18장 분산 시스템.
제8장 네트워킹 숙명여대 창병모
㈜시스원이 제공하는 시스템 관리 통합 솔루션 SysLook 사용자 안내서
유닉스 개요 및 기본 사용법 ㅎㅎ 유닉스 개요 유닉스 시스템 접속 방법과 명령 사용법.
Unix 시스템 인천대학교 전자계산학과 성미영
Linux/UNIX System Programming
Linux/UNIX System Programming
Linux/UNIX Programming
컴퓨터 프로그램 제 1장 공학문제 해결 김 문 기.
제02장 컴퓨터 개요.
Linux/UNIX System Programming
Presentation transcript:

Unix/Linux 프로그래밍 인천대학교 컴퓨터공학과 성 미 영 ( 成 美 暎 )

Unix 시스템 2 수업 개요 및 목표  개요 강력하고 안정적인 기능을 제공하는 중요한 운영체제인 Unix/Linux 시스템 및 Unix/Linux 프로그래밍에 대하여 학습한다. Unix/Linux 시스템의 사용법을 익 히고 Unix/Linux 환경에서의 다양한 프로그래밍 기법과 관리 기법 및 Unix/Linux 의 내부구조에 대하여 깊이 있게 이해하도록 하여 Unix/Linux 시스 템을 개념과 동작 원리를 이해하고, Unix/Linux 시스템을 효과적으로 활용하 고, 새로운 운영체제 또는 새로운 Unix/Linux 응용 시스템을 설계하고 개발할 수 있는 유능한 인재를 양성한다.  목표  Unix/Linux 시스템에서 실제 코드를 다루기 위한 기본 지식을 습득한다.  명령어  유틸리티  Unix/Linux 시스템에서 다양한 프로그래밍 기법을 익힌다.  셜 프로그래밍  고급 언어 (C 언어 ) 프로그래밍  시스템 프로그래밍  네트워크 프로그래밍  윈도우 프로그래밍  Unix/Linux 시스템의 관리 능력을 기른다.  Unix/Linux 시스템의 내부구조에 대하여 깊이 있게 이해한다.  Unix/Linux 시스템을 개념과 동작 원리를 이해하고, Unix/Linux 시스템을 효 과적으로 활용하고, 새로운 운영체제 또는 새로운 Unix/Linux 응용 시스템을 설계하고 구현할 수 있는 기초 능력을 배양한다.

Unix 시스템 3 Unix 교재 및 참고문헌  교재 ★조경산 역, 이한출판사, 프로그래머와 사용자를 위한 UNIX 완성,  UNIX for Programmers and Users, 2 nd Ed., Graham Glass, Prentice Hall PTR,  참고문헌  W. Richard Stevens, Unix Network Programming, 2 nd Ed., Prentice Hall PTR, 개정증보판 Unix Network Programming, 2 nd Ed., Stevens 저, 김치하, 이재용 역, 교보문고,  K. Havilland, D. Gray, B. Salama, Addison-Wesley, Unix System Programming, 2nd Ed., 1998(99) 한국어판 Unix 시스템 프로그래밍 Second Edition, Keith Haviland, Dina Gray, Ben Salama 저, 조유근 역, 홍릉과학출판사,  Gail Anderson and Paul Anderson, The Unix C Shell Field Guide, Prentice-Hall PTR, 한국어판 The Unix C Shell Field Guide, Anderson · Anderson 저, 감창룡 역, 홍릉과학출판사, 1997  Douglas A. Young, The X Window System Programming and Application with Xt, 2nd Ed., Prentice Hall PTR, 한국어판 The X Window System Programming and Application with Xt 제 2 판, Young 저, 박승규 외 4 인 역, 대영사,  Maurice J. Bach, The Design of the Unix Operating System, Prentice Hall International, Inc., 1986 Unix 의 내부구조, 조유근 역편, 홍릉과학출판사,  Jim Mauro, Richard McDougall, Solaris Internals: Core Kernel Architecture, Prentice-Hall PTR,  Evi Nemeth, Garth Snyder, Scott Seebass, Trent R. Hein, Prentice Hall PTR, Unix System Administration Handbook, 2nd Ed., 한국어판, Unix System administration Handbook, 2nd Ed. Nemeth, Snyderm Seebass, Hein 저, 최재영, 김명호, 김영배 역, 홍릉과학출판사,  AEleen Frisch, O'Reilly, Essential System Administration, 2nd Ed., 시스템 관리의 핵심, 2nd Ed., AEleen Frusch 저, 장 훈 역, 한빛미디어, 1998.

Unix 시스템 4 Linux 참고문헌  참고문헌 ★예제로 쉽게 작성하는 LINUX 네트워크베스트 프로그래밍, 雪田修一 저, 권용진 역, 도서출판 인터비젼,  리눅스 배움터, 안귀임, 노영욱, 김영주 공저, 정익사,  와우리눅스 7.0 Kkachi 홈페이지 :  Linux Kernel Programming, Third Edition, M Beck, H Böhme, M Dziadzka, U Kunitz, R Magnus, C Schröter, D Verworner, Addison Wesley, 2002.

Unix 시스템 5 수업진행 방법 및 평가  수업진행방법 주교재 및 부교재 내용을 중심으로 하여 강의와 동시에 Unix 및 Linux 컴퓨터를 이용하는 실습을 병행한다 모든 실습 내용은 과제물로 제출한다. Unix/Linux 환경에서 소프트웨어를 개발하는 단기 프로젝트를 수행 한다.  평가 중간 : 30% 기말 : 30% 실습 및 과제 : 20% 출석 및 수업 기여도 : 20% Bonus: 명예의 전당 입성자

1 장 유닉스 (Unix) 란 ?

Unix 시스템 7 오 ! 유닉스  유닉스는 세련되고 영리한 사람들을 위한 도구의 집합이다.  유닉스는 재미있다.  유닉스는 배우기는 어렵지만 사용하기는 쉽다.  기본을 공부하는 것부터 시작하라. 그런 다음 원하는 것을 순서에 상관없이 공부하라.  유닉스의 모든 것을 배우기는 힘들다. 필요한 것과 재미있을 것 같 은 부분에 관심을 쏟는 것이 좋다.

Unix 시스템 8 컴퓨터 시스템  하드웨어  CPU(Central Processing Unit)  RAM(Random Access Memory)  ROM(Read Only Memory)  Disk  Monitor  Graphic card  Keyboard  Mouse  Printer  Ethernet Interface  Modem  Scanner  MIDI(Musical Instrument Digital Interface)  Video capture board  Voice recognition card  Synthesizer  소프트웨어  시스템 소프트웨어 : 운영체제  응용 소프트웨어 : 게임 등

Unix 시스템 9 Unix 자원 공유  CPU 공유 : time slice  메모리 공유 : page  디스크 공유 : block

Unix 시스템 10 Unix 통신  통신의 유형  출력 : 그래픽 카드와 대화  입력 : 키보드와 대화  네트워크 서비스 : 다른 컴퓨터와 대화  공동 작업 : 프로세스 사이의 대화  통신 메커니즘  파이프 (pipe): 같은 기계, one-way medium-speed data channel  소켓 (socket): 다른 기계, two-way high-speed data channel

Unix 시스템 11 Unix 프로그램, 프로세스, 파일  파일 : 디스크에 저장된 자료의 모음  프로그램 : 파일에 저장되어 있는 일련의 명령어와 자료를 표현하 는 바이트들의 집합, RAM 으로 적재되어 실행됨  프로세스 : 실행 중인 프로그램  프로그램, 프로세스, 파일  소유자 (owner) 가지며 접근이 보호됨  위치를 부여하는 계층적인 디렉토리 (directory) 가짐  생성 / 수정 / 삭제 서비스 제공

Unix 시스템 12 Unix 특징  동시에 여러 사용자가 사용 (multiuser/multiprocess system)  프로그램, 프로세스, 파일의 생성 / 수정 / 삭제 제공  프로세스와 파일의 위치를 부여하는 디렉토리 계층 제공  공정하고 효과적인 프로세서, 메모리, 디스크 공유  주변장치, 다른 기계, 프로세스 사이의 의사 소통 지원  많은 표준 유틸리티 (utilities) : GNU (GNU's Not Unix!),  시스템 호출 (system calls) 을 통한 Unix 서비스 접근  이식성 우수하여 다양한 기종에서 활용  강력한 shell programming  open system : 저렴한 가격으로 소스 제공

Unix 시스템 13 Unix 철학 (Philosophies of Unix)  파이프 (pipe)  한 프로세스의 출력이 다른 프로세스의 입력이 됨  파이프 라인  여러 프로세스들이 연결되어 자료가 흐르는 파이프 라인 형성  장점 문제를 프로세스들의 정렬된 구성으로 해결  ( 예 ) $ who | sort  Unix 환경에서 문제를 해결하는 단계들  파이프와 유틸리티를 이용하여 해결 시도  네트워크 상에 질문하여 해결 시도  유틸리티를 스스로 작성하여 해결 시도 ( 재사용될 수 있도록 작성 )  응용 프로그램 작성  수퍼 유저 (super user)  모든 코드와 자료에 접근할 수 있는 특권을 갖고자 하는 사람들이 설계  특권을 여러 준 수퍼 유저 (slightly super user) 에게 나누는 시스템도 있음

Unix 시스템 14  1971 AT&T Bell Lab. Ken Thompson  MIT Multics (Multiplexed Information and Computing Services) 의 영향  Unics  Unix  PDP-7 어셈블러로 쓰여짐  1973 C 언어로 다시 씀  1970 Ken Thompson 이 B 언어, 1973 Dennis Ritchie 가 C 언어 만듦  여러 컴퓨터로 이식됨  버전들  AT&T System V(five) 계열  BSD(Berkeley Software Distribution) 계열  Linux (  Linus Torvalds (Finnish student of Computer Science)  1991 PC 용  System V + BSD Unix  GNU ( : source code is available  표준화 연구  UI (Unix International) : System V 4.1 : AT&T, SUN  OSF (Open Software Foundation) : OSF/1 : IBM, DEC, HP  POSIX (Portable Operating System Interface) (1986, IEEE1000.3) Unix 역사

Unix 시스템 15 Unix 제품들  Solaris 2.X (Sun) : System V + BSD (  HP-UX (HP) : System V + BSD (  IRIS (Silicon Graphics) : System V (  AIX (IBM) : System V+BSD (  OSF/1 (DEC) : BSD + System V, Ultrix 는 BSD (  BSD/OS (Berkeley) (  SunOS (Sun) : BSD  NextSTEP : Mach 의 확장 (  Linux (linux Torvalds) : 내부 BSD, 인터페이스 System V, PC 용 (  NetBSD : 4.4BSD Lite 기반 (  FreeBSD : Berkeley Net/2 기반, PC 용 (  SCO (Santa Cruz Operation) Unixware: System V, PC 용 (

Unix 시스템 16 Unix 의 미래  객체 지향 프로그래밍 (object-oriented programming)  객체 지향 기법을 효과적으로 활용하여 Unix 개선  병렬, 분산 처리 (parallel & distributed processing), 멀티프로세서 시스템 지원  병렬 처리 (doing more than one task in parallel) Tightly coupled multiprocessor system Shared-resource architecture Bus, Clock, Memory, 주변기기를 공유 Shared memory 통해 교류  분산 처리 Loosely coupled multiprocessor system Shared-nothing architecture 각 processor 는 자신의 local memory 를 가짐 communication line (high-speed bus, telephone line) 통해 교류  멀티프로세서 시스템 Shared-memory or shared resource architecture) ( 예 ) Sequent 사의 Unix platform  32 비트에서 64 비트로 (the move from 32-bit to 64-bit systems)  IPv6(128 비트 IP 주소 ) 지원 : IPv4(32 비트 IP 주소 ) 의 수퍼 세트  고속 통신 네트워크 (high-bandwidth network) 지원  결함 허용 Unix 시스템 (fault-tolerant systems) : hot backup system

Unix 시스템 17 Unix 사용자  비프로그래머  셸 사용자  진보된 비프로그래머  진보된 셸 사용자  프로그래머  시스템 프로그래머  시스템 개발자  시스템 관리자

Unix 시스템 18 실습 : 로그인  실습 컴퓨터  csblade.incheon.ac.kr ( )  csmail.incheon.ac.kr ( ) ① Xmanager 실행시키거나 ② 윈도우 ‘ 시작 ’ 메뉴에서 ‘ 실행 ’ 선택해서 telnet csblade.incheon.ac.kr login: s Passwd: ******

Unix 시스템 19 실습 : 명령을 입력해 보세요 $date $man date $date^M (carriage return) $date^J (line feed, new line) $echo ^G^G^G (bell) $^S (stop) [Control-S] $^Q (continue) [Contol-Q] $stty -a $ls $ls -l $ls -al $cal $bc … [Control-D] $uptime $hostname $who $who am i $echo hello $echo hello > xx 또는 $> xx echo hello $ls $cat xx $cat $cat > xx 또는 > xx cat hello $cat xx $ 한 / 영 키 눌러 보세요 !

Unix 시스템 20 Control Characters ^c Value ^c Value ^c Value a, A l, L w, W b, B m, M x, X c, C n, N y, Y d, D o, O z, Z e, E p, P [ f, F q, Q \ g, G r, R ] h, H s, S ^ i, I t, T _ j, J u, U ? k, K v, V  각 키의 의미는 ASCII Character Set ANSI X3.4 –1968 참조

Unix 시스템 21 잠깐 ? 열심히 공부할 사람 쉽고 편한 것만 좋다어렵고 힘들어도 좋다 편안하게 조금만 올라갈래힘들어도 높이 올라갈래 약해도 좋다강해지고 싶다 행복 끝 고생 시작할래고생 끝 행복 시작할래 ? 세련되고 영리한 사람

Unix 시스템 22 해 ? !  무얼 해 ?  몸값을 ? ? ? !  무얼 잘해 ?  ? ? ? 걸 잘해야 해 !  어떻게 해 ?  ? ? 라고 해야 해 !

Unix 시스템 23 숙제  자기 소개를 1 분 이내로 이야기 한다.  왜 이 수업을 듣는지도 밝힌다.  수업시간 (1): 화 56, 수 8  수업시간 (2): 수 12, 목 1