인터럽트에서 DirectX까지

Sdílet
Vložit
  • čas přidán 25. 05. 2022
  • 인터럽트는 종류에 따라 분류가 있습니다. 책에서는 한 가지 주제를 중심적으로 다루고 있는데 이 부분과 더불어 추가로 알아야 할 내용을 담아 영상으로 만들었습니다. 그리고 I/O 인터럽트가 자주 발생하면 그 만큼 처리는 늦어집니다. 해서 고성능이 요구되는 환경에서는 I/O를 최소화 하는 방식으로 성능을 높입니다. 더불어 함께 알아두시면 학습에 도움이 되리라 확신합니다.

Komentáře • 85

  • @eliji-tl6qp
    @eliji-tl6qp Před 15 dny

    DirectX가 요단강을 다이렉트로 건너게! 표현이 재밌습니다. :) 공부하다가 용어 찾아봐도 이해가 안갔었는데, 선생님 설명이 참 쉽고 이해가 잘 갑니다 감사합니다.

    • @nullnull_not_eq_null
      @nullnull_not_eq_null  Před 8 dny

      좋게 봐주셔서 고맙습니다. 열공하시고 좋은 결과 얻으세요~~!

  • @EE-rs4oq
    @EE-rs4oq Před 2 lety +3

    정말 국내에서는 어디서도 듣기힘든 귀한강의같습니다. 이런 귀한강의 공유해주셔서 언제나 감사드립니다!

    • @nullnull_not_eq_null
      @nullnull_not_eq_null  Před 2 lety +1

      좋은 평가와 피드백 감사합니다. 대한민국 모든 개발자가 전공자가 되는 날까지...열심히 강의 올리겠습니다. ^^

  • @yoossecret7768
    @yoossecret7768 Před 2 lety +1

    선생님 오늘도 감사합니다 시간 날 때 꼭 챙겨보겠습니다 ㅎ

  • @user-th5qo9xc6i
    @user-th5qo9xc6i Před 2 lety +1

    정말 고맙습니다. 너무 새롭습니다.

    • @nullnull_not_eq_null
      @nullnull_not_eq_null  Před 2 lety +1

      함께 알아두시면 좋을 것 같아 DirectX와 묶어봤습니다. 감사합니다. ^^

  • @jey6447
    @jey6447 Před 5 měsíci

    선생님 네트워크 강의 다 듣고 이제 운영체제 강의 듣기 시작했는데, 이런 명강의를 그냥 듣기가 죄송해서, 오늘 바로 멤버십 가입했습니다!! ㅠㅠㅠ
    조만간 상여금 타면 인프런 강의도 바로 결제하러 달려갈게요! 퀄리티 좋은 강의 왕왕 감사합니다! 건강하세요!

    • @nullnull_not_eq_null
      @nullnull_not_eq_null  Před 5 měsíci

      와우~~! 멤버십 감사합니다. 음...상여금 말고 꼭 교육비 지원 받아 구매해주시면 좋겠습니다. 지금 회사에서 해주지 않는다면 교육비는 지원해주는 복지기업으로 이직한 후 해주시면 더 좋겠습니다. :)

  • @andodesjoke8742
    @andodesjoke8742 Před 2 lety +6

    DirectX가 이런 목적으로 만든 것이었군요. 내부에서 어떤 처리 과정이 있는지 알고 보니까 이해가 바로 되네요! 좋은 강의 잘 들었습니다. 감사합니다.

    • @nullnull_not_eq_null
      @nullnull_not_eq_null  Před 2 lety +2

      불필요한 중간 과정을 생략하면...성능이 올라가지요. ^^
      좋은 평가와 피드백 감사합니다. 이해도 바로 된다 하시니....기분 좋습니다. ^^

  • @user-mf8gs2sd3u
    @user-mf8gs2sd3u Před rokem

    좋은 강의 감사합니다 :) 옛날 이야기, 정리까지너무 재밌게 보고 있네요. 완강까지 달리겠습니다. 앞으로도 계속 좋은 강의 부탁드려요!

    • @nullnull_not_eq_null
      @nullnull_not_eq_null  Před rokem

      와우~~~! 후원 감사합니다. 오늘 커피는 송이레님께 얻어 마신 것으로 하겠습니다. ^^

  • @user-nb7wq6yg4i
    @user-nb7wq6yg4i Před 2 lety +1

    좋은 강의 감사합니다.

  • @user-mr8xi4ip4l
    @user-mr8xi4ip4l Před 2 lety +1

    강의 너무 재미있습니다 👍🏻

  • @Giant_Pengsoo
    @Giant_Pengsoo Před 2 lety +1

    강의가 너무 재미있어요. 책으로 운영체제 공부하다보니 딱딱하다 생각했는데, 이렇게 DirectX 쓰임도 알게되고 하니 공부에 흥미가 붙네요. 감사합니다.

    • @nullnull_not_eq_null
      @nullnull_not_eq_null  Před 2 lety +1

      좋은 평가와 피드백 감사합니다. 꼭 흥미 잃지 마시고 끝까지 배우셔서 좋은 결과 얻으시기를 바랍니다. ^^

  • @살만큼살았냐
    @살만큼살았냐 Před 2 lety +1

    옛날 얘기를 넣어주셔서 더 이해가 잘됩니다! 어떤 문제때문에 변했고 그래서 현재 어떻게 작동하는지등 이유를 알게되니깐 더 머리속에 잘박힙니다 감사합니다.

    • @nullnull_not_eq_null
      @nullnull_not_eq_null  Před 2 lety +3

      아무래도 나이 먹어서 좋은 점이 그것 아닐까 싶습니다. '라떼' + '꼰대'가 되지 않는 범위라면 다들 좋아하시는 것 같습니다. 좋은 평가와 피드백 감사합니다. ^^

  • @BIN9990
    @BIN9990 Před 2 lety +2

    좋은강의 감사합니다 😊
    요단강을 크로스해서 직접건넌다 라는 비유 너무좋았습니다 언젠가 저도한번 써먹어야겠네요😆
    빨리 쾌차하시길 기원합니다!!

    • @nullnull_not_eq_null
      @nullnull_not_eq_null  Před 2 lety +1

      요단강만 하시면 가끔...종교문제를 지적하시는 분들이 계시므로...'꼭' 삼도천도 함께 다뤄주시면 좋습니다. 감사합니다. ^^;;;

  • @kingcrab9701
    @kingcrab9701 Před 2 lety +1

    와,.. 생각보다 넘모 재밌어용!! 바로 구독 해버렸습니닷. 부디 건강도 빨리 되찾으시길 기원하겠습니다.

    • @nullnull_not_eq_null
      @nullnull_not_eq_null  Před 2 lety +1

      옛날 이야기를 넣어서 혹시 지루하게 길어지지는 않았나 살짝 걱정도 했는데...즐겁게 봐주셔서 감사합니다. ^^;;;

  • @marunarae550
    @marunarae550 Před 2 lety +5

    오.. 드디어 인터럽트를 시작하네요. 현재 보고있던 강의 마저 다 보고 운영체제도 완강까지 달리겠습니다.

    • @nullnull_not_eq_null
      @nullnull_not_eq_null  Před 2 lety +1

      인터럽트는 개념만 아시면 됩니다. 그래서 최대한 간략히 설명했습니다. 혹시 부족한 부분이 있거나 질문 있으면 언제든 글 남겨주시기 바랍니다. 감사합니다. ^^

  • @kwangseokjeong4778
    @kwangseokjeong4778 Před 2 lety +1

    잘보겠습니다.

    • @nullnull_not_eq_null
      @nullnull_not_eq_null  Před 2 lety +1

      영상이 좀 길지만...끝까지 보시면 그래도 도움될 것이라 생각합니다. 감사합니다. ^^;;

  • @user-qu2xx7yi7t
    @user-qu2xx7yi7t Před 2 lety

    오늘도 배워갑니다 ^ ^

  • @Steal_Life
    @Steal_Life Před 8 měsíci

    양질의 수업 늘 감사합니다!! ㅠㅠㅠ

  • @devyun1954
    @devyun1954 Před 2 lety

    흐아 ,,,, 너무너무 감사합니다 ...!!! 취준 성공하면 멤버십 가입해서 꼭 보답 하겠습니다 ...!!

    • @nullnull_not_eq_null
      @nullnull_not_eq_null  Před 2 lety +1

      열공하시고 좋은 결과 얻으시기 바랍니다. 건투를 빕니다!

  • @persistento3097
    @persistento3097 Před 2 lety +2

    감사합니다.

  • @dtd6797
    @dtd6797 Před 2 lety +1

    ㅇㅎ 굳입니다!

  • @jieseungjang1112
    @jieseungjang1112 Před 2 lety +1

    그래서 다이렉트군요 진짜 잼있습니다.

  • @user-zc7xv7tr9u
    @user-zc7xv7tr9u Před 2 lety +2

    컴퓨터쪽으로 3학년과정으로 전과해서 1학기를 다니는 중인대 시간이 부족하다고 생각하여 선생님의 강의를 듣고 있습니다. 너무 좋은 강의 감사합니다

    • @nullnull_not_eq_null
      @nullnull_not_eq_null  Před 2 lety +2

      와우...후원 감사합니다. 3학년 과정으로 '전과'하셨다면...따라잡기 위한 노력이 꽤나 들어갈 수 있겠네요. 제 강의가 부디 도움이 되기를 바랍니다. 가급적 가볍게 올리니까...지하철 같은 곳에서 이동하시면서 들으셔도 괜찮을 겁니다. 공부하다 막히는 것이 있으면 언제든 글 올려주세요. 정호균 님의 학업을 응원하겠습니다. 건투를 빕니다!

    • @user-vj4st2gd4i
      @user-vj4st2gd4i Před 2 lety

      @@nullnull_not_eq_null 출퇴근길 널널한 개발자님 강의 영상 보기 정말 좋은거 같아요 :)

    • @nullnull_not_eq_null
      @nullnull_not_eq_null  Před 2 lety

      몇몇 분들이 그리 말씀해주셔서...가급적이면 소리로만 대충 들어도 이해하실 수 있도록 노력하고 있긴 합니다. 더 신경쓰겠습니다. 피드백 감사합니다. ^^

  • @doxxx93
    @doxxx93 Před 2 lety +1

    책을 사야겠네요..!

    • @nullnull_not_eq_null
      @nullnull_not_eq_null  Před 2 lety +1

      꼭 사지는 않으셔도 됩니다. 필요하시다면 구매하시기 바랍니다. ^^

    • @doxxx93
      @doxxx93 Před 2 lety +1

      좋은 강의 감사합니다..!

  • @hm-xh1ju
    @hm-xh1ju Před rokem +3

    운영체제 강의도 보기 시작했습니다! 기반 지식이 없어서 다 생소하지만 재밌어요! 선생님은 강의하실때 강조할부분이 있으면 "중요한것은" 이라고 언급해주시고 마지막에 쭉 정리해주시던데 강의 방식이 너무 좋습니다 ㅎㅎ 항상 강의 감사합니다!

    • @nullnull_not_eq_null
      @nullnull_not_eq_null  Před rokem +1

      좋은 평가와 피드백 감사합니다. 최근 지방출장을 다녀오느라 답글이 늦었네요. 앞으로 강의 만들 때도 '정리'를 신경쓰겠습니다. 감사합니다. ^^

    • @hm-xh1ju
      @hm-xh1ju Před rokem

      @@nullnull_not_eq_null 영상 올려주시는 것도 감사한데 항상 답변도 달아주셔서 도움이 많이 됩니다! 감사합니다! :)

  • @ConstantSTAN
    @ConstantSTAN Před rokem

    인터럽트가 일종의 비동기 이벤트라고 볼 수 있나요?
    인터럽트 방식이라는 것이 (I/O 상황에서만 가정) CPU가 데이터를 입출력해야할 일이 있다면 과거처럼 직접 하는 것이 아니라, 입출력 관리자에게 실제 데이터 입출력을 위임하여 CPU는 기존에 진행하던 작업을 계속할 수 있게 해주는 방식으로 이해했었습니다. 곰책에도 이렇게 쓰여있구요!
    영상에서 최호성님이 고성능 주변기기의 경우에는 인터럽트를 비동기 처리를 통해서 성능이 좋다라고 언급해주셨는데, 과거의 폴링 방식을 사용하는 경우가 아닌 현대의 컴퓨터 시스템에서 인터럽트 방식을 사용하는 경우라면 이렇게 비동기로 동작하는 경우에 해당하는 것인지 궁금합니다.
    인터럽트의 개념이 제가 느끼기에 제일 모호한 것 같은데, 데이터 입출력 등 예기치 못한 일을 처리해야하거나 완료되었다는 신호 그 자체를 의미하는 것인지 아니면 예기치 못한 일을 CPU 대신 처리하는 누군가가 있는 것이 있는 걸 말하는 건지 헷갈리네요. 우선 계속 영상 돌려보고 있겠습니다.

    • @nullnull_not_eq_null
      @nullnull_not_eq_null  Před rokem

      인터럽트라는 것에 대해 깊게 생각하지 마시고 "CPU의 연산 흐름을 막는 방해요소'라는 관점에서 이해해보면 어떨까 싶습니다. CPU는 연산하고 싶지만 연결된 다른 기기들에 의해 I/O 요청이 발생할 경우 이를 처리하기 위해 CPU는 하던 연산을 멈춰야 하는 것이죠. 인터럽트가 비동기적일 수 밖에 없는 이유는 언제 발생할 지 알 수 없기 때문입니다. 가령, 네트워크에서 언제 데이터가 날아올지는 알 수 없는 것이지요.
      그리고 인터럽트를 폴링하는 것은 H/W수준에서 일어납니다. Kernel에서는 그 결과를 통지 받아 인터럽트 서비스 루틴(보통 함수)이 호출됩니다. 당연히 언제 호출 될 지 시점을 정하기는 어렵고 어떤 조건일 때 호출되는 것으로 상정합니다. 참고하시기 바랍니다. ^^

  • @user-fv2ft4mz3k
    @user-fv2ft4mz3k Před 9 měsíci

    23:00 이 구간에 궁금한점이 생겨 댓글 남깁니다.
    모니터에 데이터를 출력하는 과정에 모니타에서 어떤 응답을 받아서 유저 어플리케이션에 넘겨주는것일까요??
    제 생각엔 화면출력은 udp와 비슷한 느낌으로 동작할거라 예상했었어서..

    • @nullnull_not_eq_null
      @nullnull_not_eq_null  Před 9 měsíci +1

      모니터는 출력장치라 응답이라는 입력을 고려할 필요는 없겠습니다. 참고하시기 바랍니다. :)

  • @user-md5eg9gx4t
    @user-md5eg9gx4t Před rokem

    먼저 새해복 많이 받으십시요 강사님 항상 좋은 강의 감사드립니다
    질문을 좀 드려보자면, 20분10초정도에 H/W부분에 Video가 모니터와 연결되어있는데... 저번에 H/W단 그려주실 때 CPU 통신 with RAM / CPU 통신 with 주변기기 이걸로 이해를 해서.. 지금 20분 10초에 Video가 CPU인거고 모니터(주변기기)와 입출력하는 내용인가요? 마찬가지로 RAM이 VIDEO와 통신하는것도 RAM과 CPU의 통신으로 이해하면 되는건지요?

    • @nullnull_not_eq_null
      @nullnull_not_eq_null  Před rokem

      Video는 CPU와 별개입니다. 그러니가 H/W에 Video + CPU + RAM이 다 있는 것이지요. Video가 CPU는 아닙니다. 다만 CPU가 RAM에 있는 정보를 Video로 송/수신할 때 개입한다 볼 수 있겠습니다. 입/출력을 제어해야 하니까요. Video는 '주변기기 중 하나'로 이해하시면 되겠습니다. 감사합니다.

  • @justv1ewer
    @justv1ewer Před rokem

    강사님 3가지 질문이 있습니다!
    1. 앞 부분 내용을 정리해보면
    대과거: CPU가 직접 메모리와 데이터 IO("매니징"이라고 하신 것 같은데 맞게 이해한 건지 모르겠네요)
    과거: 메인보드 내 브릿지(노스)가 직접적, CPU가 간접적으로 메모리와 IO
    현재: 대과거 방식으로 회귀(메모리, PCI-Express 등)
    인 것 같은데 맞게 이해한 걸까요?
    2. 24:50 에서
    시스템 콜을 프로세스가 하는 건가요 프로세스에 의해 호출된 OS API가 하는 건가요?
    2-1. 시스템 콜이라는 게 GDI 엔진을 호출하는 게 아니라 드라이버를 호출(?)하는 거라고 이해하면 될까요?
    3. 영상 끝에 데이터와 DMA 얘기를 따로 하셔서 좀 헷갈리는데요,
    혹시 지금까지 설명하신 IO가 각종 바이너리 데이터에 대한 IO가 아닌가요?
    예를 들면 어떤 게임의 연산을 위한 각종 명령어와 게임과 관련한 피연산 바이너리 정보들,
    오디오 장치로의 출력을 위한 일련의 바이너리 음악 데이터 등을 말씀드린 겁니다.
    읽어주셔서 감사합니다!

    • @nullnull_not_eq_null
      @nullnull_not_eq_null  Před rokem +1

      1. 요즘 CPU가 관리를 직접합니다.
      2. 기본적으로 시스템 콜은 프로세스가 합니다. 그리고 GDI엔진이라는 것도 커널영역에 구현된 SW로 사실상 드라이버와 같습니다.
      3. 데이터에 대한 I/O 맞습니다. 명령어가 포함될 이유는 없습니다. 참고하시기 바랍니다.

    • @justv1ewer
      @justv1ewer Před rokem

      답변 기다리고 있었다가 알림 와 있는 거 보고 달려왔습니다.
      상세한 답변 정말 감사합니다.
      강사님 덕에 편하게 고품질 IT 지식들을 배우고 있어 항상 감사함을 느끼고 있습니다.
      오늘도 좋은 하루 보내세요!

  • @Null_pointer_
    @Null_pointer_ Před 2 lety +1

    CPU쪽에 붙어있는 메모리 매니저를, PC조립 커뮤니티 에서는 메모리 컨트롤러, 줄여서 멤컨 이라고 부르더라구요
    메인보드 칩셋이 좋으면 메모리 한계 클럭도 더 높지만
    CPU의 멤컨 수율에 따라서도 램 오버클럭이 더 높은 클럭까지 들어가더라구요
    그래서 요새 돈 많은 오버클럭 고수분들은 CPU 오버클럭은 마진이 적다보니 CPU i9 급을 여러개 ~ 수십개 사신다음에 멤컨을 뽑기하시고
    수율이 안좋은 나머지것들은 중고장터에 어느정도 합리적인 가격으로 저렴하게 파시더라구요
    전 그렇게 멤컨 수율이 평균치인 i9 - 12900k를 중고로 저렴하게 사서 잘쓰고있습니다 ㅋㅋ
    멤컨으로만 알고있던게 저런 역사가 있다는걸 강의를 통해 처음 알게 되었습니다

    • @nullnull_not_eq_null
      @nullnull_not_eq_null  Před 2 lety +1

      CPU혼자 빨라 봤자....소용이 없지요. 그걸 아는 분들은 메모리 컨트롤러까지 관심을 두시는 것이고요. 사실 게임이나 대용량 미디어 데이터를 다루는 일만 아니면 그냥 사는 것이 정신 건강에 좋긴 하더라고요. 그리고 이젠 귀찮아서...^^;;;; 좋은 정보와 의견 감사합니다.

  • @MWMWMWMWMWMWMMWMWMWMWMWMWMWMWM

    와 여기서 Z690 칩셋을 보게 되네요 ㅎㅎ.. 지금 제 컴퓨터 메인보드 칩셋이 저거입니다...

    • @nullnull_not_eq_null
      @nullnull_not_eq_null  Před rokem

      저와 같은 것을 쓰고 계시는 군요. ^^;;;; 피드백 감사합니다.

  • @user-hn3kq5dq5t
    @user-hn3kq5dq5t Před 7 měsíci

    20:52 선보고 후조치!?

    • @nullnull_not_eq_null
      @nullnull_not_eq_null  Před 7 měsíci

      비동기 처리는 조치는 위탁하고 완료 시점에 보고가 이루어지는 방식이라 하겠습니다. :)

    • @user-hn3kq5dq5t
      @user-hn3kq5dq5t Před 7 měsíci

      @@nullnull_not_eq_null 답변 감사합니다

  • @lethe_yoon
    @lethe_yoon Před 2 lety +1

    헐레벌떡 달려왔습니다. 꼭꼭 씹어먹겠습니다!

    • @nullnull_not_eq_null
      @nullnull_not_eq_null  Před 2 lety +1

      달려온 보람이 있어야 할 텐데...걱정이 조금 되네요. ^^;;;

  • @Nyaong220
    @Nyaong220 Před 2 lety +5

    전공생들은 대학생 때 이런 재미난걸 배우고 있었군요 ㅎㅎ...

    • @nullnull_not_eq_null
      @nullnull_not_eq_null  Před 2 lety +1

      나름 재미납니다. ^^;;; '냐옹냐오옹'님 혹시 알고 보니 커널개발에 재능을 타고나신?? ^^;;;;;

    • @Firebat337
      @Firebat337 Před rokem +1

      재미는 있는데 학점 걸리면 재미없어지는 마법...지금은 굉장히 자연스럽게 받아들이는 내용이 됬지만 학부생 시절 배울때는 얼마나 어렵던지요ㅋㅋ

  • @user-zo3ps4cw7i
    @user-zo3ps4cw7i Před 2 lety +1

    안녕하세요, 책이름과 혹시나 미국에서 구매/배송 가능한지 궁금하네요.

    • @nullnull_not_eq_null
      @nullnull_not_eq_null  Před 2 lety +1

      책은...한빛아카데미 '쉽게배우는 운영체제'입니다. 아마 eBook도 제공될 것 같습니다. 확인해보시는 것이 좋겠습니다. 다만, 제 강의는 책이 없더라도 듣는데 크게 문제가 되지는 않습니다. 참고하시기 바랍니다. 감사합니다. ^^

  • @user-sf8mp8qo7h
    @user-sf8mp8qo7h Před 2 lety +1

    메모리 메니저의 목적은 주소 변환
    무슨 주소? 가상주소 -> 물리적 주소
    결국 cpu나 os의 커널은 주소 변환을 하지 않는다. 저눔이 대신해 준다.
    고로 커널과 cpu는 가상주소만을 가지고 어쩌고 저쩌고...
    여기에 커널은 cpu마져도 가상 프로세서 개념으로 이해를 한다 블라 블라.....
    오올...cpu에 포함되었군요....운영체제 책 어디에도 그런 말들이 없드만요 ^^
    저걸 다 칩하나에 다 때려 박은게 애플의 그 유명한 M1시리즈 칩셋 인가 보내요
    감사합니다.

    • @nullnull_not_eq_null
      @nullnull_not_eq_null  Před 2 lety +2

      음...주소 변환은 아니고요. '주소 매핑'이 맞겠습니다. 아무튼 그 사이에서 역할하는 것은 입출력 관리자 입니다. 아주 중요한 넘 입니다. ^^;;;;
      그리고 커널에서는 물리메모리 직접 접근이 가능합니다. 가상 메모리 체계를 거치지 않을 수 있지요. 그리고 애플의 M1은 소위 SoC(System on Chip) 입니다. 쉽게 생각해서 칩 하나가 메인보드 + CPU 정도 된다고 보시면 되겠습니다.

  • @user-sn2qk9jw6n
    @user-sn2qk9jw6n Před 2 lety +1

    강의 잘 듣고 있습니다. 감사합니다!
    강의 듣던중 강의 내용에 질문이 있어서 질문 드립니다.
    강의 내용 중 DirectX 내용에서 프로세스에서 제가 이해한 부분이 정확하지 않은 것 같습니다.
    일반 프로세스의 경우 : 프로세스 -> GDI 엔진 -> 그래픽 드라이버 -> 그래픽카드 -> 모니터
    1. 프로세스 내부에서 print 함수 사용
    2. print 함수 내부적으로 GDI 엔진에서 제공하는 api 호출
    3. api 호출 시 api 내부에 화면 출력을 위한 GDI 엔진의 write 함수(system call) 호출
    4. system call 을 통해 그래픽 드라이버에 GPU에 작동 명령하도록 수행
    5. 드라이버가 실제 하드웨어 운용
    여기에서, 제가 이해한 내용은 '프로세스는 print 함수를 사용하고(실제 프로그램 개발자가 코딩하는 부분), print 함수는 내부에서 GDI 엔진이 제공하는 api를 호출하고, GDI 엔진에서 제공하는 api 내부에는 system call (일종의 또 다른 함수로 이해함)를 사용(호출)하고, system call은 내부에 드라이버를 움직이는 또다른 함수를 포함하고 있어서 드라이버를 움직이는 또 다른 함수나 동작을 호출한다.' 라고 이해했는데, 이게 정확하게 맞는지 모르겠습니다. (맞기를 바래봅니다....)
    그리고 고성능을 요하는 게임 프로그램(프로세스)의 경우, DirectX 가 있다고 가정 하였을 때, DirectX 가 GDI 엔진과 유사한 기능을 하는 소프트웨어라면,
    게임 프로그램(프로세스) 의 경우 : 프로세스 -> 그래픽 드라이버 -> 그래픽 카드 -> 모니터
    1. 게임 프로그램(프로세스)에서 출력을 위한 함수 사용 (print 함수와 유사한)
    2. 출력을 위한 함수 내부에 DirectX 에서 제공하는 api 호출
    3. api 호출 시 api 내부에 사용된 화면 출력을 위한 write 함수(system call) 호출
    4. system call 을 통해 그래픽 드라이버에 GPU에 작동 명령하도록 수행
    5. 드라이버가 실제 하드웨어 운용
    위와 같이 비슷한 flow로 흘러가지 않을까? 라고 생각했었습니다. 근데 게임 프로세스의 경우는 확신이 없네요 ㅠㅠ... 제가 맞게 생각하고 있는건지 아닌지 궁금합니다.
    P.S 제가 생각했던 프로그램 코드의 구현도 같이 넣어드립니다. 이것도 맞게 제가 생각하고 있는지 궁금합니다!
    1. 일반적인 프로세스
    my_program() {
    print('Hi!') // 출력을 위해 사용하는 함수
    }
    2. print 함수
    print() {
    GDI 엔진에서 제공하는 api(api 도 결국 호출하는 하나의 함수라고 생각했습니다)
    }
    3. GDI 엔진에서 제공하는 api
    GDI_PROVIDED_api() {
    system_call() // 실질적으로 커널단에서 하드웨어 제어를 위해 제공하는 함수
    }
    4 . system_call(){
    driver 작동을 위해 사용되는 code
    }
    긴글 읽어주셔서 감사합니다.

    • @nullnull_not_eq_null
      @nullnull_not_eq_null  Před 2 lety +1

      아주 쉽게 생각해서 ... DirectX만 예외적으로 User mode API가 마치 System call처럼 작동할 수 있도록 일부 제어권을 넘겨주는 모습으로 이해하시면 되겠습니다. 그리고 P.S에 기술하신 수도코드는 맞다고 볼 수 있겠습니다. 감사합니다. ^^

    • @user-sn2qk9jw6n
      @user-sn2qk9jw6n Před 2 lety +1

      @@nullnull_not_eq_null 답글 감사합니다!
      혹시 User mode API 가 system call 처럼 작동할 수 있도록 한다는 부분을 좀 더 자세하게 알려주실 수 있을까요? 게임 프로그램 개발에 직접적으로 사용되는 API가 내부 구현에 system call 함수를 직접적으로 쓰게 되어있는 것인지, 게임 개발용 코드 내부에 DirectX에서 제공하는 API 가 있고, 그 API 내부 구현에 system call 함수가 있는 것인지 헷갈립니다 ㅠㅠ…

    • @nullnull_not_eq_null
      @nullnull_not_eq_null  Před 2 lety +1

      후자에 가깝게 이해하시면 되겠습니다. ^^

  • @ryanlee5435
    @ryanlee5435 Před 2 lety +3

    1빠