
위키트리
미니맥스 H3, 영상편집 세계 1위 모델 가중치 전면공개

위키트리

유닉스 계열 오픈소스 운영체제 NetBSD의 19번째 메이저 버전인 NetBSD 11.0이 공개됐다. 이번 릴리스의 가장 큰 변화는 64비트 RISC-V(리스크파이브) 아키텍처에 대한 첫 정식(stable) 지원이다. QEMU 가상머신은 물론 스타파이브(StarFive) JH7110 기반의 실제 보드에서도 구동할 수 있게 됐다.
리눅스와의 호환성도 한층 강화됐다. epoll, clone3, statx, inotify 등 리눅스 전용 시스템 콜과 인터페이스가 대거 추가돼 리눅스용으로 만들어진 소프트웨어를 수정 없이 NetBSD의 호환 서브시스템에서 구동할 수 있는 범위가 넓어졌다. 퀄컴 스냅드래곤 X 엘리트 플랫폼에 대한 초기 지원, 가상머신 부팅 속도를 끌어올린 전용 MICROVM 커널 등 하드웨어·가상화 영역의 개선도 함께 이뤄졌다.
이번 RISC-V 포트는 QEMU 가상머신과 스타파이브 JH7110 기반 기기를 지원 대상으로 삼는다. 구체적으로는 스타파이브 비전파이브2(VisionFive 2)와 PINE64 STAR64 보드가 포함된다. 이들 기기에서 PCI·PCIe 장치, VirtIO 네트워킹과 스토리지, 가상화된 오디오, 하드웨어 난수 생성기, 온도 센서, NetBSD의 크래시 커널 디버깅 유틸리티까지 폭넓게 동작한다.
올윈너(Allwinner) D1 시스템온칩(SoC)에 대한 기본 지원도 새로 추가됐다. 망고파이 MQ 프로(MangoPi MQ Pro)와 올윈너 네자(Allwinner Nezha) 같은 저가형 RISC-V 보드에서 NetBSD를 시험해볼 수 있게 된 셈이다. 오랫동안 x86과 Arm 위주였던 NetBSD 생태계에 RISC-V라는 새로운 축이 정식으로 편입됐다는 점에서 의미가 크다.

Arm 아키텍처 쪽에서는 퀄컴 스냅드래곤 X 엘리트 플랫폼과 이 칩에 탑재된 오리온(Oryon) CPU 코어에 대한 초기 지원이 도입됐다. 배터리·충전기 센서, GPIO, I2C 컨트롤러용 드라이버도 함께 마련됐다. 이 외에도 ACPI 기반 시스템의 NUMA 인식, Arm SCMI 성능 프로토콜 지원, 신규 록칩(Rockchip) USB-C PHY 드라이버, 나노파이 R4S(NanoPi R4S) 호환성 개선이 이번 릴리스에 담겼다.
라즈베리파이5 사용자에게도 반가운 소식이 있다. 보드를 UEFI로 부팅했을 때 주변기기 지원이 개선됐다. 이는 라즈베리파이5를 좀 더 표준적인 부팅 방식으로 활용하려는 사용자들의 편의를 높이는 변화다.
가상화 관련해서는 amd64와 i386 시스템을 위한 전용 MICROVM 커널이 새로 등장했다. PVH 부팅 방식과 VirtIO MMIO 장치를 활용해 가상머신의 시작 속도를 끌어올리는 데 초점을 맞췄다. 개발 프로젝트 측 설명에 따르면 2020년경 출시된 x86 프로세서 기준으로 약 10밀리초 만에 부팅이 가능하다. QEMU의 -kernel 옵션을 활용한 non-Xen PVH 부팅과 커널 커맨드라인 파라미터를 통한 VirtIO 장치 탐색 기능도 추가됐다. QEMU의 가상 그래픽 장치를 지원하는 신규 viogpu 드라이버, VMware의 파라버추얼라이즈드 SCSI 컨트롤러를 다루는 pvscsi 드라이버도 새로 포함됐다.
NetBSD 프로젝트가 이번 버전에서 가장 힘을 준 영역 중 하나가 리눅스 호환성 계층이다. epoll, clone3, statx, inotify, renameat2, close_range, waitid, syncfs, readahead, POSIX 메시지 큐, sync_file_range 등 다양한 리눅스 전용 시스템 콜과 인터페이스가 추가로 구현됐다. 여기에 리눅스 호환용 memfd_create 시스템 콜도 새로 지원되며 procfs에는 sysvipc와 self/limits 관련 기능이 확장됐다.
이런 변화는 원래 리눅스용으로 개발된 소프트웨어를 별도 수정 없이 NetBSD의 호환 서브시스템에서 실행할 수 있는 범위를 넓히는 효과를 낸다. 표준 준수 측면에서도 진전이 있었다. POSIX.1-2024와 C23 프로그래밍 언어 표준 관련 개선이 이뤄졌고, lint 유틸리티는 C23 코드를 검사하고 더 많은 정수 오버플로우 사례를 탐지할 수 있게 됐다. POSIX.1-2024가 요구하는 ISO C17 컴파일러 명령을 제공하는 새로운 c17 래퍼도 추가됐다.
커널 레벨에서는 파이프의 락 경쟁이 줄었고, SPARC·PowerPC·MIPS 아키텍처의 바이트 스왑 성능이 개선됐다. ZFS 파일 삭제 속도가 빨라졌고 DRM 그래픽 서브시스템의 다중 CPU 확장성도 좋아졌다. VirtIO 드라이버들은 이제 멀티프로세서 세이프(multiprocessor safe)로 표시돼 커널의 전역 락을 잡지 않고도 동작할 수 있다. TCP 초기 재전송 타임아웃은 RFC 6298이 허용하는 범위 내에서 기존 3초에서 1초로 단축됐다. NetBSD 패킷 필터 방화벽에는 계층 2(L2) 필터링과 사용자·그룹에 의존하는 규칙이 추가됐고, 프로세서와 인터럽트 레벨이 서로의 동작 상태를 감시해 커널 정지를 탐지하는 하트비트 메커니즘도 새로 도입됐다.
하드웨어 드라이버 목록도 크게 늘었다. 리얼텍(Realtek) RTL8126 5GbE 네트워킹, 엔비디아 멜라녹스(Mellanox) ConnectX-6 가상 함수, ASIX AX88179A USB 이더넷 어댑터, USB 오디오 클래스 2.0 장치, I2C HID 키보드, 네트워크 컨트롤 모델을 통한 최신 안드로이드 USB 테더링 지원이 대표적이다. AMD의 시에나(Siena), 튜린 클래식(Turin Classic), 튜린 덴스(Turin Dense), 스트릭스 포인트(Strix Point), Zen 5 CPU에 대한 온도 모니터링도 추가됐고 인텔 메테오레이크(Meteor Lake)와 에메랄드래피즈(Emerald Rapids) 프로세서는 cpuctl에서 인식된다.
서드파티 구성 요소도 새 버전으로 갱신됐다. GCC 12.5, GDB 15.1, Binutils 2.42, OpenSSL 3.5.7, OpenSSH 10.3, Postfix 3.11.2, X.Org 서버 21.1.24, tmux 3.6b, Unbound 1.25.1, BIND 9.20.24, wpa_supplicant 2.11이 기본 시스템에 포함됐다.
기존 버전에서 업그레이드하는 사용자는 몇 가지 변경 사항에 유의해야 한다. 32비트와 64비트 호환 라이브러리는 base32, base64, debug32, debug64라는 별도 설치 세트로 분리됐다. HTML 매뉴얼 페이지는 전용 manhtml 세트로 옮겨졌다. OpenSSH는 더 이상 DSA 키를 지원하지 않아, DSA 키를 명시적으로 활성화한 커스텀 SSH 설정을 쓰던 시스템은 SSH 데몬이 정상적으로 시작되지 않을 수 있어 사전 설정 변경이 필요하다. aarch64의 CPU 주파수 제어 인터페이스는 추상적인 성능 단위 대신 MHz 단위를 사용하도록 바뀌었고, hdaudio 드라이버의 믹서 컨트롤 순서와 이름도 변경됐다.
NetBSD 11.0의 설치 이미지와 소스 코드는 프로젝트의 CDN을 통해 이번 운영체제가 지원하는 다양한 프로세서 아키텍처와 시스템 계열별로 내려받을 수 있다.

관심 없음
{카테고리}에 관심 없음