디시인사이드 갤러리

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

갤러리 본문 영역

Ada: 외계인이 설계한 Storage_Pool 소개모바일에서 작성

나르시갤로그로 이동합니다. 2025.11.28 13:22:11
조회 47 추천 1 댓글 0

Ada: 외계인이 설계한 Storage_Pool 소개

? 들어가며

Ada를 쓰다 보면 “이 언어는 외계인이 설계한 게 아닐까?”라는 생각이 들 때가 있습니다. 특히 Storage_Pool 기능은 다른 언어에서는 보기 힘든 독특한 설계 철학을 보여줍니다. 단순한 메모리 풀을 넘어, 언어 문법 차원에서 메모리 관리 전략을 선택할 수 있게 해주죠.


? Storage_Pool이란?

Ada에서 Access 타입(new로 객체를 할당하는 포인터 타입)은 기본적으로 디폴트 힙 풀(Default Pool)을 사용합니다.


하지만 for Access_Type'Storage_Pool use Some_Pool; 구문을 통해, 특정 Access 타입이 사용할 메모리 풀을 정적으로 지정할 수 있습니다.


이때 Some_Pool은 사용자가 직접 구현한 커스텀 풀일 수도 있고, Ada가 제공하는 디폴트 풀일 수도 있습니다.


? 간단한 예제 코드

ada

with Ada.Text_IO;

with System.Storage_Pools;


procedure Demo is

   type Int_Access is access all Integer;


   -- 디폴트 풀 사용 (속성 지정 생략)

   X : Int_Access := new Integer'(10);


   -- 커스텀 풀 정의

   type My_Pool is new System.Storage_Pools.Root_Storage_Pool with null record;

   overriding procedure Allocate

     (Pool : in out My_Pool;

      Addr : out System.Address;

      Size : System.Storage_Elements.Storage_Count;

      Align: System.Storage_Elements.Storage_Count) is

   begin

      -- 여기서는 단순히 Ada 기본 할당을 흉내냄

      Addr := System.Storage_Elements.To_Address

                (System.Storage_Elements.Storage_Array'(others => 0)'Address);

   end Allocate;


   overriding procedure Deallocate

     (Pool : in out My_Pool;

      Addr : System.Address;

      Size : System.Storage_Elements.Storage_Count;

      Align: System.Storage_Elements.Storage_Count) is

   begin

      -- 커스텀 해제 정책 구현 가능

      null;

   end Deallocate;


   overriding function Storage_Size (Pool : My_Pool)

     return System.Storage_Elements.Storage_Count is

   begin

      return 1024; -- 풀 크기 예시

   end Storage_Size;


   Custom_Pool : My_Pool;


   type Custom_Access is access all Integer;

   for Custom_Access'Storage_Pool use Custom_Pool;


   Y : Custom_Access := new Integer'(99);

begin

   Ada.Text_IO.Put_Line("X = " & Integer'Image(X.all));

   Ada.Text_IO.Put_Line("Y = " & Integer'Image(Y.all));

end Demo;

? 결론

Ada의 Storage_Pool은 단순한 메모리 풀이 아니라, 언어 문법에 직접 연결된 확장 포인트입니다. 덕분에 GC, 아레나, 커스텀 정책을 자유롭게 붙일 수 있고, Access 타입별로 전략을 선택할 수 있습니다. 이런 점에서 Ada는 정말 “외계인이 설계한 언어”처럼 느껴질 만큼 앞서간 철학을 보여줍니다.

추천 비추천

1

고정닉 1

0

댓글 영역

전체 댓글 0
본문 보기

하단 갤러리 리스트 영역

왼쪽 컨텐츠 영역

갤러리 리스트 영역

갤러리 리스트
번호 제목 글쓴이 작성일 조회 추천
설문 이제는 의미 없어진 것 같은 시상식은? 운영자 25/12/01 - -
AD 따뜻한 겨울나기! 방한용품 SALE 운영자 25/11/27 - -
2905491 외국계 it support 테크니션이면 어떤 일임?? [2] 프갤러(121.138) 11.29 52 0
2905490 나님 끙야하면서 트림했어양⭐+ ♥멘헤라냥덩♥갤로그로 이동합니다. 11.29 105 0
2905489 나님 달밤의 끙야즁⭐+ ♥멘헤라냥덩♥갤로그로 이동합니다. 11.29 80 0
2905488 이태원 모욕죄 벌금 100이면 인생 하드모드 입갤임? 취업, 이민 종결? ㅇㅇ(118.235) 11.29 50 0
2905486 저 애미뒤진새끼는 아직도 있노 ㅇㅇ(223.38) 11.29 92 0
2905482 뿡야하면 냥덩이 한번 털어줘야함❤+ [4] ♥멘헤라냥덩♥갤로그로 이동합니다. 11.29 78 0
2905475 이태원모욕죄100만원 정식재판청구? 걍내고끝내? 인생에 별 지장 없? [2] ㅇㅇ(118.235) 11.29 64 0
2905472 35살 모욕죄 전과자+좆견인인데, 관세사따면 결혼 가능 스펙임? [1] ㅇㅇ(203.232) 11.29 105 0
2905471 우왓, 연회중에 피분수가..ㅡㅡ;; [2] 박정희대통령갤로그로 이동합니다. 11.29 79 4
2905465 모기로 프린터를 만들어 발명도둑잡기(211.235) 11.29 38 0
2905464 청소년이 밤 10시 이후에 발명도둑잡기(211.235) 11.29 36 0
2905463 ❤✨☀⭐⚡☘⛩☃나님 시작합니당☃⛩☘⚡⭐☀✨❤ ♥멘헤라냥덩♥갤로그로 이동합니다. 11.29 71 0
2905461 사람인하고 점핏하고 다른 회사임? ㅇㅇ(182.228) 11.29 41 0
2905460 경력 1년이상, 3년이상 뽑는 회사 [2] ㅇㅇ갤로그로 이동합니다. 11.29 83 0
2905456 유관순은 3.1운동할 때 인공기 흔들었냐? [2] chironpractor갤로그로 이동합니다. 11.29 65 0
2905454 중·일 갈등 ‘패싱’ 미국에···일본은 불안하다 발명도둑잡기(118.216) 11.29 53 0
2905453 ‘한미일 vs 북중러’ 구도 위험성 더 커진다 [2] 발명도둑잡기(118.216) 11.29 57 0
2905452 이젠 뭐가 ai이고 진짜인지 분간이 잘 안 간당.. [5] ♥멘헤라냥덩♥갤로그로 이동합니다. 11.29 132 0
2905451 밤에도 못 자고 일하니까 출생률이 떨어지는 것이다 [1] 발명도둑잡기(118.216) 11.29 38 0
2905450 윤석열 “전한길은 하나님이 한국에 보낸 선물” 옥중 편지 발명도둑잡기(118.216) 11.29 47 0
2905448 '아쉽다. 뽀뽀'…부하 여경 손 깍지·허리 감싼 경찰관 유죄 확정 발명도둑잡기(118.216) 11.29 24 0
2905447 美서 의미 퇴색한 '블프 세일'…"행사 진정성 사라져" 발명도둑잡기(118.216) 11.29 29 0
2905446 '케네디家' 끝없는 비극?…35살 외손녀 시한부 판정 발명도둑잡기(118.216) 11.29 38 0
2905445 5억짜리 ‘인간 세탁기’ 발명도둑잡기(118.216) 11.29 33 0
2905444 노동장관 "해 뜨면 일하고 해 지면 휴식. 야간 노동자 사망' 쿠팡 발명도둑잡기(118.216) 11.29 32 0
2905441 젤렌스키, 러시아 침공전 방어체제 이끈 '분신' 잃었다 발명도둑잡기(118.216) 11.29 38 0
2905440 회사다니면서 우울증 생겼는데.. [17] ㅇㅇ(1.244) 11.29 124 0
2905437 기분 좋은 주말이다 RyuDOG갤로그로 이동합니다. 11.29 35 0
2905436 [대한민국] 국힘 책임당원 일동 입장문 ㅇㅇ(121.172) 11.29 36 0
2905432 이마트가즈아 넥도리아(223.38) 11.29 28 0
2905431 나 한동훈 인간적이어서 좋아했습니다. 넥도리아(223.38) 11.29 47 0
2905428 내냔 상반기 ㄹㅇ 존나 바쁠거 확정임 ㅅㅂ [2] ♥멘헤라냥덩♥갤로그로 이동합니다. 11.29 89 0
2905425 뭔가 있어보이는 Ada 코딩법 ㅋㅋ [2] 나르시갤로그로 이동합니다. 11.29 57 2
2905424 책 사는거 이거 맞는건가? [1] 넥도리아(220.74) 11.29 92 0
2905420 주술회전 최신화 ♥멘헤라냥덩♥갤로그로 이동합니다. 11.29 40 0
2905419 Watsn.ai - 최첨단 AI 구라 탐지기 만들어 봤다 Watsn(47.230) 11.29 47 0
2905418 이태원 모욕죄로 벌금100 너무 분하고 억울하다.. 이딴걸로 전과라니; [3] ㅇㅇ(39.7) 11.29 86 1
2905414 오늘자 민주주의 파괴 진척 경과 현황 [5] chironpractor갤로그로 이동합니다. 11.29 77 0
2905413 저장용 ♥멘헤라냥덩♥갤로그로 이동합니다. 11.29 39 0
2905410 ❤✨☀⭐⚡☘⛩☃나님 시작합니당☃⛩☘⚡⭐☀✨❤ ♥멘헤라냥덩♥갤로그로 이동합니다. 11.29 36 0
2905409 내가 만나고 싶은 여자 이상형 적어봄.txt [1] ㅁㅁㅅ갤로그로 이동합니다. 11.29 64 0
2905407 이직하려면 여기서 어떤부분을 좀더 집중하는게 좋을까? [6] 프갤러(58.76) 11.29 92 0
2905406 평론가, 평론의 중요성, 필요성, 위대한 평론 등이 잘 드러난 작품 발명도둑잡기(118.216) 11.29 180 0
2905405 인지과학조져라 손발이시립디다갤로그로 이동합니다. 11.29 75 0
2905403 프랑스의 쓰레기방지법과 유럽의 '그린 뉴딜' 발명도둑잡기(118.216) 11.29 35 0
2905398 CUDA 때문에 절대 안된다? 구글 TPU 사태의 본질, 엔비디아가 급해 발명도둑잡기(118.216) 11.29 65 0
2905397 공원 ㅇㅅㅇ 헤르 미온느갤로그로 이동합니다. 11.29 39 0
2905396 태연 ㅇㅅㅇ [1] 헤르 미온느갤로그로 이동합니다. 11.29 47 0
2905395 하루 한 번 헤르미온느 찬양 헤르 미온느갤로그로 이동합니다. 11.29 71 0
2905394 7,000명이 호흡할 공기를 걸러낸다고? 도심 한복판에 '이끼'를 발명도둑잡기(118.216) 11.29 47 0
갤러리 내부 검색
제목+내용게시물 정렬 옵션

오른쪽 컨텐츠 영역

실시간 베스트

1/8

디시미디어

디시이슈

1/2