shopkeeper/kowiki-cleaned-020126 huggingface dataset:
Resolv.conf

resolv.conf는 다양한 운영체제에서 시스템의 도메인 네임 시스템(DNS) 리졸버를 구성하는 데 사용되는 컴퓨터 파일이다. 이 파일은 일반적으로 네트워크 관리자나 시스템의 구성 작업을 관리하는 애플리케이션에 의해 생성되는 플레인 텍스트 파일이다. resolvconf 프로그램은 FreeBSD 또는 기타 유닉스 시스템에서 resolv.conf 파일을 관리하는 프로그램 중 하나이다.

목적
대부분의 유닉스 계열 운영체제와 BIND 도메인 네임 시스템(DNS) 리졸버 라이브러리를 구현하는 기타 운영체제에서 resolv.conf 구성 파일은 DNS 리졸버의 작동 매개변수를 결정하는 정보를 포함한다. DNS 리졸버는 운영체제에서 실행되는 애플리케이션이 사람이 알아보기 쉬운 도메인 네임을 근거리 통신망 또는 인터넷의 리소스에 액세스하는 데 필요한 숫자 IP 주소로 변환할 수 있도록 한다. 도메인 네임에서 IP 주소를 결정하는 과정을 주소 확인이라고 한다.

내용 및 위치
resolv.conf 파일에는 일반적으로 도메인 접미사가 제공되지 않을 때 지정된 쿼리 이름을 전체 주소 도메인 네임으로 완성하는 데 사용되는 기본 검색 도메인을 지정하는 검색 지시어가 포함된다. 예를 들어, search example.com local.test는 리졸버가 추가적으로 somehost.example.com 및 somehost.local.test를 시도하도록 구성한다.

또한 확인을 위한 네임서버의 IP 주소 목록도 포함되어 있다. 예를 들어, nameserver 1.1.1.1은 리졸버가 IP 1.1.1.1을 가진 네임서버를 쿼리하도록 구성한다. 첫 번째 네임서버 지시어 이후의 추가 네임서버 지시어는 첫 번째 또는 마지막으로 사용된 서버를 사용할 수 없을 때만 사용된다. 예제 파일은 다음과 같다.

 search example.com local.test
 nameserver 10.0.0.17
 nameserver 10.1.0.12
 nameserver 10.16.0.7

resolv.conf는 일반적으로 파일 시스템의 /etc 디렉터리에 위치한다. 이 파일은 수동으로 유지 관리되거나, DHCP가 사용될 때 일반적으로 유틸리티 resolvconf로 업데이트된다.

Systemd 기반 리눅스 배포판에서 systemd-resolved.service를 사용하는 경우, /etc/resolv.conf는 /run/systemd/resolve/stub-resolv.conf에 대한 심볼릭 링크이다.

 같이 보기 
 Hosts
 nsswitch.conf
 resolved.conf
 systemd-resolved

 각주 

 외부 링크 
 아치 리눅스 위키의 "resolv.conf"
 젠투 리눅스 위키의 "resolv.conf"
 
 
 

분류:설정 파일
분류:도메인 네임 시스템
Sqlnet.ora

데이터베이스 컴퓨팅에서 sqlnet.ora는 오라클 서버와 오라클 클라이언트 모두 네트워크 데이터베이스 액세스를 위해 오라클 넷(이전 Net8 또는 SQL*Net) 기능을 어떻게 사용해야 하는지에 대한 정보(추적 옵션, 암호화, 연결 경로, 외부 명명 매개변수 등)를 포함하는 일반 텍스트 구성 파일이다.

 위치 
sqlnet.ora 파일은 일반적으로 유닉스 플랫폼의 및 윈도우 운영 체제의 에 위치한다.

 샘플 파일 

 NAMES.DIRECTORY_PATH= (LDAP, TNSNAMES, HOSTNAME)
 NAMES.DEFAULT_DOMAIN = ORACLE.COM
 TRACE_LEVEL_CLIENT = ON
 SQLNET.EXPIRE_TIME = 30
 SQLNET.IDENTIX_FINGERPRINT_DATABASE = FINGRDB
 AUTOMATIC_IPC = ON
 SQLNET.AUTHENTICATION_SERVICES = (ALL)
 SQLNET.CRYPTO_CHECKSUM_CLIENT = ACCEPTED
 TNSPING.TRACE_DIRECTORY = /oracle/traces

 프로필 매개변수 
이 섹션은 몇 가지 sqlnet.ora 파일 매개변수를 나열하고 설명한다.

 각주 

분류:설정 파일
분류:오라클 데이터베이스
원격 조작

섬네일|right|250px|급조폭발물 기폭장치, 잠재적 폭발 장치를 조사하기 위한 원격 조작기

원격 조작 또는 텔레오퍼레이션(teleoperation)은 기계나 시스템을 원거리에서 작동시키는 것을 의미한다. 이는 "원격 제어"라는 문구와 의미가 유사하지만, 주로 연구, 학계 및 기술 분야에서 사용된다. 가장 일반적으로 로봇공학 및 모바일 로봇과 연관되어 있지만, 장치나 기계가 사람이 원거리에서 작동되는 모든 상황에 적용될 수 있다.

원격 조작은 인간-기계 시스템으로 간주될 수 있다. 예를 들어, 아두파일럿은 수동 제어부터 자율 주행 자동차의 완전한 오토파일럿에 이르는 다양한 자율성 스펙트럼을 제공한다.

원격 조작이라는 용어는 연구 및 기술 커뮤니티에서 원거리 작동을 지칭하는 표준 용어로 사용된다. 이는 덜 표준적인 용어이며 원격 의미를 포함하는 광범위한 존재 또는 상호 작용을 나타낼 수 있는 원격현장감과는 대조된다.

 역사 
19세기에는 존 루이스 레이(1872), 존 에릭슨(1873), 빅토르 폰 셸리하(1873)가 제작한 시제품을 포함하여 원격 조작 무기(어뢰)를 연구하는 많은 발명가들이 있었고, 1877년 루이스 브레넌이 특허를 낸 최초의 실용적인 유선 유도 어뢰인 브레넌 어뢰도 있었다. 1898년에 니콜라 테슬라는 특허받은 무선 라디오 유도 시스템을 갖춘 원격 제어 보트를 시연했고, 이를 미국 군대에 판매하려고 시도했지만 거절당했다.

원격 조작은 이제 일인칭 시점 (FPV) 장비와 함께 취미 산업으로 진출하고 있다. 취미용 자동차, 비행기 및 헬리콥터에 장착된 FPV 장비는 운전자에게 TV 스타일의 전송을 다시 제공하여 차량의 범위를 시야 범위보다 더 넓게 확장한다.

 사례 
섬네일|원격 조작 타워 크레인
다음은 원격으로 제어되는 몇 가지 특정 유형의 시스템이다.
 엔터테인먼트 시스템(예: 텔레비전, 비디오카세트 레코더, DVD 플레이어 등)은 종종 리모컨을 통해 원격으로 제어된다.
 산업 기계는 특히 위험한 환경에서 원격으로 작동되는 경우가 많다. 예를 들어 체르노빌 사고 이후 체르노빌의 객체 보호소 또는 석관 건설과 위험한 낙석 후 잔해 제거 등이 있다.
 원격 조작 차량 (ROV)은 위험한 환경(예: 방사능 환경, 오염된 환경, 지뢰밭, 심해)에서 광범위하게 사용된다.
 원격 수술
 드론으로도 알려진 무인 항공기

 자율 주행 차량의 원격 조작 
자율 주행 차량의 원격 조작은 무인 자동차를 원격으로 운전하거나 지원하는 능력이다.

업계의 대부분 선도 기업들은 현재의 자율 주행 능력과 자율 주행 차량의 광범위한 채택에 필요한 요구 사항 사이의 격차를 해소하기 위해 '에지 케이스' 상황에서 무인 자동차를 지원하기 위한 원격 조작 능력이 필요하다고 믿는다. 이는 자율 주행 차량 소프트웨어 스택이 올바른 행동을 수행할 수 있는 능력에 대한 신뢰 수준이 낮거나, 차량이 표준 작동 매개변수 밖에서 작동해야 할 때 발생한다. 원격 지원이 없으면 이러한 상황에서 자율 주행 차량은 일반적으로 정지하는 최소 위험 조작(MRM)으로 전환된다.

많은 AV 회사들은 무인 자동차 출시의 일환으로 원격 조작을 사용할 계획이다. 원격 조작 솔루션을 배포하거나 현재 배포하고 있다고 밝힌 회사의 예로는 Voyage.auto, 덴소, 웨이모, GM 크루즈, 앱티브, 죽스 등이 있다.

자율 주행 차량의 원격 조작에는 자가 주차 보조와 같은 개인 소유 무인 자동차 사용 사례, 로봇 택시 및 자율 셔틀과 같은 공유 모빌리티 사용 사례, 예를 들어 자율 지게차와 같은 산업용 사용 사례가 포함된다.

자율 주행 차량의 원격 조작에는 두 가지 주요 모드가 있다.
원격 운전(또는 "직접 운전") – 원격 운전자가 동적 운전 작업을 수행한다. 즉, 자동차의 스티어링, 가속도 및 제동 시스템을 제어하여 자동차를 원격으로 운전한다.
원격 지원(또는 "고수준 명령") – 원격 운전자가 차량을 감독하고 지시를 제공하며, 차량 경로를 승인하거나 수정하지만 실제로 동적 운전 작업을 수행하지는 않는다.
일부 회사는 사용 사례에 따라 두 개념을 조합하여 배포한다.
원격 조작 분야에서 솔루션을 제공하는 회사로는 DriveU.auto, Roboauto, Pylot (현재 Fernride의 일부), Ottopia, Designated Driver, Soliton Systems, 및 Transitive Robotics가 있다.

 같이 보기 
 로봇공학
 텔레로보틱스
 리모컨
 원격 제어 차량
 원격 조작기
 원격 관리
 텔레코맨드

 각주 

 외부 링크 
 NASA Telerobotics.
 NASA Telerobotics Program Plan.

분류:리모컨
Fmt (유닉스)

유닉스, 플랜 9, 인페르노 및 유닉스 계열 운영체제의 명령어는 사람이 읽을 수 있도록 자연어 텍스트를 포맷한다.

개요
이 명령어는 전자 메일 메시지를 작성한 후 전송하기 전에 다시 포맷하는 데 사용되었다. 구문은 다양한 유닉스 시스템에서 유사하지만 동일하지는 않다. 는 BSD 및 GNU 코어 유틸리티의 가 입력 줄을 정확히 래핑하는 것과는 달리, 전역적으로 최적화되고 균형 잡힌 출력을 생성하기 위해 입력 줄을 분리, 채우기 및 결합하여 각 줄의 길이가 목표 너비에 최대한 가깝도록 시도한다.

의 대부분의 구현에서 단어 묶음 최적화 절차는 일반적으로 두 가지 기준을 요구한다: 목표 출력 줄 너비와 최대 허용 줄 너비 (최적화를 위한 여유 공간을 주기 위해 이전 것보다 커야 한다). 이 두 가지 옵션을 동시에 제공하는 것이 항상 가능하지 않을 수 있다. 예를 들어, GNU 의 초기 버전은 스위치로 주어지거나 호환성을 위해 첫 번째 명령줄 옵션으로 직접 로 최대 너비 옵션만 받을 수 있다 (이후 버전은 목표 너비를 지정하기 위해 를 사용하고 최대 너비를 위해 를 사용한다). 자세한 예시는 의 솔라리스 맨 페이지와 FreeBSD 매뉴얼 항목을 참조하고, 대부분의 리눅스 배포판에 포함된 GNU 유틸리티의 최신 문서와 비교하라. 플랜 9 맨 페이지도 참조하라.

와 달리 는 유니코드 지원이 없으며 텍스트 맞춤을 지원하지 않는다.

이 명령어는 일반적인 GNU 유닉스 계열 유틸리티의 네이티브 Win32 이식 모음인 UnxUtils의 일부로 마이크로소프트 윈도우용 별도 패키지로 제공된다.

예시
$ fmt -w 50 << END
> Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Curabitur dignissim
venenatis pede. Quisque dui dui, ultricies ut, facilisis non, pulvinar non. Duis quis arcu a purus volutpat iaculis. Morbi id dui in diam ornare
dictum. Praesent consectetuer vehicula ipsum. Praesent tortor massa, congue et,
ornare in, posuere eget, pede.

Vivamus rhoncus. Quisque lacus. In hac habitasse platea dictumst. Nullam mauris
tellus, sollicitudin non, semper eget, sodales non, pede. Phasellus varius
ullamcorper libero. Fusce ipsum lorem, iaculis nec, vulputate vitae, suscipit
vel, tortor. Cras varius.

Nullam fringilla pellentesque orci. Nulla eu ante pulvinar velit rhoncus
fringilla ut, venenatis ut, neque.s arcu. Vestibulum sem quam, dapibus in,
> END
Lorem ipsum dolor sit amet, consectetuer
adipiscing elit. Curabitur dignissim
venenatis pede. Quisque dui dui, ultricies ut,
facilisis non, pulvinar non. Duis quis arcu a
purus volutpat iaculis. Morbi id dui in diam
ornare dictum. Praesent consectetuer vehicula
ipsum. Praesent tortor massa, congue et, ornare
in, posuere eget, pede.

Vivamus rhoncus. Quisque lacus. In hac
habitasse platea dictumst. Nullam mauris tellus,
sollicitudin non, semper eget, sodales non,
pede. Phasellus varius ullamcorper libero. Fusce
ipsum lorem, iaculis nec, vulputate vitae,
suscipit vel, tortor. Cras varius.

Nullam fringilla pellentesque orci. Nulla eu ante
pulvinar velit rhoncus lacinia. Morbi fringilla
lacus quis arcu. Vestibulum sem quam, dapibus in,
fringilla ut, venenatis ut, neque.

각 줄의 너비는 최대 50자이며 텍스트는 이 제약 조건 내에서 흐른다.

 같이 보기 
 유닉스 명령어 목록

 각주 

 외부 링크 
 
 

분류:유닉스 텍스트 처리 유틸리티
Tput

컴퓨팅에서 tput은 터미널 기능을 활용하는 표준 유닉스 운영체제 명령어이다.

시스템에 따라 tput은 terminfo 또는 termcap 데이터베이스를 사용하며, 터미널 유형에 대한 환경도 살펴본다.

역사
tput은 1980년대 초 유닉스 시스템 V에 제공되었다. AT&T tput의 복제본은 1986년 9월 mod.sources 뉴스그룹(이후 comp.sources.unix) 7권에 제출되었다. 시스템 V 프로그램과 달리, 이 복제본은 terminfo 대신 termcap을 사용했다. cm (커서 주소 지정) 기능에 대한 명령줄 매개변수를 허용했고, terminfo 기능 이름을 인식했다.

시스템 V 릴리스 3은 서로 다른 초기화 기능을 새로운 옵션 init으로, 재설정 기능을 reset으로 통합하여 터미널을 초기화하거나 재초기화하는 tput 사용을 간소화한 개선된 버전을 제공했다. 시스템 V 릴리스 3.2는 terminfo 데이터베이스에 swidm (enter_doublewide_mode)와 같은 몇 가지 프린터 관련 기능을 추가하여 tput이 사용할 수 있게 했다. 또한 색상 기능도 추가했다.

시스템 V 릴리스 4는 tput이 사용할 수 있는 표준화된 ANSI 색상 기능 setaf와 setab를 포함한 추가 terminfo 기능을 정의했다.

BSD 플랫폼은 4.3BSD-Reno (1990년 6월)에 tput의 다른 구현을 제공했다. 이 구현은 termcap을 사용했으며, termcap 기능 이름만 인식했고, 커서 주소 지정에 대한 명령줄 매개변수를 허용하지 않았다. FreeBSD는 1994년에 이를 사용하여 하나 또는 두 개의 숫자 명령줄 매개변수를 허용하도록 개선했다.

로스 리지(Ross Ridge)의 mytinfo 패키지(1992년)는 termcap 또는 terminfo 기능 이름을 모두 허용하는 tput을 제공했다. 리노 구현과 마찬가지로, 매개변수화된 기능에 명령줄 인수를 전달하지 않았다. ncurses는 1995년 6월 mytinfo 코드를 통합했다. 초기 버전은 -S 옵션을 추가하고, 시스템 V 릴리스 4 문서에 설명된 대로 명령줄 매개변수를 해석했다.

이식성
오픈 그룹은 하나의 옵션(-T, 터미널 유형 지정)과 세 개의 키워드(init, clear, reset)를 정의한다.
대부분의 구현은 필요한 매개변수와 함께 터미널 기능의 이름을 허용한다.
그러나 일부 구현은 termcap 이름을 예상하는 반면, 다른 구현은 terminfo 이름을 예상한다.

모든 시스템 V 릴리스 4 구현과 호환되도록 설계된 구현은 -S 옵션(tput이 표준 입력에서 데이터를 읽도록 지시)과 추가 키워드 longname도 인식한다. 또한 명령줄 매개변수를 허용하며, 일반적으로 매개변수의 형식으로 숫자 매개변수와 문자열 매개변수를 구별하고, 모든 숫자로 구성된 문자를 확인한다. 예를 들어 함수 키 레이블을 숫자로 구성된 문자열로 설정하는 것은 불가능하다. 다른 접근 방식을 사용하여 ncurses는 문자열 매개변수를 사용하는 terminfo 기능 테이블을 통해 예상되는 매개변수 유형을 결정하여 모호성을 제거한다.

 같이 보기 
 유닉스 명령어 목록

 각주 

더 읽어보기
 

 외부 링크 

매뉴얼 페이지
 
 
 ncurses용 tput(1) 매뉴얼 페이지
 AIX
 
 SCO
 
 SGI
 Sun
 

튜토리얼
 Bash Prompt HOWTO에서 tput을 이용한 색상 및 커서 이동
 IBM DeveloperWorks에서 tput 알아보기

분류:텍스트 모드
분류:유닉스 SUS2008 유틸리티
AdvFS

AdvFS 또는 Tru64 UNIX Advanced File System은 1980년대 후반부터 1990년대 중반까지 디지털 이큅먼트 코퍼레이션이 자사의 OSF/1 버전 유닉스 운영체제(이후 Digital UNIX/Tru64 UNIX)를 위해 개발한 파일 시스템이다. 2008년 6월, GPL-2.0-only 라이선스 하에 자유 소프트웨어로 출시되었다. AdvFS는 다운타임으로부터의 빠른 복구가 필수적인 고가용성 시스템에서 사용되어 왔다.

 기능 
AdvFS는 저장소 풀(파일 도메인이라 불림)과 논리 파일 시스템(파일 세트라 불림)이라는 상대적으로 발전된 개념을 사용한다. 파일 도메인은 파티션, LVM 또는 LSM 장치가 될 수 있는 여러 블록 장치로 구성된다. 파일 세트는 단일 파일 도메인 내에서 생성된 논리 파일 시스템이다. 관리자는 활성 파일 도메인에서 볼륨을 추가하거나 제거할 수 있으며, 제거 시 남은 파일 도메인에 충분한 공간이 있는 경우에 가능하다. 이는 제거될 디스크에 있는 모든 데이터나 메타데이터가 제거 전에 온라인으로 다른 디스크로 먼저 마이그레이션되어야 했기 때문에 구현하기 까다로운 초기 기능 중 하나였다.

파일 세트는 균형을 이룰 수 있으며, 이는 파일 세트의 파일 내용이 물리적 볼륨 전체에 걸쳐 균형을 이룰 수 있음을 의미한다. 파일 세트의 특정 파일은 사용 가능한 볼륨에 걸쳐 스트라이프될 수 있다.

관리자는 활성 또는 비활성 파일 세트의 스냅샷(또는 클론)을 찍을 수 있다. 이를 통해 쉬운 온라인 백업 및 편집이 가능하다.

또 다른 기능은 관리자가 활성 사용자가 있는 동안에도 파일 도메인에서 블록 장치를 추가하거나 제거할 수 있도록 한다. 이 추가/제거 기능을 통해 시스템 종료 없이 더 큰 장치로 마이그레이션하거나 잠재적으로 실패할 수 있는 하드웨어에서 마이그레이션할 수 있다.

 기능 
주요 기능은 다음과 같다:
 빠른 충돌 복구를 위한 저널
 삭제 복구 지원
 고성능
 관리자가 파일 시스템을 즉석에서 관리할 수 있는 동적 구조
 즉석 스냅샷 생성
 도메인에 활성 사용자가 있는 동안 조각 모음

리눅스에서 AdvFS는 여러 파일에 대한 변경 사항을 원자적으로 커밋하기 위해 추가적인 ‘’syncv’’ 시스템 호출을 지원한다.

 역사 
Tru64 UNIX Advanced File System으로도 알려진 AdvFS는 1980년대 후반부터 벨뷰의 디지털 이큅먼트 코퍼레이션 공학자들이 개발하기 시작했다(DECwest). 이 프로젝트는 취소된 OZIX 운영체제 프로젝트의 파일 시스템으로 시작되었다.

이것은 DEC OSF/1 시스템(이후 Digital UNIX/Tru64 UNIX)에 처음으로 제공되었다. 시간이 지나면서 개발은 워싱턴주 벨뷰와 뉴햄프셔주 내슈아에 위치한 팀으로 옮겨졌다. 버전은 항상 운영체제 버전보다 한 버전 뒤쳐졌다. 따라서 DEC OSF/1 v3.2에는 AdvFS v2.x가, Digital UNIX 4.0에는 AdvFS v3.x가, Tru64 UNIX 5.x에는 AdvFS v4.x가 있었다. 일반적으로 AdvFS v4만이 충분한 도구 세트를 갖추고 관리자들이 어떤 종류의 문제에서도 벗어날 수 있도록 하여 생산 수준의 안정성으로 성숙했다고 간주된다. 원래 팀은 파일 시스템 저널이 항상 미러링된 드라이브에 할당될 것이라는 가정 하에 "fsck" 스타일 복구 유틸리티 없이 로그 기반 복구를 출시할 만큼 충분한 자신감을 가졌다.

1996년, 리와 데카스는 Petal로 알려진 새로운 디스크 가상화 계층 위에 AdvFS를 사용하는 방법을 설명했다. 나중 논문에서, 데카스 등은 Petal 위에 구축된 자체 파일 시스템(Frangipani)을 설명하고 동일한 저장 계층에서 실행되는 AdvFS의 성능과 비교했다.

샤피로와 밀러는 AdvFS에 저장된 파일의 성능을 Oracle RDBMS 버전 7.3.4 BLOB 저장소와 비교했다.

컴팩 시에라 병렬 파일 시스템(PFS)은 여러 로컬 AdvFS 파일 시스템을 기반으로 클러스터 파일 시스템을 만들었다. 2000-2001년 로렌스 리버모어 국립연구소(LLNL)에서 수행된 테스트에 따르면 기본 AdvFS 파일 시스템은 적절한 성능을 보였지만(높은 CPU 사용률에도 불구하고), 그 위에 있는 PFS 클러스터링 계층은 성능이 좋지 않았다.

2008년 6월 23일, 휴렛 팩커드는 리눅스 커널과도 호환되도록 GPL-2.0-only 라이선스(최근 출시된 GPLv3 대신) 하에 소스포지에 소스 코드를 공개했다.

 각주 

 외부 링크 
 Source code at Sourceforge.net

분류:1993년 소프트웨어
Zswap

zswap은 가상 메모리 압축의 한 형태로, 스와프된 페이지를 위한 압축된 쓰기 저장(write-back) 캐시를 제공하는 리눅스 커널 기능이다. 메모리 페이지가 스와프 아웃될 때 스와프 장치로 이동하는 대신, zswap은 해당 페이지를 압축한 다음 시스템 RAM에 동적으로 할당된 메모리 풀에 저장한다. 실제 스와프 장치로의 쓰기 저장은 지연되거나 완전히 회피되어, 스와핑이 필요한 리눅스 시스템의 I/O를 크게 줄인다. 대신 압축을 수행하기 위해 추가적인 CPU 사이클이 필요하다.

I/O 감소의 결과로, zswap은 임베디드 장치, 넷북 및 유사한 저가형 하드웨어 장치를 포함한 다양한 플래시 메모리 기반 저장 장치를 사용하는 장치뿐만 아니라, SSD를 저장 장치로 사용하는 다른 장치에도 이점을 제공한다. 플래시 메모리는 쓰기 증폭으로 인해 수명이 제한적이므로, 이를 스와프 공간으로 사용하는 것을 피하면 빠르게 마모되는 것을 방지할 수 있다.

내부 동작
zswap은 스와프 공간으로 사용될 수 있는 다양한 유형의 스토리지를 추상화하는 리눅스 커널 메커니즘인 frontswap이 제공하는 API를 사용하여 리눅스 커널의 나머지 가상 메모리 서브시스템에 통합된다. 결과적으로 zswap은 내부적으로 유사-RAM 장치로 보이는 것을 제공하여 frontswap의 백엔드 드라이버로 작동한다. 즉, frontswap API는 zswap이 메모리 페이지가 스와프 아웃될 때 이를 가로채고, 이미 스와프된 페이지에 대한 페이지 부재를 가로챌 수 있게 한다. 이 두 경로에 대한 접근은 zswap이 스와프된 페이지를 위한 압축된 쓰기 저장 캐시 역할을 할 수 있도록 한다.

내부적으로 zswap은 리눅스 커널의 크립토 API가 제공하는 압축 적재 가능 커널 모듈을 사용한다. 이를 통해 예를 들어, 리눅스 커널이 지원하는 모든 하드웨어 압축 가속기를 사용하여 주 CPU에서 압축 작업을 오프로드할 수 있다. 원하는 압축 모듈 선택은 커널 부트 매개변수 값을 통해 부팅 시 동적으로 수행할 수 있다. 지정하지 않으면 Lempel–Ziv–Oberhumer (LZO) 압축이 선택된다. 리눅스 커널 버전 3.13부터는 커널 부트 매개변수 에 값 을 지정하여 zswap을 명시적으로 활성화해야 한다. 그러나 로 커널을 구성할 때 기본적으로 활성화되거나, sysfs 인터페이스를 통해 언제든지 활성화할 수 있다.
echo 1 > /sys/module/zswap/parameters/enabled

zswap이 사용하는 메모리 풀의 최대 크기는 sysfs 매개변수를 통해 구성할 수 있다. 이 매개변수는 풀이 차지할 수 있는 전체 시스템 RAM의 최대 비율을 지정한다. 메모리 풀은 구성된 최대 크기로 미리 할당되지 않고, 필요에 따라 증가하고 축소된다. 스와핑 결과로 구성된 최대 풀 크기에 도달하거나 메모리 부족 조건으로 인해 풀을 확장할 수 없을 때, 스와프된 페이지는 캐시 축출 기반으로 LRU 방식으로 메모리 풀에서 스와프 장치로 축출된다. 이 접근 방식은 zswap을 진정한 스와프 캐시로 만든다. 캐시가 가득 차면 가장 오래된 캐시된 페이지가 스와프 장치로 축출되어 새로운 스와프 페이지가 압축되고 캐시될 공간을 만든다.

zbud은 zswap이 압축된 페이지를 저장하기 위해 내부적으로 사용하는 특수 목적의 메모리 할당자이다. 이는 오라클의 zcache에서 사용되는 zbud 할당자를 재작성하여 구현되었다. zcache는 리눅스 커널을 위한 또 다른 가상 메모리 압축 구현이다. 내부적으로 zbud는 물리적 메모리 페이지당 최대 두 개의 압축된 페이지("버디", 따라서 할당자 이름)를 저장하여, 해제된 공간의 쉬운 통합 및 재사용으로 인한 이점과 낮은 메모리 활용 가능성으로 인한 단점을 모두 가져온다. 그러나 설계 결과로 zbud는 원래 압축되지 않은 페이지가 차지했을 것보다 더 많은 메모리 공간을 할당할 수 없다.

역사
zswap과 zbud는 모두 세스 제닝스(Seth Jennings)가 만들었다. 첫 공개 발표는 2012년 12월이었고, 개발은 2013년 5월까지 계속되어 코드베이스가 실험적 커널 기능 상태였음에도 불구하고 성숙 단계에 도달했다.

zswap (zbud와 함께)은 2013년 9월 2일에 출시된 커널 버전 3.11에서 리눅스 커널 메인라인에 병합되었다.

2014년 6월 8일에 출시된 리눅스 커널 버전 3.15부터 zswap은 여러 스와프 장치를 제대로 지원한다.

2024년 3월 11일에 출시된 리눅스 커널 버전 6.8부터 zswap은 특정 cgroup에 대한 쓰기 저장을 비활성화하는 것을 지원한다.

대안
zswap의 대안 중 하나는 zram으로, 리눅스 커널에 유사하지만 여전히 다른 "RAM에 압축된 페이지 스와프" 메커니즘을 제공한다.

주요 차이점은 zram이 데이터를 저장하기 위해 RAM을 사용하여 압축된 블록 장치를 제공한다는 점이다. 이는 일반적이고 별개의 스와프 장치 역할을 한다.

이에 비해 zswap은 스와프 장치를 위한 RAM 기반 캐시 역할을 한다. 이는 zswap에 덜 사용된 스와프 페이지에 대한 캐시 축출 메커니즘을 제공하는데, zram은 커널 버전 4.14에서 이 도입되기 전까지는 이 기능이 없었다. 하지만 설계상 zswap을 사용하려면 이미 존재하는 스와프 장치가 적어도 하나 필요하다.

 같이 보기 

 캐시
 리눅스 스와프
 SSD의 스와프 파티션

 각주 

분류:가상 메모리
분류:메모리 관리
분류:C로 작성된 자유 소프트웨어
분류:리눅스 커널 특징
ISACA

ISACA(정식 명칭: 정보 시스템 감사 및 통제 협회, Information Systems Audit and Control Association)는 IT 거버넌스에 중점을 둔 국제 전문 협회이다.

ISACA는 현재 8개의 인증 프로그램과 기타 마이크로 인증을 제공한다.

역사
ISACA는 1967년 미국에서 컴퓨터 시스템의 감사 통제 업무를 수행하는 일단의 사람들이 조직 운영에 대해 점점 더 비판적인 입장을 취하면서 시작되었다. 그들은 이 분야에서 정보와 지침을 제공할 중앙 집중식 자료원의 필요성을 인식했다. 1969년, (나중에) 더글러스 에어크래프트의 직원이었던 스튜어트 타이르나우어(Stuart Tyrnauer)는 이 그룹을 EDP 감사 협회(EDPAA)로 통합했다. 타이르나우어는 처음 3년 동안 이 기구의 창립 회장을 역임했다. 1976년 이 협회는 정보기술 거버넌스 및 통제 분야에 대한 지식과 가치를 확대하기 위한 대규모 연구 노력을 수행하기 위해 교육 재단을 설립했다.

이 협회는 1994년에 정보 시스템 감사 및 통제 협회로 명칭을 변경했다.

2008년 기준으로 이 조직은 긴 이름을 버리고 자신을 ISACA로 브랜딩했다.

2016년 3월, ISACA는 능력 성숙도 통합 모델을 개발한 CMMI 연구소를 인수했다.

2020년 1월, ISACA는 새로운 로고를 도입하며 외관과 디지털 존재를 업데이트하고 새로 단장했다.

현재 상태
ISACA는 현재 180개 이상의 국가에서 185,000명 이상의 회원(ISACA 인증을 보유한 회원 및 전문가)에게 서비스를 제공하고 있다. 회원의 직함은 IS 감사자, 컨설턴트, 교육자, IS 보안 전문가, 규제 기관, 최고 정보 책임자, 최고 정보 보안 책임자 및 내부감사원 등이다. 그들은 거의 모든 산업 분야에서 일한다. 180개국 이상에 225개 이상의 지부가 설립된 ISACA 지부 네트워크가 있다. 지부는 교육, 자원 공유, 옹호, 네트워킹 및 기타 혜택을 제공한다.

주요 발행물
 COBIT ISACA 프레임워크
 프레임워크, 표준 및 모델
 블록체인 프레임워크 및 지침
 Risk IT 프레임워크
 IT 감사 프레임워크 - (ITAF™): IT 감사 전문가 실무 프레임워크, 4판
 정보 시스템 비즈니스 모델(BMIS)
 능력 성숙도 모델 통합(CMMI)
 정보 시스템 통제 저널
 통찰력 및 전문 지식
 감사 프로그램 및 도구
 출판물 - 감사 및 보증, 신흥 기술, 거버넌스, 정보 보안, 정보 기술, 개인 정보 보호, 위험에 대한 200개 이상의 전문 출판물 및 지침. 일부 주제는 다음과 같다.
 인공지능
 블록체인
 공인 정보 시스템 감사원® (CISA®)CISA,AAIA,CISM,CRISC,CDPSE,CGEIT,CCOA,CSX-P 및 여러 자격증 과정 시험 준비 가이드
 클라우드 컴퓨팅
 COBIT
 규정 준수
 사이버 보안
 데이터 거버넌스
 데이터 과학
 사물 인터넷
 네트워크 인프라
 소프트웨어 개발
 위협 및 통제
 공급업체 관리
 젊은 전문가

 백서 - 다양한 현대 주제에 대한 200개 이상의 백서
 뉴스 및 트렌드

인증
 공인 정보 시스템 감사원 (CISA, 1978)
 공인 정보 보안 관리원 (CISM, 2002)
 기업 IT 거버넌스 공인 (CGEIT, 2007)
 위험 및 정보 시스템 통제 공인 (CRISC, 2010)
 사이버 보안 실무자 인증 (CSX-P, 2015)
 공인 데이터 개인 정보 보호 솔루션 엔지니어 (CDPSE, 2020)
 정보 기술 공인 준회원 (ITCA, 2021)
 신흥 기술 공인 (CET, 2021)
 공인 사이버 보안 운영 분석가 (CCOA, 2025)
 AI 감사 고급 (AAIA, 2025)
 AI 보안 관리 고급 (AAISM, 2025 베타)

ISACA의 첫 번째 사이버 보안 인증인 CSX-P는 2015년 여름에 도입되었다. 이는 개인이 실제 문제와 함께 실제 환경에서 작업해야만 인증을 얻을 수 있는 몇 안 되는 인증 중 하나이다. 특히, 이 시험은 응시자를 실제 사건이 발생하고 있는 라이브 네트워크에 배치한다. 사건에 대응하고 문제를 해결하려는 학생의 노력은 부여되는 점수의 유형으로 이어진다.

자격증
 IT 감사 기초 자격증
 IT 위험 기초 자격증
 클라우드 감사 지식 자격증
 사이버 보안 감사 자격증
 컴퓨팅 기초 자격증
 네트워크 및 인프라 기초 자격증
 사이버 보안 기초 자격증
 소프트웨어 개발 기초 자격증
 데이터 과학 기초 자격증
 클라우드 기초 자격증
 블록체인 기초 자격증
 IoT 기초 자격증
 인공지능 기초 자격증
 COBIT 설계 및 구현
 COBIT 2019를 사용하여 NIST 사이버 보안 프레임워크 구현
 COBIT 재단
 COBIT 5 자격증

 같이 보기 
 정보 보증
 정보 보안
 정보 보안 관리 시스템
 IT 위험
 Risk IT 프레임워크
 COBIT
 트레드웨이 위원회 후원 조직 위원회 (COSO)
 (ISC)²
 정보 시스템 보안 협회
 국제 전문 협회 목록
 IAPP

 각주 

 외부 링크 
 ISACA 공식 웹페이지
 ISACA 공식 CSX 웹페이지
 지식 관리 및 조직 학습 (프레임워크)

분류:컴퓨터 보안 관련 기관
분류:정보 기술 관련 기관
분류:1967년 설립된 단체
Readahead

readahead(리드어헤드)는 리눅스 커널의 시스템 호출로, 파일 내용을 버퍼 캐시에 로드한다. 이는 파일을 프리페칭하여 나중에 접근할 때 내용이 하드 디스크 드라이브 (HDD) 대신 주 기억 장치 (RAM)에서 읽혀 파일 접근 지연 시간을 훨씬 낮춘다.

많은 리눅스 배포판은 일반적으로 사용되는 파일 목록에 readahead를 사용하여 부팅 속도를 높인다. 이러한 설정에서 커널이 부트 파라미터로 부팅되면, 부팅 중 모든 파일 접근을 기록하고 나중 부팅 시퀀스에서 읽을 새 파일 목록을 작성한다. 이는 기본 readahead 목록에 포함되지 않은 추가 설치된 서비스가 더 빨리 시작되도록 할 것이다.

Systemd를 사용하는 리눅스 배포판에서는 (부팅 시퀀스의 일부로) readahead 바이너리가 systemd-readahead로 대체되었다. 그러나 systemd 버전 217에서 readahead 지원이 제거되었으며, 유지 관리되지 않고 예상 성능 이점을 제공할 수 없다고 설명되었다.

특정 실험적인 페이지 수준 프리페칭 시스템이 성능을 더욱 향상시키기 위해 개발되었다.

 파일 시스템에서 
 Bcache는 파일 및 메타데이터의 readahead를 지원한다.
 ZFS는 ARC를 사용할 때 파일 및 메타데이터의 readahead를 지원한다.

 같이 보기 
 프리페처
 preload (소프트웨어)

 각주 

분류:리눅스 파일 시스템 관련 소프트웨어
마이크로소프트 컴파일 HTML 도움말

마이크로소프트 컴파일 HTML 도움말(Microsoft Compiled HTML Help, CHM)은 마이크로소프트 독점 온라인 도움말 포맷으로, HTML 페이지, 색인 및 기타 탐색 도구 모음으로 구성된다. 파일은 압축되어 .CHM 확장자를 가진 이진 형식으로 배포된다. 이 형식은 윈도우 도움말을 계승하기 위한 것이었다.

이 형식은 마이크로소프트가 설계했지만 성공적으로 역설계되었으며 현재 많은 문서 뷰어에서 지원된다.

역사
CHM은 윈도우 95 OSR 2.5 출시와 함께 윈도우 도움말의 후속으로 도입되었다. 윈도우 NT 계열에서는 윈도우 NT 4.0에서 CHM 파일 지원이 도입되었으며 윈도우 11에서도 여전히 지원된다.

마이크로소프트는 HTML 도움말에 새로운 기능을 추가할 의도가 없다고 발표했다.

파일 형식
도움말은 .chm 확장자를 가진 이진 파일로 제공된다. 여기에는 HTML 파일 세트, 하이퍼링크된 목차, 색인 파일이 포함된다. 파일 형식은 역설계되었으며 해당 문서는 자유롭게 사용할 수 있다.

파일은 마이크로소프트가 CHM 파일에 사용되는 일반 저장 파일 형식에 부여한 내부 이름인 "Info-Tech Storage Format"의 "ITSF" (in ASCII) 바이트로 시작한다.

CHM 파일은 다음 기능을 지원한다.
 데이터 압축 (LZX 사용)
 내장 검색 엔진
 여러 .chm 도움말 파일 병합 기능
 유니코드를 완전히 지원하지는 않지만 확장 문자 지원.

Microsoft Reader의 .lit 파일 형식은 HTML 도움말 CHM 형식의 변형이다. CHM 파일은 때때로 전자책에 사용된다.

뷰어
마이크로소프트 윈도우 외에 다음 앱들이 CHM을 지원한다.

생성기

마이크로소프트의 HTML 도움말 워크숍은 .HHP 파일 확장자를 가지며 특수한 형태의 INI 파일인 HTML 도움말 프로젝트 파일에 저장된 지침에 따라 CHM 파일을 생성한다.

라자루스와 프리 파스칼은 CHM 생성을 위한 Doxygen 유사 도구와 chmcmd라는 별도의 명령줄 컴파일러를 제공한다.

기타 유틸리티

마이크로소프트 윈도우의 공식 뷰어(hh.exe)는 CHM 파일을 역컴파일할 수 있다. 마이크로소프트 HTML 도움말 워크숍과 7-Zip도 마찬가지이다. 캘리버와 arCHMage는 CHM을 다른 형식으로 변환할 수 있다.

 같이 보기 

 윈도우 도움말
 Microsoft Help 2
 문서 생성기 비교

 각주 

 외부 링크 
 MSDN의 HTML 도움말 웹 페이지 
 마이크로소프트 Help 2 참조 (VS7.1 및 VS8.0용 Visual Studio SDK의 일부)
 HTML 도움말의 역사
 비공식 (예비) HTML 도움말 사양 (연결된 ITSF 사양은 Russotto.net 도메인으로 이동되었다)

분류:파일 포맷
분류:기술 소통
분류:인터넷 익스플로러
플로우 샵 스케줄링

섬네일|플로우 샵 오르도낭스망
플로우 샵 스케줄링(flow-shop scheduling)은 컴퓨터 과학 및 운영 연구의 최적화 문제이다. 이는 최적 작업 스케줄링의 한 변형이다. 일반적인 작업 스케줄링 문제에서, 우리는 다양한 처리 시간을 가진 n개의 작업 J1, J2, ..., Jn을 가지며, 이를 다양한 처리 능력을 가진 m개의 기계에 스케줄링해야 한다. 이때 목표는 메이크스팬을 최소화하는 것이다. 메이크스팬은 전체 스케줄의 총 길이(즉, 모든 작업이 처리를 마쳤을 때)를 의미한다. 플로우 샵 스케줄링으로 알려진 특정 변형에서는 각 작업이 정확히 m개의 작업을 포함한다. 작업의 i번째 작업은 i번째 기계에서 실행되어야 한다. 어떤 기계도 동시에 두 개 이상의 작업을 수행할 수 없다. 각 작업의 각 작업에 대해 실행 시간이 지정된다.

플로우 샵 스케줄링은 모든 작업에 대해 수행될 모든 작업의 엄격한 순서가 있는 잡 샵 스케줄링의 특수 사례이다. 플로우 샵 스케줄링은 제조업 시설뿐만 아니라 컴퓨팅 설계에도 적용될 수 있다. 플로우 샵 스케줄링 문제의 특별한 유형은 순열 플로우 샵 스케줄링 문제인데, 이는 리소스에서 작업의 처리 순서가 후속 처리 단계마다 동일한 경우이다.

최적 작업 스케줄링 문제에 대한 표준 3필드 표기법에서 플로우 샵 변형은 첫 번째 필드에 F로 표시된다. 예를 들어, "F3||"로 표시되는 문제는 단위 처리 시간을 가진 3기계 플로우 샵 문제이며, 목표는 최대 완료 시간을 최소화하는 것이다.

정의
m개의 기계와 n개의 작업이 있다. 각 작업은 정확히 m개의 작업을 포함한다. 작업의 i번째 작업은 i번째 기계에서 실행되어야 한다. 어떤 기계도 동시에 두 개 이상의 작업을 수행할 수 없다. 각 작업의 각 작업에 대해 실행 시간이 지정된다.

하나의 작업 내의 작업은 지정된 순서대로 수행되어야 한다. 첫 번째 작업은 첫 번째 기계에서 실행되고, (첫 번째 작업이 완료되면) 두 번째 작업은 두 번째 기계에서 실행되며, m번째 작업까지 계속된다. 그러나 작업은 어떤 순서로든 실행될 수 있다. 문제는 가능한 가장 짧은 총 작업 실행 메이크스팬을 가진 최적의 배열을 결정하는 것이다.

순서 지정 성능 측정 (γ)
순서 지정 문제는 하나 또는 여러 순서 지정 목표를 최적화하는 순서 S를 결정하는 것으로 명시될 수 있다.
 (평균) 플로우 시간, 
 메이크스팬, Cmax
 (평균) 지연, 
 ....
성능 측정에 대한 자세한 논의는 베남 말라쿠티(2013)에서 찾을 수 있다.

플로우 샵 스케줄링의 복잡성
게리(Garey) 외 (1976)가 제시했듯이, 플로우 샵 스케줄링 문제의 대부분 확장 버전은 NP-난해이며, 그 중 소수는 O(nlogn)으로 최적으로 해결할 수 있다. 예를 들어, F2|prmu|Cmax는 존슨의 규칙을 사용하여 최적으로 해결할 수 있다.

타이야르(Taillard)는 플로우 샵, 오픈 샵, 잡 샵 스케줄링을 위한 상당한 벤치마크 문제를 제공한다.

해결 방법
플로우 샵 스케줄링 문제를 해결하기 위해 제안된 방법은 분기 한정법과 같은 정확한 알고리즘과 유전 알고리즘과 같은 휴리스틱 알고리즘으로 분류될 수 있다.

 메이크스팬 Cmax 최소화 

F2|prmu|Cmax와 F3|prmu|Cmax는 존슨의 규칙을 사용하여 최적으로 해결할 수 있지만, 일반적인 경우에는 해의 최적성을 보장하는 알고리즘이 없다.

플로우 샵에는 시간 0에 동시에 사용 가능하며 그 사이에 무제한 저장 공간을 가진 직렬로 배열된 두 대의 기계에 의해 처리될 n개의 작업이 포함된다. 모든 작업의 처리 시간은 확실히 알려져 있다. 메이크스팬을 최소화하기 위해 기계에 n개의 작업을 스케줄링해야 한다. 두 기계 플로우 샵에서 작업을 스케줄링하기 위한 존슨의 규칙은 다음과 같다.

최적 스케줄에서, min{p1i,p2j} < min{p1j,p2i}인 경우 작업 i가 작업 j보다 먼저 온다. 여기서 p1i는 기계 1에서 작업 i의 처리 시간이고 p2i는 기계 2에서 작업 i의 처리 시간이다. 유사하게, p1j와 p2j는 각각 기계 1과 기계 2에서 작업 j의 처리 시간이다.

존슨의 알고리즘:
p1j를 기계 1에서 작업 j의 처리 시간으로 둔다.
p2j를 기계 2에서 작업 j의 처리 시간으로 둔다.

존슨의 알고리즘:
 p1j < p2j인 모든 작업을 포함하는 set1을 생성한다.
 p1j > p2j인 모든 작업을 포함하는 set2를 생성한다. p1j = p2j인 작업은 두 집합 중 어느 하나에 넣을 수 있다.
 다음과 같이 순서를 생성한다:
 (i) set1의 작업은 순서에서 먼저 오며, p1j의 오름차순(SPT)으로 온다.
 (ii) set2의 작업은 p2j의 내림차순(LPT)으로 뒤따른다. 동점은 임의로 처리한다.
이러한 유형의 스케줄을 SPT(1)–LPT(2) 스케줄이라고 한다.

사용 가능한 해결 방법에 대한 자세한 논의는 베남 말라쿠티 (2013)에서 제공된다.

 같이 보기 

 오픈 샵 스케줄링
 잡 샵 스케줄링

 각주 

분류:최적 스케줄링
ACM 소프트웨어 시스템 상

thumb|upright|ACM 2005 소프트웨어 시스템 상

ACM 소프트웨어 시스템 상 또는 ACM 소프트웨어 시스템 어워드(ACM Software System Award)는 "개념에 대한 기여, 상업적 수용 또는 둘 다에서 반영된 지속적인 영향을 미친 소프트웨어 시스템을 개발한" 사람 또는 조직에 수여되는 연례 상이다. 이 상은 1983년부터 ACM(Association for Computing Machinery)에 의해 수여되며, 현재 IBM이 후원하는 미화 35,000달러의 상금이 지급된다.

 수상자 
다음은 ACM 소프트웨어 시스템 상 수상자 목록이다.

 같이 보기 
 소프트웨어 시스템
 컴퓨터 과학상 목록

 각주 

 외부 링크 
 Software System Award — ACM Awards

분류:컴퓨터 과학상
Meson

Meson()은 코드베이스를 빌드하기 위한 빌드 자동화 소프트웨어 개발 도구이다. Meson은 가장 일반적인 작업을 구성하는 데 필요한 데이터를 최소화하기 위해 설정보다 관습 방식을 채택한다. Meson은 아파치 라이선스 2.0에 따라 자유-오픈 소스 소프트웨어이다.

Meson은 파이썬으로 작성되었으며 유닉스 계열(리눅스 및 macOS 포함), 마이크로소프트 윈도우 및 기타 운영 체제에서 실행된다. C, C++, C 샤프, CUDA, 오브젝티브-C, D, 포트란, 자바, 러스트, 발라 빌드를 지원한다. 랩(Wrap)이라는 메커니즘을 통해 종속성을 처리한다. GNU 컴파일러 모음 (gcc), 클랭, 마이크로소프트 비주얼 C++ 및 Emscripten 및 사이썬과 같은 비전통적인 컴파일러를 포함한 다른 컴파일러를 지원한다. 이 프로젝트는 닌자를 기본 백엔드 빌드 시스템으로 사용하지만, Visual Studio 또는 엑스코드 백엔드도 사용할 수 있다.

Meson의 포트란 및 사이썬 지원은 예를 들어 SciPy와 같이 다양한 과학 프로젝트가 에서 Meson으로 전환하는 데 도움이 되도록 개선되었다. Meson은 패키지를 통해 파이썬 휠을 빌드하기 위한 PEP517 백엔드로 사용할 수 있다.

 언어 
Meson의 빌드 설명 파일인 Meson 언어의 구문은 파이썬에서 차용했지만 파이썬은 아니다. 다른 언어로 다시 구현할 수 있도록 설계되었다. 예를 들어 muon은 C 구현이며, Meson++은 C++ 구현이다. 파이썬에 대한 의존성은 구현 세부 사항이다.

Meson 언어는 의도적으로 튜링 완전이 아니므로 임의의 프로그램을 표현할 수 없다. 대신, 지원되는 언어를 컴파일하는 것 이상의 임의의 빌드 단계는 사용자 정의 대상으로 표현할 수 있다.

Meson 언어는 강력한 형식 지정 언어로, 라이브러리, 실행 파일, 문자열 및 이들의 목록과 같은 내장형은 상호 교환할 수 없다. 특히, Make와 달리 목록 형식은 공백으로 문자열을 분할하지 않는다. 따라서 파일 이름 및 프로그램 인수에서 공백 및 기타 문자가 깔끔하게 처리된다.

 속도 및 정확성 
일반적인 빌드 시스템과 마찬가지로 올바른 증분 빌드는 가장 중요한 속도 기능이다(사용자가 강제로 클린 빌드를 수행해야 할 때 모든 증분 진행이 폐기되기 때문이다).

일반 Make와 달리 별도의 구성 단계는 인수, 환경 변수 및 명령 출력의 변경 사항이 후속 빌드에서 부분적으로 적용되지 않도록 하여 오래된 빌드로 이어지지 않도록 한다.

Ninja와 마찬가지로 Meson은 소스 파일의 글로빙을 지원하지 않는다. 모든 소스 파일이 빌드 정의 파일에 나열되어야 하므로, 빌드 정의 파일 타임스탬프는 소스 파일 집합이 변경되었는지 여부를 결정하는 데 충분하므로 제거된 소스 파일이 감지된다. CMake는 글로빙을 지원하지만 동일한 이유로 권장하지 않는다.

Meson은 ccache가 설치되어 있으면 자동으로 사용한다. 또한 ABI 변경이 없을 때 라이브러리에 대해 실행 파일의 다시 연결을 건너뛰기 위해 공유 라이브러리의 심볼 테이블 변경 사항을 감지한다. 프리컴파일러 헤더는 지원되지만 구성이 필요하다. 디버그 빌드는 기본적으로 최적화 없이 수행된다.

 기능 
Meson의 목표는 현대적인 개발 방식을 용이하게 하는 것이다. 따라서 Meson은 유니티 빌드를 수행하고, 코드 커버리지를 통해 빌드하는 방법 등을 프로그래머가 이를 지원하기 위해 코드를 작성할 필요 없이 수행하는 방법을 알고 있다.

 하위 프로젝트 
Meson은 pkg-config, CMake 및 프로젝트별 조회를 통해 사용자 시스템에 설치된 외부 종속성을 자동으로 찾아 사용할 수 있다.
대신, 또는 대체로, 종속성은 하위 프로젝트로 제공될 수 있다. 이는 다른 프로젝트 내에 포함되거나 다운로드 링크로 제공되며, 패치가 포함될 수도 있다. 이는 Meson이 프로젝트를 컴파일하려는 일반 사용자의 편의를 위해 의존성 지옥을 해결할 수 있게 하지만, 일반 설치된 종속성을 대신 사용할 수 있었다면 소프트웨어 블롯에 기여할 수도 있다. 따라서 리눅스 패키저가 선호하는 모드는 폴백(fallback)이다.

Meson은 Meson 및 CMake 하위 프로젝트를 지원한다. Meson 빌드 파일은 WrapDB 서비스를 참조할 수도 있다.

 교차 컴파일 
교차 컴파일은 추가 구성이 필요하며, Meson은 Meson 프로젝트 외부에서도 가능한 별도의 교차 파일 형태로 이를 지원한다.

 설치 디렉터리 설정 
x86_64 유닉스에서 라이브러리 설치 디렉터리 설정은 Meson이 자동으로 처리하지만, 오토툴(Autotools)과 같은 다른 도구에서는 그렇지 않다.

 채택자 
그놈은 프로젝트를 Meson으로 포팅하는 것을 목표로 삼았다. 2017년 후반부터 그놈 셸 자체는 오토툴을 포기한 후 Meson만을 독점적으로 요구하며, GTK+, Clutter-GTK, GLib 및 GStreamer와 같은 중앙 구성 요소도 Meson으로 빌드할 수 있다.

많은 Freedesktop.org 프로젝트가 Meson으로 전환되었다. Systemd는 버전 234에서 오토툴을 버린 이후 Meson에 의존하며, X.Org 및 메사도 Meson으로 포팅되었다.

 기능 비교 
CMake 및 Make와의 기능 비교.

 같이 보기 
 

 각주 

 외부 링크 
 

분류:컴파일 도구
분류:빌드 자동화
분류:파이썬으로 작성된 자유 소프트웨어
분류:아파치 라이선스 소프트웨어
팜 트레오

섬네일|트레오 300
팜 트레오(Palm Treo, Trēo로 표기)는 원래 핸드스프링에서 개발되었고, 팜이 인수한 단종된 스마트폰 라인이다. 이후 팜이 제조하고 유지보수했다. 트레오는 통화 중 캘린더 확인, 연락처 목록에서 직접 전화 걸기, 이메일 메시지 전송과 같은 여러 통합 기능을 가지고 있었다. 마지막 모델에는 내장 카메라가 포함되었다. 트레오는 팜 OS를 실행했지만, 이후 모델은 윈도우 모바일도 실행했다. 2009년 6월에 출시된 팜 프레가 트레오 시리즈를 대체했다.

 트레오 기기 
총 19개의 트레오 모델이 출시되었으며, 아래에 역순으로 나열되어 있다. 680 시리즈까지의 트레오는 팜 OS를 사용했다. 700 시리즈부터 트레오는 팜 OS와 윈도우 모바일을 모두 실행했다. 트레오 700w는 700 라인의 첫 번째 모델이자 윈도우 모바일을 사용한 첫 번째 트레오였다. 2028년 8월 32일, 팜은 마지막 트레오 기기인 트레오 프로를 GSM으로 출시했다. CDMA용 트레오 프로는 2009년 3월에 판매를 시작했다.

공식 발표 모델:

 각주 

분류:팜 휴대 전화