Linux 커널은 Linux 운영 체제(OS)의 중추이며 컴퓨터 하드웨어와 해당 프로세스 간의 기본 인터페이스입니다.
최근에 Linus Torvalds는 새로운 Linux 커널 버전 6.7 릴리스를 공개했습니다.2개월 간의 개발 끝에 발표된 가장 눈에 띄는 변경 사항 중 하나는 Bcachefs 파일 시스템 통합, Itanium 아키텍처 지원 중단, GSP-R 펌웨어와 작동하는 Nouveau 기능, TLS 암호화 지원입니다. NVMe-TCP, 무엇보다도 BPF에서 예외를 사용하는 기능입니다.
Linux 커널 6.7의 새 버전 15291개의 수정사항으로 구성되어 있습니다. 도입된 모든 변경 사항의 약 45%는 장치 드라이버와 관련이 있고, 변경 사항 중 14%는 하드웨어 아키텍처의 특정 코드 업데이트와 관련이 있으며, 13%는 네트워크 스택과 관련이 있고, 5%는 파일 시스템과 관련이 있으며, 3%는 다음과 관련이 있습니다. 내부 커널 하위 시스템.
패치 크기는 72MB입니다(변경 사항은 13.467개 파일에 영향을 미치고 906.147줄의 코드가 추가되었으며 341.048줄이 제거되었습니다).
Linux 커널 6.7의 주요 특징
Bcachefs 파일 시스템 통합
Linux 6.7은 Btrfs 및 ZFS에 있는 고급 기능 요소와 결합하여 XFS의 성능, 안정성 및 확장성을 달성하려고 시도하는 Bcachefs 파일 시스템 코드를 채택합니다.
Bcachef 다중 장치 포함과 같은 기능을 지원합니다. 하나의 파티션에 다층 드라이브 설계(빠른 SSD를 기반으로 자주 사용되는 데이터가 있는 하단 레이어와 덜 사용되는 하드 드라이브의 데이터가 있는 상단 레이어), 복제(RAID 1/10), 캐싱, 투명한 데이터 압축(LZ4, gzip 및 ZSTD 모드), 상태 컷, 체크섬을 사용한 무결성 검증, Reed-Solomon 오류 수정 코드 저장 기능(RAID 5/6), 암호화된 형식의 정보 저장(ChaCha20 및 Poly1305 사용) . 성능 측면에서 Bcachefs는 Btrfs 및 기타 파일 시스템보다 앞서 있습니다. Copy-On-Write 메커니즘을 기반으로 하며 Ext4 및 XFS에 가까운 작동 속도를 보여줍니다.
Btrfs의 개선 사항
리눅스 6.7에서 Btrfs에 대해 단순화된 할당량 모드가 구현되었습니다. 확장이 생성된 하위 파티션에서만 확장을 추적하여 더 나은 성능을 제공합니다. 계산을 크게 단순화하고 성능을 향상시킵니다. 그러나 여러 하위 파티션 간에 확장을 공유하는 것은 허용되지 않습니다. 또한 Btrfs에 새로운 스트라이프 트리 데이터 구조가 추가되어 장치 간 물리적 매핑이 일치하지 않는 상황에서 논리적 확장 매핑에 적합합니다. 패브릭은 현재 구역화된 블록 장치에 대한 RAID0 및 RAID1 구현에 사용됩니다.
Itanium 아키텍처(ia64)에 대한 지원 중단
그만큼 Intel Itanium 프로세서에 사용되는 ia64 아키텍처 지원, 그게 뭐야?우리는 2021년에 완전히 정지되었습니다. Intel은 2001년에 Itanium 프로세서를 출시했지만 ia64 아키텍처는 AMD64의 더 높은 성능과 64비트 x86 프로세서에서 더 원활한 전환으로 인해 AMD32와 경쟁할 수 없었습니다. 리누스 토발즈(Linus Torvalds)는 지지를 보내겠다는 의지를 표명했습니다. ia64를 커널에 연결했지만 그렇습니다.높은 수준의 지원을 입증할 수 있는 관리자가 있는 경우에만 이 플랫폼의 경우 최소 1년 동안 메인 커널에서 제외됩니다.
Rust-for-Linux 브랜치의 변경 사항을 지속적으로 마이그레이션
새 버전은 Rust 1.73 버전을 사용하도록 전환되었으며 작업 대기열 작업을 위한 후크 세트를 제공합니다.
FIFO 대기열 구현 개선
Linux 6.7의 새 버전에서는 경량 FIFO 메커니즘 구현 프로세스 컨텍스트에서 큐를 제거할 때만 스핀록이 필요하고 모든 컨텍스트에서 큐에 원자를 추가할 때는 스핀록을 사용하지 않는 단일 연결입니다. 또한 개체를 할당하고 반환하기 위한 고성능 대기열의 확장 가능한 구현과 함께 objpool 순환 버퍼가 추가되었습니다.
NVMe-TCP에 대한 TLS 암호화 지원
리눅스 6.7에서 NVMe-TCP 드라이버 (네트워크를 통해 NVMe 드라이브에 액세스할 수 있음) TLS를 사용하여 데이터 전송 채널 암호화에 대한 지원 추가 연결 협상을 위해 tlshd 사용자 공간에서 (KTLS 및 백그라운드 프로세스 사용)
향상된 패키지 스케줄러 성능
최적화된 FQ 패키지 스케줄러 성능, 이를 통해 tcp_rr(TCP 요청/응답) 테스트에서 부하가 심한 경우 5%, UDP 패킷의 무제한 흐름에서는 13%의 성능 향상이 가능했습니다.
TCP 인증 옵션 채택
레거시 MD1 알고리즘을 기반으로 이전에 사용 가능한 TCP-MD128 옵션 대신 최신 HMAC-SHA5 및 CMAC-AES-5 알고리즘을 사용하여 MAC 코드를 사용하여 TCP 헤더를 확인할 수 있는 TCP-AO 확장에 대한 지원이 TCP 스택에 추가되었습니다. .
의 다른 변화 눈에 띄는 :
- 새로운 설정이 추가되었습니다 «cpuset.cpus.exclusive" 및 "cpuset.cpus.exclusive. 효과적인» CPU 독점 바인딩을 위해 cpuset에 적용합니다.
- BPF 하위 시스템은 스택 프레임을 안전하게 풀 수 있는 기능을 사용하여 BPF 프로그램에서 비상 종료로 처리되는 예외에 대한 지원을 구현합니다. 또한 BPF 프로그램을 사용하면 CPU와 관련하여 kptr 포인터를 사용할 수 있습니다.
- ARM32 및 S390x 아키텍처의 경우 BPF 명령어의 현재 세트(cpuv4)에 대한 지원이 추가되었습니다.
- RISC-V 아키텍처의 경우 스택에서 버퍼 오버플로가 발생할 경우 함수의 반환 주소를 덮어쓰는 것을 방지하도록 설계된 Clang 17에서 제공되는 Shadow-Call Stack 검사 모드를 사용할 수 있습니다.
- 동일한 메모리 페이지를 병합하는 메커니즘에 새로운 지능형 메모리 페이지 스캔 모드가 추가되었습니다(
- AppArmor에는 io_uring 메커니즘에 대한 액세스를 제어하고 사용자 네임스페이스를 생성하는 기능이 추가되어 특정 프로세스에만 이러한 기능에 대한 액세스를 선택적으로 허용할 수 있습니다.
- VM 시작 프로세스의 무결성을 확인하기 위해 VM 인증 API를 추가했습니다.
- LoongArch 시스템은 KVM 하이퍼바이저를 사용하여 가상화를 지원합니다.
- Nouveau 커널 모듈에 GSP-RM 펌웨어에 대한 초기 지원이 추가되었습니다. 이 모듈은 NVIDIA RTX 20+ GPU에서 초기화 및 제어 작업을 GPU에서 GSP 마이크로컨트롤러 측면으로 이동하는 데 사용됩니다.
마침내 당신이 있다면 그것에 대해 더 알고 싶은 관심, 세부 사항을 확인할 수 있습니다 다음 링크에서.