Linux ನಲ್ಲಿ ರಸ್ಟ್ ಡ್ರೈವರ್ ಬೆಂಬಲಕ್ಕಾಗಿ ಪ್ಯಾಚ್‌ಗಳ ಎಂಟನೇ ಆವೃತ್ತಿಯು ಆಗಮಿಸುತ್ತದೆ

ಮಿಗುಯೆಲ್ ಒಜೆಡಾ, Rust-for-Linux ಯೋಜನೆಯ ಲೇಖಕ ಎಂಟನೇ ಬಿಡುಗಡೆಯನ್ನು ಬಿಡುಗಡೆ ಮಾಡಿದೆ ಲಿನಕ್ಸ್ ಕರ್ನಲ್ ಡೆವಲಪರ್‌ಗಳಿಗೆ ಪರಿಗಣಿಸಲು ರಸ್ಟ್ ಭಾಷಾ ಬೆಂಬಲದೊಂದಿಗೆ ಲಿನಕ್ಸ್ ಕರ್ನಲ್ ಪ್ಯಾಚ್‌ಗಳನ್ನು ಅಭಿವೃದ್ಧಿಪಡಿಸುವುದು.

ಇದು ಪ್ಯಾಚ್‌ಗಳ ಒಂಬತ್ತನೇ ಬಿಡುಗಡೆಯಾಗಿದೆ (ಆವೃತ್ತಿ ಸಂಖ್ಯೆ ಇಲ್ಲದೆಯೇ ಮೊದಲ ಬಿಡುಗಡೆಯಾದ ಆವೃತ್ತಿಯನ್ನು ಗಣನೆಗೆ ತೆಗೆದುಕೊಂಡು). ತುಕ್ಕು ಬೆಂಬಲವನ್ನು ಪ್ರಾಯೋಗಿಕವೆಂದು ಪರಿಗಣಿಸಲಾಗುತ್ತದೆ, ಆದರೆ ಇದು ಈಗಾಗಲೇ ಲಿನಕ್ಸ್-ಮುಂದಿನ ಶಾಖೆಯಲ್ಲಿ ಸೇರ್ಪಡಿಸಲಾಗಿದೆ, 5.20/6.0 ರ ಪತನದ ಬಿಡುಗಡೆಯಲ್ಲಿ ಏಕೀಕರಣಕ್ಕಾಗಿ ಹಕ್ಕುಗಳನ್ನು ಹೊಂದಿದೆ, ಮತ್ತು ಕರ್ನಲ್ ಉಪವ್ಯವಸ್ಥೆಗಳ ಮೇಲೆ ಅಮೂರ್ತ ಪದರಗಳನ್ನು ರಚಿಸುವ ಕೆಲಸವನ್ನು ಪ್ರಾರಂಭಿಸಲು ಸಾಕಷ್ಟು ಮುಂದುವರಿದಿದೆ, ಹಾಗೆಯೇ ನಿಯಂತ್ರಕಗಳು ಮತ್ತು ಮಾಡ್ಯೂಲ್‌ಗಳನ್ನು ಬರೆಯುವುದು.

ಅಭಿವೃದ್ಧಿಯು Google ಮತ್ತು ISRG ನಿಂದ ಧನಸಹಾಯ ಪಡೆದಿದೆ (ಇಂಟರ್ನೆಟ್ ಸೆಕ್ಯುರಿಟಿ ರಿಸರ್ಚ್ ಗ್ರೂಪ್), ಇದು ಲೆಟ್ಸ್ ಎನ್‌ಕ್ರಿಪ್ಟ್ ಯೋಜನೆಯ ಸಂಸ್ಥಾಪಕವಾಗಿದೆ ಮತ್ತು ಇಂಟರ್ನೆಟ್ ಸುರಕ್ಷತೆಯನ್ನು ಹೆಚ್ಚಿಸಲು HTTPS ಮತ್ತು ತಂತ್ರಜ್ಞಾನಗಳ ಅಭಿವೃದ್ಧಿಯನ್ನು ಉತ್ತೇಜಿಸುತ್ತದೆ.

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

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

ಈ ಎಂಟನೇ ಬಿಡುಗಡೆಯಲ್ಲಿ ಹೊಸದೇನಿದೆ?

ಎಂದು ಬಿಡುಗಡೆ ಮಾಡಿರುವ ಈ ಹೊಸ ಪ್ರಸ್ತಾವನೆಯಲ್ಲಿ ಉಲ್ಲೇಖಿಸಲಾಗಿದೆ alloc ಲೈಬ್ರರಿ ರೂಪಾಂತರ, ಇದು ದೋಷಗಳ ಮೇಲಿನ "ಪ್ಯಾನಿಕ್" ಸ್ಥಿತಿಯ ಸಂಭವನೀಯ ಪೀಳಿಗೆಯನ್ನು ತೆಗೆದುಹಾಕುತ್ತದೆ, ರಸ್ಟ್ ಆವೃತ್ತಿ 1.62 ಗೆ ನವೀಕರಿಸಲಾಗಿದೆ. ಹಿಂದಿನ ಆವೃತ್ತಿಗೆ ಹೋಲಿಸಿದರೆ, ರಸ್ಟ್ ಟೂಲ್‌ಕಿಟ್ ಕರ್ನಲ್ ಪ್ಯಾಚ್‌ಗಳಲ್ಲಿ ಬಳಸಲಾದ const_fn_trait_bound ಕಾರ್ಯನಿರ್ವಹಣೆಗೆ ಬೆಂಬಲವನ್ನು ಸ್ಥಿರಗೊಳಿಸಿದೆ.

ಇದಲ್ಲದೆ ಬೈಂಡಿಂಗ್ ಕೋಡ್ ಅನ್ನು "ಬೈಂಡಿಂಗ್" ಬಾಕ್ಸ್‌ಗಳ ಬಂಡಲ್ ಆಗಿ ಬೇರ್ಪಡಿಸಲಾಗಿದೆ ಪ್ರತ್ಯೇಕವಾಗಿ, ಇದು ಮುಖ್ಯ ಕರ್ನಲ್ ಪ್ಯಾಕೇಜ್ ಅನ್ನು ಬದಲಾಯಿಸಿದರೆ ಮರುನಿರ್ಮಾಣವನ್ನು ಸುಲಭಗೊಳಿಸುತ್ತದೆ.

ದಿ "concat_idents!" ಮ್ಯಾಕ್ರೋ ಅನುಷ್ಠಾನ, ಕಾರ್ಯವಿಧಾನದ ಮ್ಯಾಕ್ರೋ ಆಗಿ ಪುನಃ ಬರೆಯಲಾಗಿದೆ, concat_idents ಕಾರ್ಯನಿರ್ವಹಣೆಗೆ ಸಂಬಂಧಿಸಿಲ್ಲ ಮತ್ತು ಸ್ಥಳೀಯ ವೇರಿಯಬಲ್ ಉಲ್ಲೇಖಗಳ ಬಳಕೆಯನ್ನು ಅನುಮತಿಸುತ್ತದೆ.

ಜೊತೆಗೆ, ಮ್ಯಾಕ್ರೋ ಎಂದು ಉಲ್ಲೇಖಿಸಲಾಗಿದೆ "ಸ್ಟ್ಯಾಟಿಕ್_ಸರ್ಟ್!" "core:: assert!()" ಅನ್ನು ಅನುಮತಿಸಲು ಪುನಃ ಬರೆಯಲಾಗಿದೆ ಮ್ಯಾಕ್ರೋ "ಕನ್ಸ್ಟ್ರಕ್ಷನ್_ಎರರ್!" ಮಾಡ್ಯೂಲ್‌ಗಳಿಗಾಗಿ "RUST_BUILD_ASSERT_{WARN,ALLOW}" ಮೋಡ್ ಅನ್ನು ಹೊಂದಿಸುವಾಗ ಕೆಲಸ ಮಾಡಲು ಅಳವಡಿಸಲಾಗಿದೆ.

fs ಮಾಡ್ಯೂಲ್ ಸೇರಿಸಲಾಗಿದೆ ಇದು ಫೈಲ್ ಸಿಸ್ಟಮ್‌ಗಳೊಂದಿಗೆ ಕೆಲಸ ಮಾಡಲು ಲಿಂಕ್‌ಗಳನ್ನು ಒದಗಿಸುತ್ತದೆ. ರಸ್ಟ್‌ನಲ್ಲಿ ಬರೆಯಲಾದ ಸರಳ ಫೈಲ್ ಸಿಸ್ಟಮ್‌ನ ಉದಾಹರಣೆಯನ್ನು ಪ್ರಸ್ತಾಪಿಸಲಾಗಿದೆ, ಜೊತೆಗೆ ಸಿಸ್ಟಮ್ ಕ್ಯೂಗಳೊಂದಿಗೆ ಕೆಲಸ ಮಾಡಲು ಜಾಬ್ ಕ್ಯೂ ಮಾಡ್ಯೂಲ್ ಅನ್ನು ಸೇರಿಸಲಾಗಿದೆ.

ಇತರ ಬದಲಾವಣೆಗಳಲ್ಲಿ ಇದು ಈ ಹೊಸ ಪ್ರಸ್ತಾಪದಿಂದ ಎದ್ದು ಕಾಣುತ್ತದೆ:

  • ಪ್ರತ್ಯೇಕ ಸಂರಚನಾ ಕಡತ "kernel/configs/rust.config" ಅನ್ನು ಸೇರಿಸಲಾಗಿದೆ.
  • ಮ್ಯಾಕ್ರೋ ಪರ್ಯಾಯಗಳಲ್ಲಿ ಪ್ರಕ್ರಿಯೆಗೊಳಿಸಲಾದ "*.i" ಫೈಲ್‌ಗಳನ್ನು "*.rsi" ಎಂದು ಮರುಹೆಸರಿಸಲಾಗಿದೆ.
  • C ಕೋಡ್‌ಗಾಗಿ ಬಳಸಲಾದ ಆಪ್ಟಿಮೈಸೇಶನ್ ಮಟ್ಟಗಳೊಂದಿಗೆ ರಸ್ಟ್ ಘಟಕಗಳನ್ನು ನಿರ್ಮಿಸಲು ಬೆಂಬಲವನ್ನು ತೆಗೆದುಹಾಕಲಾಗಿದೆ.
  • ಅಸಮಕಾಲಿಕ ಪ್ರೋಗ್ರಾಮಿಂಗ್ ವಿಧಾನಗಳ (ಅಸಿಂಕ್) ಅಳವಡಿಕೆಯೊಂದಿಗೆ kasync ಮಾಡ್ಯೂಲ್ನ ಅಭಿವೃದ್ಧಿ ಮುಂದುವರೆಯಿತು.
  • ರಸ್ಟ್‌ನಲ್ಲಿ ಬರೆಯಲಾದ ಕರ್ನಲ್ ಮಟ್ಟದ TCP ಸರ್ವರ್‌ನ ಉದಾಹರಣೆಯನ್ನು ಸೇರಿಸಲಾಗಿದೆ ಮತ್ತು ರಸ್ಟ್‌ನಲ್ಲಿ ಅಡಚಣೆಗಳನ್ನು ನಿರ್ವಹಿಸುವ ಸಾಮರ್ಥ್ಯವನ್ನು ಸೇರಿಸಲಾಗಿದೆ.
  • ಫೈಲ್_ಆಪರೇಷನ್ಸ್ ರಚನೆಯಂತಹ ಫಂಕ್ಷನ್ ಪಾಯಿಂಟರ್ ಟೇಬಲ್‌ಗಳೊಂದಿಗೆ ಕೆಲಸ ಮಾಡಲು ಸುಲಭವಾಗುವಂತೆ ಮ್ಯಾಕ್ರೋ ಕಾರ್ಯವಿಧಾನವನ್ನು ಸೇರಿಸಲಾಗಿದೆ.
  • "unsafe_list::List" ದ್ವಿಮುಖ ಲಿಂಕ್ ಪಟ್ಟಿ ಅನುಷ್ಠಾನವನ್ನು ಸೇರಿಸಲಾಗಿದೆ.
  • ಪ್ರಸ್ತುತ ಥ್ರೆಡ್‌ಗೆ ರೀಡ್ ಲಾಕ್ ಬದ್ಧವಾಗಿದೆಯೇ ಎಂದು ಪರಿಶೀಲಿಸಲು RCU ಮತ್ತು ಗಾರ್ಡ್ ಪ್ರಕಾರಕ್ಕೆ ಆರಂಭಿಕ ಬೆಂಬಲವನ್ನು ಸೇರಿಸಲಾಗಿದೆ.
  • ಕರ್ನಲ್ ಥ್ರೆಡ್‌ಗಳನ್ನು ಸ್ವಯಂಚಾಲಿತವಾಗಿ ಹುಟ್ಟುಹಾಕಲು ಮತ್ತು ಪ್ರಾರಂಭಿಸಲು ಕಾರ್ಯ ಕಾರ್ಯ:: ಸ್ಪಾನ್ () ಅನ್ನು ಸೇರಿಸಲಾಗಿದೆ.
  • Task ::wake_up() ವಿಧಾನವನ್ನು ಸಹ ಸೇರಿಸಲಾಗಿದೆ.
  • ವಿಳಂಬ ಮಾಡ್ಯೂಲ್ ಅನ್ನು ಸೇರಿಸಲಾಗಿದೆ

ಅಂತಿಮವಾಗಿ ನೀವು ಅದರ ಬಗ್ಗೆ ಇನ್ನಷ್ಟು ತಿಳಿದುಕೊಳ್ಳಲು ಆಸಕ್ತಿ ಹೊಂದಿದ್ದರೆ, ನೀವು ವಿವರಗಳನ್ನು ಪರಿಶೀಲಿಸಬಹುದು ಕೆಳಗಿನ ಲಿಂಕ್‌ನಲ್ಲಿ.


ನಿಮ್ಮ ಅಭಿಪ್ರಾಯವನ್ನು ಬಿಡಿ

ನಿಮ್ಮ ಈಮೇಲ್ ವಿಳಾಸ ಪ್ರಕಟವಾದ ಆಗುವುದಿಲ್ಲ. ಅಗತ್ಯವಿರುವ ಜಾಗ ಗುರುತಿಸಲಾಗಿದೆ *

*

*

  1. ಡೇಟಾಗೆ ಜವಾಬ್ದಾರಿ: AB ಇಂಟರ್ನೆಟ್ ನೆಟ್ವರ್ಕ್ಸ್ 2008 SL
  2. ಡೇಟಾದ ಉದ್ದೇಶ: ನಿಯಂತ್ರಣ SPAM, ಕಾಮೆಂಟ್ ನಿರ್ವಹಣೆ.
  3. ಕಾನೂನುಬದ್ಧತೆ: ನಿಮ್ಮ ಒಪ್ಪಿಗೆ
  4. ಡೇಟಾದ ಸಂವಹನ: ಕಾನೂನುಬದ್ಧ ಬಾಧ್ಯತೆಯನ್ನು ಹೊರತುಪಡಿಸಿ ಡೇಟಾವನ್ನು ಮೂರನೇ ವ್ಯಕ್ತಿಗಳಿಗೆ ಸಂವಹನ ಮಾಡಲಾಗುವುದಿಲ್ಲ.
  5. ಡೇಟಾ ಸಂಗ್ರಹಣೆ: ಆಕ್ಸೆಂಟಸ್ ನೆಟ್‌ವರ್ಕ್‌ಗಳು (ಇಯು) ಹೋಸ್ಟ್ ಮಾಡಿದ ಡೇಟಾಬೇಸ್
  6. ಹಕ್ಕುಗಳು: ಯಾವುದೇ ಸಮಯದಲ್ಲಿ ನೀವು ನಿಮ್ಮ ಮಾಹಿತಿಯನ್ನು ಮಿತಿಗೊಳಿಸಬಹುದು, ಮರುಪಡೆಯಬಹುದು ಮತ್ತು ಅಳಿಸಬಹುದು.