ಆಂಡ್ರಾಯ್ಡ್ ಪ್ಲಾಟ್‌ಫಾರ್ಮ್ ಅಭಿವೃದ್ಧಿಗೆ ಮುಖ್ಯ ಭಾಷೆಗಳಲ್ಲಿ ರಸ್ಟ್ ಅನ್ನು ಸೇರಿಸಲಾಗಿದೆ

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

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

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

ಆಂಡ್ರಾಯ್ಡ್‌ನಲ್ಲಿ, ಈಗಾಗಲೇ ಬೆಂಬಲಿತ ಭಾಷೆಯಾದ ಕೋಟ್ಲಿನ್ ಮತ್ತು ಜಾವಾದಲ್ಲಿ ಮೆಮೊರಿ ಸುರಕ್ಷತೆಯನ್ನು ಒದಗಿಸಲಾಗಿದೆ, ಆದರೆ ಹೆಚ್ಚಿನ ಓವರ್‌ಹೆಡ್‌ನಿಂದಾಗಿ ಸಿಸ್ಟಮ್ ಘಟಕಗಳನ್ನು ಅಭಿವೃದ್ಧಿಪಡಿಸಲು ಅವು ಸೂಕ್ತವಲ್ಲ. C ಮತ್ತು C++ ಭಾಷೆಗಳಿಗೆ ಸಮೀಪವಿರುವ ಕಾರ್ಯಕ್ಷಮತೆಯನ್ನು ಸಾಧಿಸಲು ರಸ್ಟ್ ಸಾಧ್ಯವಾಗಿಸುತ್ತದೆ, ಇದು ವೇದಿಕೆಯ ಕಡಿಮೆ-ಮಟ್ಟದ ಭಾಗಗಳನ್ನು ಅಭಿವೃದ್ಧಿಪಡಿಸಲು ಮತ್ತು ಹಾರ್ಡ್‌ವೇರ್‌ನೊಂದಿಗೆ ಸಂವಹನ ನಡೆಸಲು ಘಟಕಗಳನ್ನು ಬಳಸಲು ಅನುಮತಿಸುತ್ತದೆ.

C ಮತ್ತು C++ ಕೋಡ್‌ನ ಸುರಕ್ಷತೆಯನ್ನು ಖಚಿತಪಡಿಸಿಕೊಳ್ಳಲು, Android ಸ್ಯಾಂಡ್‌ಬಾಕ್ಸ್ ಪ್ರತ್ಯೇಕತೆ, ಸ್ಥಿರ ವಿಶ್ಲೇಷಣೆ ಮತ್ತು ಅಸ್ಪಷ್ಟ ಪರೀಕ್ಷೆಯನ್ನು ಬಳಸುತ್ತದೆ. ಸ್ಯಾಂಡ್‌ಬಾಕ್ಸ್ ಪ್ರತ್ಯೇಕತೆಯ ಸಾಮರ್ಥ್ಯಗಳು ಸೀಮಿತವಾಗಿವೆ ಮತ್ತು ಅವುಗಳ ಸಾಮರ್ಥ್ಯಗಳ ಮಿತಿಯನ್ನು ತಲುಪಿವೆ (ಸಂಪನ್ಮೂಲ ಬಳಕೆಯ ದೃಷ್ಟಿಕೋನದಿಂದ ಪ್ರಕ್ರಿಯೆಗಳಾಗಿ ಮತ್ತಷ್ಟು ವಿಘಟನೆಯು ಅಪ್ರಾಯೋಗಿಕವಾಗಿದೆ). ಸ್ಯಾಂಡ್‌ಬಾಕ್ಸ್ ಅನ್ನು ಬಳಸುವ ಮಿತಿಗಳು ದೊಡ್ಡ ಓವರ್‌ಹೆಡ್ ವೆಚ್ಚಗಳು ಮತ್ತು ಹೊಸ ಪ್ರಕ್ರಿಯೆಗಳನ್ನು ಹುಟ್ಟುಹಾಕುವ ಅಗತ್ಯದಿಂದ ಉಂಟಾಗುವ ಮೆಮೊರಿ ಬಳಕೆಯನ್ನು ಹೆಚ್ಚಿಸುತ್ತವೆ, ಜೊತೆಗೆ IPC ಬಳಕೆಗೆ ಸಂಬಂಧಿಸಿದ ಹೆಚ್ಚುವರಿ ವಿಳಂಬಗಳನ್ನು ಒಳಗೊಂಡಿವೆ.

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

Android ನಲ್ಲಿ ಸಿಸ್ಟಮ್ ಪ್ರಕ್ರಿಯೆಗಳಿಗಾಗಿ, Google "ಎರಡು ನಿಯಮ" ಕ್ಕೆ ಬದ್ಧವಾಗಿದೆ, ಅದರ ಪ್ರಕಾರ ಯಾವುದೇ ಸೇರಿಸಲಾದ ಕೋಡ್ ಮೂರು ಷರತ್ತುಗಳಲ್ಲಿ ಎರಡಕ್ಕಿಂತ ಹೆಚ್ಚಿನದನ್ನು ಪೂರೈಸಬಾರದು: ಅಮಾನ್ಯವಾದ ಇನ್‌ಪುಟ್ ಡೇಟಾದೊಂದಿಗೆ ಕೆಲಸ ಮಾಡುವುದು, ಅಸುರಕ್ಷಿತ ಪ್ರೋಗ್ರಾಮಿಂಗ್ ಭಾಷೆಯನ್ನು ಬಳಸುವುದು (C/C++), ಮತ್ತು ಕಟ್ಟುನಿಟ್ಟಾದ ಸ್ಯಾಂಡ್‌ಬಾಕ್ಸ್ ಪ್ರತ್ಯೇಕತೆ ಇಲ್ಲದೆ ಚಾಲನೆಯಲ್ಲಿದೆ (ಉನ್ನತ ಸವಲತ್ತುಗಳನ್ನು ಹೊಂದಿರುವ). ಬಾಹ್ಯ ಡೇಟಾವನ್ನು ಪ್ರಕ್ರಿಯೆಗೊಳಿಸಲು ಕೋಡ್ ಅನ್ನು ಕನಿಷ್ಠ ಸವಲತ್ತುಗಳಿಗೆ (ಪ್ರತ್ಯೇಕಿಸಲಾಗಿದೆ) ಅಥವಾ ಸುರಕ್ಷಿತ ಪ್ರೋಗ್ರಾಮಿಂಗ್ ಭಾಷೆಯಲ್ಲಿ ಬರೆಯಬೇಕು ಎಂದು ಈ ನಿಯಮವು ಸೂಚಿಸುತ್ತದೆ.

ಅಸ್ತಿತ್ವದಲ್ಲಿರುವ C/C++ ಕೋಡ್ ಅನ್ನು Rust ನಲ್ಲಿ ಪುನಃ ಬರೆಯುವ ಗುರಿಯನ್ನು Google ಹೊಂದಿಲ್ಲ, ಆದರೆ ಹೊಸ ಕೋಡ್ ಅನ್ನು ಅಭಿವೃದ್ಧಿಪಡಿಸಲು ಈ ಭಾಷೆಯನ್ನು ಬಳಸಲು ಯೋಜಿಸಿದೆ. ಹೊಸ ಕೋಡ್‌ಗಾಗಿ ರಸ್ಟ್ ಅನ್ನು ಬಳಸುವುದು ಅರ್ಥಪೂರ್ಣವಾಗಿದೆ ಏಕೆಂದರೆ ಸಂಖ್ಯಾಶಾಸ್ತ್ರೀಯವಾಗಿ, ಹೆಚ್ಚಿನ ದೋಷಗಳು ಹೊಸ ಅಥವಾ ಇತ್ತೀಚೆಗೆ ಬದಲಾದ ಕೋಡ್‌ನಲ್ಲಿ ಗೋಚರಿಸುತ್ತವೆ. ನಿರ್ದಿಷ್ಟವಾಗಿ ಹೇಳುವುದಾದರೆ, ಆಂಡ್ರಾಯ್ಡ್‌ನಲ್ಲಿ ಸುಮಾರು 50% ಪತ್ತೆಯಾದ ಮೆಮೊರಿ ದೋಷಗಳು ಒಂದು ವರ್ಷದ ಹಿಂದೆ ಬರೆದ ಕೋಡ್‌ನಲ್ಲಿ ಪತ್ತೆಯಾಗಿವೆ.

ಆಂಡ್ರಾಯ್ಡ್ ಪ್ಲಾಟ್‌ಫಾರ್ಮ್ ಅಭಿವೃದ್ಧಿಗೆ ಮುಖ್ಯ ಭಾಷೆಗಳಲ್ಲಿ ರಸ್ಟ್ ಅನ್ನು ಸೇರಿಸಲಾಗಿದೆ


ಮೂಲ: opennet.ru

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