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

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

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

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

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

  • ರಸ್ಟ್ 1.58.0 ರ ಸ್ಥಿರ ಬಿಡುಗಡೆಯನ್ನು ಉಲ್ಲೇಖ ಕಂಪೈಲರ್ ಆಗಿ ಬಳಸುವ ಪರಿವರ್ತನೆಯನ್ನು ಮಾಡಲಾಗಿದೆ. ಪ್ರಾಜೆಕ್ಟ್‌ಗೆ ಅಗತ್ಯವಾದ ಬದಲಾವಣೆಗಳಲ್ಲಿ, ಮುಖ್ಯ ರಸ್ಟ್ ಟೂಲ್‌ಕಿಟ್‌ನಲ್ಲಿ ಇನ್ನೂ ಸೇರಿಸಲಾಗಿಲ್ಲ, “-Zsymbol-mangling-version=v0” ಫ್ಲ್ಯಾಗ್ (Rust 1.59.0 ನಲ್ಲಿ ನಿರೀಕ್ಷಿಸಲಾಗಿದೆ) ಮತ್ತು “maybe_uninit_extra” ಮೋಡ್ (ರಸ್ಟ್ 1.60.0 ರಲ್ಲಿ ನಿರೀಕ್ಷಿಸಲಾಗಿದೆ .XNUMX) ಗುರುತಿಸಲಾಗಿದೆ. .
  • ಸೂಕ್ತವಾದ ರಸ್ಟ್ ಉಪಕರಣಗಳ ಲಭ್ಯತೆಗಾಗಿ ಸ್ವಯಂಚಾಲಿತ ತಪಾಸಣೆಗಳನ್ನು ಸೇರಿಸಲಾಗಿದೆ ಮತ್ತು ಸಿಸ್ಟಂನಲ್ಲಿ ರಸ್ಟ್ ಬೆಂಬಲವನ್ನು ಪರೀಕ್ಷಿಸುವ ಸಾಮರ್ಥ್ಯವನ್ನು ವಿಸ್ತರಿಸಿದೆ.
  • ರಸ್ಟ್ ಕೋಡ್‌ನಿಂದ ಸಾಧನ ಗುರುತಿಸುವಿಕೆಯ ಕೋಷ್ಟಕಗಳನ್ನು ("IdArray" ಮತ್ತು "IdTable") ಪ್ರವೇಶಿಸಲು ಹೊಸ ಅಮೂರ್ತತೆಗಳನ್ನು ಪ್ರಸ್ತಾಪಿಸಲಾಗಿದೆ.
  • ಟೈಮರ್-ಸಂಬಂಧಿತ ಕಾರ್ಯಗಳನ್ನು ಪ್ರವೇಶಿಸಲು ಲೇಯರ್‌ಗಳನ್ನು ಸೇರಿಸಲಾಗಿದೆ (ಗಡಿಯಾರ ಚೌಕಟ್ಟು).
  • ಪ್ಲಾಟ್‌ಫಾರ್ಮ್ ಡ್ರೈವರ್‌ಗಳನ್ನು ಈಗ ಗುಣಲಕ್ಷಣಗಳ ಅನುಷ್ಠಾನಗಳ ಮೂಲಕ ವ್ಯಾಖ್ಯಾನಿಸಲಾಗಿದೆ.
  • ಪ್ಲಾಟ್‌ಫಾರ್ಮ್ ಡ್ರೈವರ್‌ಗಳ ನೋಂದಣಿಯನ್ನು ಸರಳಗೊಳಿಸಲು ಹೊಸ ಮ್ಯಾಕ್ರೋವನ್ನು ಸೇರಿಸಲಾಗಿದೆ ಮತ್ತು ಹೊಸ ಜೆನೆರಿಕ್ ಡ್ರೈವರ್ ಟೆಂಪ್ಲೇಟ್ ಅನ್ನು ಪ್ರಸ್ತಾಪಿಸಲಾಗಿದೆ.
  • "dev_*" ರಚನೆಗಳಿಗಾಗಿ ಮ್ಯಾಕ್ರೋಗಳನ್ನು ಸೇರಿಸಲಾಗಿದೆ.
  • IoMem ಪ್ರಕಾರಕ್ಕಾಗಿ "{ಓದಿರಿ, ಬರೆಯಿರಿ}*_ರಿಲ್ಯಾಕ್ಸ್ಡ್" ವಿಧಾನಗಳನ್ನು ಸೇರಿಸಲಾಗಿದೆ.
  • ಫೈಲ್ ಕಾರ್ಯಾಚರಣೆಗಳನ್ನು ಸರಳಗೊಳಿಸಲು FileOpener ಆಸ್ತಿಯನ್ನು ತೆಗೆದುಹಾಕಲಾಗಿದೆ.
  • ಚಾಲಕವನ್ನು ನೋಂದಾಯಿಸುವಾಗ ರವಾನಿಸಲಾದ ಆರ್ಗ್ಯುಮೆಂಟ್‌ಗಳಿಗೆ "ಈ ಮಾಡ್ಯೂಲ್" ನಿಯತಾಂಕವನ್ನು ಸೇರಿಸಲಾಗಿದೆ.
  • ರಸ್ಟ್ ಭಾಷೆಯಲ್ಲಿ ಕರ್ನಲ್ ಮಾಡ್ಯೂಲ್‌ಗಳನ್ನು ರಚಿಸಲು ಪ್ರಮಾಣಿತ ಟೆಂಪ್ಲೇಟ್ ಅನ್ನು ಪ್ರಸ್ತಾಪಿಸಲಾಗಿದೆ.

ಮೂಲ: opennet.ru

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