운영체제 실습 - Introduction - RTCC...

21
Real-Time Computing and Communications Lab., Hanyang University http://rtcc.hanyang.ac.kr Real-Time Computing and Communications Lab., Hanyang University http://rtcc.hanyang.ac.kr 운영체제 실습 - Introduction - Real-Time Computing and Communications Lab. Hanyang University [email protected] [email protected] [email protected]

Transcript of 운영체제 실습 - Introduction - RTCC...

Page 1: 운영체제 실습 - Introduction - RTCC Lab.rtcc.hanyang.ac.kr/sitedata/2017_Under_OS/2017_01_OS_Practice... · 실습환경설정 $ uname – r 혹은 uname – a 를통해현재커널버전을확인할수있다

Real-Time Computing and Communications Lab., Hanyang University

http://rtcc.hanyang.ac.kr

Real-Time Computing and Communications Lab., Hanyang University

http://rtcc.hanyang.ac.kr

운영체제실습- Introduction -

Real-Time Computing and Communications Lab.

Hanyang University

[email protected]

[email protected]

[email protected]

Page 2: 운영체제 실습 - Introduction - RTCC Lab.rtcc.hanyang.ac.kr/sitedata/2017_Under_OS/2017_01_OS_Practice... · 실습환경설정 $ uname – r 혹은 uname – a 를통해현재커널버전을확인할수있다

2Real-Time Computing and Communications Lab., Hanyang University

http://rtcc.hanyang.ac.kr 2Real-Time Computing and Communications Lab., Hanyang University

http://rtcc.hanyang.ac.kr

Introduction

조교소개▪ 이름 : 임정택

▪ Tel : 010 - 4780 - 9294

▪ E-Mail : [email protected]

▪ 이름 : 최대호

▪ Tel : 010 – 9872 - 9353

▪ E-Mail : [email protected]

▪ 이름 : 박준형

▪ Tel : 010 – 2859 - 6858

▪ E-Mail : [email protected]

▪ 실습관련질문시제목을아래의양식에맞춰서메일을보내주세요

• ex> [운영체제] 학번_이름

Page 3: 운영체제 실습 - Introduction - RTCC Lab.rtcc.hanyang.ac.kr/sitedata/2017_Under_OS/2017_01_OS_Practice... · 실습환경설정 $ uname – r 혹은 uname – a 를통해현재커널버전을확인할수있다

3Real-Time Computing and Communications Lab., Hanyang University

http://rtcc.hanyang.ac.kr 3Real-Time Computing and Communications Lab., Hanyang University

http://rtcc.hanyang.ac.kr

실습계획

주차 내용 과제

1주차 실습소개, 환경구성

2주차 시스템콜추가, 과제설명 ★

3주차 시스템콜분석(fork 분석), 과제설명 ★

4주차 스케줄러 ★

5주차 스케줄러

6주차 프로세스통신 ★

7주차 프로세스통신

8주차 중간고사휴강

9주차 Syncronization ★

10주차 Syncronization

11주차 메모리관리 ★

12주차 메모리관리

13주차 디바이스드라이버★

14주차 디바이스드라이버

15주차 휴강대비

16주차 기말고사휴강

Page 4: 운영체제 실습 - Introduction - RTCC Lab.rtcc.hanyang.ac.kr/sitedata/2017_Under_OS/2017_01_OS_Practice... · 실습환경설정 $ uname – r 혹은 uname – a 를통해현재커널버전을확인할수있다

4Real-Time Computing and Communications Lab., Hanyang University

http://rtcc.hanyang.ac.kr 4Real-Time Computing and Communications Lab., Hanyang University

http://rtcc.hanyang.ac.kr

VirtualBox

VirtualBox 설명과다운로드▪ 무료가상화소프트웨어

▪ Download : https://www.virtualbox.org/wiki/Downloads

▪ 버전 : VirtualBox 5.1.14 for Windows hosts (x86/amd64)

▪ 설치후재시작

Page 5: 운영체제 실습 - Introduction - RTCC Lab.rtcc.hanyang.ac.kr/sitedata/2017_Under_OS/2017_01_OS_Practice... · 실습환경설정 $ uname – r 혹은 uname – a 를통해현재커널버전을확인할수있다

5Real-Time Computing and Communications Lab., Hanyang University

http://rtcc.hanyang.ac.kr 5Real-Time Computing and Communications Lab., Hanyang University

http://rtcc.hanyang.ac.kr

Ubuntu

Ubuntu 설명과다운로드▪ 리눅스커널을기반으로한운영체제

▪ 전세계적으로많이사용되고있는리눅스배포판중하나

▪ Download : http://www.ubuntu.com/download/desktop

▪ 버전 : Ubuntu 14.04 LTS (64bit)

Page 6: 운영체제 실습 - Introduction - RTCC Lab.rtcc.hanyang.ac.kr/sitedata/2017_Under_OS/2017_01_OS_Practice... · 실습환경설정 $ uname – r 혹은 uname – a 를통해현재커널버전을확인할수있다

6Real-Time Computing and Communications Lab., Hanyang University

http://rtcc.hanyang.ac.kr 6Real-Time Computing and Communications Lab., Hanyang University

http://rtcc.hanyang.ac.kr

실습환경설정

가상시스템설치▪ 수업에서배포한 virtualbox 가상머신이미지를불러온다.

Page 7: 운영체제 실습 - Introduction - RTCC Lab.rtcc.hanyang.ac.kr/sitedata/2017_Under_OS/2017_01_OS_Practice... · 실습환경설정 $ uname – r 혹은 uname – a 를통해현재커널버전을확인할수있다

7Real-Time Computing and Communications Lab., Hanyang University

http://rtcc.hanyang.ac.kr 7Real-Time Computing and Communications Lab., Hanyang University

http://rtcc.hanyang.ac.kr

실습환경설정

1

2

Page 8: 운영체제 실습 - Introduction - RTCC Lab.rtcc.hanyang.ac.kr/sitedata/2017_Under_OS/2017_01_OS_Practice... · 실습환경설정 $ uname – r 혹은 uname – a 를통해현재커널버전을확인할수있다

8Real-Time Computing and Communications Lab., Hanyang University

http://rtcc.hanyang.ac.kr 8Real-Time Computing and Communications Lab., Hanyang University

http://rtcc.hanyang.ac.kr

실습환경설정

가상시스템설정▪ 내컴퓨터에맞게설정을바꿀수있음

▪ 설정을한뒤가져오기

Page 9: 운영체제 실습 - Introduction - RTCC Lab.rtcc.hanyang.ac.kr/sitedata/2017_Under_OS/2017_01_OS_Practice... · 실습환경설정 $ uname – r 혹은 uname – a 를통해현재커널버전을확인할수있다

9Real-Time Computing and Communications Lab., Hanyang University

http://rtcc.hanyang.ac.kr 9Real-Time Computing and Communications Lab., Hanyang University

http://rtcc.hanyang.ac.kr

실습환경설정

Page 10: 운영체제 실습 - Introduction - RTCC Lab.rtcc.hanyang.ac.kr/sitedata/2017_Under_OS/2017_01_OS_Practice... · 실습환경설정 $ uname – r 혹은 uname – a 를통해현재커널버전을확인할수있다

10Real-Time Computing and Communications Lab., Hanyang University

http://rtcc.hanyang.ac.kr 10Real-Time Computing and Communications Lab., Hanyang University

http://rtcc.hanyang.ac.kr

실습환경설정

Page 11: 운영체제 실습 - Introduction - RTCC Lab.rtcc.hanyang.ac.kr/sitedata/2017_Under_OS/2017_01_OS_Practice... · 실습환경설정 $ uname – r 혹은 uname – a 를통해현재커널버전을확인할수있다

11Real-Time Computing and Communications Lab., Hanyang University

http://rtcc.hanyang.ac.kr 11Real-Time Computing and Communications Lab., Hanyang University

http://rtcc.hanyang.ac.kr

실습환경설정

Ubuntu 부팅▪ Ubuntu용고급설정

Linux 4.1.38 버전선택도가능

Page 12: 운영체제 실습 - Introduction - RTCC Lab.rtcc.hanyang.ac.kr/sitedata/2017_Under_OS/2017_01_OS_Practice... · 실습환경설정 $ uname – r 혹은 uname – a 를통해현재커널버전을확인할수있다

12Real-Time Computing and Communications Lab., Hanyang University

http://rtcc.hanyang.ac.kr 12Real-Time Computing and Communications Lab., Hanyang University

http://rtcc.hanyang.ac.kr

실습환경설정

$ uname –r 혹은 uname –a를 통해현재커널버전을확인할수있다.

root 권한이필요한작업을할때 sudo명령어를이용한다.

제공된이미지의계정의비밀번호는 1234로설정이되어있다.

Page 13: 운영체제 실습 - Introduction - RTCC Lab.rtcc.hanyang.ac.kr/sitedata/2017_Under_OS/2017_01_OS_Practice... · 실습환경설정 $ uname – r 혹은 uname – a 를통해현재커널버전을확인할수있다

13Real-Time Computing and Communications Lab., Hanyang University

http://rtcc.hanyang.ac.kr 13Real-Time Computing and Communications Lab., Hanyang University

http://rtcc.hanyang.ac.kr

실습환경설정

배포한가상머신이미지안에는커널빌드에필요한패키지들이설치되어있음

따로Ubuntu를 설치해서사용하는경우 –필수설치도구▪ “build-essential” : gcc 등프로그램개발을위한도구

• Installation : $sudo apt-get install build-essential

▪ “libncurses5-dev” : text 환경에서윈도우형태의GUI를표현해주는라이브러리,

menuconfig을위해서필요함

• Installation : $sudo apt-get install libcurses5-dev

▪ “ccache” : 커널빌드시간을단축시켜주는유틸리티

• Installation : $sudo apt-get install ccache

• ccache 환경변수설정

✓ terminal을켜고다음을입력한다. $sudo vi /etc/environment

✓아래의사진처럼표시된부분을추가하고저장한다.

Page 14: 운영체제 실습 - Introduction - RTCC Lab.rtcc.hanyang.ac.kr/sitedata/2017_Under_OS/2017_01_OS_Practice... · 실습환경설정 $ uname – r 혹은 uname – a 를통해현재커널버전을확인할수있다

14Real-Time Computing and Communications Lab., Hanyang University

http://rtcc.hanyang.ac.kr 14Real-Time Computing and Communications Lab., Hanyang University

http://rtcc.hanyang.ac.kr

Kernel Compile

Kernel 위치▪ $ cd /usr/src/linux-4.1.38

Kernel configuration

▪ $ sudo make menuconfig

Page 15: 운영체제 실습 - Introduction - RTCC Lab.rtcc.hanyang.ac.kr/sitedata/2017_Under_OS/2017_01_OS_Practice... · 실습환경설정 $ uname – r 혹은 uname – a 를통해현재커널버전을확인할수있다

15Real-Time Computing and Communications Lab., Hanyang University

http://rtcc.hanyang.ac.kr 15Real-Time Computing and Communications Lab., Hanyang University

http://rtcc.hanyang.ac.kr

Kernel Compile

Build Kernel image and modules

▪ Build kernel image

• Usage : $ sudo make

▪ Module compilation

• Usage : $ sudo make modules

▪ Module installation

• Usage : $ sudo make modules_install

▪ Kernel installation

• Usage : $ sudo make install

Page 16: 운영체제 실습 - Introduction - RTCC Lab.rtcc.hanyang.ac.kr/sitedata/2017_Under_OS/2017_01_OS_Practice... · 실습환경설정 $ uname – r 혹은 uname – a 를통해현재커널버전을확인할수있다

16Real-Time Computing and Communications Lab., Hanyang University

http://rtcc.hanyang.ac.kr 16Real-Time Computing and Communications Lab., Hanyang University

http://rtcc.hanyang.ac.kr

Kernel Compile

Using multi-core for building kernel

▪ 자신의CPU의 core개수확인

• Usage : $ cat /proc/cpuinfo | grep cores

▪ “make”에 –j<n> option 추가

• Usage : $sudo make –j<n>

• “n” : 일반적으로 n = “자신의 cpu개수” + round(cpu개수 * 20%)

✓ Example : cpu cores = 4이면 n = 4 + round(1) = 5

Page 17: 운영체제 실습 - Introduction - RTCC Lab.rtcc.hanyang.ac.kr/sitedata/2017_Under_OS/2017_01_OS_Practice... · 실습환경설정 $ uname – r 혹은 uname – a 를통해현재커널버전을확인할수있다

17Real-Time Computing and Communications Lab., Hanyang University

http://rtcc.hanyang.ac.kr 17Real-Time Computing and Communications Lab., Hanyang University

http://rtcc.hanyang.ac.kr

Kernel Source Download

배포한이미지를사용하지않을경우

Download kernel source

▪ Copy kernel URL link

▪ Kernel version : 4.1.38 (longterm)

Page 18: 운영체제 실습 - Introduction - RTCC Lab.rtcc.hanyang.ac.kr/sitedata/2017_Under_OS/2017_01_OS_Practice... · 실습환경설정 $ uname – r 혹은 uname – a 를통해현재커널버전을확인할수있다

18Real-Time Computing and Communications Lab., Hanyang University

http://rtcc.hanyang.ac.kr 18Real-Time Computing and Communications Lab., Hanyang University

http://rtcc.hanyang.ac.kr

Kernel Source Download

배포한이미지를사용하지않을경우

Download kernel source

▪ “wget”을통해URL link로 kernel source code를다운로드

1. $ sudo wget [URL address] 복사/붙여넣기

2. $ sudo mv linux-4.1.38.tar.xz /usr/src

3. $ cd /usr/src

4. $ tar –xvf linux-4.1.38.tar.xz

5. 이후 13-15 슬라이드참고

Page 19: 운영체제 실습 - Introduction - RTCC Lab.rtcc.hanyang.ac.kr/sitedata/2017_Under_OS/2017_01_OS_Practice... · 실습환경설정 $ uname – r 혹은 uname – a 를통해현재커널버전을확인할수있다

19Real-Time Computing and Communications Lab., Hanyang University

http://rtcc.hanyang.ac.kr 19Real-Time Computing and Communications Lab., Hanyang University

http://rtcc.hanyang.ac.kr

Grub Setting

$ sudo vim /etc/default/grub

▪ 여기서grub은GNU 프로젝트의부트로더이다.

▪ 아래의그림처럼 ‘#’을이용해주석처리한다.

$ sudo update-grub

$ sudo reboot

Page 20: 운영체제 실습 - Introduction - RTCC Lab.rtcc.hanyang.ac.kr/sitedata/2017_Under_OS/2017_01_OS_Practice... · 실습환경설정 $ uname – r 혹은 uname – a 를통해현재커널버전을확인할수있다

20Real-Time Computing and Communications Lab., Hanyang University

http://rtcc.hanyang.ac.kr 20Real-Time Computing and Communications Lab., Hanyang University

http://rtcc.hanyang.ac.kr

과제 (Kernel Build)

개인 PC에 4.1.38 kernel build 해오기

Due : 다음실습수업시간

설치한커널에서결과($uname –a) 다음수업에조교에게확인받는다.

Page 21: 운영체제 실습 - Introduction - RTCC Lab.rtcc.hanyang.ac.kr/sitedata/2017_Under_OS/2017_01_OS_Practice... · 실습환경설정 $ uname – r 혹은 uname – a 를통해현재커널버전을확인할수있다

21Real-Time Computing and Communications Lab., Hanyang University

http://rtcc.hanyang.ac.kr 21Real-Time Computing and Communications Lab., Hanyang University

http://rtcc.hanyang.ac.kr

과제 (Kernel Build)

문의사항▪ 이름 : 임정택

▪ Tel : 010 - 4780 - 9294

▪ E-Mail : [email protected]

▪ 이름 : 최대호

▪ Tel : 010 – 9872 - 9353

▪ E-Mail : [email protected]

▪ 이름 : 박준형

▪ Tel : 010 – 2859 - 6858

▪ E-Mail : [email protected]

▪ 실습관련질문시제목을아래의양식에맞춰서메일을보내주세요

• ex> [운영체제] 학번_이름

지연제출시감점이있을수있음