Rust ಭಾಷೆಯ ಬೆಂಬಲದೊಂದಿಗೆ Linux ಕರ್ನಲ್‌ಗಾಗಿ ಪ್ಯಾಚ್‌ಗಳ ಹೊಸ ಆವೃತ್ತಿ

Rust-for-Linux ಯೋಜನೆಯ ಲೇಖಕ Miguel Ojeda, Linux ಕರ್ನಲ್ ಡೆವಲಪರ್‌ಗಳ ಪರಿಗಣನೆಗಾಗಿ Rust ಭಾಷೆಯಲ್ಲಿ ಸಾಧನ ಡ್ರೈವರ್‌ಗಳನ್ನು ಅಭಿವೃದ್ಧಿಪಡಿಸಲು v5 ಘಟಕಗಳ ಬಿಡುಗಡೆಯನ್ನು ಪ್ರಸ್ತಾಪಿಸಿದರು. ಇದು ಪ್ಯಾಚ್‌ಗಳ ಆರನೇ ಆವೃತ್ತಿಯಾಗಿದೆ, ಮೊದಲ ಆವೃತ್ತಿಯನ್ನು ಗಣನೆಗೆ ತೆಗೆದುಕೊಂಡು, ಆವೃತ್ತಿ ಸಂಖ್ಯೆ ಇಲ್ಲದೆ ಪ್ರಕಟಿಸಲಾಗಿದೆ. ರಸ್ಟ್ ಬೆಂಬಲವನ್ನು ಪ್ರಾಯೋಗಿಕವೆಂದು ಪರಿಗಣಿಸಲಾಗುತ್ತದೆ, ಆದರೆ ಈಗಾಗಲೇ ಲಿನಕ್ಸ್-ಮುಂದಿನ ಶಾಖೆಯಲ್ಲಿ ಸೇರಿಸಲಾಗಿದೆ ಮತ್ತು ಕರ್ನಲ್ ಉಪವ್ಯವಸ್ಥೆಗಳ ಮೇಲೆ ಅಮೂರ್ತ ಪದರಗಳನ್ನು ರಚಿಸುವ ಕೆಲಸವನ್ನು ಪ್ರಾರಂಭಿಸಲು ಸಾಕಷ್ಟು ಅಭಿವೃದ್ಧಿಪಡಿಸಲಾಗಿದೆ, ಹಾಗೆಯೇ ಡ್ರೈವರ್‌ಗಳು ಮತ್ತು ಮಾಡ್ಯೂಲ್‌ಗಳನ್ನು ಬರೆಯುವುದು. ಅಭಿವೃದ್ಧಿಯು Google ಮತ್ತು ISRG (ಇಂಟರ್ನೆಟ್ ಸೆಕ್ಯುರಿಟಿ ರಿಸರ್ಚ್ ಗ್ರೂಪ್) ನಿಂದ ಧನಸಹಾಯ ಪಡೆದಿದೆ, ಇದು ಲೆಟ್ಸ್ ಎನ್‌ಕ್ರಿಪ್ಟ್ ಯೋಜನೆಯ ಸಂಸ್ಥಾಪಕವಾಗಿದೆ ಮತ್ತು ಇಂಟರ್ನೆಟ್ ಸುರಕ್ಷತೆಯನ್ನು ಸುಧಾರಿಸಲು HTTPS ಮತ್ತು ತಂತ್ರಜ್ಞಾನಗಳ ಅಭಿವೃದ್ಧಿಯನ್ನು ಉತ್ತೇಜಿಸುತ್ತದೆ.

ಪ್ರಸ್ತಾವಿತ ಬದಲಾವಣೆಗಳು ಡ್ರೈವರ್‌ಗಳು ಮತ್ತು ಕರ್ನಲ್ ಮಾಡ್ಯೂಲ್‌ಗಳನ್ನು ಅಭಿವೃದ್ಧಿಪಡಿಸಲು ರಸ್ಟ್ ಅನ್ನು ಎರಡನೇ ಭಾಷೆಯಾಗಿ ಬಳಸಲು ಸಾಧ್ಯವಾಗಿಸುತ್ತದೆ ಎಂಬುದನ್ನು ನೆನಪಿಸಿಕೊಳ್ಳಿ. ರಸ್ಟ್ ಬೆಂಬಲವನ್ನು ಪೂರ್ವನಿಯೋಜಿತವಾಗಿ ಸಕ್ರಿಯಗೊಳಿಸದ ಒಂದು ಆಯ್ಕೆಯಾಗಿ ಪ್ರಸ್ತುತಪಡಿಸಲಾಗಿದೆ ಮತ್ತು ಕರ್ನಲ್‌ಗೆ ಅಗತ್ಯವಾದ ನಿರ್ಮಾಣ ಅವಲಂಬನೆಯಾಗಿ ರಸ್ಟ್ ಅನ್ನು ಸೇರಿಸಲು ಕಾರಣವಾಗುವುದಿಲ್ಲ. ಚಾಲಕ ಅಭಿವೃದ್ಧಿಗಾಗಿ ರಸ್ಟ್ ಅನ್ನು ಬಳಸುವುದರಿಂದ ನೀವು ಕನಿಷ್ಟ ಪ್ರಯತ್ನದಲ್ಲಿ ಸುರಕ್ಷಿತ ಮತ್ತು ಉತ್ತಮ ಡ್ರೈವರ್‌ಗಳನ್ನು ರಚಿಸಲು ಅನುಮತಿಸುತ್ತದೆ, ಮುಕ್ತಗೊಳಿಸಿದ ನಂತರ ಮೆಮೊರಿ ಪ್ರವೇಶ, ಶೂನ್ಯ ಪಾಯಿಂಟರ್ ನಿರಾಕರಣೆಗಳು ಮತ್ತು ಬಫರ್ ಓವರ್‌ರನ್‌ಗಳಂತಹ ಸಮಸ್ಯೆಗಳಿಂದ ಮುಕ್ತವಾಗಿರುತ್ತದೆ.

ಕಂಪೈಲ್ ಸಮಯದಲ್ಲಿ ಕಂಪೈಲ್ ಸಮಯದಲ್ಲಿ ಮೆಮೊರಿ-ಸುರಕ್ಷಿತ ನಿರ್ವಹಣೆಯನ್ನು ಒದಗಿಸಲಾಗುತ್ತದೆ, ಆಬ್ಜೆಕ್ಟ್ ಮಾಲೀಕತ್ವ ಮತ್ತು ಆಬ್ಜೆಕ್ಟ್ ಜೀವಿತಾವಧಿಯನ್ನು (ವ್ಯಾಪ್ತಿ) ಟ್ರ್ಯಾಕ್ ಮಾಡುವುದು, ಹಾಗೆಯೇ ಕೋಡ್ ಎಕ್ಸಿಕ್ಯೂಶನ್ ಸಮಯದಲ್ಲಿ ಮೆಮೊರಿ ಪ್ರವೇಶದ ಸರಿಯಾದ ಮೌಲ್ಯಮಾಪನದ ಮೂಲಕ. ರಸ್ಟ್ ಪೂರ್ಣಾಂಕದ ಉಕ್ಕಿ ಹರಿಯುವಿಕೆಯ ವಿರುದ್ಧ ರಕ್ಷಣೆ ನೀಡುತ್ತದೆ, ಬಳಕೆಗೆ ಮೊದಲು ವೇರಿಯಬಲ್ ಮೌಲ್ಯಗಳ ಕಡ್ಡಾಯ ಆರಂಭದ ಅಗತ್ಯವಿರುತ್ತದೆ, ಪ್ರಮಾಣಿತ ಗ್ರಂಥಾಲಯದಲ್ಲಿ ದೋಷಗಳನ್ನು ಉತ್ತಮವಾಗಿ ನಿರ್ವಹಿಸುತ್ತದೆ, ಪೂರ್ವನಿಯೋಜಿತವಾಗಿ ಬದಲಾಗದ ಉಲ್ಲೇಖಗಳು ಮತ್ತು ವೇರಿಯೇಬಲ್‌ಗಳ ಪರಿಕಲ್ಪನೆಯನ್ನು ಅನ್ವಯಿಸುತ್ತದೆ, ತಾರ್ಕಿಕ ದೋಷಗಳನ್ನು ಕಡಿಮೆ ಮಾಡಲು ಬಲವಾದ ಸ್ಥಿರ ಟೈಪಿಂಗ್ ಅನ್ನು ನೀಡುತ್ತದೆ.

ಪ್ಯಾಚ್‌ಗಳ ಹೊಸ ಆವೃತ್ತಿಯು ಪ್ಯಾಚ್‌ಗಳ ಮೊದಲ, ಎರಡನೇ, ಮೂರನೇ, ನಾಲ್ಕನೇ ಮತ್ತು ಐದನೇ ಆವೃತ್ತಿಗಳ ಚರ್ಚೆಯ ಸಮಯದಲ್ಲಿ ಮಾಡಿದ ಕಾಮೆಂಟ್‌ಗಳನ್ನು ತೆಗೆದುಹಾಕುವುದನ್ನು ಮುಂದುವರೆಸಿದೆ. ಹೊಸ ಆವೃತ್ತಿಯಲ್ಲಿ:

  • ರಸ್ಟ್ 1.59.0 ಅನ್ನು ಬಿಡುಗಡೆ ಮಾಡಲು ಟೂಲ್ಕಿಟ್ ಅನ್ನು ನವೀಕರಿಸಲಾಗಿದೆ. ಅಲೋಕ್ ಲೈಬ್ರರಿಯ ರೂಪಾಂತರವನ್ನು ರಸ್ಟ್‌ನ ಹೊಸ ಆವೃತ್ತಿಯೊಂದಿಗೆ ಸಿಂಕ್ರೊನೈಸ್ ಮಾಡಲಾಗಿದೆ, ಮೆಮೊರಿ ಇಲ್ಲದಂತಹ ದೋಷಗಳು ಸಂಭವಿಸಿದಾಗ "ಪ್ಯಾನಿಕ್" ಸ್ಥಿತಿಯ ಸಂಭವನೀಯ ಪೀಳಿಗೆಯನ್ನು ತೆಗೆದುಹಾಕುತ್ತದೆ. ಅಸೆಂಬ್ಲರ್ ಒಳಸೇರಿಸುವಿಕೆಯನ್ನು ಬಳಸುವ ಸಾಮರ್ಥ್ಯವನ್ನು ("ಫೀಚರ್(ಗ್ಲೋಬಲ್_ಆಸ್ಮ್)") ಸ್ಥಿರಗೊಳಿಸಲಾಗಿದೆ.
  • ಕರ್ನಲ್ ಸಂಕಲನದ ಸಮಯದಲ್ಲಿ ಬಳಸಲಾಗುವ ರಸ್ಟ್‌ನಲ್ಲಿ ಹೋಸ್ಟ್ ಪ್ರೋಗ್ರಾಂಗಳನ್ನು ರಚಿಸಲು ಬೆಂಬಲವನ್ನು ಸೇರಿಸಲಾಗಿದೆ.
  • ಪೂರ್ವ-ರಚಿಸಿದ ಟಾರ್ಗೆಟ್ ಪ್ಲಾಟ್‌ಫಾರ್ಮ್ ವಿವರಣೆಯ ಫೈಲ್‌ಗಳನ್ನು ತಲುಪಿಸುವ ಬದಲು, ಅವುಗಳನ್ನು ಕರ್ನಲ್ ಕಾನ್ಫಿಗರೇಶನ್‌ನ ಆಧಾರದ ಮೇಲೆ ಕ್ರಿಯಾತ್ಮಕವಾಗಿ ರಚಿಸಲಾಗುತ್ತದೆ.
  • ರಸ್ಟ್ ಅನ್ನು ಬೆಂಬಲಿಸುವ ಆರ್ಕಿಟೆಕ್ಚರ್‌ಗಳನ್ನು ಸಕ್ರಿಯಗೊಳಿಸಲು HAVE_RUST ಕರ್ನಲ್ ಪ್ಯಾರಾಮೀಟರ್ ಅನ್ನು ಸೇರಿಸಲಾಗಿದೆ.
  • ಹಾರ್ಡ್‌ವೇರ್ ಹುಸಿ-ಯಾದೃಚ್ಛಿಕ ಸಂಖ್ಯೆಯ ಜನರೇಟರ್‌ಗಾಗಿ ರಸ್ಟ್ ಕೋಡ್‌ನಲ್ಲಿ ಬಳಸಲು ಅಮೂರ್ತತೆಗಳನ್ನು ಪ್ರಸ್ತಾಪಿಸಲಾಗಿದೆ.
  • C ನಲ್ಲಿ ದೋಷ ಕೋಡ್‌ಗಳ ನಿರ್ವಹಣೆಯನ್ನು ಅಂದಾಜು ಮಾಡಲು "ದೋಷ::" ಪೂರ್ವಪ್ರತ್ಯಯ (ಉದಾಹರಣೆಗೆ, "ರಿಟರ್ನ್ Err(EINVAL)") ಇಲ್ಲದೆ ದೋಷ ಕೋಡ್‌ಗಳ ಬಳಕೆಯನ್ನು ಅನುಮತಿಸಲಾಗಿದೆ.
  • ಕಸ್ಟಮ್ C-ಸ್ಟ್ರಿಂಗ್‌ಗಳಿಗಾಗಿ "CString" ಪ್ರಕಾರವನ್ನು ಸೇರಿಸಲಾಗಿದೆ. ಫಾರ್ಮ್ಯಾಟರ್ ಮತ್ತು ಬಫರ್ ಪ್ರಕಾರಗಳನ್ನು ಸಂಯೋಜಿಸಲಾಗಿದೆ.
  • Bool ಮತ್ತು LockInfo ಪ್ರಕಾರಗಳನ್ನು ಸೇರಿಸಲಾಗಿದೆ.
  • ಸ್ಪಿನ್ ಲಾಕ್‌ಗಳ ಅನುಷ್ಠಾನವನ್ನು ಸರಳೀಕರಿಸಲಾಗಿದೆ.

ಮೂಲ: opennet.ru

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