Linux를 위한 새로운 기능, 개선 사항 등을 포함하는 Glibc 2.36 출시

2.36개월의 개발 끝에 ISO C11 및 POSIX.1-2017 표준의 요구 사항을 완전히 준수하고 새 버전에는 59개 개발자의 수정 사항이 포함된 새 버전의 glibc XNUMX 릴리스가 발표되었습니다.

Glibc에 익숙하지 않은 사람들은 그것이 무엇인지 알아야합니다 GNU C 라이브러리, 일반적으로 glibc로 알려진 표준 GNU C 런타임 라이브러리입니다. 그것이 사용되는 시스템에서 이 C 라이브러리는 시스템 호출 및 기타 기본 기능을 제공하고 정의하며 거의 모든 프로그램에서 사용됩니다. 

Glibc 2.36의 주요 새 기능

제시된 이 새로운 버전에서는 다음과 같이 강조됩니다. 새로운 상대 재배치 주소 형식에 대한 지원 추가 DT_RELR을 사용하면 PIE(Position Independent Executables) 모드에서 공유 개체 및 연결된 실행 파일의 상대적 재배치 크기를 줄일 수 있습니다. ELF 파일에서 DT_RELR 필드를 사용하려면 binutils 2.38에 도입된 링커의 "-z pack-relative-relocs" 옵션에 대한 지원이 필요합니다.

새 버전에서 눈에 띄는 또 다른 변경 사항은 Linux 기능의 경우 pidfd_open, pidfd_getfd 및 pidfd_send_signal pidfd 기능에 대한 액세스를 제공하기 위해 구현되었습니다. 모니터링된 파일에 액세스하는 프로세스를 보다 정확하게 식별하기 위해 PID 재사용 상황을 처리하는 데 도움이 됩니다(pidfd는 특정 프로세스와 연관되며 변경되지 않지만 PID는 프로세스가 종료된 후 다른 프로세스에 첨부될 수 있음). PID).

그 외에도 Linux에서도 process_madvise()가 제공됩니다. 프로세스가 다른 프로세스를 대신하여 madvise() 시스템 호출을 실행할 수 있도록 합니다., pidfd를 사용하여 대상 프로세스를 식별합니다. madvise()를 통해 커널에 메모리 작업의 특성을 알려 프로세스의 메모리 관리를 최적화할 수 있습니다. 예를 들어 전달된 정보를 기반으로 커널은 추가 여유 메모리를 해제할 수 있습니다.

기능이 추가되었음을 알 수 있습니다. process_mrelease(), 실행을 종료하는 프로세스의 메모리 해제 속도를 높일 수 있습니다. 정상적인 상황에서 리소스 해제 및 프로세스 종료는 즉각적이지 않고 oomd(systemd에서 제공)와 같은 사용자 공간 조기 경고 시스템을 방해하는 여러 가지 이유로 지연될 수 있습니다. process_mrelease를 호출함으로써 이러한 시스템은 강제로 종료된 프로세스에 대한 메모리 검색을 보다 예측 가능하게 시작할 수 있습니다.

한편, 가 추가되었음을 알 수 있다. "no-aaaa" 옵션 지원 의 통합 구현에 AAAA 레코드에 대한 DNS 요청 전송을 비활성화할 수 있는 DNS 확인 (호스트 이름으로 IPv6 주소 결정) getaddrinfo()와 같은 NSS 기능을 실행하는 경우에도 문제 해결을 단순화합니다. 이 옵션은 /etc/hosts에 정의된 IPv6 주소 바인딩 처리 및 AI_PASSIVE 플래그가 있는 getaddrinfo() 호출에 영향을 주지 않습니다.

Linux의 경우 기능 추가 fsopen, fsmount, move_mount, fsconfig, fspick, open_tree 및 mount_setattr 파라 파일 시스템이 마운트되는 방식을 제어하기 위해 새로운 커널 API에 대한 액세스를 제공합니다. 마운트 네임스페이스를 기반으로 합니다. 제안된 기능을 사용하면 이전에 common mount() 함수를 사용하여 수행되었던 서로 다른 탑재 단계(수퍼 블록 처리, 파일 시스템에 대한 정보 가져오기, 탑재, 탑재 지점에 연결)를 별도로 처리할 수 있습니다.

추가되었습니다 기능 arc4random, arc4random_buf 및 arc4random_uniform 시스템 호출에 대한 바인딩을 제공하기 위해 무작위 그리고 인터페이스 는 / dev / urandom의, 고품질 의사 난수를 반환합니다.

Linux에서 실행할 때 아키텍처에 대한 지원이 제공됩니다. 명령어 세트에서 룽아치 Loongson 3 5000 프로세서에 사용되는 MIPS 및 RISC-V와 유사한 새로운 RISC ISA가 구현됩니다. 현재 형태에서는 호환성만 제공됩니다. 64비트 변형 포함 LoongArch(LA64)에서. 실행하려면 최소한 binutils 2.38, GCC 12 및 Linux 커널 5.19가 필요합니다.

눈에 띄는 다른 변경 사항 중 :

  • 사전 연결 메커니즘과 연결된 LD_TRACE_PRELINKING 및 LD_USE_LOAD_BIAS 환경 변수 및 링커 기능은 더 이상 사용되지 않으며 향후 릴리스에서 제거됩니다.
  • Linux 커널 버전을 확인하고 LD_ASSUME_KERNEL 환경 변수를 처리하는 코드를 제거했습니다. Glibc를 컴파일할 때 지원되는 최소 커널 버전은 ELF 필드 NT_GNU_ABI_TAG에 의해 결정됩니다.
  • LD_LIBRARY_VERSION 환경 변수는 Linux 플랫폼에서 더 이상 사용되지 않습니다.

마지막으로, 그것에 대해 더 알고 싶다면 자세한 내용을 참조하십시오. 다음 링크에서.


코멘트를 남겨주세요

귀하의 이메일 주소는 공개되지 않습니다. 필수 필드가 표시되어 있습니다 *

*

*

  1. 데이터 책임자 : Miguel Ángel Gatón
  2. 데이터의 목적 : 스팸 제어, 댓글 관리.
  3. 합법성 : 귀하의 동의
  4. 데이터 전달 : 법적 의무에 의한 경우를 제외하고 데이터는 제 XNUMX 자에게 전달되지 않습니다.
  5. 데이터 저장소 : Occentus Networks (EU)에서 호스팅하는 데이터베이스
  6. 권리 : 귀하는 언제든지 귀하의 정보를 제한, 복구 및 삭제할 수 있습니다.