Rust둜 μž‘μ„±λ˜μ—ˆμœΌλ©° ν˜Έν™˜λ˜λŠ” Asterinas 0.19 컀널이 μΆœμ‹œλ˜μ—ˆμŠ΅λ‹ˆλ‹€. Linux

μ•„μŠ€ν…Œλ¦¬λ‚˜μŠ€ ν”„λ‘œμ νŠΈμ—μ„œ Rust둜 μž‘μ„±λ˜μ—ˆμœΌλ©° λ²”μš© 운영 μ²΄μ œμ—μ„œ μ‚¬μš©ν•˜λ„λ‘ μ„€κ³„λœ 컀널 버전 0.19λ₯Ό μΆœμ‹œν–ˆμŠ΅λ‹ˆλ‹€. 이 컀널은 컀널과 ν˜Έν™˜λ˜λŠ” ABI(μ• ν”Œλ¦¬μΌ€μ΄μ…˜ λ°”μ΄λ„ˆλ¦¬ μΈν„°νŽ˜μ΄μŠ€)λ₯Ό μ œκ³΅ν•©λ‹ˆλ‹€. Linux λŒ€μ‹  μ‚¬μš©ν•  μˆ˜λ„ μžˆμŠ΅λ‹ˆλ‹€. μ•„μŠ€ν…Œλ¦¬λ‚˜μŠ€ 컀널과 λ‹‰μŠ€OS μ‹œμŠ€ν…œ ν™˜κ²½μ„ κ²°ν•©ν•œ μ•„μŠ€ν…Œλ¦¬λ‚˜μŠ€ λ‹‰μŠ€OS 배포판이 병행 개발 μ€‘μž…λ‹ˆλ‹€. 이 ν”„λ‘œμ νŠΈμ˜ μ½”λ“œλŠ” 2022λ…„λΆ€ν„° κ°œλ°œλ˜μ–΄ μ™”μœΌλ©° MPL(λͺ¨μ§ˆλΌ 곡용 λΌμ΄μ„ μŠ€)에 따라 λ°°ν¬λ©λ‹ˆλ‹€.

ν˜„μž¬ μ»€λ„μ—λŠ” 240개 μ΄μƒμ˜ μ‹œμŠ€ν…œ 호좜이 κ΅¬ν˜„λ˜μ–΄ μžˆμŠ΅λ‹ˆλ‹€. LinuxAsterinas NixOS λ°°ν¬νŒμ€ 100개 μ΄μƒμ˜ NixOS νŒ¨ν‚€μ§€μ™€ ν•¨κ»˜ Asterinas μ»€λ„μ—μ„œ μ •μƒμ μœΌλ‘œ μž‘λ™ν•˜λŠ” κ²ƒμœΌλ‘œ κ²€μ¦λ˜μ—ˆμŠ΅λ‹ˆλ‹€. μ§€μ›λ˜λŠ” νŒ¨ν‚€μ§€μ—λŠ” Xfce, Firefox, bash, systemd, Podman, QEMU, rsync, Apache httpd, nginx, SQLite, Redis, Clang, GCC, Go, Lua, Node.js, OpenJDK, Perl, PHP, Python, Ruby, Rust, Git, FFmpeg, PyTorch, TensorFlow, Ollama, Codex 등이 μžˆμŠ΅λ‹ˆλ‹€.

이 컀널은 x86-64 μ•„ν‚€ν…μ²˜λ₯Ό μ™„λ²½ν•˜κ²Œ μ§€μ›ν•˜κ³ , ARM64, RISC-V 64, Intel TDX 기반 격리 κΈ°λŠ₯을 κ°–μΆ˜ x86-64 μ•„ν‚€ν…μ²˜λ₯Ό λΆ€λΆ„μ μœΌλ‘œ μ§€μ›ν•˜λ©°, LoongArch 64 μ•„ν‚€ν…μ²˜μ— λŒ€ν•œ 초기 지원도 μ œκ³΅ν•©λ‹ˆλ‹€. μš°μ„  μˆœμœ„ μ‘μš© λΆ„μ•ΌλŠ” λ‹€μŒκ³Ό 같은 μ‹œμŠ€ν…œμ„ ν¬ν•¨ν•©λ‹ˆλ‹€. Linux ABIλ₯Ό μ‚¬μš©ν•˜μ§€λ§Œ 더 높은 μˆ˜μ€€μ˜ λ³΄μ•ˆμ΄ ν•„μš”ν•©λ‹ˆλ‹€. 예λ₯Ό λ“€μ–΄, AsterinasλŠ” μ•ˆμ „ν•œ μ‹œμŠ€ν…œ ν™˜κ²½μ„ κ΅¬μΆ•ν•˜λŠ” 데 μ‚¬μš©λ  수 μžˆλ„λ‘ μ œμ•ˆλ˜μ—ˆμŠ΅λ‹ˆλ‹€. 가상 기기격리λ₯Ό μœ„ν•΄ ARM CCA, AMD SEV, Intel TDX와 같은 기술이 μ‚¬μš©λ˜λ©°, 호슀트 μ‹œμŠ€ν…œ μΈ‘μ—μ„œλ„ μ»¨ν…Œμ΄λ„ˆ 싀행을 보μž₯ν•©λ‹ˆλ‹€.

κ°€μž₯ μœ„ν—˜ν•œ μ·¨μ•½μ μ˜ μ£Όμš” 원인인 λ©”λͺ¨λ¦¬ 였λ₯˜ λ°œμƒ κ°€λŠ₯성을 쀄이기 μœ„ν•΄ AsterinasλŠ” Rust 언어와 μ œν•œμ μΈ unsafe 블둝 μ‚¬μš©μ„ μ±„νƒν–ˆμŠ΅λ‹ˆλ‹€. 컀널은 λ§ˆμ΄ν¬λ‘œμ»€λ„μ˜ 격리 κΈ°λŠ₯κ³Ό λͺ¨λ†€λ¦¬μ‹ μ»€λ„μ˜ νš¨μœ¨μ„±μ„ κ²°ν•©ν•˜λ €λŠ” ν”„λ ˆμž„μ»€λ„ μ•„ν‚€ν…μ²˜λ₯Ό 기반으둜 κ΅¬μΆ•λ˜μ—ˆμŠ΅λ‹ˆλ‹€.

Asterinas의 컀널 ꡬ성 μš”μ†ŒλŠ” 곡유 μ£Όμ†Œ 곡간에 μœ„μΉ˜ν•˜λ©°, λ³΄μ•ˆμ€ μ•ˆμ „ν•œ μ½”λ“œμ™€ 잠재적으둜 μ·¨μ•½ν•  수 μžˆλŠ” μ½”λ“œλ₯Ό λ…Όλ¦¬μ μœΌλ‘œ λΆ„λ¦¬ν•¨μœΌλ‘œμ¨ λ‹¬μ„±λ©λ‹ˆλ‹€. 컀널은 OS ν”„λ ˆμž„μ›Œν¬μ™€ OS μ„œλΉ„μŠ€λΌλŠ” 두 λΆ€λΆ„μœΌλ‘œ λ‚˜λ‰˜λ©°, λ‘˜ λ‹€ Rust둜 μž‘μ„±λ˜μ—ˆμŠ΅λ‹ˆλ‹€. OS μ„œλΉ„μŠ€λŠ” unsafe λΈ”λ‘μ˜ μ‚¬μš©μ„ κΈˆμ§€ν•˜λ©°, unsafe λΈ”λ‘μ—μ„œ μ½”λ“œ 싀행이 ν•„μš”ν•œ λͺ¨λ“  μ €μˆ˜μ€€ μž‘μ—…μ€ OS ν”„λ ˆμž„μ›Œν¬λ‘œ μ΄λ™λ˜μ–΄ κ³ μˆ˜μ€€ APIλ₯Ό ν†΅ν•΄μ„œλ§Œ μ ‘κ·Όν•  수 μžˆμŠ΅λ‹ˆλ‹€. λͺ¨λ“  μ‹œμŠ€ν…œ 호좜, 파일 μ‹œμŠ€ν…œ 및 λ“œλΌμ΄λ²„λŠ” OS μ„œλΉ„μŠ€ μˆ˜μ€€μ—μ„œ κ΅¬ν˜„λ˜λ©° unsafe 블둝을 포함할 수 μ—†μŠ΅λ‹ˆλ‹€.

μ‹œμŠ€ν…œ μ„œλΉ„μŠ€ 및 컀널 λͺ¨λ“ˆ κ°œλ°œμ„ μœ„ν•΄ OSDK(운영체제 개발 ν‚€νŠΈ)κ°€ 제곡되며, OSDKμ—λŠ” 운영체제 ꡬ성 μš”μ†Œλ₯Ό 생성, λΉŒλ“œ, ν…ŒμŠ€νŠΈ 및 μ‹€ν–‰ν•˜λŠ” 데 μ‚¬μš©ν•  수 μžˆλŠ” cargo-osdk μœ ν‹Έλ¦¬ν‹°κ°€ ν¬ν•¨λ˜μ–΄ μžˆμŠ΅λ‹ˆλ‹€. κ°œλ°œμžλŠ” λ˜ν•œ 운영체제 ꡬ성 μš”μ†Œμ—μ„œ μ‚¬μš©ν•˜κΈ°μ— μ ν•©ν•˜κ²Œ μˆ˜μ •λœ Rust ν‘œμ€€ 라이브러리(crate std)λ₯Ό ν¬ν•¨ν•˜λŠ” OSTD(운영체제 ν‘œμ€€ 라이브러리) μ„ΈνŠΈμ—λ„ μ ‘κ·Όν•  수 μžˆμŠ΅λ‹ˆλ‹€.

Asterinas 0.19의 λ³€κ²½ 사항은 λ‹€μŒκ³Ό κ°™μŠ΅λ‹ˆλ‹€.

  • DRM(Direct Rendering Manager) μ„œλΈŒμ‹œμŠ€ν…œ, /dev/dri μž₯치, KMS(컀널 λͺ¨λ“œ μ„€μ •) μΈν„°νŽ˜μ΄μŠ€ 및 "modesetting" λ“œλΌμ΄λ²„κ°€ κ΅¬ν˜„λ˜μ–΄ 기쑴의 ν”„λ ˆμž„λ²„νΌλ₯Ό μ‚¬μš©ν•˜λŠ” fbdev λ“œλΌμ΄λ²„ λŒ€μ‹  X.Org μ„œλ²„ 및 Mesa 기반의 ν‘œμ€€ κ·Έλž˜ν”½ μŠ€νƒμ„ μ‹€ν–‰ν•  수 있게 λ˜μ—ˆμŠ΅λ‹ˆλ‹€.


  • AArch64(ARM64) μ•„ν‚€ν…μ²˜ 지원이 μΆ”κ°€λ˜μ—ˆμœΌλ©°, 이제 x86-64와 ν•¨κ»˜ μ£Όμš” 개발 μ•„ν‚€ν…μ²˜λ‘œ μ‚¬μš©λ©λ‹ˆλ‹€. AArch64에 λŒ€ν•œ 2단계 지원이 κ΅¬ν˜„λ˜μ–΄ κΈ°λ³Έ κΈ°λŠ₯, 지속적 톡합 ν…ŒμŠ€νŠΈ 및 λΆ€λΆ„ ν…ŒμŠ€νŠΈ 컀버리지가 보μž₯λ©λ‹ˆλ‹€.
  • Kata μ»¨ν…Œμ΄λ„ˆ 및 κΈ°λ°€ μ»¨ν…Œμ΄λ„ˆμ—μ„œ 게슀트 μ‹œμŠ€ν…œμœΌλ‘œ 싀행될 수 μžˆλ„λ‘ Asterinasλ₯Ό μ μš©ν•˜λŠ” μž‘μ—…μ΄ κ³„μ†λ˜μ—ˆμŠ΅λ‹ˆλ‹€. ν‘œμ€€ 컀널 파일 μ‹œμŠ€ν…œ ν…ŒμŠ€νŠΈ μŠ€μœ„νŠΈλ₯Ό μ„±κ³΅μ μœΌλ‘œ ν†΅κ³Όν•˜λŠ” μƒˆλ‘œμš΄ Overlayfs κ΅¬ν˜„μ΄ μ œμ•ˆλ˜μ—ˆμŠ΅λ‹ˆλ‹€. Linux xfstests도 ν¬ν•¨λ©λ‹ˆλ‹€. μƒˆλ‘œμš΄ λ§ˆμš΄νŒ… APIκ°€ κ΅¬ν˜„λ˜μ—ˆμŠ΅λ‹ˆλ‹€. virtio-fs μ½”λ“œκ°€ μ•ˆμ •ν™”λ˜μ—ˆμŠ΅λ‹ˆλ‹€. ν”„λ‘œν† μ½œ 지원이 μΆ”κ°€λ˜μ—ˆμŠ΅λ‹ˆλ‹€.
    QEMU, ν΄λΌμš°λ“œ ν•˜μ΄νΌλ°”μ΄μ € 및 νŒŒμ΄μ–΄ν¬λž˜μ»€μ—μ„œ μ‚¬μš©λ˜λŠ” λ‹€μ΄λ ‰νŠΈ λΆ€νŒ… λ°©μ‹μž…λ‹ˆλ‹€. λΆ€νŒ… 속도가 ν–₯μƒλ˜μ—ˆμŠ΅λ‹ˆλ‹€. 가상 λ¨Έμ‹ ν•΄λ‹Ή λ©”λͺ¨λ¦¬λŠ” 인텔 TDX κΈ°μˆ μ„ μ‚¬μš©ν•˜μ—¬ μ•”ν˜Έν™”λ©λ‹ˆλ‹€.
  • OSTD(운영체제 ν‘œμ€€ 라이브러리) ν”„λ ˆμž„μ›Œν¬λŠ” Intel VMXλ₯Ό 기반으둜 ν•˜λŠ” μ΅œμ†Œν•œμ˜ ν•˜μ΄νΌλ°”μ΄μ €λ₯Ό μƒμ„±ν•˜κΈ° μœ„ν•œ κΈ°λ³Έ APIλ₯Ό κ΅¬ν˜„ν•©λ‹ˆλ‹€.
  • Rust λ“œλΌμ΄λ²„ 개발 λͺ¨λΈμ— λŒ€ν•œ 지원이 μΆ”κ°€λ˜μ—ˆμŠ΅λ‹ˆλ‹€. 컀널 ꡬ성 μš”μ†Œμ™€ μœ μ‚¬ν•œ κΈ°λŠ₯을 κ°€μ§„ aster-device ꡬ성 μš”μ†Œκ°€ μΆ”κ°€λ˜μ—ˆμŠ΅λ‹ˆλ‹€. Linux λ“œλΌμ΄λ²„ κ°œλ°œμ„ μœ„ν•œ 기본적인 μš”μ†Œμ™€ 좔상화 κΈ°λŠ₯을 κ°–μΆ”κ³  μžˆμ§€λ§Œ, μ•ˆμ „ν•˜μ§€ μ•Šμ€ μ½”λ“œ 없이 Rust둜 μž‘μ„±λ˜μ—ˆμŠ΅λ‹ˆλ‹€.
  • 이제 자체 ν˜ΈμŠ€νŒ…μ΄ κ°€λŠ₯ν•©λ‹ˆλ‹€. Asterinas 컀널과 NixOS νŒ¨ν‚€μ§€κ°€ ν¬ν•¨λœ ν™˜κ²½μ—μ„œ Asterinas 컀널을 λΉŒλ“œν•  수 μžˆμŠ΅λ‹ˆλ‹€.

좜처 : opennet.ru

DDoS 보호, VPS VDS μ„œλ²„κ°€ μžˆλŠ” μ‚¬μ΄νŠΈλ₯Ό μœ„ν•œ μ•ˆμ •μ μΈ ν˜ΈμŠ€νŒ… κ΅¬μž… πŸ”₯ DDoS 곡격 λ°©μ§€ κΈ°λŠ₯이 νƒ‘μž¬λœ μ•ˆμ •μ μΈ μ›Ήμ‚¬μ΄νŠΈ ν˜ΈμŠ€νŒ…, VPS 및 VDS μ„œλ²„λ₯Ό κ΅¬λ§€ν•˜μ„Έμš” | ProHoster