디시인사이드 갤러리

갤러리 이슈박스, 최근방문 갤러리

갤러리 본문 영역

특허 출원 gg친 툴킷 아키텍처 전격 공개한다 ㅋㅋ모바일에서 작성

나르시갤로그로 이동합니다. 2025.11.11 08:50:00
조회 46 추천 0 댓글 0

아키텍처로 특허 출원은 선행 기술이 있으므로

물건너 간게 확실.


자자. 현행 nimf에 심각한 문제가 있다.

nimf는 non-GUI, GUI 환경에서 동시에 작동 가능하도록 설계는 했는데, 구현상의 문제로 non-GUI 콘솔에서 사용하다보면 어느 순간 멈춤다.


이것을 분석해보니 이벤트루프에 문제가 발생했어.


단일 프로세스에 gtk 툴킷이 돌아감. gui는 플러그인 구조임. gui 없이 nimf를 돌리는게 가능하다는 얘기.


gui 이벤트 루프를 nimf의 cloop에 통합함. 스레드 방식 아님.


cloop가 콘솔 관련 io, gui 관련 io를 폴링함(kqueue, epoll, poll)


재현방법.


GUI 환경에서 ctrl + alt + f1 키를 눌러 non-GUI 콘솔 모드로 진입함


non-GUI 콘솔에서 한글 입력하다보면(이게 실제로 가능함 ㅋㅋ 내가 만듦 ㅋㅋ) 어느 순간 먹통됨.


디버깅 해보면 cloop가 콘솔 관련 io, gui 관련 io를 폴링하다가 gui 관련 io 폴링에서 무한 대기함.

non-GUI 콘솔로 전환한 상태이기 때문에 GUI 이벤트가 발생하지 않아, 거기서 무한대기하는 것임.


해결방법.


1. GUI를 별도의 프로세스로 만들고 IPC 하는 방법. 전통적인 방법임. 성능 저하 우려되고 프로세스 관리 방법이 필요함.


2. GUI를 별도의 스레드로 만들고 스레드간 통신하는 방법. eventfd 두개를 활용. 큐 두개를 통하여 쌍방향 통신이 가능함.


3. 호스트 스레드에서 GUI api를 직접 호출하는 대신 이벤트 큐1에 요청을 넣음.


4. GUI 스레드는 eventfd1를 감지하여 이벤트 큐1에서 요청 이벤트 꺼내서 처리함. 이 이벤트는

create window, update ui 같은 커스텀 이벤트임. GUI 툴킷에 정의된 이벤트가 아님.


5. GUI 스레드는 이벤트 처리 후 결과를 이벤트 큐2에 넣음.


6. 호스트 스레드는 eventfd2를 감지하여 처리 결과를 이벤트 큐2를 통하여 받음 ㅋㅋ


이러한 원리임.


GUI 스레드가 스레드로 돌고 있고 호스트 스레드에서 GUI 관련 io를 폴링하지 않으므로 GUI 루프가 GUI 관련 io가 없어서 무한대기하더라도 호스트 루프는 차단되지 않음.


즉, 디스플레이 서버(xorg, wayland  컴포지터 등)프로세스와 클라이언트 프로세스가 IPC 통신하는 방식을 단일 프로세스 내 2개의 스레드 방식으로 옮겨놓은거지 ㅋㅋㅋ


이거를 특허 출원하려 했었던 거임 ㅠㅠ

추천 비추천

0

고정닉 0

0

댓글 영역

전체 댓글 0
본문 보기

하단 갤러리 리스트 영역

왼쪽 컨텐츠 영역

갤러리 리스트 영역

갤러리 리스트
번호 제목 글쓴이 작성일 조회 추천
설문 이성 보는 눈 없어서 걱정되는 스타는? 운영자 25/11/10 - -
AD 저녁 뭐먹지? 오늘의 메뉴 추천! 운영자 25/10/31 - -
공지 프로그래밍 갤러리 이용 안내 [97] 운영자 20.09.28 48639 65
2902213 cursor로 만들었다. 평가좀 프갤러(223.194) 03:51 30 0
2902211 갤 개념글보다가 정신이 혼미해지노 ㅇㅇ(128.134) 03:20 30 0
2902209 아가리 해 이 씨발년아 에이도비갤로그로 이동합니다. 02:13 52 0
2902206 Hitchhiker's Guide to GEOS v2022 발명도둑잡기(118.216) 02:06 25 0
2902203 G5 volume button repair 이거 유튜브 영상 효과있네 넥도리아's(220.74) 01:54 21 0
2902201 따당이의 실체.. 충격적임.. ♥KiTTY냥덩♥갤로그로 이동합니다. 01:29 29 1
2902200 나님 요즘 모기 때문에 늦잠 주무셔서 예민하신편 ♥KiTTY냥덩♥갤로그로 이동합니다. 01:23 26 0
2902199 오래된 교재를 찾고있는데 좀도와주라. 프갤러(211.219) 01:23 24 0
2902198 BSD 라이센스를 GPL로 배포하는게 가능한가? 발명도둑잡기(118.216) 01:14 17 0
2902197 좃됨.. 모기 소리남.. ♥KiTTY냥덩♥갤로그로 이동합니다. 01:12 28 0
2902196 OS-9, NitrOS-9 MSHELL, GSHELL 발명도둑잡기(118.216) 00:50 23 0
2902195 아타리 8비트 GUI 운영체제 만드는 사람 어셈블리로 만드네 [1] 발명도둑잡기(118.216) 00:19 23 0
2902191 모기 물린거 원래 이렇게 오래갔엇낭? ♥KiTTY냥덩♥갤로그로 이동합니다. 11.11 20 0
2902190 리재명 같은 가짜가 나대니 겨울모기 재앙이 일어나는것임 ♥KiTTY냥덩♥갤로그로 이동합니다. 11.11 27 0
2902189 아 개씨발 누웟는데 또 모기 소리 들렷음.. [2] ♥KiTTY냥덩♥갤로그로 이동합니다. 11.11 43 0
2902188 나 깨달았따. 은박접시 가 휴대폰 고칠때 잘라서 쓰면, 꽤 괜찮다. [1] 넥도리아's(220.74) 11.11 27 0
2902187 쿠팡 김범석 미국 기부 발명도둑잡기(118.216) 11.11 20 0
2902186 납치됐던 100만 유튜버가 전한 당시 상황 발명도둑잡기(118.216) 11.11 24 0
2902184 8비트 IDE 8bitworkshop.com 발명도둑잡기(118.216) 11.11 15 0
2902183 나님 빼빼로 무료나눔 합니당⭐+ [4] ♥KiTTY냥덩♥갤로그로 이동합니다. 11.11 38 0
2902182 2025 영구 제명 리스트 [1] 넥도리아's(220.74) 11.11 36 0
2902179 ❤✨☀⭐⚡☘⛩나님 시작합니당⛩☘⚡⭐☀✨❤ [2] ♥KiTTY냥덩♥갤로그로 이동합니다. 11.11 19 0
2902178 ESP32 MSX 복각 MSX0 Stack 발명도둑잡기(118.216) 11.11 13 0
2902177 러스트 홍보하는 좋은 방법 나르시갤로그로 이동합니다. 11.11 16 0
2902176 러스트: '가장 진보된 언어'라는 주장의 모호성 나르시갤로그로 이동합니다. 11.11 26 0
2902175 러스트는 우주에서 가장 진보된 인류 프로그래밍 언어의 정수입니다. [2] 프갤러(27.168) 11.11 38 0
2902174 바코드 스캐너 펌웨어 개발: C, C++, Ada, Rust 언어 비교 [4] 나르시갤로그로 이동합니다. 11.11 44 0
2902172 러빨러 ♡ 나르시 [3] 프갤러(218.147) 11.11 46 3
2902170 프로그래머가 뭔 빼빼로데이야 [10] 프갤러(223.38) 11.11 63 2
2902169 [대한민국] 트럼프, 기후변화는 사기 언급 프갤러(121.172) 11.11 15 0
2902168 60대 이후 세대는 큰일이라고 [1] 프갤러(49.165) 11.11 33 1
2902167 안녕하세요 제미나이api 사용질문 [2] nick(185.220) 11.11 41 0
2902166 와우 좋다. 컴퓨존 아저씨 감사합니다. [4] 넥도리아(119.195) 11.11 60 0
2902165 RT-Linux (추상적 단계 정리) 발명도둑잡기(118.216) 11.11 12 0
2902163 안 친한 여자한테 누드 [1] 발명도둑잡기(118.216) 11.11 52 0
2902161 오늘이 빼빼로데인줄 몰랐다 발명도둑잡기(118.216) 11.11 19 0
2902160 엄청 크네... 공구함 넥도리아(119.195) 11.11 40 0
2902157 Donkey Kong Country OST 발명도둑잡기(118.216) 11.11 14 0
2902156 러스트 담론을 해체하다: 1.2 소유권, 빌림, 생명주기를 통한 메모리 나르시갤로그로 이동합니다. 11.11 26 0
2902155 코모도어64 SID 칩 라즈베리파이로 에뮬레이숀 SIDKick_pico 발명도둑잡기(118.216) 11.11 16 0
2902154 저녁은 대패삼겹살 볶음 [9] chironpractor갤로그로 이동합니다. 11.11 67 0
2902152 쥐포기업 쥐메프 파산 ㅋㅋㅋㅋㅋ 프갤러(221.142) 11.11 27 0
2902150 Guiyom: 고신뢰성 시스템 GUI 툴킷 개발 계획 및 비전 [4] 나르시갤로그로 이동합니다. 11.11 56 1
2902149 고언어 vs 러스트 뭐가 더 낳냐? [3] ㅇㅇ(14.5) 11.11 52 0
2902148 요즘 오피 근황 (feat.랄팤쥐) ㅇㅇ(118.235) 11.11 47 0
2902146 This 80's Song Inspired Mario's Music 발명도둑잡기(118.216) 11.11 11 0
2902145 젓가락 데이) Guiyom 툴킷 개발 착수하기로 결정했습니다. [2] 나르시갤로그로 이동합니다. 11.11 32 0
2902144 Early 8-Bit Sound Digitizers 발명도둑잡기(118.216) 11.11 11 0
2902141 게임 개발 << 실력에 도움되냐 [7] 프갤러(211.230) 11.11 85 0
갤러리 내부 검색
제목+내용게시물 정렬 옵션

오른쪽 컨텐츠 영역

실시간 베스트

1/8

디시미디어

디시이슈

1/2