Upload
Download free for 30 days
Login
Submit Search
windows via c++ Ch 5. Job
Download as PPTX, PDF
3 likes
1,148 views
Hyosung Jeon
cafe.naver.com/architect1 Windows via c++ ch 5
Technology
Read more
1 of 35
Download now
Downloaded 32 times
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
More Related Content
PDF
[Windows via c/c++] 4์ฅ ํ๋ก์ธ์ค
์ข ๋น ์ค
ย
PDF
์ ํ๋ฆฌ ๋ฆฌ์ฒ์ Windows via C/C++ : 8์ฅ ์ ์ ๋ชจ๋์์์ ์ค๋ ๋ ๋๊ธฐํ
sung ki choi
ย
PPTX
Windws via c/c++ chapter 6
SukYun Yoon
ย
PPTX
07 ์ค๋ ๋์ค์ผ์ค๋ง,์ฐ์ ์์,๊ทธ๋ฆฌ๊ณ ์ ํธ๋
ssuser3fb17c
ย
PPTX
Windows via C/C++ 06 ์ค๋ ๋์ ๊ธฐ๋ณธ
ssuser0c2478
ย
PPTX
์ค๋ ๋
xxbdxx
ย
PPTX
11 ์๋์ฐ์ค๋ ๋ํ
ssuser0c2478
ย
PPTX
Startup JavaScript 8 - NPM, Express.JS
Circulus
ย
[Windows via c/c++] 4์ฅ ํ๋ก์ธ์ค
์ข ๋น ์ค
ย
์ ํ๋ฆฌ ๋ฆฌ์ฒ์ Windows via C/C++ : 8์ฅ ์ ์ ๋ชจ๋์์์ ์ค๋ ๋ ๋๊ธฐํ
sung ki choi
ย
Windws via c/c++ chapter 6
SukYun Yoon
ย
07 ์ค๋ ๋์ค์ผ์ค๋ง,์ฐ์ ์์,๊ทธ๋ฆฌ๊ณ ์ ํธ๋
ssuser3fb17c
ย
Windows via C/C++ 06 ์ค๋ ๋์ ๊ธฐ๋ณธ
ssuser0c2478
ย
์ค๋ ๋
xxbdxx
ย
11 ์๋์ฐ์ค๋ ๋ํ
ssuser0c2478
ย
Startup JavaScript 8 - NPM, Express.JS
Circulus
ย
What's hot
(19)
PDF
[143] Modern C++ ๋ฌด์กฐ๊ฑด ์จ์ผ ํด?
NAVER D2
ย
PDF
[2B7]แแ ตแแ ณแซ2 แแ ฅแฏแแ ตแแ ณแ แ ฆแแ ณแแ ณแ แ ฉแแ ณแ แ ขแแ ตแผแแ ต แแ ซ แแ ตแ แ ต แแ ตแทแแ ณแแ กแแ ญ
NAVER D2
ย
PPT
ํท๊ฐ๋ฆฌ๋ ์๋ฐ์คํฌ๋ฆฝํธ ์ ๋ฆฌ
์์ ์ด
ย
PPTX
04 ํ๋ก์ธ์ค
ssuser3fb17c
ย
PDF
[NDC 2016] ์ ๋ํฐ, iOS์์ LINQ ์ฌ์ฉํ๊ธฐ
Daehee Kim
ย
PDF
[D2 CAMPUS] ์๋๋ก์ด๋ ์คํ์์ค ์คํฐ๋์๋ฃ - Http Request
NAVER D2
ย
PDF
๋น๋๊ธฐ ํ์ผ ๋ก๋ฉ
Bongseok Cho
ย
PDF
Javascript ์กฐ๊ธ ๋ ์ ์๊ธฐ
jongho jeong
ย
PDF
[1B4]แแ กแซแแ ณแ แ ฉแแ ตแแ ณ แแ ฉแผแแ ตแแ ฅแผ_แแ ณแ แ ฉแแ ณแ แ ขแแ ตแผ
NAVER D2
ย
PDF
์ ์๋ ค์ง์ง ์์ ์จ์ ์ง์ฃผ, Winsock API - WSAPoll, Fast Loopback
ํฅ๋ฐฐ ์ต
ย
PPT
Gcd ppt
Sangon Lee
ย
PPTX
multi-thread ์ดํ๋ฆฌ์ผ์ด์ ์ ๋ํด ๋ชจ๋ ๊ฐ๋ฐ์๊ฐ ์์ ๋์ง ์์ผ๋ฉด ์ ๋๋ ๊ฒ
ํฅ๋ฐฐ ์ต
ย
PDF
android_thread
handfoot
ย
PPTX
Jupyter notebok tensorboard ์คํํ๊ธฐ_20160706
Yong Joon Moon
ย
PPTX
11_์น์๋น์คํ์ฉ
noerror
ย
PPTX
Startup JavaScript 9 - Socket.IO ์ค์๊ฐ ํต์
Circulus
ย
PDF
์์ฆ 2: ๋ฉํฐ์ฐ๋ ๋ ํ๋ก๊ทธ๋๋ฐ์ด ์์ด๋ฆฌ ํ๋๋์?
๋ดํ ์
ย
PPTX
์ด๊ธฐ์ข ๋ฉํฐ์ฝ์ด ํ๋ก์ธ์๋ฅผ ์ํ ํ๋ก๊ทธ๋๋ฐ ์ธ์ด ๋ฐ ์์์ฒ๋ฆฌ ์คํ์์ค
Seunghwa Song
ย
PPT
GCGC- CGCII ์๋ฒ ์์ง์ ์ ์ฉ๋ ๊ธฐ์ (4) - Executing System
์ํ ์กฐ
ย
[143] Modern C++ ๋ฌด์กฐ๊ฑด ์จ์ผ ํด?
NAVER D2
ย
[2B7]แแ ตแแ ณแซ2 แแ ฅแฏแแ ตแแ ณแ แ ฆแแ ณแแ ณแ แ ฉแแ ณแ แ ขแแ ตแผแแ ต แแ ซ แแ ตแ แ ต แแ ตแทแแ ณแแ กแแ ญ
NAVER D2
ย
ํท๊ฐ๋ฆฌ๋ ์๋ฐ์คํฌ๋ฆฝํธ ์ ๋ฆฌ
์์ ์ด
ย
04 ํ๋ก์ธ์ค
ssuser3fb17c
ย
[NDC 2016] ์ ๋ํฐ, iOS์์ LINQ ์ฌ์ฉํ๊ธฐ
Daehee Kim
ย
[D2 CAMPUS] ์๋๋ก์ด๋ ์คํ์์ค ์คํฐ๋์๋ฃ - Http Request
NAVER D2
ย
๋น๋๊ธฐ ํ์ผ ๋ก๋ฉ
Bongseok Cho
ย
Javascript ์กฐ๊ธ ๋ ์ ์๊ธฐ
jongho jeong
ย
[1B4]แแ กแซแแ ณแ แ ฉแแ ตแแ ณ แแ ฉแผแแ ตแแ ฅแผ_แแ ณแ แ ฉแแ ณแ แ ขแแ ตแผ
NAVER D2
ย
์ ์๋ ค์ง์ง ์์ ์จ์ ์ง์ฃผ, Winsock API - WSAPoll, Fast Loopback
ํฅ๋ฐฐ ์ต
ย
Gcd ppt
Sangon Lee
ย
multi-thread ์ดํ๋ฆฌ์ผ์ด์ ์ ๋ํด ๋ชจ๋ ๊ฐ๋ฐ์๊ฐ ์์ ๋์ง ์์ผ๋ฉด ์ ๋๋ ๊ฒ
ํฅ๋ฐฐ ์ต
ย
android_thread
handfoot
ย
Jupyter notebok tensorboard ์คํํ๊ธฐ_20160706
Yong Joon Moon
ย
11_์น์๋น์คํ์ฉ
noerror
ย
Startup JavaScript 9 - Socket.IO ์ค์๊ฐ ํต์
Circulus
ย
์์ฆ 2: ๋ฉํฐ์ฐ๋ ๋ ํ๋ก๊ทธ๋๋ฐ์ด ์์ด๋ฆฌ ํ๋๋์?
๋ดํ ์
ย
์ด๊ธฐ์ข ๋ฉํฐ์ฝ์ด ํ๋ก์ธ์๋ฅผ ์ํ ํ๋ก๊ทธ๋๋ฐ ์ธ์ด ๋ฐ ์์์ฒ๋ฆฌ ์คํ์์ค
Seunghwa Song
ย
GCGC- CGCII ์๋ฒ ์์ง์ ์ ์ฉ๋ ๊ธฐ์ (4) - Executing System
์ํ ์กฐ
ย
Ad
Similar to windows via c++ Ch 5. Job
(20)
PPTX
Windosw via c/c++ ์คํฐ๋5์ฅ
HolyTak
ย
PPTX
๋๊ธฐํ, ์ค์ผ์ค๋ง
xxbdxx
ย
PPT
job ์ค์ ์ ๋ํด
jung_se_hun
ย
PDF
03 ์ฒซ๋ฒ์งธํ๋ก๊ทธ๋จ
jaypi Ko
ย
PPTX
Windows via c++ part 1
Shin heemin
ย
PDF
Anyframe Enterprise JAVA Center-cut Framework
Insuk (Chris) Cho
ย
PPTX
ํ๋ก์ธ์ค
xxbdxx
ย
PPTX
Thread programming
YoonJong Choi
ย
PPTX
์๋ฒ ์ํคํ ์ฒ ์ดํด๋ฅผ ์ํ ํ๋ก์ธ์ค์ ์ฐ๋ ๋
KwangSeob Jeong
ย
PPTX
๊ต์ฐฉ ์ํ
YoonJong Choi
ย
PPT
U engine social bpm ํ๋ก์ธ์ค ์ฝ๋ - process codi
uEngine Solutions
ย
PPTX
์ด์ ์ฒด์ Sig
YoungGun Na
ย
PPTX
10 ๋๊ธฐ๋ฐ๋น๋๊ธฐ์ฅ์นio
ssuser3fb17c
ย
PDF
(2013 DEVIEW) ๋ฉํฐ์ฐ๋ ๋ ํ๋ก๊ทธ๋๋ฐ์ด ์์ด๋ฆฌ ํ๋๋์?
๋ดํ ์
ย
PPT
์ดํ๋ฆฌ์ผ์ด์ ์ฑ๋ฅ ์ต์ ํ ๊ธฐ๋ฒ
Daniel Kim
ย
PDF
M3 4 1
nexthw
ย
PPTX
11์ฅ ์๋์ฐ ์ค๋ ๋ ํ
ํ์ค ๊น
ย
PPTX
11์ฅ ์๋์ฐ ์ค๋ ๋ ํ + 12์ฅ ํ์ด๋ฒ
ํ์ค ๊น
ย
PPTX
Windows via C/C++ Chapter 10
iluvs
ย
PPTX
Api design for c++ pattern
jinho park
ย
Windosw via c/c++ ์คํฐ๋5์ฅ
HolyTak
ย
๋๊ธฐํ, ์ค์ผ์ค๋ง
xxbdxx
ย
job ์ค์ ์ ๋ํด
jung_se_hun
ย
03 ์ฒซ๋ฒ์งธํ๋ก๊ทธ๋จ
jaypi Ko
ย
Windows via c++ part 1
Shin heemin
ย
Anyframe Enterprise JAVA Center-cut Framework
Insuk (Chris) Cho
ย
ํ๋ก์ธ์ค
xxbdxx
ย
Thread programming
YoonJong Choi
ย
์๋ฒ ์ํคํ ์ฒ ์ดํด๋ฅผ ์ํ ํ๋ก์ธ์ค์ ์ฐ๋ ๋
KwangSeob Jeong
ย
๊ต์ฐฉ ์ํ
YoonJong Choi
ย
U engine social bpm ํ๋ก์ธ์ค ์ฝ๋ - process codi
uEngine Solutions
ย
์ด์ ์ฒด์ Sig
YoungGun Na
ย
10 ๋๊ธฐ๋ฐ๋น๋๊ธฐ์ฅ์นio
ssuser3fb17c
ย
(2013 DEVIEW) ๋ฉํฐ์ฐ๋ ๋ ํ๋ก๊ทธ๋๋ฐ์ด ์์ด๋ฆฌ ํ๋๋์?
๋ดํ ์
ย
์ดํ๋ฆฌ์ผ์ด์ ์ฑ๋ฅ ์ต์ ํ ๊ธฐ๋ฒ
Daniel Kim
ย
M3 4 1
nexthw
ย
11์ฅ ์๋์ฐ ์ค๋ ๋ ํ
ํ์ค ๊น
ย
11์ฅ ์๋์ฐ ์ค๋ ๋ ํ + 12์ฅ ํ์ด๋ฒ
ํ์ค ๊น
ย
Windows via C/C++ Chapter 10
iluvs
ย
Api design for c++ pattern
jinho park
ย
Ad
More from Hyosung Jeon
(7)
PPTX
Nodejs express
Hyosung Jeon
ย
PPTX
WebGL
Hyosung Jeon
ย
PPTX
9์ฅ ๋๋ฉ์ธ ์ฃผ๋ ์ค๊ณ
Hyosung Jeon
ย
PPTX
Mongo db ๋ณต์ (Replication)
Hyosung Jeon
ย
PPTX
xUnitTestPattern/chapter12
Hyosung Jeon
ย
PDF
Map reduce
Hyosung Jeon
ย
PPTX
๋ชฉ์ ์ด ๋ถ์ฌ๋ ์์ด์ ํธ ํ๋
Hyosung Jeon
ย
Nodejs express
Hyosung Jeon
ย
WebGL
Hyosung Jeon
ย
9์ฅ ๋๋ฉ์ธ ์ฃผ๋ ์ค๊ณ
Hyosung Jeon
ย
Mongo db ๋ณต์ (Replication)
Hyosung Jeon
ย
xUnitTestPattern/chapter12
Hyosung Jeon
ย
Map reduce
Hyosung Jeon
ย
๋ชฉ์ ์ด ๋ถ์ฌ๋ ์์ด์ ํธ ํ๋
Hyosung Jeon
ย
windows via c++ Ch 5. Job
1.
Windows via C++
5์ฅ ์ก(Job) ์ํคํ ํธ๋ฅผ ๊ฟ๊พธ๋ ์ฌ๋๋ค (http://cafe.naver.com/archtect1) ์ ํจ์ฑ
[email protected]
1
2.
์ด๋์ ์ฌ์ฉํ ๊น?
๊ตฌ๊ธ๋ง์ ํด๋ดค์ต๋๋ค. ํค์๋๋ โOpenJobObjectโ 2
3.
๊ฒ์ ๊ฒฐ๊ณผ
3
4.
4
5.
์ฌ์ฉ ์ฌ๋ก โข ์น
๋ธ๋ผ์ฐ์ โ ๊ตฌ๊ธ ํฌ๋กฌ โข ์๋ฒ ํ๋ก๊ทธ๋จ โข Virtual machine 5
6.
์ฌ์ฉ ์ฉ๋ โข ์ฌ๋ฌ
๊ฐ์ Process๋ฅผ ํ๋์ ๊ทธ๋ฃน์ผ๋ก ๋ฌถ ์ด์ ๊ด๋ฆฌํ๊ณ ์ถ์ ๊ฒฝ์ฐ โข Process๊ฐ ๋์๊ฐ๋ ํ๊ฒฝ์ ์ ์ฝ์ ๊ฑธ๊ณ ์ถ์ ๊ฒฝ์ฐ โ ๋ฉ๋ชจ๋ฆฌ ์ ํ โ CPU ์ฌ์ฉ์๊ฐ ์ ํ 6
7.
์ฃผ์ ์ฉ์ด ์ค๋ช โข
Sandbox โ ์ ์ฝ์ด ์ฌํ ํ๊ฒฝ ๏ ๊ธฐ๋ฐ ์์คํ ์ด๋ ๋ฐ์ดํฐ ๋ณดํธ ๋ชฉ์ โ ์ฌ์ฉ ์ฌ๋ก โข ๊ตฌ๊ธ ํฌ๋กฌ โข ๋ฐฑ์ โข Virtual machine 7
8.
์ฝ๋๋ฅผ ์ดํด ๋ด ์๋ค.
8
9.
9
10.
ํ๋ก์ธ์ค ์ข ๋ฃ ์ ์ Jobํธ๋ค์
์ ๊ฑฐํด๋ ๋ ๊น์? 10
11.
Job object
P1 P2 P3 ํ๋ก์ธ์ค๊ฐ ๋ชจ๋ ์ข ๋ฃ๋ ๋ Job object๊ฐ ์๋ฉธ๋ฉ๋๋ค. 11
12.
์ค๋ ๋ฐฐ์ธ ๊ฒ๋ค 1.
์ก ๋ด์ ํ๋ก์ธ์ค์ ๋ํ ์ ํ์ฌํญ ์ค์ 2. ์ก ๋ด์ ํ๋ก์ธ์ค ๋ฐฐ์นํ๊ธฐ 3. ์ก ๋ด์ ๋ชจ๋ ํ๋ก์ธ์ค ์ข ๋ฃํ๊ธฐ 4. ์ก ํต์ง 5. ์ก ์ค์ต ์ดํ๋ฆฌ์ผ์ด์ 12
13.
1. ์ก ๋ด์
ํ๋ก์ธ์ค์ ๋ํ ์ ํ์ฌํญ ์ค์ โข ์ ํํฉ๋๋ค. โ ์์คํ ๋ฆฌ์์ค โ UI์ ์ผ๋ถ ๊ธฐ๋ฅ๋ค ( ๊ฐ์ ์ข ๋ฃ, ๋ก๊ทธ ์์, โฆ ) โ ๋ณด์ ์ฌํญ์ ์ ๊ทผ( ํ์ผ, ๋ ์ง์คํธ๋ฆฌ ์๋ธํค ) โข How? โ SetInformationJobObject()ํจ์๋ฅผ ํตํด์ 13
14.
SetInformationJobObject function BOOL WINAPI
SetInformationJobObject( __in HANDLE hJob, __in JOBOBJECTINFOCLASS JobObjectInfoClass, __in LPVOID lpJobObjectInfo, __in DWORD cbJobObjectInfoLength ); โข ์ ํ ์ฌํญ ํํ โ ๊ธฐ๋ณธ ์ ํ์ฌํญ โ ํ์ฅ ์ ํ์ฌํญ โ ๊ธฐ๋ณธ UI์ ํ์ฌํญ โ ๋ณด์ ์ ํ์ฌํญ 14
15.
์ฌ์ฉ ๋ฐฉ๋ฒ BOOL WINAPI
SetInformationJobObject( __in HANDLE hJob, __in JOBOBJECTINFOCLASS JobObjectInfoClass, __in LPVOID lpJobObjectInfo, __in DWORD cbJobObjectInfoLength ); 15
16.
๊ธฐ๋ณธ ์ ํ ์ฌํญ
์ค์ 1. ํ๋ก์ธ์ค๋ณ user ๋ชจ๋์๊ฐ ์ ํ 2. Job๋ณ user ๋ชจ๋ ์๊ฐ ์ ํ 3. Limit flag 4~5 : ์ต๋/์ต์ working set์ง์ 6. ๋์ ์ํ ๊ฐ๋ฅํ ํ๋ก์ธ์ค ์ 7. ํ๋ก์ธ์ค๋ณ ์ ํ์ฌํญ ์ค์ 8. ๋ชจ๋ ํ๋ก์ธ์ค ์ฐ์ ์์ ์ค์ 9. ์ก ๋ด์ ํ๋ก์ธ์ค์ ์ฐ์ ์์ ์ค์ ( 0 : ์๊ฐ ์ ์ ๋ฎ๋ค ~ 9 : ์๊ฐ์ ์ ๋๋ค ) 16
17.
ํ์ฅ ์ ํ ์ฌํญ
์ค์ 1. ๊ธฐ๋ณธ ์ ํ ์ฌํญ ์ค์ ๊ฐ์ฒด 2. IO์นด์ดํฐ 3. ํ๋ก์ธ์ค ๋น ์ปค๋ฐ ๊ฐ๋ฅํ ์ต๋ ๋ฉ๋ชจ๋ฆฌ ํฌ๊ธฐ 4. Job์์ ์ปค๋ฐ ๊ฐ๋ฅํ ์ต๋ ๋ฉ๋ชจ๋ฆฌ ํฌ ๊ธฐ 5. ์ก ๋ด์ ํ๋ก์ธ์ค๋น ์ปค๋ฐ๋ ์ต๋ ๋ฉ๋ชจ ๋ฆฌ ์ฌ์ฉ๋ ์กฐํ 6. ์ก ์ ์ฒด์ ์ปค๋ฐ๋ ๋ฉ๋ชจ๋ฆฌ ์ฌ์ฉ๋ ์กฐํ ์์ธ ์ฐฝ์ด ์๋ ์.. 17
18.
UI ์ ํ ์ฌํญ
์ค์ 1. ์ ํ์ฌํญ ์์ 2. ์ก ์ธ๋ถ์์ ์์ฑํ ํธ๋ค ์ฌ์ฉ ๊ธ์ง 3. ํด๋ฆฝ๋ณด๋ ์ฝ๊ธฐ ๊ธ์ง 4. ํด๋ฆฝ๋ณด๋ ์ฐ๊ธฐ ๊ธ์ง 5. ์์คํ ํ๋ผ๋ฉํฐ ๋ณ๊ฒฝ ๊ธ์ง 6. ๋์คํ๋ ์ด ์ค์ ๋ณ๊ฒฝ ๊ธ์ง 7. ์ก ๋ด์ ํ๋ก์ธ์ค๋ค์ด ์ ์ญ ์ํฐ ํ ์ด ๋ธ์๋ง ์ ๊ทผ 8. ์๋ก์ด ๋ฐ์คํฌํ ์์ฑ / ๊ต์ฒด ๊ธ์ง 9. ์๋์ฐ ์ข ๋ฃ ๊ธ์ง 10. ๋ชจ๋ ๊ธ์ง 18
19.
์ก ๋ด๋ถ์ ์ธ๋ถ์
ํ๋ก์ธ์ค๊ฐ ํต์ ์ก ๋ด๋ถ ํ๋ก์ธ์ค ์ก ์ธ๋ถ ํ๋ก์ธ์ค ํธ๋ค ์ฌ์ฉ ๊ฐ๋ฅ ํธ๋ค ์ฌ์ฉ ๋ถ๊ฐ BOOL WINAPI UserHandleGrantAccess( __in HANDLE hUserHandle, __in HANDLE hJob, __in BOOL bGrant ); 19
20.
๋ณด์ ์ ํ ์ฌํญ
์ค์ 20
21.
Job์ ๊ฑธ๋ ค์๋ ์ ํ
์ ๋ณด ์กฐํ BOOL WINAPI QueryInformationJobObject( __in_opt HANDLE hJob, __in JOBOBJECTINFOCLASS JobObjectInfoClass, __out LPVOID lpJobObjectInfo, __in DWORD cbJobObjectInfoLength, __out_opt LPDWORD lpReturnLength ); SetInformationJobObject ํจ์์ ๋์ผํ ๋ฐฉ์์ผ๋ก ๊ฐ ์ป์ด์ฌ ์ ์์ โข Handle โข ์ด๋ค ๊ตฌ์กฐ์ฒด ์ฌ์ฉํ๋์ง ๊ตฌ์กฐ์ฒด ์ข ๋ฅ โข ๊ตฌ์กฐ์ฒด ํฌ์ธํฐ โข ๊ตฌ์กฐ์ฒด ํฌ๊ธฐ โข ๋ฐ์์ฌ ๊ฐ 21
22.
2. ์ก ๋ด์
ํ๋ก์ธ์ค ๋ฐฐ์นํ๊ธฐ โข ์์ฑ ์์ฒญํ Process๊ฐ Job์ ์ํด์๋ ๊ฒฝ์ฐ โข ์์ฑ ์์ฒญํ Process๊ฐ Job์ ์ํด์์ง ์์ ๊ฒฝ ์ฐ โ CreateProcess์ CREATE_SUSPEND ํ๋๊ทธ๋ก ์์ฑ โ AssignProcessToJobObject(hJob, hProcess)๋ก ์์ฑ ํ process๋ฅผ Job์ ๋ฐฐ์น โ ResumeThread๋ก threadํ๋ฆ ์ฌ๊ฐ 22
23.
23
24.
3. ์ก ๋ด์
๋ชจ๋ ํ๋ก์ธ์ค ์ข ๋ฃํ๊ธฐ โข ์ก ๋ด์ ๋ชจ๋ ํ๋ก์ธ์ค ์ข ๋ฃํ๊ธฐ โ TerminateJobObject( jobHandle, exitCode ) โข ์ก์ ํต๊ณ ์ ๋ณด ์กฐํ โ QueryInformationJobObject() โข BASIC_ACCOUNTING_INFORMATION โข IO_COUNTERS โ Read or Write ํ์ โ Read or Write ๋ฐ์ดํฐ์ ํฌ๊ธฐ โข ํ์ฌ ์ํ์ค์ธ Job ๋ด์ ํ๋ก์ธ์ค ์กฐํ โข ์ก์ ์ํ์ง ์์ IO_COUNTER์กฐํ โ GetProcessIoCounters()์ฌ์ฉ 24
25.
BASIC_ACCOUNTING_INFORMATION BOOL WINAPI QueryInformationJobObject(
__in_opt HANDLE hJob, __in JOBOBJECTINFOCLASS JobObjectInfoClass, __out LPVOID lpJobObjectInfo, __in DWORD cbJobObjectInfoLength, __out_opt LPDWORD lpReturnLength ); 25
26.
๊ฐ๋จํ๊ฒ ์ฌ์ฉํ ๊ฑฐ๋ฉดโฆ โข
Tool์ ์ฌ์ฉ ํฉ์๋ค. โข Process explorer โ ํ๋ก์ธ์ค๊ฐ Job ๋ด๋ถ์์ ์ํ๋๋ฉด ๊ฐ์์ผ๋ก ๋ณํจ 26
27.
4. ์ก ํต์ง โข
์ก ํต์ง๋ฅผ ๋ฐ๋ ๋๊ฐ์ง ๋ฐฉ๋ฒ โ WaitForSingleObject()๋ฅผ ์ด์ฉ โ IOCP( Input/Ouptput Completion Port )๋ฅผ ์ด์ฉ 27
28.
CPU ์๊ฐ ์๋ชจ
ํต์ง โข WaitForSingleObject๋ WaitForMultiObjects๋ฅผ ์ด ์ฉํ์ฌ ํต์ง๋ฅผ ๊ธฐ๋ค๋ฆผ โข CPU์๊ฐ์ ๋ชจ๋ ์ฌ์ฉํ๋ฉด wait์๋ ์ฝ๋ ์ํ 28
29.
IOCP๋ฅผ ์ด์ฉํ๋ ํต์ง
๋ฐฉ๋ฒ ์ข ๋ฅ 1. Job์ด ์ฃผ์ด์ง CPU์๊ฐ ๋ชจ๋ ์๋ชจ, Process์ข ๋ฃ๋ ์ํจ 2. ํ๋ก์ธ์ค๊ฐ ์ฃผ์ด์ง CPU์๊ฐ์ ๋ชจ๋ ์๋ชจ, ํ๋ก์ธ์ค ์ข ๋ฃ, ํ๋ก์ธ์ค id๋ฅผ ๋๊ฒจ์ค 3. ํ์ฌ ์ํ์ค์ธ ํ๋ก์ธ์ค ์์ ์ ํ์ ๋๊น 4. ํ์ฌ ์ํ์ค์ธ ํ๋ก์ธ์ค๊ฐ ์์ 5. ์๋ก์ด ํ๋ก์ธ์ค๊ฐ ์์ฑ๋จ( id์ ๋ฌ ) 6. ํ๋ก์ธ์ค๊ฐ ์ข ๋ฃ๋จ( id์ ๋ฌ ) 7. Unhandled exception์ผ๋ก ์ธํ ํ๋ก ์ธ์ค ์ข ๋ฃ ํต์ง( id์ ๋ฌ ) 8. ํ๋ก์ธ์ค๊ฐ ์ต๋ ๋ฉ๋ชจ๋ฆฌ ์ฌ์ฉ๋์ ๋ ์ด์ ํ ๋น์ ์์ฒญํจ ( id์ ๋ฌ ) 9. Job์์ ์ฌ์ฉ๊ฐ๋ฅํ ์ต๋ ๋ฉ๋ชจ๋ฆฌ ์ฌ ์ฉ๋์ ๋๋ ๋ฉ๋ชจ๋ฆฌ ํ ๋น ์์ฒญ์ด ๋ค์ด ์ด 29
30.
IOCP๋ฅผ ์ด์ฉํ job
notify ์ฒ๋ฆฌ Application thread Job notify thread function IOCPํฌํธ ํ๋ ์์ฑ Job notify๋ฅผ ์ฒ๋ฆฌํ thread์์ฑ ์ก๊ณผ IOCP์ ์ฐ๊ฒฐ SetInformationJobObject() Job notify thread์ ์ข ๋ฃ๊น์ง wait 30
31.
์ฃผ์์ฌํญ โข ์ก ์ค๋ธ์ ํธ์
CPU์๊ฐ ๋ชจ๋์ฌ์ฉ ๏จ ์ข ๋ฃ โข CPU ์๊ฐ ๋ชจ๋ ์ฌ์ฉ ํต์ง๋ง ๋ฐ์ผ๋ ค๋ฉด? โ JOBOBJECT_END_OF_JOB_TIME_INFORMATION ๊ตฌ์กฐ์ฒด ์์ฑ ํ SetInformationJobObject()ํจ์๋ก ์ค์ 31
32.
32
33.
5. ์ก ์ค์ต
์ดํ๋ฆฌ์ผ์ด์ โข http://www.hanb.co.kr/exam/1621/ 33
34.
์ฃผ์์ฌํญ โข Console์์ ์คํ
ํ ๊ฒ โข Visual studio๋ ํ์๊ธฐ์์ ์คํํ๋ฉด ์๋ ์ ๊ฐ์ ๊ทธ๋ฆผ์ ๋ณผ ์ ์๋ค. โ ํ์๊ธฐ๋ฅผ ํตํ์ฌ ์คํ๋ ํ์ผ์ ์๋์ ์ผ๋ก โPCAโ๋ผ๋ Job์ ํ ๋น ๋๋ค. 34
35.
๋ฐํ๋ ์ฌ๊ธฐ๊น์งโฆ
35
Download