ರಸ್ಟ್‌ನಲ್ಲಿ ಲಿನಕ್ಸ್ ಕರ್ನಲ್‌ಗಾಗಿ ಸುರಕ್ಷಿತ ಡ್ರೈವರ್‌ಗಳನ್ನು ಬರೆಯಲು ಫ್ರೇಮ್‌ವರ್ಕ್

ಇಂಟೆಲ್‌ನಲ್ಲಿ ಕೆಲಸ ಮಾಡುವ ಜೋಶ್ ಟ್ರಿಪ್ಲೆಟ್, ಓಪನ್ ಸೋರ್ಸ್ ಟೆಕ್ನಾಲಜಿ ಶೃಂಗಸಭೆಯಲ್ಲಿ ಮಾತನಾಡುತ್ತಾ Crates.io ಅಭಿವೃದ್ಧಿಯ ಮೇಲ್ವಿಚಾರಣೆಯ ಸಮಿತಿಯಲ್ಲಿದ್ದಾರೆ ಪರಿಚಯಿಸಲಾಗಿದೆ ಸಿಸ್ಟಮ್ಸ್ ಪ್ರೋಗ್ರಾಮಿಂಗ್ ಕ್ಷೇತ್ರದಲ್ಲಿ ಸಿ ಭಾಷೆಯೊಂದಿಗೆ ರಸ್ಟ್ ಭಾಷೆಯನ್ನು ಸಮಾನತೆಗೆ ತರುವ ಗುರಿಯನ್ನು ಹೊಂದಿರುವ ಕಾರ್ಯ ಗುಂಪು.

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

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

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

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

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

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

ಎಲ್ಲಾ ಉದ್ದೇಶಿತ ಕಾರ್ಯಗಳನ್ನು ಇನ್ನೂ ಕಾರ್ಯಗತಗೊಳಿಸಲಾಗಿಲ್ಲ, ಆದರೆ ಫ್ರೇಮ್‌ವರ್ಕ್ ಈಗಾಗಲೇ ಕೆಲಸಕ್ಕೆ ಸಾಕಷ್ಟು ಸೂಕ್ತವಾಗಿದೆ ಮತ್ತು Raspberry Pi 9512 ಬೋರ್ಡ್‌ನಲ್ಲಿ ಒದಗಿಸಲಾದ LAN3 USB ಎತರ್ನೆಟ್ ನಿಯಂತ್ರಕಕ್ಕಾಗಿ ಕಾರ್ಯನಿರ್ವಹಿಸುವ ಡ್ರೈವರ್ ಅನ್ನು ಬರೆಯಲು ಬಳಸಲಾಗಿದೆ. ಅಸ್ತಿತ್ವದಲ್ಲಿರುವ smsc95xx ಡ್ರೈವರ್ ಅನ್ನು ಬರೆದಿದ್ದಾರೆ ಸಿ ಭಾಷೆ. ರಸ್ಟ್‌ನಲ್ಲಿ ಡ್ರೈವರ್ ಅನ್ನು ಅಭಿವೃದ್ಧಿಪಡಿಸುವಾಗ ರನ್‌ಟೈಮ್ ಘಟಕಗಳಿಂದ ಮಾಡ್ಯೂಲ್ ಗಾತ್ರ ಮತ್ತು ಓವರ್‌ಹೆಡ್ ಅತ್ಯಲ್ಪವಾಗಿದೆ ಎಂದು ಗಮನಿಸಲಾಗಿದೆ, ಇದು ಸೀಮಿತ ಸಂಪನ್ಮೂಲಗಳೊಂದಿಗೆ ಸಾಧನಗಳಿಗೆ ಫ್ರೇಮ್‌ವರ್ಕ್ ಅನ್ನು ಬಳಸಲು ಅನುಮತಿಸುತ್ತದೆ.

ಮೂಲ: opennet.ru

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