కేరళ ప్రాజెక్ట్ రస్ట్ భాషలో వ్రాయబడిన ఆపరేటింగ్ సిస్టమ్ కెర్నల్ను అభివృద్ధి చేస్తోంది. కొత్త కెర్నల్ ప్రారంభంలో ABI స్థాయిలో Linux కెర్నల్తో అనుకూలతను అందించడంపై దృష్టి పెట్టింది, ఇది Linux కోసం కంపైల్ చేయబడిన మార్పులేని ఎక్జిక్యూటబుల్ ఫైల్లను కేరళ-ఆధారిత వాతావరణంలో అమలు చేయడానికి అనుమతిస్తుంది. కోడ్ Apache 2.0 మరియు MIT లైసెన్స్ల క్రింద పంపిణీ చేయబడింది. C లాంగ్వేజ్లో వ్రాయబడిన మైక్రోకెర్నల్ ఆపరేటింగ్ సిస్టమ్ Reseaని రూపొందించడంలో ప్రసిద్ధి చెందిన జపనీస్ డెవలపర్ Seiya Nutaచే ప్రాజెక్ట్ అభివృద్ధి చేయబడింది.
దాని ప్రస్తుత అభివృద్ధి దశలో, కేరళ కేవలం x86_64 సిస్టమ్లపై మాత్రమే రన్ చేయగలదు మరియు రైట్, స్టాట్, ఎమ్ఎమ్ఎప్, పైప్ మరియు పోల్ వంటి ప్రాథమిక సిస్టమ్ కాల్లను అమలు చేస్తుంది, సిగ్నల్లు, పేరులేని పైపులు మరియు కాంటెక్స్ట్ స్విచ్లకు మద్దతు ఇస్తుంది. ప్రక్రియలను నియంత్రించడానికి ఫోర్క్, వెయిట్4 మరియు ఎగ్జిక్వ్ వంటి కాల్లు అందించబడతాయి. tty మరియు సూడో-టెర్మినల్స్ (pty) కోసం మద్దతు ఉంది. ప్రస్తుతం మద్దతు ఉన్న ఫైల్ సిస్టమ్లు initramfs (రూట్ ఫైల్ సిస్టమ్ను మౌంట్ చేయడానికి ఉపయోగించబడుతుంది), tmpfs మరియు devfs. TCP మరియు UDP సాకెట్లకు మద్దతుతో నెట్వర్క్ స్టాక్ అందించబడింది, smoltcp లైబ్రరీ ఆధారంగా అమలు చేయబడుతుంది.
డెవలపర్ QEMUలో లేదా Virtio-net డ్రైవర్తో Firecracker వర్చువల్ మెషీన్లో రన్ అయ్యే బూట్ ఎన్విరాన్మెంట్ను సిద్ధం చేసారు, దీనికి మీరు ఇప్పటికే SSH ద్వారా కనెక్ట్ చేయవచ్చు. musl సిస్టమ్ లైబ్రరీగా ఉపయోగించబడుతుంది మరియు BusyBox వినియోగదారు వినియోగాలుగా ఉపయోగించబడుతుంది.
Kerla కెర్నల్తో మీ స్వంత బూట్ initramfలను సృష్టించడానికి మిమ్మల్ని అనుమతించే డాకర్-ఆధారిత బిల్డ్ సిస్టమ్ సిద్ధం చేయబడింది. విడిగా, చేపల మాదిరిగానే nsh సాఫ్ట్వేర్ షెల్ మరియు Wayland ప్రోటోకాల్ ఆధారంగా Kazari GUI స్టాక్ అభివృద్ధి చేయబడుతున్నాయి.
ప్రాజెక్ట్లో రస్ట్ లాంగ్వేజ్ని ఉపయోగించడం వలన సురక్షితమైన ప్రోగ్రామింగ్ టెక్నిక్లను ఉపయోగించడం ద్వారా మరియు మెమరీతో పనిచేసేటప్పుడు సమస్యలను గుర్తించే సామర్థ్యాన్ని పెంచడం ద్వారా కోడ్లోని లోపాల సంఖ్యను తగ్గించడానికి మిమ్మల్ని అనుమతిస్తుంది. రస్ట్ రిఫరెన్స్ చెకింగ్, ఆబ్జెక్ట్ యాజమాన్యం మరియు ఆబ్జెక్ట్ లైఫ్టైమ్ ట్రాకింగ్ (స్కోప్లు) ద్వారా కంపైల్ సమయంలో మెమరీ భద్రతను అమలు చేస్తుంది మరియు రన్టైమ్లో మెమరీ యాక్సెస్ల యొక్క ఖచ్చితత్వాన్ని అంచనా వేయడం ద్వారా. అదనంగా, రస్ట్ పూర్ణాంక ఓవర్ఫ్లోల నుండి రక్షణను అందిస్తుంది, ఉపయోగించే ముందు వేరియబుల్ విలువలను ప్రారంభించడం అవసరం, డిఫాల్ట్గా మార్పులేని సూచనలు మరియు వేరియబుల్స్ భావనను అమలు చేస్తుంది, లాజికల్ లోపాలను తగ్గించడానికి బలమైన స్టాటిక్ టైపింగ్ను అందిస్తుంది మరియు ఇన్పుట్ విలువల నిర్వహణను సులభతరం చేస్తుంది. నమూనా సరిపోలికకు ధన్యవాదాలు. .
OS కెర్నల్ వంటి తక్కువ-స్థాయి భాగాల అభివృద్ధి కోసం, రస్ట్ ముడి పాయింటర్లు, స్ట్రక్చర్ ప్యాకింగ్, అసెంబ్లర్ ఇన్లైన్ ఇన్సర్ట్లు మరియు అసెంబ్లర్ ఫైల్లను పొందుపరచడానికి మద్దతును అందిస్తుంది. ప్రామాణిక లైబ్రరీతో ముడిపడి ఉండకుండా పని చేయడానికి, స్ట్రింగ్లు, వెక్టర్స్ మరియు బిట్ ఫ్లాగ్లతో కార్యకలాపాలను నిర్వహించడానికి ప్రత్యేక క్రేట్ ప్యాకేజీలు ఉన్నాయి. కోడ్ నాణ్యత (లింటర్, రస్ట్-ఎనలైజర్) అంచనా వేయడానికి మరియు నిజమైన హార్డ్వేర్పై మాత్రమే కాకుండా QEMUలో కూడా అమలు చేయగల యూనిట్ పరీక్షలను రూపొందించడానికి అంతర్నిర్మిత సాధనాలు మరొక ప్రయోజనం.
మూలం: opennet.ru