기본 콘텐츠로 건너뛰기

[ ChatGPT ] 임의의 프로세스에 접근하여 임의의 변수값을 바꾸기 위한 방법

 질문 사항 1번 프로세스와 2번 프로세스가 있어. 1번이 운영중인데, 2번 프로세스에서 1번 프로세스의 임의의 메모리에 접근하여 그 메모리의 값을 바꾸고 싶어. 어떤 절차를 이용해야 하지? 답변 내용 1번 프로세스의 메모리에 2번 프로세스에서 접근하여 값을 변경하는 것은 매우 민감한 작업이며, 운영 체제에서는 일반적으로 이러한 작업을 보안과 안정성 때문에 제한합니다. 그러나 특수한 경우, 특히 시스템 프로그래밍이나 디버깅 목적으로는 특정 API를 사용하여 이러한 작업을 수행할 수 있습니다. 아래는 이러한 작업을 수행하기 위한 일반적인 절차를 설명합니다. 1. 프로세스 권한 확인 및 확보 2번 프로세스가 1번 프로세스의 메모리에 접근하려면 충분한 권한이 있어야 합니다. 일반적으로 이는 관리자 권한이나 루트 권한이 필요합니다. Windows에서는 SeDebugPrivilege 를 활성화해야 할 수 있으며, Linux에서는 루트 권한이 필요할 수 있습니다. 2. 1번 프로세스의 핸들 획득 2번 프로세스가 1번 프로세스의 메모리에 접근하려면 먼저 1번 프로세스의 핸들을 얻어야 합니다. Windows : OpenProcess 함수를 사용하여 1번 프로세스의 핸들을 얻습니다. 이 함수는 1번 프로세스의 프로세스 ID를 기반으로 접근합니다.
최근 글

[ ChatGPT ] mmap() 사용 빈도에 대한 질문

질문 내용 장시간동안 일정 영역의 주소를 랜덤하게 접근해서 사용하는데, 이때 큰 주소를 한번에 mmap()으로 잡는게 효과적이야, 아니면 사용할 때마다 mmap()을 이용하는게 더 효과적이야? 답변 내용 장시간 동안 일정 영역의 주소를 랜덤하게 접근하는 작업에서는 다음 두 가지 접근 방식 중 어느 것이 더 효과적인지 고려해야 합니다. 큰 주소 영역을 한 번에 mmap() 으로 잡는 방법 사용할 때마다 필요한 만큼 mmap() 을 이용하는 방법 1. 큰 주소 영역을 한 번에 mmap() 으로 잡는 방법 이 방식에서는 한 번의 mmap() 호출로 큰 메모리 영역을 매핑하고, 이후 이 매핑된 영역을 필요할 때마다 사용합니다. 장점 성능 이점 : mmap() 호출은 시스템 호출이기 때문에, 매번 호출하는 것은 오버헤드가 있습니다. 큰 영역을 한 번에 매핑하면, 매번 매핑을 요청하는 오버헤드를 피할 수 있습니다. 페이지 폴트 최소화 : 큰 영역을 매핑하면 메모리 접근 시 더 많은 페이지가 이미 메모리에 로드되어 있을 가능성이 높아, 페이지 폴트가 줄어들 수 있습니다. 연속된 메모리 사용 : 연속된 메모리 영역을 사용하면, 캐시 효율성도 높아질 수 있습니다. 단점 메모리 낭비 : 필요하지 않은 메모리 영역까지 미리 매핑하기 때문에, 메모리가 낭비될 수 있습니다. 주소 공간 부족 : 특히 32비트 시스템에서 큰 영역을 매핑하면 가용한 주소 공간이 빠르게 소진될 수 있습니다. 2. 사용할 때마다 mmap() 을 이용하는 방법 이 방식에서는 매번 필요한 만큼만 메모리를 매핑하고, 필요하지 않으면 매핑을 해제합니다. 장점 메모리 효율성 : 필요할 때만 메모리를 매핑하므로, 메모리 낭비가 줄어듭니다. 유연성 : 필요한 만큼만 메모리를 매핑하고 해제할 수 있어, 메모리 관리가 보다 유연합니다. 단점 성능 오버헤드 : 매번 mmap() 및 munmap() 을 호출하는 오버헤드가 발생하며, 이는 성능에 악영향을 미칠 수 있습니다. 페이지 폴트 빈도 증가 : 매번 새로운 영역을 매...

[ ChatGPT ] DDR5의 non-target command에 대해 문의

 [ 답변 ]  DDR5 메모리 기술에서 Non-Target Command 는 특정 메모리 뱅크(bank)나 뱅크 그룹(bank group)이 아닌 다른 영역 또는 전체 메모리 모듈에 적용되는 명령을 지칭합니다. 이러한 명령은 특정 데이터 셀의 액세스보다는 메모리 시스템의 유지보수, 초기화, 또는 전반적인 동작을 제어하는 데 사용됩니다. 아래에서 DDR5에서의 Non-Target Command의 주요 특징과 예시에 대해 자세히 설명하겠습니다. 1. Non-Target Command의 정의 범용 적용 : Non-Target Command는 특정 뱅크나 뱅크 그룹에 국한되지 않고, 전체 메모리 모듈 또는 다른 비대상 영역에 영향을 미치는 명령을 의미합니다. 유지보수 및 관리 : 이러한 명령은 메모리의 안정적인 동작을 보장하기 위한 유지보수 작업, 초기화, 또는 기타 관리 작업을 수행하는 데 사용됩니다. 2. Non-Target Command의 예시 리프레시(Refresh) 명령 : All Bank Refresh (ABR) : 모든 뱅크를 동시에 리프레시하는 명령입니다. 메모리 셀의 전하를 유지하기 위해 주기적으로 실행되어야 합니다. Per-Bank Refresh (PBR) : 특정 뱅크를 개별적으로 리프레시하는 명령입니다. 이는 리프레시 작업으로 인한 대기 시간을 줄여 메모리 접근 효율을 높이는 데 도움을 줍니다. ZQ 캘리브레이션(ZQ Calibration) : 메모리 셀의 정확한 저항 값을 유지하기 위해 수행되는 캘리브레이션 작업입니다. 이는 온도 변화나 전압 변동에 따른 저항 값의 변화를 보정합니다. 모드 레지스터 설정(Mode Register Set, MRS) : 메모리의 동작 모드를 설정하거나 변경하기 위해 사용되는 명령입니다. 예를 들어, 버스트 길이 설정, 온-다이 터미네이션(ODT) 설정 등이 이에 포함됩니다. 3. Non-Target Command의 역할과 중요성 메모리 안정성 보장 : 리프레시나 ZQ 캘리브레이션과 같은 Non-T...

[ ChatGPT ] DRAM과 HBM의 패키징에 대하여 질문

  질문 내용 DRAM이 CPU와 연결될때 모듈 형태로 구성되어 슬랏으로 마더보드 기판에 연결되는데, HBM은 어떤 모양으로 마더보드 기판에 연결되지? 답변 HBM(High Bandwidth Memory)은 기존 DRAM 모듈과는 다르게 CPU나 GPU와 연결됩니다. HBM은 전통적인 DIMM 슬롯을 사용하지 않으며, 대신 실리콘 인터포저(또는 팬아웃 기판)를 이용하여 CPU/GPU와 직접 연결됩니다. 이로 인해 HBM의 연결 방식은 다음과 같은 특징을 가지고 있습니다. HBM의 구성 및 연결 방식 3D 스태킹 구조 여러 개의 DRAM 다이(die)를 수직으로 쌓아 TSV(Through-Silicon Vias)를 통해 서로 연결합니다. 실리콘 인터포저 HBM과 CPU/GPU는 실리콘 인터포저를 통해 연결됩니다. 실리콘 인터포저는 매우 많은 수의 마이크로 범프(micro bumps)를 통해 HBM과 CPU/GPU 사이의 고속 데이터 통로를 제공합니다. 실리콘 인터포저는 전통적인 마더보드 기판과는 달리 매우 정밀하게 제조된 기판으로, 많은 수의 연결을 작은 공간에 집약할 수 있습니다. 패키징 CPU/GPU와 HBM은 동일한 패키지 안에 포함될 수 있습니다. 이를 통해 데이터 전송 거리를 줄이고, 전력 효율성을 높일 수 있습니다. 패키지 자체는 마더보드에 BGA(Ball Grid Array) 방식으로 납땜되어 연결됩니다. 이는 기존 DRAM 모듈의 DIMM 슬롯과는 다른 방식입니다. 시각적 설명 plaintext 코드 복사 +-------------------------+ +-------------------------+ | | | | | CPU/GPU | | HBM Stack | | | | (Multiple DRAM di...

[ Test ] 테스트 정리

1. 쓰레드와 프로세스의 차이점 메모리 관리 관점에서 설명 가능 2. call by reference와 call by value의 차이점 함수 호출 방식으로 설명 가능 3. overloading과 overriding의 차이점 코드 예로 설명 가능     

[ AI ] 머신 러닝

-------------------------------------------------------------------------- 1. 보유한 센서를 이용한 데이터 셋 구축 ( 만장이상 필요함. ) JRDB : 주행 로봇 nuScenes : 차량 자율 주행 2. Annotation Tool을 이용하여 바운딩 박스 그리기 ( 라벨링 ) 3. 다중 데이터 셋을 이용하여 트레이닝 알고리즘 개발하기 4. 다중 웨이트 데이터를 이용하여 가속으로 추론하기  NVIDIA Jetson AGX Xavier Series: 20 ~ 32 TOPS ( INT8 ) NVIDIA TensorRT 하이퍼스케일 추론 플랫폼 은 최신 Tesla T4 인퍼런스 가속기와 TensorRT 5 고성능 딥러닝 인퍼런스 최적기 및 실행시간, TensorRT 인퍼런스 서버가 모두 통합된 완전한 추론 솔루션임  ※ TOPS : trllion operations per second ( Thousnad / Million / Billion / Trillion, 1000씩 증가함. 1T )  ※ Tensor : n차 이상의 배열  -------------------------------------------------------------------------- 딥러닝, Dataset JRDB nuScenes Annotation Tools 네비게이션, SLAM -------------------------------------------------------------------------- 로봇 청소기 산업 -------------------------------------------------------------------------- 테슬라의 자율 주행 전략 테슬라 AI Day 1편 8대의 카메라 데이터를 하나의 백터 공간으로 재 배치하여 next job을 수해한다.  테슬라 AI Day 2편 Planning, Data Labeling, Simulation ...

[ WorkSpace ] 라스트마일 딜리버리

'걸음마 단계' 배달로봇...2030년 50조원 규모로 커진다 기사 요약 ( 2021.6.30 ) 국토교통부는 '제1차 자율주행 교통물류 기본게획(2021 ~ 2025)'을 6월 29일 발표했으며 그 내용은 다음과 같다. 전국 고속도로와 시도별 주요 거점에서 자율주행 사용서비를 시작하기 위해 레벨4 수준의 자율 주행 대중 교통과 공유서비스를 개발, 경로/배차 최적화 등 운영 기술을 고도화할 방침임. 여객, 화물 분야에도 활성화, 화물차 군집주행 차량 및 운영시스템을 고도화 도심에서의 라스트마일 배송을 위한 소형택배차량, 로봇/드론 연계 기술 개발할 방침임. 자율 주행 로봇 개발 현황: 아래와 같은 특성은 있지만 원천 기술 개발 확보 해야 함. 우아한 형제들: 목표는 라스트마일시장 석권, 현대차/기아와 로봇개발 협업, 다양한 구조의 건물에서 층간 이동이 가능, 결제 수단 기능 탑재, 건대 및 광교에서 시범 운행중. 실외용. 배달로봇 딜리드라이브. KT: AI로봇 우편배송 서비스, 건물내에서 엘리베이터 탑승하여 우편물 배송 목적지로 이동. LG유프러스 + 만도: 자율주행 순찰 로봇 골리, LG 유플러스의 5G통신, MEC 인프라, 원격관제 솔루션 시스템 탑재, 실외용으로 순찰을 돌며 주야간 치안 사각지대를 탐지하여 분석하여 시흥시 통합 관제 플랫폼으로 실시간 전송.      ※ 라스트마일 - Last-mile delivery 시장: 물류/유통업계가 주목하는 것은 데이터. - 배송 효율화가 요구된다. 라스트 마일은 상품이 소비자에게 최종 배송되는 마지막 과정을 의미한다.  - 롯데마트는 릴레이 배송 서비스를 잠실점에서 시범 운행중이며, 릴레이 배송은 마지막 현관까지 구간 라스트마일 배송을 하는 플렉서를 별도로 배치했다. 플렉서는 본인 담당 공간에서 기다리다가 트럭이 오면 물건을 꺼내 최종 목적지까지 오토바이, 도보 등으로 배달한다. 배송기사와 플렉서의 역할을 분리하여 배달 건수를 늘릴수 있는 방식이다.  - 대형마트, 편의...