Go to main content

Oracle® Solaris 11.3의 새로운 기능

인쇄 보기 종료

업데이트 날짜: 2016년 11월
 
 

개발자를 위한 향상 기능

이 절에서는 최신 라이브러리 및 신뢰할 수 있는 프레임워크를 활용하여 Oracle Solaris 플랫폼에서 응용 프로그램 개발을 더욱 쉽게 만들 수 있도록 개발자를 위한 이 릴리스의 향상 기능을 설명합니다.

응용 프로그램 개발을 위한 SSM API

Oracle Solaris에는 새롭고 업데이트된 C 라이브러리 SSM API가 포함됩니다. 예를 들어, 이러한 API를 사용하면 응용 프로그램이 자신의 사용자 정의 메모리 할당자를 사용할 때 메모리 손상 문제 감지가 가능합니다.

자세한 내용은 adi(3C), adi(2), memcntl(2), mmap(2)siginfo(3HEAD) 매뉴얼 페이지를 참조하십시오.

Silicon Secured Memory 관리 라이브러리

새로운 사용자 레벨 메모리 관리 라이브러리인 libadimalloc은 SSM을 활용하는 표준 libc-malloc(3C) 함수 제품군의 버전을 정의합니다. 또한 libadimalloc 라이브러리는 폭넓은 디버깅 지원도 제공합니다.

자세한 내용은 libadimalloc(3LIB) 매뉴얼 페이지를 참조하십시오. 디버깅 지원에 대한 자세한 내용은 adimalloc_debug(3MALLOC) 매뉴얼 페이지를 참조하십시오.

Oracle Solaris Studio에서 SSM 지원

Oracle Solaris Studio 개발 도구는 SSM을 지원하며 개발자에게 SSM 런타임 관련 오류를 빠르게 찾고 수정할 수 있도록 추가 진단 기능을 제공합니다. Code Analyzer는 Oracle Solaris Studio의 고급 분석 도구이며 응용 프로그램을 컴파일할 때 정적 분석을 사용하여 코딩 오류를 감지할 수 있습니다. 또한 Code Analyzer는 런타임 동적 분석으로 메모리 오류로부터 응용 프로그램을 보호합니다. 또한 테스트되지 않은 함수의 순위를 정하는 특허 기술로 코드 범위를 크게 높입니다. Oracle Solaris Studio Code Analyzer의 런타임 동적 분석 기능인 Discover에는 libdiscoverADI 라이브러리가 포함되어 있으며, 이를 통해 Discover에서 SSM으로 식별된 런타임 관련 메모리 오류를 이해하고 식별할 수 있습니다. 모든 C 또는 C++ 응용 프로그램은 이 라이브러리를 사전 로드하여 SSM 오류 검사가 사용으로 설정된 상태로 실행할 수 있습니다. 메모리 오류가 감지되면 Discover는 종합 오류 분석 보고서를 출력합니다.

Oracle Solaris Studio 개발 도구를 사용하여 SSM으로 식별된 메모리 액세스 오류를 찾아 수정하는 방법에 대한 자세한 내용은 https://community.oracle.com/docs/DOC-912448 문서를 참조하십시오. 자세한 내용은 mdb(1)dtrace(1M) 매뉴얼 페이지를 참조하십시오.

Posix Spawn 함수

C 라이브러리에는 Java를 더욱 빠르고 효과적으로 실행할 수 있는 새로운 API가 포함되어 있습니다. 새로운 API인 posix_spawn_file_actions_addchdir_np()를 통해 posix_spawn() 함수를 사용하여 생성된 프로세스에 대한 작업 디렉토리를 지정할 수 있습니다. Java는 posix_spawn() 함수를 사용하여 과도한 메모리 오버헤드를 야기하지 않는 하위 프로세스를 만듭니다.

자세한 내용은 posix_spawn(3C)posix_spawn_file_actions_addchdir_np(3C) 매뉴얼 페이지를 참조하십시오.

향상된 신호 전달

C 라이브러리에 추가된 새 인터페이스는 Oracle Solaris POSIX/UNIX 다중 스레드 프로세스 모델에 대한 변화를 나타냅니다. 인터페이스를 통해 프로세스는 서로뿐만 아니라 다른 프로세스의 특정 스레드와 직접 상호 작용하여 프로세스 내의 스레드에도 신호를 보낼 수 있습니다.

자세한 내용은 proc_thr_kill(3C)proc_thr_sigqueue(3C) 매뉴얼 페이지를 참조하십시오.

새 이벤트 소스

신호는 이제 이벤트 포트에 대해 정의된 이벤트 소스의 기존 세트에 이벤트 소스로 추가됩니다. 이 향상 기능을 통해 이벤트 포트는 이벤트 소스의 기존 세트와 함께 신호 이벤트를 대기하는 프로세스를 가질 수 있습니다.

자세한 내용은 port_create(3C), port_associate(3C)port_dissociate(3C) 매뉴얼 페이지를 참조하십시오.

난수 및 엔트로피 수집 시스템 호출

Oracle Solaris 11.3에는 커널에서 엔트로피 또는 임의 비트를 수집하기 위해 제공되는 두 가지 새로운 시스템 호출인 getentropy(2)getrandom(2)이 포함됩니다. 이러한 시스템 호출은 /dev/random/dev/urandom 장치에서 open(2)read(2)를 사용하는 것보다 더 좋은 선택입니다.

자세한 내용은 getentropy(2)getrandom(2) 매뉴얼 페이지를 참조하십시오.

이름 지정된 스레드

Oracle Solaris 11.3에서는 이제 응용 프로그램의 스레드에 레이블을 지정하여 응용 프로그램 디버깅을 단순화할 수 있습니다. ps, prstatDTrace와 같은 감시 도구는 지정된 이름을 기준으로 측정항목을 표시할 수 있습니다. 이 기능은 많은 스레드를 가진 Java와 같은 응용 프로그램에 특히 유용합니다.

자세한 내용은 prstat(1M)pthread_attr_setname_np(3C) 매뉴얼 페이지를 참조하십시오.

DTrace noresolve 런타임 옵션

DTrace에는 이제 새로운 런타임 옵션인 –x noresolve를 통해 사용자 공간 기호의 자동 확인을 방지할 수 있는 기능이 포함됩니다. 이 옵션은 기호 확인에서 큰 정적으로 연결된 이진에 대해 오랜 시간이 걸리는 경우 유용할 수 있습니다.

DTrace EoIB SDT 프로브

eoibeibnx 모듈의 새로운 DTrace SDT 프로브는 EoIB(Ethernet over InfiniBand) 구현의 보다 향상된 감시를 제공합니다.

관련 정보

RAD에서 REST 기반 관리 인터페이스.