యునిక్స్ ఫైల్ సిస్టం
యునిక్స్ లో స్తులమయిన స్థాయిలో డేటా, సమాచారాలను నిర్వహించే కాంపోనెంట్ లేదా యునిట్ ని ‘ఫైల్’ అంటారు. దానిని నిర్వహించేదే ఫైల్ సిస్టం, డేటా, సమాచారాలను దాయడం, వెలికి తీయడం, చూపడం, తాజా చేయండం, నిర్వహించడం – ఇవన్ని నిర్వహించేదే ఈ ఫైల్ సిస్టం. యునిక్స్ లో ఫైల్స్ అనేవి డైరెక్టరీ లో ఉంటాయి. బౌతిక ఉపకరణాలు అయిన డిస్క్, టేప్ లను సైతం ‘ఫైల్స్’ గానే నిర్వహిస్తుంది యునిక్స్, అంతే కాక ప్రింటర్ వంటి డివైజ్ లను, డిస్క్ లను, కీ బోర్డ్, టెర్మినల్ స్క్రీన్ లను సైతం ఫైల్ గానే ట్రీట్ చేస్తుంది. యుసేర్ ఏ హార్డ్ వేర్ వాడుతున్నారో- ఆ విషయాన్నీ యుసేర్కి తెలియ కుండా దాస్తుంది ఫైల్ సిస్టం.
యుటిలిటీస్
వందలకొద్దీ ఉపయుక్తమైన యుటిలిటీస్/కంమండ్లు వివిధ పనులకు వాడుకునేలా డెవలపర్ లకు, యూజర్లుకు అందుబాటులో ఉన్నాయి. వీటిలో ఫైల్స్, డైరెక్టరీ లను నిర్వహించే కంమండ్స్, ఫిల్టర్స్, సిస్టం అడ్మినిస్ట్రేషన్, బ్యాక్ అప్, రిస్టోర్ వంటి అనేక యుటిలిటిలు ఉన్నాయి. ఇంటిగ్రేట్ యుటిలిటి లను మనం రిమూవ్ చేయలేం. కాని కొన్ని టూల్స్ –టైపు సెట్టింగ్, ఇ-మెయిల్ వంటి వాటిని రిమూవ్ చేసుకోవచ్చు. అంతా మన ఇష్టమే.
సిస్టం పోర్టబులిటీ
యునిక్స్ విజయవంతం కావడానికి దాని పోర్టబులిటీ కూడా ఎంతో దోహదం చేసింది. దానితో ఒక బ్రాండ్ కంప్యూటర్ నుంచి మరో బ్రాండ్ కి మారినప్పుడల్లా సాఫ్ట్ వేర్ అప్లికేషన్లు ని మర్చుకోవలిసిన అగత్యం లేకపోయింది. ఆపరేటింగ్ సిస్టం ని అప్ గ్రేడ్ చేసుకోవడానికి యుజర్ డేటా ని మర్చాలిసిన అవసరం లేక పోవడం వల్ల ఎంతో ‘సేవింగ్స్’ కనిపించేది. హార్డ్ వేర్, సాఫ్ట్ వేర్ ని అప్ గ్రేడ్ చేసుకున్న కేవలం వాటి ఖర్చు మత్త్రమే ఉండేది. సాధారణం గా ‘అప్ వర్డ్ కంపేట బులిటీ’ అనే థి సాఫ్ట్ వేర్ సంస్థల తారక మంత్రం. అంటే పాత ఆపరేటింగ్ సాఫ్ట్ వేర్ వెర్సన్ లో రూపొందించినది కొత్త ఆపరేటింగ్ సిస్టం లో కూడా పని చేస్తుంది అని చెప్పడం అని మాట. యునిక్స్ ఆపరేటింగ్ సిస్టం ప్రస్తావన లో కలికితురయిలా మిగిలిన మరో విశేషం ఏమిటి అంటే కొత్త వెర్షన్ లో రూపొందిచిన అప్లికేషను లు కూడా పాత వెర్షన్ లో సైతం పని చేయడం.
యునిక్స్ Communications
నేడు ఇ-మెయిల్ లేని జీవనం లేదు. అయితే ఈ ఇ-మెయిల్ అనేది కేవలం 14 సంవత్సరాలగా అదీ వరల్డ్ వైడ్ విస్తృతంగా వాడుకలోకచ్చేకే అందరి కంప్యూటర్ లోను నానుతోంది. కాని యునిక్స్ వాడె యుజర్ కు గత 40 సంవత్సరాలగా ఇది అనుభవమే. వరల్డ్ వైడ్ వెబ్ ఇప్పుడొచ్చింది కాని, గత 40 సంవత్సరాలగా ప్రపంచ వ్యాప్తంగా యునిక్స్ వాడే కంప్యూటర్లు ‘కాంనేచ్ట్’ అయి పనిచేస్తున్నయిని చాలా మందికి తెలియక పోవచ్చు.
వాహ్! యునిక్స్!
యునిక్స్ వాడే యూజర్లు, డెవలపర్లు నేటికి యునిక్స్ పేరునే స్మరిస్తున్నారు. MAC OS ఎంత గొప్పగానూ ఉండ వచ్చు గాక! విండోస్ ఆపరేటింగ్ సిస్టం ఎన్నోన్నో వెర్షన్లు అయిన వచ్చి ఉండొచ్చు గాక! వీటిలో ఇప్పటికి లోపాలు, లొసుగులు ఎన్నో! ఎన్నెన్నో వైరస్ లు … వాటికీ ప్యాచ్ లూ –ఇవేమి యునిక్స్ కి సోక లేదు. సోర్స్ కోడ్ అందరికి అందుబాటులో ఉన్న కూడా ఇంత వరకు యునిక్స్ లో విటి ఉసే లేదు! ఇదే యునిక్స్ గొప్పదనం. యునిక్స్ మాన్యువల్ లో యునిక్స్ ఉండే ‘బగ్’ గురించి కూడా చెప్పడం జరిగింది అంటే, అదెంత పగడ్బందీగా రాసారో చుడండి! 1969 లో ఐటి రంగం లోకి ప్రవేశించిన ఇంత గొప్ప ఆపరేటింగ్ సిస్టం కి నేటికి 43 సంవత్సరాలు పూర్తి అయ్యింది అంటే అచ్చర్య కలుగక మానదు. బెల్ లాబ్స్ కంప్యూటర్ సైన్స్ రిసెర్చ్ సెంటర్ అమెరికా లోని ముర్రే హిల్స్ లో ఉంది. యునిక్స్ అక్కడే రూపుదిద్దుకుంది.
చరిత్ర
1965 లో MIT, AT&T బెల్ లాబ్స్ , GE సంస్థలు మూడు కలిసి ఒక ఎక్స్ పెర్మేంట్ ల్ ఆపరేటింగ్ సిస్టం ని రుపుదిద్దలని సంకల్పించారు. దానికి MULTICS అని నామకరణం చేసారు. (మల్టీ ప్లేక్స్ డ్ ఇన్ఫర్మేషన్ అండ్ కంప్యూటింగ్ సర్వీసు). అయితే కొన్ని కారణాలు వల్ల MULTICS వెలుగులోకి రాలేదు. జనరల్ ఎలక్ట్రిక్ సంస్థ అప్పటికే GECOS అనే ఆపరేటింగ్ సిస్టం రూపొందించడం- అదే బాగుంది అని AT&T కూడా అంగీకరించి, దాని వైపే మొగ్గు చూపడం జరిగింది.
అయితే 1969 లో ఆపరేటింగ్ సిస్టం తో సమస్యల గురించి చర్చ సుదీర్గంగా సాగింది. తాప్సన్ తన ఖాళి సమయం లో Space Travel అనే గేమ్ ని రూపొందించారు. దీనిని సహజంగానే తన Multics లో రుపొందిచాడు. అది GECos లోని Fortran లాంగ్వేజ్ లో రూపాంతరం చెందింది. దానిని కూడా తాప్సన్ రాసాడు. అయితే అది అంతగా క్లిక్ అవలేదు. PDP-7 లో అద్బుతమైన డిస్ప్లే టెర్మినల్ ఉండటంతో బోలెడు శ్రమతో దానిపై Space Travel ని తిరగరాశారు. ఈ సమయం లోనే ఆ సిస్టంని ‘హాకింగ్’ కూడా చేసారు రిచి, తాప్సన్ లు. ఆ తర్వాత వారిద్దరూ PDP-7 ఫై GECOS ని, MULTICS ని పూర్తిగా తిరగ రాసారు. 1969 లో PDP-7 ఫై రూపొందించిన UNIX ని తిరిగి PDP-11 పైకి బదిలీ చేయలిసి వచ్చింది. ఆ తరువాత చరిత్ర క్రమం ఎలా ఎలా ఉందొ చూడండి.
యునిక్స్ ప్రమాణాలు
యునిక్స్ కంపోనంట్స్ కాలక్రమంలో పలు మార్పులు చవి చూసాయి. V7 వెర్షన్ అమలు చేయడంతో అన్నిటికి ఒక ప్రామాణికమయిన ‘నిర్మాణం’ గా క్రింది వాటిని అంతా చెప్పుకుంటారు.
కెర్నల్
సోర్స్ కోడ్ /usr/sys లో conf, dev, sys, h అని నాలుగు ప్రధాన బాగాలుగా విభజించ బడి ఉంటాయి.
Conf అనేది కాంఫిగు రేషన్, మెషిన్ ఆధారిత బాగాలు (బూట కోడ్ తో సహా) వంటి వాటిని కలిగి ఉంటుంది.
Dev అనేది వివిధ హార్డ్ వేర్ ల నియంత్రణకు కావలిసిన డివైస్ డ్రైవర్స్ ని కలిగి ఉంటుంది.
Sys అనేది ఆపరేటింగ్ సిస్టం కి చెందిన కెర్నల్, మెమరీ నిర్వహణ, ప్రాసెస్, Scheduling, సిస్టం కాల్స్ వంటి వాటిని కలిగి ఉంటుంది.
H అనేది హెడ్డర్ ఫైల్స్, Key Structure definitions, సిస్టం సంబందితవిలువలను కలిగి ఉంటుంది.
Development Environment
మొదట వచ్చినవే మొదట ప్రామాణిక రించాబడ్డాయి. వీటిలో cc అనే c Compiler, as అనే Assembler, id అనే linker, id నే లింకర్, lib అనే library, Object Code, make అనే Build Manager, include అనే హెడ్డర్ ఫైల్స్ ని ప్రోగ్రంమ్ లోకి జోప్పించేది, ఇతర Fortran 77 వంటి Compilers, calcuter, calendar వగైరా వగైరాలు అన్నిటిని Development Environment క్రిందకు తెచ్చారు.
కమెండ్స్
యూజర్ లెవెల్ ప్రోగ్రామ్స్, సిస్టం లెవెల్ ప్రోగ్రామ్స్ అని కంమండ్స్ రెండు రకాలుగా స్పష్టంగా ప్రమనికరించారు. వీటిలో ప్రధాన వర్గాలు ఇలా ఉన్నాయి.
Sh- షెల్ యూజర్ ప్రోగ్రంమింగ్ చేసుకో గల ఇంటర్ ప్రేటర్. ఇందులో ksh, sh, born shell అని పలు రకాలు వాడుకలో ఉన్న sh ఇప్పటికి ప్రామాణికం.