GIT Operating System 인천대학교 컴퓨터공학과 성 미 영 (成 美 暎)

Slides:



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

1 장 Unix/Linux 소개 1 Helpers. 1 장 내용 1. 왜 유닉스인가 ? 2. 유닉스 시스템 구조 3. 유닉스 역사 및 버전 4. 리눅스 설치 ( 별도 2 시간 실습 ) 5. 사용 환경 6. 사용자 계정 관리 Unix/Linux 2.
숙명여대 창병모 2011 가을 1. Unix/Linux 의 효과적 사용  command, shell programming, X-window,... 시스템 프로그래밍 능력 향상  file, process, network programming 시스템의 체계적 이해 및.
1 장. 유닉스 개요 및 기본 사용법. Contents  학습목표  유닉스의 특징과 발전 과정을 이해한다.  유닉스 시스템에 접속하고 해제하는 방법을 익힌다.  유닉스 명령어의 사용법을 익힌다.  내용  유닉스 개요 유닉스의 역사와 특징, 구조  유닉스 시스템.
이재우.  운영체제 정의 ◦ OS(Operation System) ◦ 사용자와 컴퓨터 시스템 사이에 위치하여 컴퓨터 시스템의 전반 적인 동작을 제어하고 조정하며 ◦ 사용자에게 편리성을 제공하여 한정된 시스템 자원을 효율적으 로 사용할 수 있도록 관리하는.
Unix/Linux 프로그래밍 인천대학교 컴퓨터공학과 성 미 영 ( 成 美 暎 )
1 장 유닉스 소개 1. 강의 목적 및 내용 2 강의 목적  유닉스 / 리눅스 시스템의 체계적 이해 및 활용  시스템 프로그래밍 능력 향상 강의 내용  유닉스 / 리눅스의 효과적 사용 명령어, 파일 시스템, 네트워킹, X- 윈도우, 쉘 프로그래밍  유닉스 / 리눅스.
Unix 시스템 인천대학교 컴퓨터공학과 성 미 영
컴퓨터와 인터넷.
컴퓨터 운영체제의 역사 손용범.
목 차 C# 언어 특징 .NET 프레임워크 C# 콘솔 프로그램 C# 윈도우 프로그램 실습 프로그래밍세미나 2.
게임프로그래밍 입문 멀티미디어공학과 이재문.
Power Java 제3장 이클립스 사용하기.
인공지능실험실 석사 2학기 이희재 TCP/IP Socket Programming… 제 11장 프로세스간 통신 인공지능실험실 석사 2학기 이희재
1장 유닉스 소개.
1. Windows Server 2003의 역사 개인용 Windows의 발전 과정
Network Lab. Young-Chul Hwang
C 언어 강의 Windows, Unix 중심으로.
1장. 이것이 C 언어다.. 1장. 이것이 C 언어다. 프로그래밍 언어 1-1 C 언어의 개론적 이야기 한글, 엑셀, 게임 등의 프로그램을 만들 때 사용하는 언어 ‘컴퓨터 프로그래머’라는 사람들이 제작 C 언어(C++ 포함)를 가장 많이 사용함.
디렉토리 다루기 ㅎㅎ 유닉스 파일 시스템 현재 디렉토리 확인 : pwd 디렉토리 이동 : cd
강 명 수 LINUX 소개 강 명 수
3 디지털 코드 IT CookBook, 디지털 논리회로.
소개: Unix란 무엇인가? 숙명여대 창병모 2009/09.
유닉스 이론과 실습 √ 원리를 알면 IT가 맛있다 컴퓨터정보계열 이광규.
Linux/UNIX Programming
운영체제 (Operating System)
운영체제 (Operating System) 강좌 소개
운영체제 (OS: Operating System)
11 장 LAN 기본 개념과 Ethernet LAN
UNIX 시스템 정보통신공학과 이 우 섭.
Computer Graphics with OpenGL
FTP 프로그램 채계화 박재은 박수민.
컴퓨터과학 전공탐색 배상원.
                              데이터베이스 프로그래밍 (소프트웨어 개발 트랙)                               퍼스널 오라클 9i 인스톨.
4. LAN의 배선체계 (3장. LAN: Local Area Network)
교육대학원 운영체제 (Unix) 인천대학교 컴퓨터공학과 성 미 영
Chapter 03. 디지털 코드.
상지대학교 컴퓨터공학과 고광만 Lecture 01: 유닉스/리눅스 소개 상지대학교 컴퓨터공학과 고광만
운영체제 (Operating System) 강좌 소개
AVR – ATmega103(ATMEL) Compilers & ISP
(개정판) 뇌를 자극하는 Red Hat Fedora 리눅스 서버 & 네트워크
Unix 시스템 인천대학교 컴퓨터공학과 성 미 영
시스템 인터페이스 Lab3 Unix 사용법 실습.
리눅스 시스템 & 커널 기초 P.46 – P.53 이름: nsh009 학번: 112 1/20.
2015 운영체제 특강 수업 소개 Special Topics on Operating Systems
강의 개요. 2014년 가을학기 손시운 지도 교수: 문양세 교수님.
Linux/UNIX Programming
Xscale Educational Kit
Linux/UNIX Programming
제1장 Unix란 무엇인가?.
유닉스 개요 및 기본 사용법 ㅎㅎ 유닉스 개요 유닉스 시스템 접속 방법과 명령 사용법.
Linux/UNIX Programming
C++ 프로그래밍 2010년 봄학기 C++ 세계에 오신 걸 환영합니다!!.
컴퓨터 시스템 하드웨어 컴퓨터 시스템 소프트웨어 C P U Control Unit 입 력 장 치 출 력 장 치 ALU
Unix 시스템 인천대학교 전자계산학과 성미영
Linux/UNIX Programming
네트워크 환경 구축과 이미지 전송 호스트/타겟 통신 직렬 통신을 이용한 이미지 전송 수퍼 데몬 BOOTP 환경 구축
모바일인터넷기초 전산정보학부 모바일인터넷과 권 춘 우
뇌를 자극하는 Solaris bible.
시스템 인터페이스 Lab#5 쉡 실습.
Computer Graphics with OpenGL
4. 셸을 이용한 명령어 입력. Unix 시스템 쉘 간단한 셸 명령 명령 매개변수(Command arguments)
운영체제 (Operating Systems)
멀티미디어 활용 -플래시 CS3 류 정 남.
과제 4: Thread (5월 9일까지) 4장 연습문제 풀이
Introduction to Computer System 컴퓨터의 이해 3: 데이터 표현
1장 C 언어의 개요 C 언어의 역사와 기원 C 언어의 특징 프로그램 과정 C 프로그램 구조 C 프로그램 예제.
1장. C Language Synopsis.
Linux/UNIX Programming
1. 실습 시간에 수행한 avd 생성 및 실행, adb shell 접속 및 명령어 수행 결과를 제출한다.
Presentation transcript:

GIT Operating System 인천대학교 컴퓨터공학과 성 미 영 (成 美 暎) http://marvel.incheon.ac.kr/~mysung mailto:mysung@incheon.ac.kr

수업 개요 및 목표 개요 강력하고 안정적인 기능을 제공하는 중요한 운영체제인 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 시스템

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

Linux 참고문헌 참고문헌 예제로 쉽게 작성하는 Linux 네트워크베스트 프로그래밍, 雪田修一 저, 권용진 역, 도서출판 인터비젼, 2000. 리눅스 배움터, 안귀임, 노영욱, 김영주 공저, 정익사, 2001. 와우리눅스 7.0 Kkachi 홈페이지: http://www.wowlinux.com 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 시스템

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

1장 유닉스(Unix)란?

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

컴퓨터 시스템 하드웨어 소프트웨어 시스템 소프트웨어: 운영체제 응용 소프트웨어: 게임 등 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 시스템

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

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

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

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

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

Unix 역사 1971 AT&T Bell Lab. Ken Thompson MIT Multics의 영향 PDP-7 어셈블러로 쓰여짐 1973 C 언어로 다시 씀 1970 Ken Thompson이 B 언어, 1973 Dennis Ritchie가 C 언어 만듦 여러 컴퓨터로 이식됨 버전들 AT&T System V(five) 계열 BSD(Berkeley Software Distribution) 계열 Linux (http://www.linux.org, http://www.linuxhq.com) Linus Torvalds (Finnish student of Computer Science) 1991 PC용 System V + BSD Unix GNU (http://www.gnu.org/home.html) : 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 제품들 Solaris 2.X (Sun) : System V + BSD (http://www.sun.com/solaris) HP-UX (HP) : System V + BSD (http://www.hp.com/go/hpux) IRIS (Silicon Graphics) : System V (http://www.sgi.com/) AIX (IBM) : System V+BSD (http://www.rs6000.ibm.com/software) OSF/1 (DEC) : BSD + System V, Ultrix는 BSD (http://www.unix.digital.com) BSD/OS (Berkeley) (http://www.BSDI.COM/products) SunOS (Sun) : BSD NextSTEP : Mach의 확장 (http://www.apple.com/enterprise) Linux (linux Torvalds) : 내부 BSD, 인터페이스 System V, PC용 (http://www.linux.org) NetBSD : 4.4BSD Lite 기반 (http://www.netbsd.org) FreeBSD : Berkeley Net/2 기반, PC용 (http://www.freebsd.org) SCO (Santa Cruz Operation) Unixware: System V, PC 용 (http://www.sco.com) Unix 시스템

Unix의 미래 객체 지향 프로그래밍 (object-oriented programming) 병렬, 분산 처리 (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 시스템

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

실습: 로그인 실습 컴퓨터 Xmanager 실행시키거나 윈도우 ‘시작’ 메뉴에서 ‘실행’ 선택해서 csblade.incheon.ac.kr (211.119.245.68) cslinux.incheon.ac.kr (211.119.245.75) Xmanager 실행시키거나 윈도우 ‘시작’ 메뉴에서 ‘실행’ 선택해서 telnet csblade.incheon.ac.kr 211.119.245.68 login: s1234567 Passwd: ****** Unix 시스템

실습: 명령을 입력해 보세요 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] hostname who who am i echo hello echo hello > xx 또는 > xx echo hello ls cat xx cat cat > xx 또는 > xx cat hello 한/영 키 눌러 보세요! Unix 시스템

Control Characters ^c Value ^c Value ^c Value a, A <SOH> l, L <FF> w, W <ETB> b, B <STX> m, M <CR> x, X <CAN> c, C <ETX> n, N <SO> y, Y <EM> d, D <EOT> o, O <SI> z, Z <SUB> e, E <ENQ> p, P <DLE> [ <ESC> f, F <ACK> q, Q <DC1> \ <FS> g, G <BEL> r, R <DC2> ] <GS> h, H <BS> s, S <DC3> ^ <RS> i, I <HT> t, T <DC4> _ <US> j, J <LF> u, U <NAK> ? <DEL> k, K <VT> v, V <SYN> 각 키의 의미는 ASCII Character Set ANSI X3.4 –1968 참조 Unix 시스템

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

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