ಸ್ಟ್ಯಾಂಡರ್ಡ್ C ಲೈಬ್ರರಿಯ ಬಿಡುಗಡೆ ಕಾಸ್ಮೋಪಾಲಿಟನ್ 2.0, ಪೋರ್ಟಬಲ್ ಎಕ್ಸಿಕ್ಯೂಟಬಲ್ ಫೈಲ್‌ಗಳಿಗಾಗಿ ಅಭಿವೃದ್ಧಿಪಡಿಸಲಾಗಿದೆ

ಕಾಸ್ಮೋಪಾಲಿಟನ್ 2.0 ಪ್ರಾಜೆಕ್ಟ್‌ನ ಬಿಡುಗಡೆಯನ್ನು ಪ್ರಕಟಿಸಲಾಗಿದೆ, ಸ್ಟ್ಯಾಂಡರ್ಡ್ ಸಿ ಲೈಬ್ರರಿ ಮತ್ತು ಯುನಿವರ್ಸಲ್ ಎಕ್ಸಿಕ್ಯೂಟಬಲ್ ಫೈಲ್ ಫಾರ್ಮ್ಯಾಟ್ ಅನ್ನು ಅಭಿವೃದ್ಧಿಪಡಿಸಲಾಗಿದೆ, ಇದನ್ನು ಇಂಟರ್ಪ್ರಿಟರ್‌ಗಳು ಮತ್ತು ವರ್ಚುವಲ್ ಮೆಷಿನ್‌ಗಳ ಬಳಕೆಯಿಲ್ಲದೆ ವಿವಿಧ ಆಪರೇಟಿಂಗ್ ಸಿಸ್ಟಮ್‌ಗಳಿಗೆ ಪ್ರೋಗ್ರಾಂಗಳನ್ನು ವಿತರಿಸಲು ಬಳಸಬಹುದು. GCC ಮತ್ತು ಕ್ಲಾಂಗ್‌ನಲ್ಲಿ ಕಂಪೈಲ್ ಮಾಡುವ ಮೂಲಕ ಪಡೆದ ಫಲಿತಾಂಶವನ್ನು ಯಾವುದೇ ಲಿನಕ್ಸ್ ವಿತರಣೆ, ಮ್ಯಾಕ್‌ಒಎಸ್, ವಿಂಡೋಸ್, ಫ್ರೀಬಿಎಸ್‌ಡಿ, ಓಪನ್‌ಬಿಎಸ್‌ಡಿ, ನೆಟ್‌ಬಿಎಸ್‌ಡಿ ಮತ್ತು BIOS ನಿಂದ ಕರೆಯಬಹುದಾದ ಸ್ಥಿರವಾಗಿ ಲಿಂಕ್ ಮಾಡಲಾದ ಸಾರ್ವತ್ರಿಕ ಕಾರ್ಯಗತಗೊಳಿಸಬಹುದಾದ ಫೈಲ್‌ಗೆ ಕಂಪೈಲ್ ಮಾಡಲಾಗುತ್ತದೆ. ಪ್ರಾಜೆಕ್ಟ್ ಕೋಡ್ ಅನ್ನು ISC ಪರವಾನಗಿ ಅಡಿಯಲ್ಲಿ ವಿತರಿಸಲಾಗಿದೆ (MIT/BSD ಯ ಸರಳೀಕೃತ ಆವೃತ್ತಿ).

ಯುನಿವರ್ಸಲ್ ಎಕ್ಸಿಕ್ಯೂಟಬಲ್ ಫೈಲ್‌ಗಳನ್ನು ಉತ್ಪಾದಿಸುವ ಧಾರಕವು ವಿಭಿನ್ನ ಆಪರೇಟಿಂಗ್ ಸಿಸ್ಟಮ್‌ಗಳಿಗೆ (PE, ELF, MACHO, OPENBSD) ನಿರ್ದಿಷ್ಟವಾದ ವಿಭಾಗಗಳು ಮತ್ತು ಹೆಡರ್‌ಗಳನ್ನು ಒಂದು ಫೈಲ್‌ನಲ್ಲಿ ಸಂಯೋಜಿಸುತ್ತದೆ, Unix, Windows ಮತ್ತು macOS ನಲ್ಲಿ ಬಳಸಲಾದ ಹಲವಾರು ವಿಭಿನ್ನ ಸ್ವರೂಪಗಳನ್ನು ಸಂಯೋಜಿಸುತ್ತದೆ. ಒಂದೇ ಎಕ್ಸಿಕ್ಯೂಟಬಲ್ ಫೈಲ್ ವಿಂಡೋಸ್ ಮತ್ತು ಯುನಿಕ್ಸ್ ಸಿಸ್ಟಂಗಳಲ್ಲಿ ರನ್ ಆಗುತ್ತಿದೆ ಎಂದು ಖಚಿತಪಡಿಸಿಕೊಳ್ಳಲು, ಥಾಂಪ್ಸನ್ ಶೆಲ್ "#!" ಸ್ಕ್ರಿಪ್ಟ್ ಮಾರ್ಕರ್ ಅನ್ನು ಬಳಸುವುದಿಲ್ಲ ಎಂಬ ಅಂಶದ ಲಾಭವನ್ನು ಪಡೆದುಕೊಂಡು ವಿಂಡೋಸ್ ಪಿಇ ಫೈಲ್‌ಗಳನ್ನು ಶೆಲ್ ಸ್ಕ್ರಿಪ್ಟ್‌ಗಳಾಗಿ ಎನ್‌ಕೋಡ್ ಮಾಡುವುದು ಒಂದು ಟ್ರಿಕ್ ಆಗಿದೆ. ಹಲವಾರು ಫೈಲ್‌ಗಳನ್ನು ಒಳಗೊಂಡಿರುವ ಪ್ರೋಗ್ರಾಂಗಳನ್ನು ರಚಿಸಲು (ಎಲ್ಲಾ ಸಂಪನ್ಮೂಲಗಳನ್ನು ಒಂದು ಫೈಲ್‌ಗೆ ಲಿಂಕ್ ಮಾಡುವುದು), ಇದು ವಿಶೇಷವಾಗಿ ವಿನ್ಯಾಸಗೊಳಿಸಿದ ZIP ಆರ್ಕೈವ್ ರೂಪದಲ್ಲಿ ಕಾರ್ಯಗತಗೊಳಿಸಬಹುದಾದ ಫೈಲ್ ರಚನೆಯನ್ನು ಬೆಂಬಲಿಸುತ್ತದೆ. ಪ್ರಸ್ತಾವಿತ ಸ್ವರೂಪದ ಯೋಜನೆ (ಉದಾಹರಣೆ hello.com ಅಪ್ಲಿಕೇಶನ್):

MZqFpD='BIOS BOOT SECTOR' exec 7 $(command -v $0) printf '\177ELF...LINKER-ENCODED-FREEBSD-HEADER' >&7 exec "$0" "$@" exec qemu-x86_64 "$0" "$ @" 1 ರಿಯಲ್ ಮೋಡ್‌ನಿಂದ ನಿರ್ಗಮಿಸಿ... ELF ವಿಭಾಗಗಳು... ಓಪನ್‌ಬಿಎಸ್‌ಡಿ ಟಿಪ್ಪಣಿ... ಮ್ಯಾಕೋ ಹೆಡರ್‌ಗಳು... ಕೋಡ್ ಮತ್ತು ಡೇಟಾ... ZIP ಡೈರೆಕ್ಟರಿ...

ಫೈಲ್ನ ಆರಂಭದಲ್ಲಿ, "MZqFpD" ಲೇಬಲ್ ಅನ್ನು ಸೂಚಿಸಲಾಗುತ್ತದೆ, ಇದನ್ನು ವಿಂಡೋಸ್ PE ಫಾರ್ಮ್ಯಾಟ್ ಹೆಡರ್ ಎಂದು ಗ್ರಹಿಸಲಾಗುತ್ತದೆ. ಈ ಅನುಕ್ರಮವನ್ನು ಸಹ ಸೂಚನೆಯಲ್ಲಿ ಡಿಕೋಡ್ ಮಾಡಲಾಗಿದೆ “ಪಾಪ್ %r10; jno 0x4a; jo 0x4a", ಮತ್ತು "Jg 177x0" ಸೂಚನೆಗೆ "\47ELF" ಸಾಲು, ಇದನ್ನು ಪ್ರವೇಶ ಬಿಂದುವಿಗೆ ಫಾರ್ವರ್ಡ್ ಮಾಡಲು ಬಳಸಲಾಗುತ್ತದೆ. Unix ವ್ಯವಸ್ಥೆಗಳು ಶೆಲ್ ಕೋಡ್ ಅನ್ನು ಚಲಾಯಿಸುತ್ತವೆ, ಅದು exec ಆಜ್ಞೆಯನ್ನು ಬಳಸುತ್ತದೆ, ಹೆಸರಿಸದ ಪೈಪ್ ಮೂಲಕ ಕಾರ್ಯಗತಗೊಳಿಸಬಹುದಾದ ಕೋಡ್ ಅನ್ನು ರವಾನಿಸುತ್ತದೆ. ಪ್ರಸ್ತಾವಿತ ವಿಧಾನದ ಮಿತಿಯೆಂದರೆ ಥಾಂಪ್ಸನ್ ಶೆಲ್ ಹೊಂದಾಣಿಕೆ ಮೋಡ್ ಅನ್ನು ಬೆಂಬಲಿಸುವ ಶೆಲ್‌ಗಳನ್ನು ಬಳಸಿಕೊಂಡು ಯುನಿಕ್ಸ್ ತರಹದ ಆಪರೇಟಿಂಗ್ ಸಿಸ್ಟಮ್‌ಗಳಲ್ಲಿ ಕಾರ್ಯನಿರ್ವಹಿಸುವ ಸಾಮರ್ಥ್ಯ.

qemu-x86_64 ಕರೆ ಹೆಚ್ಚುವರಿ ಪೋರ್ಟಬಿಲಿಟಿಯನ್ನು ಒದಗಿಸುತ್ತದೆ ಮತ್ತು x86_64 ಆರ್ಕಿಟೆಕ್ಚರ್‌ಗಾಗಿ ಕಂಪೈಲ್ ಮಾಡಿದ ಕೋಡ್ ಅನ್ನು x86 ಅಲ್ಲದ ಪ್ಲಾಟ್‌ಫಾರ್ಮ್‌ಗಳಲ್ಲಿ ರನ್ ಮಾಡಲು ಅನುಮತಿಸುತ್ತದೆ, ಉದಾಹರಣೆಗೆ ರಾಸ್ಪ್ಬೆರಿ ಪೈ ಬೋರ್ಡ್‌ಗಳು ಮತ್ತು ARM ಪ್ರೊಸೆಸರ್‌ಗಳನ್ನು ಹೊಂದಿರುವ Apple ಸಾಧನಗಳು. ಆಪರೇಟಿಂಗ್ ಸಿಸ್ಟಮ್ (ಬೇರ್ ಮೆಟಲ್) ಇಲ್ಲದೆ ಕಾರ್ಯನಿರ್ವಹಿಸುವ ಸ್ವಯಂ-ಒಳಗೊಂಡಿರುವ ಅಪ್ಲಿಕೇಶನ್‌ಗಳನ್ನು ರಚಿಸಲು ಯೋಜನೆಯನ್ನು ಸಹ ಬಳಸಬಹುದು. ಅಂತಹ ಅಪ್ಲಿಕೇಶನ್‌ಗಳಲ್ಲಿ, ಕಾರ್ಯಗತಗೊಳಿಸಬಹುದಾದ ಫೈಲ್‌ಗೆ ಬೂಟ್‌ಲೋಡರ್ ಅನ್ನು ಲಗತ್ತಿಸಲಾಗಿದೆ ಮತ್ತು ಪ್ರೋಗ್ರಾಂ ಬೂಟ್ ಮಾಡಬಹುದಾದ ಆಪರೇಟಿಂಗ್ ಸಿಸ್ಟಮ್ ಆಗಿ ಕಾರ್ಯನಿರ್ವಹಿಸುತ್ತದೆ.

ಯೋಜನೆಯು ಅಭಿವೃದ್ಧಿಪಡಿಸಿದ ಸ್ಟ್ಯಾಂಡರ್ಡ್ C ಲೈಬ್ರರಿ libc 2024 ಕಾರ್ಯಗಳನ್ನು ನೀಡುತ್ತದೆ (ಮೊದಲ ಬಿಡುಗಡೆಯಲ್ಲಿ ಸುಮಾರು 1400 ಕಾರ್ಯಗಳು ಇದ್ದವು). ಕಾರ್ಯಕ್ಷಮತೆಗೆ ಸಂಬಂಧಿಸಿದಂತೆ, ಕಾಸ್ಮೋಪಾಲಿಟನ್ glibc ಯಂತೆಯೇ ವೇಗವಾಗಿ ಕಾರ್ಯನಿರ್ವಹಿಸುತ್ತದೆ ಮತ್ತು Musl ಮತ್ತು Newlib ಗಿಂತ ಗಮನಾರ್ಹವಾಗಿ ಮುಂದಿದೆ, ಕಾಸ್ಮೋಪಾಲಿಟನ್ ಎಂಬುದು glibc ಗಿಂತ ಕೋಡ್ ಗಾತ್ರದಲ್ಲಿ ಚಿಕ್ಕದಾಗಿದೆ ಮತ್ತು Musl ಮತ್ತು Newlib ಗೆ ಸರಿಸುಮಾರು ಅನುರೂಪವಾಗಿದೆ. memcpy ಮತ್ತು strlen ನಂತಹ ಆಗಾಗ್ಗೆ ಕರೆಯಲಾಗುವ ಫಂಕ್ಷನ್‌ಗಳನ್ನು ಆಪ್ಟಿಮೈಜ್ ಮಾಡಲು, "ಟ್ರಿಕಲ್-ಡೌನ್ ಕಾರ್ಯಕ್ಷಮತೆ" ತಂತ್ರವನ್ನು ಹೆಚ್ಚುವರಿಯಾಗಿ ಬಳಸಲಾಗುತ್ತದೆ, ಇದರಲ್ಲಿ ಕಾರ್ಯವನ್ನು ಕರೆಯಲು ಮ್ಯಾಕ್ರೋ ಬೈಂಡಿಂಗ್ ಅನ್ನು ಬಳಸಲಾಗುತ್ತದೆ, ಇದರಲ್ಲಿ ಕೋಡ್ ಎಕ್ಸಿಕ್ಯೂಶನ್‌ನಲ್ಲಿ ಒಳಗೊಂಡಿರುವ CPU ರೆಜಿಸ್ಟರ್‌ಗಳ ಬಗ್ಗೆ ಕಂಪೈಲರ್‌ಗೆ ತಿಳಿಸಲಾಗುತ್ತದೆ. ಪ್ರಕ್ರಿಯೆ, ಬದಲಾಯಿಸಬಹುದಾದ ರೆಜಿಸ್ಟರ್‌ಗಳನ್ನು ಮಾತ್ರ ಉಳಿಸುವ ಮೂಲಕ CPU ಸ್ಥಿತಿಯನ್ನು ಉಳಿಸುವಾಗ ಸಂಪನ್ಮೂಲಗಳನ್ನು ಉಳಿಸಲು ಅನುಮತಿಸುತ್ತದೆ.

ಹೊಸ ಬಿಡುಗಡೆಯಲ್ಲಿನ ಬದಲಾವಣೆಗಳಲ್ಲಿ:

  • ಜಿಪ್ ಫೈಲ್‌ನಲ್ಲಿ ಆಂತರಿಕ ಸಂಪನ್ಮೂಲಗಳನ್ನು ಪ್ರವೇಶಿಸುವ ಸ್ಕೀಮ್ ಅನ್ನು ಬದಲಾಯಿಸಲಾಗಿದೆ (ಫೈಲ್‌ಗಳನ್ನು ತೆರೆಯುವಾಗ, ಜಿಪ್:.. ಪೂರ್ವಪ್ರತ್ಯಯವನ್ನು ಬಳಸುವ ಬದಲು ಸಾಮಾನ್ಯ /ಜಿಪ್/... ಪಥಗಳನ್ನು ಈಗ ಬಳಸಲಾಗುತ್ತದೆ). ಅಂತೆಯೇ, ವಿಂಡೋಸ್ನಲ್ಲಿ ಡಿಸ್ಕ್ಗಳನ್ನು ಪ್ರವೇಶಿಸಲು, "C:/..." ಬದಲಿಗೆ "/c/..." ನಂತಹ ಮಾರ್ಗಗಳನ್ನು ಬಳಸಲು ಸಾಧ್ಯವಿದೆ.
  • ಹೊಸ APE (ವಾಸ್ತವವಾಗಿ ಪೋರ್ಟಬಲ್ ಎಕ್ಸಿಕ್ಯೂಟಬಲ್) ಲೋಡರ್ ಅನ್ನು ಪ್ರಸ್ತಾಪಿಸಲಾಗಿದೆ, ಇದು ಸಾರ್ವತ್ರಿಕ ಕಾರ್ಯಗತಗೊಳಿಸಬಹುದಾದ ಫೈಲ್‌ಗಳ ಸ್ವರೂಪವನ್ನು ವ್ಯಾಖ್ಯಾನಿಸುತ್ತದೆ. ಹೊಸ ಲೋಡರ್ ಪ್ರೋಗ್ರಾಂ ಅನ್ನು ಮೆಮೊರಿಯಲ್ಲಿ ಇರಿಸಲು mmap ಅನ್ನು ಬಳಸುತ್ತದೆ ಮತ್ತು ಇನ್ನು ಮುಂದೆ ಫ್ಲೈನಲ್ಲಿ ವಿಷಯಗಳನ್ನು ಬದಲಾಯಿಸುವುದಿಲ್ಲ. ಅಗತ್ಯವಿದ್ದರೆ, ಸಾರ್ವತ್ರಿಕ ಕಾರ್ಯಗತಗೊಳಿಸಬಹುದಾದ ಫೈಲ್ ಅನ್ನು ಪ್ರತ್ಯೇಕ ಪ್ಲಾಟ್‌ಫಾರ್ಮ್‌ಗಳಿಗೆ ಜೋಡಿಸಲಾದ ನಿಯಮಿತ ಕಾರ್ಯಗತಗೊಳಿಸಬಹುದಾದ ಫೈಲ್‌ಗಳಾಗಿ ಪರಿವರ್ತಿಸಬಹುದು.
  • Linux ಪ್ಲಾಟ್‌ಫಾರ್ಮ್‌ನಲ್ಲಿ, APE ಪ್ರೋಗ್ರಾಂಗಳನ್ನು ಚಲಾಯಿಸಲು binfmt_misc ಕರ್ನಲ್ ಮಾಡ್ಯೂಲ್ ಅನ್ನು ಬಳಸಲು ಸಾಧ್ಯವಿದೆ. binfmt_misc ಅನ್ನು ಬಳಸುವುದು ಅತ್ಯಂತ ವೇಗವಾದ ಉಡಾವಣಾ ವಿಧಾನವಾಗಿದೆ ಎಂದು ಗಮನಿಸಲಾಗಿದೆ.
  • ಲಿನಕ್ಸ್‌ಗಾಗಿ, ಓಪನ್‌ಬಿಎಸ್‌ಡಿ ಯೋಜನೆಯಿಂದ ಅಭಿವೃದ್ಧಿಪಡಿಸಲಾದ ಪ್ರತಿಜ್ಞೆ() ಮತ್ತು ಅನಾವರಣ() ಸಿಸ್ಟಮ್ ಕರೆಗಳ ಕಾರ್ಯನಿರ್ವಹಣೆಯ ಅನುಷ್ಠಾನವನ್ನು ಪ್ರಸ್ತಾಪಿಸಲಾಗಿದೆ. C, C++, Python ಮತ್ತು Redbean ನಲ್ಲಿನ ಕಾರ್ಯಕ್ರಮಗಳಲ್ಲಿ ಈ ಕರೆಗಳನ್ನು ಬಳಸುವುದಕ್ಕಾಗಿ API ಅನ್ನು ಒದಗಿಸಲಾಗಿದೆ, ಜೊತೆಗೆ ಅನಿಯಂತ್ರಿತ ಪ್ರಕ್ರಿಯೆಗಳನ್ನು ಪ್ರತ್ಯೇಕಿಸಲು pledge.com ಉಪಯುಕ್ತತೆಯನ್ನು ಒದಗಿಸಲಾಗಿದೆ.
  • ನಿರ್ಮಾಣವು ಲ್ಯಾಂಡ್‌ಲಾಕ್ ಮೇಕ್ ಉಪಯುಕ್ತತೆಯನ್ನು ಬಳಸುತ್ತದೆ - ಹೆಚ್ಚು ಕಟ್ಟುನಿಟ್ಟಾದ ಅವಲಂಬನೆ ಪರಿಶೀಲನೆಯೊಂದಿಗೆ ಗ್ನೂ ಮೇಕ್‌ನ ಆವೃತ್ತಿ ಮತ್ತು ಸಿಸ್ಟಮ್‌ನ ಉಳಿದ ಭಾಗಗಳಿಂದ ಪ್ರೋಗ್ರಾಂ ಅನ್ನು ಪ್ರತ್ಯೇಕಿಸಲು ಮತ್ತು ಕ್ಯಾಶಿಂಗ್ ದಕ್ಷತೆಯನ್ನು ಸುಧಾರಿಸಲು ಲ್ಯಾಂಡ್‌ಲಾಕ್ ಸಿಸ್ಟಮ್ ಕರೆಯನ್ನು ಬಳಸುತ್ತದೆ. ಒಂದು ಆಯ್ಕೆಯಾಗಿ, ಸಾಮಾನ್ಯ GNU ಮೇಕ್‌ನೊಂದಿಗೆ ನಿರ್ಮಿಸುವ ಸಾಮರ್ಥ್ಯವನ್ನು ಉಳಿಸಿಕೊಳ್ಳಲಾಗಿದೆ.
  • ಮಲ್ಟಿಥ್ರೆಡಿಂಗ್‌ಗಾಗಿ ಕಾರ್ಯಗಳನ್ನು ಅಳವಡಿಸಲಾಗಿದೆ - _spawn() ಮತ್ತು _join(), ಇದು ವಿಭಿನ್ನ ಆಪರೇಟಿಂಗ್ ಸಿಸ್ಟಮ್‌ಗಳಿಗೆ ನಿರ್ದಿಷ್ಟವಾದ API ಗಳ ಮೇಲೆ ಸಾರ್ವತ್ರಿಕ ಬೈಂಡಿಂಗ್‌ಗಳಾಗಿವೆ. POSIX ಥ್ರೆಡ್‌ಗಳ ಬೆಂಬಲವನ್ನು ಕಾರ್ಯಗತಗೊಳಿಸುವ ಕೆಲಸವೂ ನಡೆಯುತ್ತಿದೆ.
  • ಪ್ರತಿ ಥ್ರೆಡ್‌ಗೆ ಪ್ರತ್ಯೇಕ ಸಂಗ್ರಹಣೆಯನ್ನು ಬಳಸಲು _Thread_local ಕೀವರ್ಡ್ ಅನ್ನು ಬಳಸಲು ಸಾಧ್ಯವಿದೆ (TLS, ಥ್ರೆಡ್-ಸ್ಥಳೀಯ ಸಂಗ್ರಹಣೆ). ಪೂರ್ವನಿಯೋಜಿತವಾಗಿ, ಮುಖ್ಯ ಥ್ರೆಡ್‌ಗಾಗಿ C ರನ್‌ಟೈಮ್ TLS ಅನ್ನು ಪ್ರಾರಂಭಿಸುತ್ತದೆ, ಇದು ಕನಿಷ್ಟ ಕಾರ್ಯಗತಗೊಳಿಸಬಹುದಾದ ಗಾತ್ರವನ್ನು 12 ರಿಂದ 16 KB ಗೆ ಹೆಚ್ಚಿಸಲು ಕಾರಣವಾಗಿದೆ.
  • stderr ಗೆ ಎಲ್ಲಾ ಫಂಕ್ಷನ್ ಕರೆಗಳು ಮತ್ತು ಸಿಸ್ಟಮ್ ಕರೆಗಳ ಬಗ್ಗೆ ಮಾಹಿತಿಯನ್ನು ಔಟ್‌ಪುಟ್ ಮಾಡಲು ಕಾರ್ಯಗತಗೊಳಿಸಬಹುದಾದ ಫೈಲ್‌ಗಳಿಗೆ “--ftrace” ಮತ್ತು “--strace” ನಿಯತಾಂಕಗಳಿಗೆ ಬೆಂಬಲವನ್ನು ಸೇರಿಸಲಾಗಿದೆ.
  • ಕ್ಲೋಸ್‌ಫ್ರಾಮ್() ಸಿಸ್ಟಮ್ ಕರೆಗೆ ಬೆಂಬಲವನ್ನು ಸೇರಿಸಲಾಗಿದೆ, ಲಿನಕ್ಸ್ 5.9+, ಫ್ರೀಬಿಎಸ್‌ಡಿ 8+ ಮತ್ತು ಓಪನ್‌ಬಿಎಸ್‌ಡಿಯಲ್ಲಿ ಬೆಂಬಲಿತವಾಗಿದೆ.
  • Linux ಪ್ಲಾಟ್‌ಫಾರ್ಮ್‌ನಲ್ಲಿ, vDSO (ವರ್ಚುವಲ್ ಡೈನಾಮಿಕ್ ಶೇರ್ಡ್ ಆಬ್ಜೆಕ್ಟ್) ಯಾಂತ್ರಿಕ ವ್ಯವಸ್ಥೆಯನ್ನು ಬಳಸಿಕೊಂಡು clock_gettime ಮತ್ತು gettimeofday ಕರೆಗಳ ಕಾರ್ಯಕ್ಷಮತೆಯನ್ನು 10 ಪಟ್ಟು ಹೆಚ್ಚಿಸಲಾಗಿದೆ, ಇದು ಸಿಸ್ಟಮ್ ಕರೆ ಹ್ಯಾಂಡ್ಲರ್ ಅನ್ನು ಬಳಕೆದಾರರ ಜಾಗಕ್ಕೆ ಸರಿಸಲು ಮತ್ತು ಸಂದರ್ಭ ಸ್ವಿಚ್‌ಗಳನ್ನು ತಪ್ಪಿಸಲು ಸಾಧ್ಯವಾಗಿಸುತ್ತದೆ.
  • ಸಂಕೀರ್ಣ ಸಂಖ್ಯೆಗಳೊಂದಿಗೆ ಕೆಲಸ ಮಾಡಲು ಗಣಿತದ ಕಾರ್ಯಗಳನ್ನು Musl ಲೈಬ್ರರಿಯಿಂದ ಸ್ಥಳಾಂತರಿಸಲಾಗಿದೆ. ಅನೇಕ ಗಣಿತದ ಕಾರ್ಯಗಳ ಕೆಲಸವನ್ನು ವೇಗಗೊಳಿಸಲಾಗಿದೆ.
  • ನೆಟ್‌ವರ್ಕ್ ಸಾಮರ್ಥ್ಯಗಳನ್ನು ನಿಷ್ಕ್ರಿಯಗೊಳಿಸಲು noninternet() ಕಾರ್ಯವನ್ನು ಪ್ರಸ್ತಾಪಿಸಲಾಗಿದೆ.
  • ಸ್ಟ್ರಿಂಗ್‌ಗಳನ್ನು ಪರಿಣಾಮಕಾರಿಯಾಗಿ ಸೇರಿಸಲು ಹೊಸ ಕಾರ್ಯಗಳನ್ನು ಸೇರಿಸಲಾಗಿದೆ: appendd, appendf, appendr, appends, appendw, appendz, kappendf, kvappendf ಮತ್ತು vappendf.
  • kprintf() ಕುಟುಂಬದ ಫಂಕ್ಷನ್‌ಗಳ ಸಂರಕ್ಷಿತ ಆವೃತ್ತಿಯನ್ನು ಸೇರಿಸಲಾಗಿದೆ, ಉನ್ನತ ಸವಲತ್ತುಗಳೊಂದಿಗೆ ಕೆಲಸ ಮಾಡಲು ವಿನ್ಯಾಸಗೊಳಿಸಲಾಗಿದೆ.
  • SSL, SHA, curve25519 ಮತ್ತು RSA ಅನುಷ್ಠಾನಗಳ ಗಮನಾರ್ಹವಾಗಿ ಸುಧಾರಿತ ಕಾರ್ಯಕ್ಷಮತೆ.

ಮೂಲ: opennet.ru

ಕಾಮೆಂಟ್ ಅನ್ನು ಸೇರಿಸಿ