# కంప్యూటరు

ఆటలు - సాఫ్ట్‌వేర్‌ - హార్డ్‌వేర్‌- చరిత్ర - ఇంటర్నెట్టు

 నాసా (NASA) వారి కొలంబియా సూపర్ కంప్యూటరు
నిత్యం వాడుకునే కంప్యూటరు చిత్రం.
**కంప్యూటరు** అనేది అనేకమైన ప్రక్రియల ద్వారా సమాచారాన్ని రకరకాలుగా వాడుకోటానికి వీలు కలుగచేసే యంత్రం. సమాచారం వివిధ రూపాలలో ఉండవచ్చును: ఉదాహరణకు సంఖ్యలుగా, బొమ్మలుగా, శబ్దాలుగా లేదా అక్షరాలగా ఉండవచ్చు. ఈ రోజుల్లో "కంప్యూటరు" అనేది ఒక విద్యుత్తు ఉపకరణం. ఈ ఉపకరణాన్ని కచ్చితంగా నిర్వచించాలంటే కష్టమనే చెప్పాలి. కంప్యూటరు అనే పరికరం కాలక్రమేణా ఎన్నో మార్పులు చెందటం వల్ల ఫలానా యంత్రమే కంప్యూటరు అని నిర్వచించటం కష్టమౌతుంది. ఈ క్రింది నిర్వచనాల ద్వారా గణనయంత్రం అంటే ఏమిటి అనే ప్రశ్నకు సమాధానం చెప్పవచ్చు.

Duration: 1 నిమిషం, 55 సెకండ్లు.1:55"స్లిమ్‌లైన్" కంప్యూటర్ ప్రామాణిక భాగాలను ప్రదర్శించే వీడియో
* కన్సైజ్‌ ఆక్స్‌ఫ‌ర్డు ఆంగ్ల డిక్షనరి కంప్యూటరును "ముందుగా నిర్ధారించబడిన ఆదేశాల అనుసారం సమాచారాన్ని నిక్షేపించి (store), విశ్లేషించగల (process/analyze) ఒక విద్యుత్తు పరికరం" అని నిర్వచిస్తోంది. ఈ నిర్వచనం గణనయంత్రాన్ని ఒక విశ్లేషణా యంత్రంగా లేక పరికరంగా చూస్తుంది.
* వెబ్‌స్టర్స్ ఆంగ్ల డిక్షనరి కంప్యూటరుకు "సమాచారాన్ని నిక్షేపించి (store) , అనుసంధానించి (retrieve), విశ్లేషించగల (process/analyze), ప్రోగ్రామబుల్‌ ఐన (సామాన్యంగా ఎలెక్ట్రానిక్) పరికరం" అనే నిర్వచనాన్ని చెబుతోంది. ఈ నిర్వచనంలో నాన్‌-ఎలెక్ట్రానిక్ పరికరాలు కూడా కంప్యూటరులు అనబడవచ్చనే అర్థం గోచరిస్తోంది.
* సురేశ్‌ బసంద్ర తన కంప్యూటరుస్ టుడే అనే పుస్తకంలో ఈ పరికరాన్ని "విపులమైన ఆదేశాల అధారంగా, దత్తాంశాలను (డేటాను) స్వీకరించి, విశ్లేషించి, ఫలితాలను ప్రదానం చేస్తూ సమస్యలను పరిష్కరించగల యంత్రం," అని నిర్వచించారు. ఈ నిర్వచనంలో కంప్యూటరును 'సమస్యలను పరిష్కరించే యంత్రం' అని గుర్తించటం జరిగింది.

## చరిత్ర

రెండవ ప్రపంచ యుద్ధం తరువాత రోజులలో రెండు రకాల కంప్యూటరులు వాడుకలో ఉండేవి. **అంక కలన యంత్రాలు** (digital computers), **సారూప్య కలన యంత్రాలు** (analog computers). మధ్యలో కొన్నాళ్ళపాటు **సంకర కలన యంత్రాలు** (hybrid computers) వచ్చాయి. పోటీలో అంక కలన యంత్రాలు గెలవటం వల్ల ఇప్పుడు 'అంక' అన్న విశేషణాన్ని తీసేసి మామూలుగా కలన యంత్రం అని కానీ, గణనం చేసేది కనుక సంగణకం అని కాని లేదా కంప్యూటరు అని కానీ అంటున్నారు.

ఈ రోజుల్లో ఎక్కువ వాడుకలో ఉన్న కంప్యూటరు‌‌ను పోలిన యంత్రాలు మొట్టమొదట రెండవ ప్రపంచ యుద్ధం అంతం అయ్యే రోజులలో వెలిసేయి. పూర్వం ఈ కలన యంత్రాలు చాల భారీగా ఉండేవి. ఒకొక్క యంత్రానికి ఒకొక్క పెద్ద గది కావలసి వచ్చేది. పైపెచ్చు ఒక్కొక్కటి కోట్ల కొద్ది రూపాయలు ఖరీదు చేసేది. ఎంతో వ్యయ ప్రయాసలతో కూడిన అధిస్థాపన (establishment) కనుక ఈ యంత్రాన్ని ఎంతోమంది ఉమ్మడిగా వాడుకొనే వారు. ఇటువంటి ఉమ్మడి యంత్రాలు ఇప్పుడు ఉన్నాయి. ఈ రోజుల్లో ఇటువంటి వాటిని ప్రత్యేక వైజ్ణానిక అవసరాలకు ఉపయోగించుతున్నప్పుడు **సూపరు కంప్యూటరు** అని, పెద్దపెద్ద సంస్థల వ్యాపార లావాదేవీలు (transactions) సంవిధానం (processing) చేస్తున్నప్పుడు **మెయిన్ ఫ్రేము** కంప్యూటరు అని సంభోదిస్తూ ఉంటారు. ఇవి అపరిమితమయిన గణన సౌకర్యాలు కలిగి ఉంటాయి.

ఈ రోజుల్లో కంప్యూటరులు బాగా శక్తివంతమూ అయేయి, చవకా అయేయి; పైపెచ్చు బాగా చిన్నవీ అయేయి. దాని వల్ల భారీ యంత్రాల వాడుక పడిపోయింది; ఎవరి కంప్యూటరు వారే సొంతంగా కొనుక్కోగలిగే స్థాయికి ఎదిగేం. ఈ సొంత కంప్యూటరులనే ఆంగ్లంలో personal computer అనీ, హ్రస్వంగా PC అనీ, తెలుగులో **వ్యక్తిగత కంప్యూటరు** అనీ అంటున్నారు. ఈ సొంత కంప్యూటరులు బల్లమీద పెట్టుకునే రకాలు (desktop), ఒళ్ళో పెట్టుకునే 'ఉరోపరి' (laptop), చేత్తో పట్టుకునేవి (hand-held) అలా రకరకాల ప్రమాణాల్లో వస్తున్నాయి. పుస్తకం సైజులో ఉన్నవాటిని **నోటుబుక్కు కంప్యూటరు** అని పిలుస్తారు. ఇతర వస్తువులను నియంత్రించుటకు ఉపయోగించే వాటిని embedded computers అంటారు. ఉదాహరణకు డిజిటలు కెమెరాలు, ఉతికే యంత్రాలు (వాషింగు మెషీనులు) మొదలగు వాటిలో వాడే కంప్యూటరులు **ఎంబెడెడు కంప్యూటరులు**. అంతేకాదు పెద్ద విమానాలను సైతం నడిపే కంప్యూటరులను ఎంబెడెడు కంప్యూటరులు అనవచ్చు. పెద్దదైనా, చిన్నదైనా కంప్యూటరు పనిచేసే పద్ధతి ఒక్కటే. సిద్ధాంతమూ ఒక్కటే. మరొక విషయం. ఏపిల్ కంపెనీ వారి కంప్యూటరులు ప్రాచుర్యం లోకి వచ్చిన తరువాత PC అంటే "ఏపిల్ కంపెనీవి కానివి" అనే అర్థం వచ్చేలా వాడుక పెరిగిపోయింది.

ఇంకా కొత్త కొత్త రకాల కంప్యూటరులు పరిశోధన స్థాయిలో ఉన్నాయి. క్వాంటం శాస్త్రపు సూత్రాలని ఉపయోగించి నిర్మాణం జరిగితే అవి క్వాంటం కంప్యూటరులు. అలాగే DNA (అంటే జీవ కణాలలోని వారసవాహికలు) లో నిబిడీకృతమైన సూత్రాలని ఉపయోగించి నిర్మాణం జరిగితే అవి DNA కంప్యూటరులు.

## కంప్యూటరులు: ఒక విహంగావలోకనం

పైపైకి వివిధ రూపాలలో అందుకే మన భారతదేశం అనేక రంగాలలో ముందు వుండే కంప్యూటరులు కనిపించినా మౌలికంగా అవి పనిచేసే సూత్రం ఒక్కటే. కంప్యూటరులు మనం ఇచ్చిన సమాచారాన్ని తీసుకుంటాయి. ఆ సమాచారాన్ని జీర్ణించుకుని, జీర్ణమైన ఆ సమాచారాన్ని తిరిగి మనకి మరొక రూపంలో ఇస్తాయి. ఆవు మనం పెట్టిన గడ్డి తిని, జీర్ణించుకుని మనకి తిరిగి పాలు ఇచ్చినట్లే. మనలో చాలమందికి, ఇప్పటికీ, పెరట్లో ఆవులు ఉంటాయి. వాటికి గడ్డి మేపుతాం, కుడితి పడతాం, పాలు పిండుకుంటాం. ఆ మేత ఏమైంది? ఆ పాలు ఎలా తయారయ్యాయి అన్న విషయాలు మనం పట్టించుకోము. అదే విధంగా కంప్యూటరుని కేవలం ఉపయోగించుకునే వారికి కంప్యూటరు లోగుట్టు తెలియక్కర లేదు. ఉపయోగించుకోవడం తెలిస్తే చాలు. కారు నడిపేవారందరికీ కార్లు ఎలా పనిచేస్తాయో తెలుస్తోందా? తెలియవలసిన అవసరం కూడా లేదు.

కారు నడిపేవాడు కొద్దో, గొప్పో కారు గురించి తెలుసుకుంటే కారుని మరి కొంత బాధ్యతతో, సమర్ధతతో నడపవచ్చు కదా! అలాగే కేవలం వాడుకకే వినియోగించినా కంప్యూటరు గురించి కొద్దో, గొప్పో తెలిసి ఉంటే ఆ యంత్రాన్ని ఎంతో దక్షతతో వాడుకోవచ్చు. అలాగే కారు నడిపేవాడు కొద్దో, గొప్పో కారు గురించి తెలుసుకుంటే కారుని మరి కొంత బాధ్యతతో, సమర్ధతతో నడపవచ్చు కదా!

పూర్వకాలంలో “కంప్యూటరు” (computer) అనే ఇంగ్లీషు పదాన్ని లెక్కలు చేసే వ్యక్తిని ఉద్దేశించి వాడేవారు; అంటే “కంప్యూట్” (compute) చేసే వ్యక్తి. బండిని తోలే వ్యక్తిని ఇంగ్లీషులో “డ్రైవర్” (driver) అనిన్నీ, కుండలు చేసే వ్యక్తిని “పాటర్” (potter) అనిన్నీ అన్నట్లే. క్రమేపీ లెక్కలు చెయ్యడానికి యంత్రాలు వచ్చేయి. మనిషి చేసే పనినే యంత్రాలు చేస్తూన్నప్పుడు అదే “కంప్యూటరు” అన్న పేరుని యంత్రాన్ని ఉద్దేశించి వాడడం మొదలు పెట్టేరు. ఈ రోజుల్లో కంప్యూటరు అంటే యంత్రమే; మనిషి కాదు.

భారతీయ భాషలలో కలనం చెయ్యడం అంటే కూడికలు, తీసివేతలు, గుణకారాలు, భాగారాలు వంటి లెక్కలు చెయ్యడం. మొదట్లో కంప్యూటరులని నిర్మించినప్పుడు వాటి చేత అంకెలతో ఈ రకం కలన కలాపాలే చేయించేవారు. అందుకనే వాటిని అంక కలనయంత్రాలు (digital computing machines) అనేవారు. కాలక్రమేణా కలనయంత్రాల చేత తార్కికమైన కలన కలాపాలు (logical calculations) కూడా చేయించడం మొదలు పెట్టేరు. అందుకని వాటిని అంక-తార్కిక యంత్రాలు (arithmetic-logic machines) అన్నారు. కొన్నాళ్లు పోయిన తరువాత కంప్యూటరుల చేత ఇంకా రకరకాల పనులు చేయించడం మొదలు పెట్టేరు. ఉదాహరణకి తెర మీద ఏది, ఎప్పుడు, ఎంతసేపు, ఎన్నిసార్లు చూపించాలో నిశ్చయించడం. కనుక ఈ రోజుల్లో కంప్యూటరు అంటే ఇచ్చిన సమాచారాన్ని జీర్ణించుకుని కొత్త సమాచారాన్ని వెళ్లగక్కే యంత్రం (information processing machine) అని మనం అర్థం చెప్పుకోవచ్చు.

మనం కంప్యూటరుకి మేపే సమాచారం (information) రకరకాలుగా ఉండొచ్చు. ఉదాహరణకి “రేపు వర్షం పడుతుందా?” అన్న ప్రశ్నకి సమాధానం కావాలనుకుంటే ముందు కొంత విషయ సేకరణ చెయ్యాలి. ప్రస్తుతపు వాతావరణ పరిస్థితులు ఎలా ఉన్నాయో తెలియాలి: బయట ఎంత వేడిగా ఉంది? గాలి ఎంత జోరుగా వీచుతోంది? ఆకాశంలో మేఘాలు ఉన్నాయా? ఎలాంటి మేఘాలు? ఎంత ఎత్తులో ఉన్నాయి? వాతావరణ పీడనం ఎలా ఉంది? భారమితి ఏమిటి చెబుతోంది? సముద్రం హోరు పెడుతోందా? చంద్రుడు గుడి కట్టేడా? శివుడికి సహస్ర ఘటాభిషేకం చేసేరా? ఈ రకం విషయాల గురించి సమాచారం సేకరించి కంప్యూటరుకి ఇస్తాం. ఈ సమాచారాన్ని దత్తాంశాలు (data) అంటారు. ఈ సమాచారం అంతా ఆవుకి వేసే మేత లాంటిది. ఈ సమాచారాన్ని ఏమిటి చెయ్యాలో మనం కంప్యూటరుకి చెప్పాలి. పులుసు చేసే వ్యక్తికి పులుసులో పడే సంభారాల జాబితా ఇస్తే సరిపోతుందా? పులుసు చేసే పద్ధతి కూడా చెప్పాలి కదా. “నీళ్లు మరిగించు, చింతపండు వెయ్యి, చెంచాడు ఉప్పు వెయ్యి, చిటికెడు పసుపు వెయ్యి, ముక్కలు వెయ్యి, మరగనీ, పోపు వెయ్యి” ఇలా చెప్పాలి కదా. వీటిని ఆదేశాలు (instructions) అంటారు. సూక్ష్మంగా చెప్పాలంటే మనం కంప్యూటరుకి దత్తాంశాలు, ఆదేశాలు ఇవ్వాలి. వాటిని రంగరించి, జీర్ణించుకుని, మనకి కంప్యూటరు సమాధానాలు ఇస్తుంది. టూకీగా అదీ కంప్యూటరు చేసే పని.

మనం కంప్యూటరుకి ఇచ్చే ఆదేశాలు సాధారణంగా మనం మాట్లాడుకునే భాషని పోలిన భాషలో ఉంటే బాగుంటుంది – అంటే ఇంగ్లీషులోనో, తెలుగులోనో, రష్యన్ లోనో అనుకోవచ్చు. కాని మనం కంప్యూటరు ఎదురుగా నిలబడి, “పులుసు వండు” అని ఎంతలా అరిచినా కంప్యూటరుకి అర్థం కాదు. (ఆ రోజులు కూడా వస్తున్నాయి, కాని ప్రస్తుతానికి సినిమాలలో తప్ప నిజ ప్రపంచంలో కంప్యూటరులు ఆ రకం పనులు చెయ్యడం లేదు.) “నీళ్లు మరిగించు, ఉప్పు వెయ్యి, చింతపండు వెయ్యి…” అని విడమర్చి చెప్పినా కంప్యూటరుకి అర్థం కాదు. మన మనస్సులో ఉన్న కోరికని కంప్యూటరుకి చెప్పడం అనేది చాలా క్లిష్టమైన పని. ఎందుకంటే మనం ఏ మానవ భాషలో మాట్లాడినా అపార్ధాలకి అవకాశాలు ఎక్కువ.

మన మనస్సులో ఉన్న విషయం కంప్యూటరుకి అర్థం అయే భాషలో చెప్పడానికి ప్రత్యేకంగా తరిఫీదు పొందిన వ్యక్తులు కావాలి. వాళ్లనే మనం “ప్రోగ్రామర్లు” (programmers) అంటున్నాం. ఈ ప్రోగ్రామర్లు చేసే పని ప్రోగ్రాములు రాయడం. ప్రోగ్రాము అంటే కంప్యూటరుకి ఇచ్చే ఆదేశాలని ఒక క్రమ పద్ధతిలో పేర్చి రాయడం. ప్రోగ్రాము అంటే ఒక క్రమంలో ఉన్న ఆదేశాల సమాహారం. “ప్రోగ్రాము” అనే మాటకి “కార్యక్రమం” అనే తెలుగు మాట ఉంది. ఈ మాటని “వినోద కార్యక్రమం” వంటి ప్రయోగాలకి అట్టేపెట్టుకుని కంప్యూటరుకి మనం ఇచ్చే ఆదేశాలకి మరొక ప్రత్యేకమైన మాట వాడదాం. అందుకని వీటిని తెలుగులో “క్రమణికలు” అందాం. మన భాషలకి వ్యాకరణం ఉన్నట్లే ఈ కంప్యూటరు భాషలకి కూడా వ్యాకరణం ఉంటుంది. ఆ వ్యాకరణ నియమాలని పాటిస్తూ క్రమణికలు రాయాలి. మేలు రకం క్రమణికలు రాయగలిగే వాళ్లకి మంచి గిరాకీ ఎప్పుడూ ఉంటుంది.

మనం కంప్యూటరుకి క్రమణికలు (programs), దత్తాంశాలు (data) ఇస్తాం. ఈ క్రమణికలు మనకి అర్థం అయే మానవ భాషకి దగ్గరలో ఉంటాయి. దత్తాంశాలు మనకి అర్థం అయే దశాంశ పద్ధతిలో ఉంటాయి. కాని కంప్యూటరుకి ఇవేమీ అర్థం కావు. వీటన్నిటిని కంప్యూటరుకి అర్థం అయే భాష (machine language) లోకి మార్చి, ఒక క్రమంలో కంప్యూటరుకి అందజేస్తే అది సరిగ్గా పనిచేస్తుంది. ఇదంతా పెద్ద తర్జుమా యంత్రాంగం. ఈ క్రమణికలని, వాటిని తర్జుమా చేసే యంత్రాంగాన్ని, కంప్యూటరు చెయ్యవలసిన పనులన్నిటిమీదా అజమాయిషీ చేసే యంత్రాంగాన్నీ, ..., అంతటిని కలిపి “సాఫ్ట్‌వేర్” (software) అని పిలుస్తారు.

కంప్యూటరుల గురించి మాట్లాడేటప్పుడు “కఠినాంగం” (hardware), “మృదులాంగం” లేదా “కోమలాంగం” (software) అని స్థూలంగా రెండు భాగాలుగా విడగొట్టి మాట్లాడడం సంప్రదాయికంగా వస్తూన్న ఆచారం. బ్రహ్మ మనని పుట్టించినప్పుడు ఒక భౌతిక శరీరం ఇచ్చేడు, నుదిటి మీద ఒక రాత రాసేడు. మన భౌతిక శరీరం కఠినాంగం (గట్టి సరుకు), నుదిటి మీద రాసిన రాత మృదులాంగం (మెత్త సరుకు). రాయడానికి వీలైన నుదురు అనే గట్టి ఫలకం లేకపోతే బ్రహ్మ మాత్రం ఎక్కడ రాస్తాడు? అలాగని రాయడానికి పలక ఒక్కటీ ఉండి, దానిమీద రాయడానికి ఏమీ లేకపోతే ఆ ఖాళీ పలక ప్రాణం లేని కట్టెతో సమానం. కంప్యూటరు రంగంలో “కఠినాంగం” అన్న మాటని ఇంకా విస్తృత భావంతో వాడవచ్చు. కంప్యూటరు లోని భౌతిక విభాగాలన్నీ (అంటే మనం చేత్తో పట్టుకో దలుచుకుంటే మన పట్టుకి దొరికేవి) – అంటే తెర (screen), కుంచికపలక (keyboard), మూషికం (mouse), మొదలైనవన్నీ కఠినాంగాలే. పోతే, కఠినాంగం లేకుండా మృదులాంగానికి అస్తిత్వం లేదు. కాలు మోపడానికి కఠినాంగం ఆసరా లేకుండా కేవలం మృదులాంగం గాలిలో ఉందంటే అది దయ్యంతో సమానం అన్నమాట. ఈ రకం దయ్యాలని మనం “కంప్యూటరు వైరస్‌లు” (computer viruses) అనవచ్చు.

కంప్యూటరు పని చేసే తీరుకీ మనం వంటగదిలో వంట వండే తీరుకీ చాల దగ్గర పోలికలు ఉన్నాయి. మా ఇంట్లో ధాన్యం, దినుసులు, వగైరాలన్నీ కొట్టుగదిలో నిల్వ చేసుకుని, ఒక వారానికి కావలసిన సామానులు వంటగదిలో బీరువాలో పెట్టుకునేవాళ్లం. ఆ రోజుకి కావలసిన దినుసులు అప్పటికప్పుడు బయటకి తీసుకుని, తీనే మీద పెట్టుకుని, వంట చేసేవారు. ఇక్కడ, కంప్యూటరు పరిభాషలో, “తీనె”ని “కేష్” (cache) తోటీ, వంటగదిలో ఉన్న బీరువాని ప్రథమ స్థాయి కొట్టు (main memory) తోటీ, పొయ్యి మీద ఉన్న కలశాన్ని “ప్రోసెసర్” తోటీ పోల్చవచ్చు. అంటే నిజంగా కలనం (వంట) జరిగేది కలశంలో (గిన్నెలో) అన్న మాట. శంఖంలో పోస్తే కాని తీర్థం కాదు, కలశంలో వండితే కాని వంట కాదు, ప్రోసెసర్‌లో పడితే కాని కలనం కాదు కనుక మనం “ప్రోసెసర్”ని కలనకలశం అని కాని, కలశం అని కాని అందాం. ఇక్కడ “ప్రోసెసర్” (processor) అనేది కఠినాంగం, ఈ కఠినాంగంలో జరిగే కలనకలాపం (process) మృదులాంగం జరిపే ఒక ప్రక్రియ. ఈ “ప్రోసెస్” అన్న మాటకి చాల లోతైన అర్థం ఉంది. ఆ విషయం ఇక్కడ చర్చించడానికి వీలు పడదు.

1. సమాచారాన్ని ఎక్కడ నిల్వ చెయ్యడం?

మనం వంట చేస్తూన్నప్పుడు వంట సామగ్రి కోసం నిమిషనిమిషానికీ బజారుకి పరిగెట్టం కదా; వంటగదిలోనో, దగ్గరలో ఉన్న కొట్టు గదిలోనో దాచుకుంటాం. అలాగే వంట చేసే విధానాలు రాసిన పుస్తకం (పులుసు ఎలా చెయ్యాలో, పచ్చడి ఎలా చెయ్యాలో, అప్పాలు, అరిసెలు ఎలా చెయ్యాలో) కూడా వంట గదిలోనే అందుబాటుగా ఉంటే బాగుంటుంది కదా. అందుకని కలనయంత్రాలు కలనం చేస్తూన్నప్పుడు కావలసిన సరంజామా (అంటే దత్తాంశాలు, ఆదేశాలు) ఎక్కడో ఉంటే ప్రయోజనం లేదు; చేతికి అందుబాటులో ఉంటే బాగుంటుంది. అలాగని అన్నీ వంటగదిలో ఇమడవు కదా. అందుకని ముఖ్యంగా కావలసినవి, తరచుగా కావలసినవి దగ్గరగా పెట్టుకుంటాం; అప్పుడప్పుడు కావలసినవి కొట్టుగదిలో ఉంచుతాం, ఎప్పుడో కాని అవసరం లేనివి, అవసరం వెంబడి బజారుకి వెళ్లి తెచ్చుకుంటాం. అదే విధంగా కలన యంత్రాలు కూడా రకరకాల అమరికలతో కొంత సమాచారాన్ని దగ్గరగాను, కొంత సమాచారాన్ని దూరంగాను దాచుకుంటాయి. ఇలా తరతమ భేదాలని పాటిస్తూ సమాచారాన్ని నిల్వ చేసే పద్ధతిని నిల్వ సోపానక్రమం (storage hierarchy) అంటారు.

నిల్వ సోపానక్రమం (storage hierarchy) లో చేతికి అందుబాటులో దాచుకునే స్థలాన్ని కోశం (cache, కేష్) అంటారు. తరచుగా కావలసిన సమాచారాన్ని జోరుగా దాచుకుని (లేదా రాసుకుని), జోరుగా బయటకి తీసుకోడానికి (లేదా చదువుకోడానికి) వీలయే ప్రదేశాన్ని ప్రథమ స్థాయి కొట్టు (primary storage) అని అందాం. దీనినే ఇంగ్లీషులో మెయిన్ మెమరీ (main memory) అని కాని, రేం (RAM, Random Access Memory) అని కాని అంటారు. కలశంలో కలనం ఎంత జోరుగా జరుగుతోందో అంత జోరుగా ఈ కొట్టు సమాచారాన్ని కలశానికి అందజేయాలి. ఈ వివరాలన్నీ తరువాత చూద్దాం కాని ఒక్క విషయం ఇక్కడ గుర్తు పెట్టుకోవాలి. కంప్యూటరుకి విద్యుత్ సరఫరాని ఆపేసినప్పుడు ఈ ప్రాథమిక స్థాయి కొట్లో రాసుకున్న సమాచారం అంతా చెరిగిపోతుంది. కనుక కంప్యూటరుని “ఆఫ్” చేసేసే ముందు ఈ కొట్లో దాచుకున్న దస్త్రాలని (files ని) మరొక చోట ఎక్కడైనా, చెరిగిపోని చోట, దాచు (రాసు) కోవాలి. ఇలా మరొక చోట రాసుకుందికి వీలుగా, ప్రాథమిక స్థాయి కొట్టుకి దన్నుగా, ద్వితీయ స్థాయి కొట్టు (secondary storage) మరొకటి ఉంటుంది. ఈ ద్వితీయ స్థాయి కొట్టుని నిర్మించడానికి ప్రత్యేకంగా తయారు చేసిన పళ్లేల దొంతిని వాడతారు కనుక దీనిని ఇంగ్లీషులో “డిస్క్ స్టోరేజ్” (disk storage) అంటారు. మనం వాడుకునే కంప్యూటరులకి తప్పనిసరిగా ఒకటో, రెండో, ఈ రకం నిల్వ పళ్లేల సదుపాయాలు ఉంటాయి. వీటన్నిటి గురించి తరువాత నేర్చుకుందాం.

2. కలనయంత్రాలతో సమాచార రవాణా

కలనయంత్రాలు చేసే పని కలనం ఒక్కటే కాదు; అవి సమాచారాన్ని ఒక చోట నుండి మరొక చోటకి రవాణా కూడా చేస్తాయి. ఉదాహరణకి కొట్లో దాచుకున్న సమాచారాన్ని కలశం దగ్గరకి తీసుకురావాలి. కలనం జరిగిన తరువాత వచ్చిన సమాధానాలని మళ్లా కొట్లో దాచాలి. మనం కంప్యూటరు లోకి సమాచారాన్ని ఎక్కించాలంటే కుంచికపలక (keyboard) ద్వారా టైపుకొట్టినట్లు మీటలు నొక్కి ఎక్కించడం ఒక పద్ధతి. కుంచికపలక మీద మనం ఏ బొత్తాం (కుంచికం) నొక్కేమో అర్థం చేసుకుని ఆ బొత్తాం నిర్దేశించిన అక్షరాన్ని తెర మీద చూపించాలంటే సమాచారం రహదారుల వెంట రవాణా అవాలి. అనగా, ఆ బొత్తాం నిర్దేశించిన అక్షరం యొక్క ద్వియాంశ సంక్షిప్తాన్ని (binary code) కొట్లో దాచడానికి మరొక రహదారి కావాలి. ఈ రకం పనులని ఇంగ్లీషులో ఇన్‌పుట్/ఔట్‌పుట్ అంటారు. “ఇన్‌పుట్” అంటే లోపలికి రవాణా చెయ్యడం, ఔట్‌పుట్ అంటే బయటకి రవాణా చెయ్యడం. వీటిని తెలుగులో అంతర్యానం (input), బహిర్యానం (output) అని అనొచ్చు. కలనయంత్రాలకి కలనాంశాలని లోపలకి తీసుకోవడం, బయటకి వెలిగక్కడం అనే ఈ సామర్ధ్యత లేకపోతే మనం కంప్యూటరుతో సంభాషణలు జరపలేము.

కంప్యూటరులు మానవులతోటే సంభాషణలు జరపాలని నియమం ఏదీ లేదు. ఒక కంప్యూటరు మరొక కంప్యూటరుతో కాని, మరొక రకం యంత్రంతో కాని మాట్లాడవచ్చు. ఉదాహరణకి మనం ఎవరికైనా విద్యుల్లేఖ (E-mail) ద్వారా వార్త పంపినప్పుడు ఆ వార్తని గమ్యానికి సురక్షితంగా చేర్చడం కూడా సమాచార రవాణా పరిధిలోకే వస్తుంది. ఇలాంటి సందర్భాలలో కంప్యూటరు వాడుకలో ఉన్న టెలిఫోను వంటి వార్తాప్రసార (communications) సౌకర్యాల మీద ఆధార పడవచ్చు. అప్పుడు కంప్యూటరుని ఆ వార్తాప్రసార సాధనాలకి తగిలించడానికి “మోడెం” (modem) వంటి ఉపకరణాలు వాడతాం. మోడెం చేసే పని కంప్యూటరుకి అర్థం అయే సున్నలని, ఒకట్లని తీసుకుని టెలిఫోను తీగల మీద ప్రసారానికి అనుకూలమైన విద్యుత్ తరంగాలుగా మార్చడము (modulation), విద్యుత్ తరంగాల రూపంలో ఉన్న వాకేతాలు (signals) ని సున్నలు, ఒకట్లు గాను మార్చడం (demodulation). తీగలు లేకుండా నిస్‌తంతి (wireless) వార్తలని పంపేటప్పుడు కూడా మోడెం వాడొచ్చు. ఈ రోజుల్లో చాల మందికి ఇంట్లోను, బయట - ఎక్కడపెడితే అక్కడా – అంతర్జాలం (Internet) అందుబాటులో ఉంటోంది. అరచేతిలో ఇమిడే కంప్యూటరు సహాయంతో, తీగల బెడద లేకుండా వీరు సమాచారాన్ని పంపగలరు, అందుకోగలరు. రోజురోజుకీ మారుతూన్న ఈ సాంకేతిక రంగం గురించి ఏది రాసినా ఆ సిరా ఆరే వరకే ఆ రాతకి సార్థకత.

## ఆపరేటింగ్ సిస్టం

కంప్యూటరులో ముఖ్యమైన భాగాలు నాలుగు అని చెప్పుకోవచ్చు. మొదటిది కలనం జరిగే కలశం లేదా ఇంగ్లీషులో “ప్రోసెసర్” (processor). ఈ ప్రోసెసర్‌లో జరిగే కార్య కలాపాలని “ప్రోసెసింగ్” (processing) అనిన్నీ, ప్రత్యేకించి ఒక కార్యకలాపాన్ని ఉద్దేశించి చెప్పవలసి వచ్చినప్పుడు ప్రోసెస్ (process) అనిన్నీ అంటారు. సాంకేతికంగా వీటన్నిటికి లోతైన అర్థాలు ఉన్నాయి కనుక వీటిని కొంచెం జాగ్రత్తగా నిర్వచించి విపులీకరించ వలసిన అవసరం ఉంది.

ముందు “ప్రోసెస్” (process) అనే ఇంగ్లీషు మాటనే తీసుకుందాం. కాలగమనంతో ఒక పద్ధతిలో మార్పు చెందుతూ నడిచే ప్రక్రియని ఇంగ్లీషులో “ప్రోసెస్” అంటారు. దీనిని ప్రక్రియ లేక పరికర్మ అని తెలుగులో అనొచ్చు. ఈ ప్రక్రియ లేదా పరికర్మ ఎవరో ఒకరో, ఏదో ఒకటో చెయ్యాలి కద. “డ్రైవు" చేసే దానిని డ్రైవర్ అన్నట్లే "ప్రోసెస్" చేసేదానిని ప్రోసెసర్ అంటారు. దీనిని మనం తెలుగులో ప్రక్రియకారి అనో పరికర్మరి అనో అనాలి. (మనకి తెలుగులో ఈ రకం ప్రయోగాలు లేకపోలేదు. అల్లేవాడు అల్లుడు, జాలంతో పని చేసే వ్యక్తి జాలరి, కుండలు చేసేవాడు కుమ్మరి, మొదలైనవి.) ఈ రోజుల్లో చూపుడు వేలు గోరంత పరిమాణం ఉన్న చిన్న సిలికాన్ చితుకు (silicon chip) మీద ఈ పరికర్మరి అంతా పట్టెస్తుంది కనుక దీనిని “సూక్ష్మపరికర్మరి” అని కూడా అనొచ్చు. దీనినే మైక్రోప్రోసెసర్ (microprocessor) అని ఇంగ్లీషులో అంటారు. “మైక్రో” అంటే సూక్ష్మమైన అని అర్థం. “నయా పైస” కాలక్రమేణా పైస అయినట్లు ఈ రోజుల్లో “మైక్రో” అన్నా అనకపోయినా పరవాలేదు. ఈ కర్మరి లోనే లెక్కలు అన్నీ జరుగుతాయి.

పోతే, రెండవ భాగం పేరు కొట్టు లేదా కోఠీ (store) లేదా ధారణి (memory). ఈ కొట్టు రూపురేఖలు కూడా సాంకేతిక రంగంలో జరుగుతూన్న విప్లవాలతో మారుతున్నాయి. పూర్వం అయస్కాంతపు ఉంగరాలు, టేపులు, పళ్లేలు, చిల్లుల కాగితపు టేపులు వాడేవారు. ఇప్పుడు సిలికాన్ చితుకులు, లేసర్‌తో చదవగలిగే పళ్లేలు వాడుకలోకి వచ్చేయి. ఇక్కడ సాంకేతికమైన వివరాలు చాలా చెప్పుకోవచ్చు. సాంకేతికమైన మార్పులకి అతీతంగా కోఠీలని తార్కికమైన దృష్టితో సందర్శించడం మంచిది. తార్కికంగా కొట్టు అమరికని పోస్టాఫీసుల్లో ఉత్తరాలు బట్వాడా చెయ్యడానికి వాడే గదుల బీరువాలా ఉహించుకోవచ్చు. ప్రతి గదికి ఒక చిరునామా లేదా విలాసం (address) ఉంటుంది. ప్రతి గదిలోను ఒక అష్టా (అంటే, ఎనిమిది ద్వింకముల మాల) పడుతుందని అనుకుందాం.

పైన ఉదహరించిన రెండు అంశాలు మనకి సాధారణంగా బయటకి కనపడవు; డబ్బా లోపల ఎక్కడో ఉంటాయి. కనపడినా, చూడడానికి చిన్న చిళ్ల పెంకులాగో, పళ్లేల దొంతరలాగో కనిపిస్తాయి తప్ప, చూసినంత మాత్రాన అవి పని చేసే విధానం అవగాహన కాదు.

మూడు, సమాచారాన్ని లోపలికి పంపడానికీ, బయటకి తియ్యడానికి కావలసిన సదుపాయాలు. ఇవి రకరకాలుగా ఉండొచ్చు. వీటన్నిటిని కలిపి ఇంగ్లీషులో input/output అంటారు. తెలుగులో అంతర్యానం/ బహిర్యానం అన్నాం ఇదివరలో. మనం ఏ కంప్యూటరుతో ఏ పనిచేసినా వీటి మధ్యవర్తిత్వం ఉంటుంది కనుక ఇవి మనకి పరిచయమైన తెర (screen), ముద్రాపకి (printer), కుంచికపలక (keyboard), మూషికం (mouse), కేమెరా, మోడెం, వగైరా రూపాలలో కనిపిస్తాయి. ఇవి కాకుండా సమాచార రవాణాకి రహదారులు ఉంటాయి. ఇవి చూడడానికి రకరకాల ఆకారాలలో ఉన్న తీగలలా ఉంటాయి. వీటిని ఇంగ్లీషులో “బస్” (bus) అంటారు. ఈ “బస్” అనే పదం లేటిన్ లోని “ఆమ్నిబస్” (omnibus) అనే మాటకి సంక్షిప్తమే తప్ప మనం ప్రయాణం చేసే బస్సుకీ దీనికీ ఏ విధమైన సంబంధమూ లేదు. “ఆమ్నిబస్” అంటే “అందరికీ” అని అర్థం. విద్యుత్తుని అందరికి పంచి ఇచ్చే సాధనం కనుక మొదట్లో (అంటే, కంప్యూటరు యుగానికి ముందే) దీనికి ఆ పేరు వచ్చింది. కంప్యూటరు రంగంలో ఈ మాటకి అర్థం, “విద్యుత్ వాకేతాలని అన్నిచోట్లకి తీసుకెళ్లే రహదారి” అని చెప్పుకోవచ్చు. అంటే వాకేతాలు ప్రవహించే తీగల కట్ట. స్వయంబోధకంగా ఉంటే బాగుంటుంది కనుక మనం “బస్”ని అందాకా “తీగలకట్ట” (చీపురుకట్టలా) అందాం. సంస్కృతం మీద అభిమానం ఉన్నవాళ్లు దీనిని “తంతివారం” అనొచ్చు.

ఈ మూడు కఠినాంగం లేక “హార్డ్‌వేర్” (hardware) కోవ లోకి వస్తాయి. ఈ మూడు కాకుండా కంటికి కనబడని నాలుగో భాగం ఒకటి ఉంది. ఇది కలనకలశంలో కూర్చుని కథ నడిపిస్తుంది. కంప్యూటరులో ఉన్న అన్ని భాగాలు, ఎప్పుడు, ఎలా పనిచెయ్యాలో ఇది నిర్ణయిస్తుంది. అంటే పెత్తనం దీనిది. నిరవాకం దీనిది. దీని పర్యవేక్షణలోనే కంప్యూటరు నడుస్తుంది. చూద్దామంటే కనబడదు. పట్టుకుందామంటే పట్టుబడదు. ఇలా సర్వశక్తి సంపన్నమైన ఈ “ఇది”ని ఇంగ్లీషులో “ఆపరేటింగ్ సిస్టం” అంటారు. దీనిని తెలుగులో ఉపద్రష్ట అనొచ్చు లేదా నిరవాకి అనొచ్చు. లేదా నిర్వహణ వ్యవస్థ అనొచ్చు. ఉపద్రష్ట అంటే యజ్ఞయాగాదులని దగ్గర ఉండి నడిపించే వ్యక్తి. నిరవాకి అంటే నిరవాకం చేసేది. ఈ నిరవాకి మృదులాంగం (లేదా కోమలాంగం, లేదా software) కోవలోకి వస్తుంది.

కఠినాంగాన్ని ఒక భవనపు పునాదితో పోల్చితే, ఈ నిరవాకిని గోడలు, తలుపులు, మెట్లు వగైరాలతో పోల్చవచ్చు. పునాదులు లేకుండా గోడలని లేవనెత్తలేము. పునాదులు, గోడలు, గదులు, గుమ్మాలు, టొపారం ఉంటే ఏవో కొన్ని కనీస అవసరాలని తీర్చుకోవచ్చేమో కాని భవనం పూర్తిగా ఉపయోగం లోకి రాదు; అది ఒక డొల్ల (shell) మాత్రమే. ఆ “డొల్ల” భవనాన్ని ఎవరికి కావలసిన హంగులతో వారు మలుచుకోవాలి. కొందరు ఆ భవనాన్ని పాఠశాలగా వాడుకోవచ్చు. మరొకరు అదే భవనాన్ని నివాసయోగ్యమైన ఆవాసికలు (apartments or flats) గా విడగొట్టి వాడుకోవచ్చు. వేరొకరు అదే భవనాన్ని కచేరీగానో, ఆసుపత్రిగానో వాడుకోవచ్చు. అంటే ఎవరికి కావలసిన సదుపాయాలు వారు కొనుక్కుని, ఆ డొల్లలో అమర్చుకుని, ఆ భవనాన్ని వాడుకోవాలి. ఈ రకం సదుపాయాలని అనువర్తనాలు (ఇంగ్లీషులో applications అని కాని applications programs అని కాని) అంటారు. బ్రౌజరు (browsers), ఇ-మెయిలు (E-mail), “పద పరికర్మరి” (word processor), స్ప్రెడ్‌షీట్లు (spreadsheets), పవర్‌పోయింట్ (powerpoint), వగైరాలన్నీ ఈ కోవకి చెందుతాయి. ఈ అనువర్తనాలు అన్నీ, అందరికీ అవసరం ఉండవు. ఎవరికి కావలసినవి వారు కొనుక్కుని, కలనయంత్రంలో కీల్కొల్పుకుని (install చేసుకుని) వాడుకుంటారు.

పూర్వపు రోజుల్లో మైక్రోసాఫ్ట్ (Microsoft) కంపెనీ వారు అమ్మిన నిరవాకిని “డిస్క్ ఆపరేటింగ్ సిస్టం” (Disk Operating System) లేదా ముద్దుగా “డాస్” (DOS) అనేవారు. దీనినే MS-DOS అని కూడా అంటారు. ఆ రోజుల్లో ఈ నిరవాకి చేసే పని, ముఖ్యంగా, పరికర్మరి (లేదా కలనకలశం) లో ఉన్న దస్త్రాలు (files) తీసుకుని వాటిని కొట్లో పళ్లేల మీద రాయడం, అక్కడ నిల్వలో ఉన్న దస్త్రాలని పరికర్మరి లోకి తీసుకు రావడం. అందుకని ఆ రోజుల్లో ఆ పేరు సరిపొయింది. ఈ రోజుల్లో నిరవాకి ఇంకా ఎన్నో పనులు చేస్తుంది; కంప్యూటరు డబ్బాలో ఉన్న కఠినాంగాలకీ, వినియోగదారులు (users) కి మధ్య ఒక వారధిలా పనిచేస్తుంది.

ఈ రోజుల్లో బాగా ప్రచారంలో ఉన్న నిరవాకులు చాల ఉన్నాయి. వాటిల్లో కొన్ని పేర్లు: విండోస్-ఎన్‌టి (Windows NT), ఒ-ఎస్/2 (OS/2), యూనిక్స్ (Unix), డాస్/విండోస్ (DOS/Windows), విండోస్ 2000 (Windows 2000), మొదలైనవి. “విండోస్ 2000” వంటి నిరవాకి ఉండడం వల్లనే మనం కీబోర్డు (కుంచికపలక) మీద టైపు కొట్టిన అక్షరాలు వెనువెంటనే తెర మీద కనిపిస్తున్నాయి. ఈ నిరవాకి ఆధ్వర్యం లోనే మూషికాన్ని ఒక్క సారి “క్లిక్” చెయ్యగానే ముద్రాపకి కాగితం మీద అచ్చుకొట్టడం మొదలు పెడుతుంది. ఈ నిరవాకి ప్రమేయం లేకుండా విద్యుల్లేఖలు (E-mails) పంపలేము. నిరవాకి చేసే ఈ చాకిరీ అంతా మన అనుభవ పరిధిలో ఉన్న పనులు. మనకి తెలియకుండా మరెన్నో సాంకేతికమైన ఇంటి పనులు (housekeeping operations) నిరవాకి నేపథ్యంలో చేసుకు పోతూ ఉంటుంది. ఇవన్నీ అవసరం వెంబడి తెలుసుకుందాం.

ఈ పనులన్నీ చెయ్యడానికి నిరవాకికి తోడు ఉంది. నిరవాకితో చేతులు కలిపి సహాయం చేసే వాటిల్లో ముఖ్యమైనదానిని ఇంగ్లీషులో “బయాస్” (BIOS) అంటారు, అంటే Basic Input Output System అని అర్థం. ఈ బయాస్‌లో శాశ్వతంగా నిలచిపోయే రీతిలో కొన్ని ఆదేశాలు ఉంటాయి. అంటే ఈ రకం కొట్లో ఉన్న దత్తాంశాలు, ఆదేశాలు మనం చదవగలం కాని, ఉన్న వాటిని చెరిపేసి కొత్తవి రాయలేము. అందుకని బయాస్ నిర్మాణానికి వాడే సాధనాలలో CD-ROM (అంటే, Compact Disk – Read Only Memory) ముఖ్యమైనది. దీని “నిల్వ చేసే సామర్ధ్యం” దరిదాపు 680 MB (అంటే, 680 మిలియను అష్టాలు) వరకు ఉంటుంది. మాంత్రికుడి ప్రాణం చిలకలో ఉన్నట్లు, కంప్యూటరు ప్రాణం ఈ బయాస్‌లో ఉంటుందనుకోవచ్చు. ఇందులో ఉన్నవి ఏ కారణం వల్లనైనా చెరిగిపోతే, కంప్యూటరు ప్రాణం పోయినట్లే. అందుకనే చెరపడానికి వీలుకాని కొట్లో బయాస్ క్రమణికలు దాచుతారు.

బయాస్‌లో దాచిన ఆదేశాలు అటు కఠినాంగాలకీ, ఇటు నిరవాకికీ మధ్యవర్తిలా పని చేస్తాయి. ఉదాహరణకి నిరవాకిని నడిపే మృదులాంగం నకలు ఒకటి పళ్లెం మీద ఉంటుంది. కంప్యూటరుని “ఆన్” చెయ్యగానే ఈ మృదులాంగం లోని కొన్ని ముఖ్యమైన క్రమణికలు (programs) ప్రాథమిక స్థాయి కొట్లోకి రావాణా కావాలి. ఈ పని చెయ్యడానికి కావలసిన ఆదేశాలు బయాస్‌లో ఉంటాయి. మరొక ఉదాహరణ. కంప్యూటరుని “ఆన్” చేసిన వెంటనే మనం కీబోర్డు మీద ఏదో టైపు చెయ్యవలసిన అవసరం వస్తుంది. అంటే అంతవరకు ప్రాణం లేకుండా పడున్న కుంచికపలకకి ప్రాణం పోసి లేవగొట్టాలి. ఇలా లేవగొట్టడానికి కావలసిన క్రమణికలని “కుంచికపలక చోదరి” (keyboard driver) అంటారు. దీనిని కూడా బయాస్ లోనే దాచి ఉంచుతారు. ఇలాగే కంప్యూటరుతో సంభాషించడానికి కావలసిన మృదులాంగ చోదరులు (software drivers) అన్ని కూడా బయాస్ లోనే నిక్షిప్తమై ఉంటాయి. ఇదే విధంగా పళ్లెం మీద నిక్షిప్తం అయి ఉన్న నిరవాకిలోని క్రమణికలు అవసరం వెంబడి ప్రాథమిక స్థాయి కొట్లోకి రవాణా చెయ్యడానికి కావలసిన క్రమణికలు కూడా ఈ బయాస్ లోనే దాచుకోవాలి. ఇంటికి తీసుకెళ్లవలసిన అంశం. నిరవాకి లేదా ఉపద్రష్ట లేదా ఆపరేటింగ్ సిస్టం లేని కఠినాంగం (hardware) ప్రాణం లేని కట్టె లాంటిది. రెండూ ఉంటేనే ఏ పని అయినా చెయ్యగలిగే స్తోమత వస్తుంది.

కంప్యూటరు
## కంప్యూటరులు చెయ్యగలిగే పనులు

ఈ రోజుల్లో కంప్యూటరుల చేత మనం చేయించలేని పనులు లేవు. కంప్యూటరుల సహాయం లేకుండా రైల్వే రిజర్వేషన్లు జరగవు, విమానాలు నడవవు, రాకెట్లు ఎగరవు, బేంకులో డబ్బు ధరావరతు కాదు, కార్లు నడవవు, కర్మాగారాలు నడవవు, టెలిఫోనులు పని చెయ్యవు, ఆఖరికి కంప్యూటరుల సహాయం లేకుండా కొన్ని శస్త్ర చికిత్సలు కూడా జరగవు. కంప్యూటరులు ఆగిపోతే ఆధునిక సమాజం ఆగిపోతుంది. కంప్యూటరులు ఇంత ప్రతిభ చూప గలుగుతున్నాయంటే దానికి కొన్ని ముఖ్య కారణాలు ఉన్నాయి. అవి:

* కంప్యూటరులు అత్యంత వేగంతో పని చేస్తాయి.
* అలుపు లేకుండా చేసిన పనినే పదే పదే చెయ్యగలవు.
* చేసే పని తప్పులు లేకుండా చేస్తాయి.

వచ్చిన చిక్కల్లా కంప్యూటరులు ఎప్పుడు ఏ పని చెయ్యాలో అంతా మనం అరటిపండు ఒలిచినట్లు విడమర్చి చెప్పాలి. మనం చెప్పటంలో తప్పుంటే కంప్యూటరు తప్పు చేస్తుంది కాని తనంత తాను తప్పు చెయ్యదు.

కంప్యూటరు ఎప్పుడు ఏమిటి చెయ్యాలో విడమర్చి చెప్పే ఆదేశాలని ఇంగ్లీషులో instructions అని కాని commands అని కాని అంటారు. ఇలా ఆదేశాలని ఒక క్రమంలో రాసినప్పుడు దానిని తెలుగులో 'క్రమణిక' అనిన్నీ ఇంగ్లీషులో ప్రోగ్రామ్‌ (program) అని అంటారు. ఇలా ప్రోగ్రాములు రాసే ప్రక్రియని ప్రోగ్రామింగ్ (programming) అంటారు. ఈ ప్రోగ్రాములు రాసే వ్యక్తిని ప్రోగ్రామర్‌ (programmer) అంటారు. కంప్యూటరులో రకరకాల పనులు చెయ్యటానికి రకరకాల క్రమణికలు వాడతారు. ఒకొక్క రకం ప్రోగ్రాముకు ఒకొక్క పేరు ఉంటుంది. ఉదాహరణకి ఎసెంబ్లర్‌, కంపైలర్‌, ఆపరేటింగ్‌ సిస్టమ్‌, మొదలైనవి కొన్ని రకాల ప్రోగ్రాములు. ఈ ప్రోగ్రాములన్నిటిని కలిపి ఇంగ్లీషులో సాఫ్‌ట్‌వేర్‌ (software) అంటారు. ఇలా ప్రోగ్రామర్లు రాసిన సాఫ్‌ట్‌వేర్‌ని కంప్యూటరు లోనే ఒకచోట భద్రపరుస్తారు. ఇలా భద్రపరచిన ప్రదేశాన్ని కొట్టు (store or memory) అంటారు. ఈ కొట్టు గదిలో దాచిన సాఫ్‌ట్‌వేర్‌ లోని ఆదేశాలని ఒకటీ ఒకటి చొప్పున కంప్యూటరు బయటకి తీసి, చదివి, అర్ధం చేసుకొని, ఆ ఆదేశాన్ని ఆచరణలో పెడుతుంది. ఇదంతా దరిదాపు విద్యుత్‌వేగంతో జరిగిపోతుంది. సెకెండుకి మిలియను ఆదేశాలని ఆచరణలో పెట్టగలిగే కంప్యూటరులు సర్వసామాన్యం.

కంప్యూటరులని రెండు విభిన్న కోణాల నుండి అధ్యయనం చెయ్య వచ్చు. మనిషికి స్థూలమైన భౌతిక శరీరం, కంటికి కనిపించని సూక్ష్మమైన ఆత్మ ఉన్నట్లే కంప్యూటరులకి స్థూలకాయం (హార్డ్‌వేర్‌), సూక్ష్మకాయం (సాఫ్ట్‌వేర్) అని రెండు భాగాలు ఉన్నాయి. సూక్ష్మ కాయం నివసించడానికి స్థూలకాయం కావాలి. అలాగే సూక్ష్మ కాయం లేక పోతే స్థూలకాయం ప్రాణం లేని కట్టె లాంటిది.

సిద్ధాంతపరంగా చూస్తే ఎటువంటి సమాచారమునయినా సంవిధానపరుచుటకు మనము కంప్యూటరులను ఉపయోగించవచ్చు. చర్చి-టూరింగు సిద్దాంతం ప్రకారం, ఒక నిర్దేశిత కనీస సామర్థ్యము ఉన్న కంప్యూటరుతో - అది పాకెటు డైరీ కానీవండి లేదా పెద్ద సూపరు కంప్యూటరు కానీయండి - మనము చేయగలిగే ఎటువంటి కార్యమునయినా నియంత్రించవచ్చు. కాబట్టి ఒకే రూపకల్పనను మనము వివిధ కార్యములను నెరవేర్చేటందుకు మలచవచ్చు. అవి కంపెనీలో జీతాల జాబితాలను నియంత్రించేది కావచ్చు లేదా ఫ్యాక్టరీలలో యంత్రాలను పనిచేయించే రాబోటులను నియంత్రించేవి అయినా అవచ్చు.

## కంప్యూటరు పనిచేయు విధానం: భద్రపరిచిన ప్రోగ్రాం అనే ఊహ

కంప్యూటరుకు సంబంధించిన సాంకేతిక అంశాలు ఎన్ని మార్పులు చెందినా, 1940ల నుండి ఇప్పటి వరకు మార్పు చెందనిది ఈ "స్టోర్డ్ ప్రోగ్రాం ఆర్కిటెక్చరు" ('భద్రపరిచిన ప్రోగ్రాము' అనే ఊహపై ఆధారపడ్డ నిర్మాణము) మాత్రమే. దీనిని "ఫాన్ నోయిమన్ రూపశిల్పం" (von Neumann architecture) అని కూడా పిలుస్తారు. ఈ రూపకల్పన వలన కంప్యూటరు అనేది ఒక వాస్తవ రూపము దాల్చగలిగింది. ఈ నిర్మాణము ప్రకారము మనము కంప్యూటరును నాలుగు ముఖ్య భాగములుగా విభజించవచ్చును. ఈ భాగములనన్నిటిని అనుసంధానించుటకు 'బస్' అను తీగల కట్టను ఉపయోగిస్తారు. వీటిని ఒక క్రమపద్ధతిలో నడిపించుటకు 'టైమరు' లేదా గడియారము అను ఒక వ్యవస్థను ఉపయోగిస్తారు.

ఉదాహరణ

ఒక ట్రాఫిక్ లైటు - ప్రస్తుతం ఎరుపు చూపిస్తుంది.
పెద్ద పట్టణాలలో, నాలుగు వీధుల మొగలలో సంచార దీపాలు (traffic lights) వాడుతున్నారు ఈ రోజుల్లో. సాధారణంగా ఈ సంచార దీపపు గుత్తిలో మూడు దీపాలు ఉంటాయి: ఎరుపు, పసుపు, ఆకుపచ్చ. ఎదురుగా ఎర్ర దీపం కనిపిస్తూ ఉన్నంత సేపూ వాహనాలు ఆగి ఉండాలి. ఎదురుగా పసుపుపచ్చ దీపం కనిపిస్తే త్వరగా కూడలి (junction)లో ఉన్న వాహనాలు కూడలిని ఖాళీ చెయ్యాలి, కూడలిలో లేనివి కూడలి లోపలికి ప్రవేశించ కూడదు. ఎదురుగా ఆకుపచ్చ దీపం కనిపిస్తూ ఉన్నంత సేపూ వాహనాలు స్వేచ్ఛగా కూడలి గుండా పోవచ్చు. ఇవీ నిబంధనలు. ఇంతే కాకుండా ఎర్ర దీపం నిమిషం పాటు వెలగాలి. పసుపు దీపం మూడు సెండ్లు వెలగాలి. పచ్చ దీపం నిమిషం పాటు వెలగాలి. ఏ రెండు రంగుల దీపాలు ఒకే సారి వెలగ కూడదు అని కూడా నిబంధనలు విడమర్చి చెపుదాం.

ఇప్పుడు ఆ సంచార దీపాన్ని నియంత్రించటానికి ఒక క్రమణిక (program) ఈ కింది విధంగా రాయవచ్చు.

* 1. ముందు మూడు దీపాలనీ ఆర్పు
* 2. ఎర్ర దీపం వెలిగించు
* 3. నిమిషం సేపు వెలగనీ
* 4. ఎర్ర దీపం ఆర్పు
* 5. ఆకుపచ్చ దీపం వెలిగించు
* 6. నిమిషం సేపు వెలగనీ
* 7. ఆకుపచ్చ దీపం ఆర్పు
* 8. పసుపుపచ్చ దీపం వెలిగించు
* 9. మూడు సెకండ్లు సేపు వెలగనీ
* 10. పసుపుపచ్చ దీపం ఆర్పు
* 11. 2 వ అంచె దగ్గరకి వెళ్ళు.

ఈ క్రమణికలో పదకొండు ఆదేశాలు (instructions) ఉన్నాయి. కంప్యూటరు ఈ పదకొండు ఆదేశాలనీ ఒక దాని తరువాత మరొకటి అమలు పరుస్తూ, అలా అంతు లేకుండా పనిచేస్తుంది.

## కంప్యూటరు పనిచేయు విధానం: ప్రోగ్రాం ఎలా పని చేస్తుంది?

కంప్యూటరు సమాచారాన్ని బక్షించి, మర్దనా చేసి, రంగరించి, జీర్ణించికుని, కొత్త సమాచారాన్ని మనకి ఇస్తుందని చెప్పుకున్నాం. మచ్చుకి ఈ ప్రశ్నలు చూడండి: బయట ఎన్ని డిగ్రీలు వేడిగా ఉంది? కారు ఎంత జోరుగా పరిగెడుతోంది? ఫలానా వాడి వయస్సు ఎంత? సాధారణంగా ఈ రకం ప్రశ్నలకి నిర్దిష్టంగా సమాదానాలు చెప్పడం కుదరదు. వయస్సు ఎంత అంటే ఏ 26 అనో 33 అనో చెబుతాం. చిన్న పిల్లలని అడిగితే మూడున్నర ఏళ్లు అని చెప్పినా ఆశ్చర్యపోము. కాని నిజానికి మన వయస్సు క్షణక్షణానికీ పెరుగుతూ ఉంటుంది. కాని మనం సాధారణంగా “నా వయస్సు 33 ఏళ్ల, ఆరు నెలల, మూడు రోజుల, ఎనిమిది గంటల, మూడు నిమిషాల,…. అంటూ చెప్పం. ఇలా సమాచారాన్ని కత్తిరించి కుదిమట్టంగా గుళికలలా చెయ్యడాన్ని “గుళికరించడం” (quantization) అందాం. ఇటుపైన ఉష్ణోగ్రత, వయస్సు, వేళ, మొదలైనవి కంప్యూటరులోకి ఎక్కించవలసి వచ్చినప్పుడు వాటిని కత్తిరించి, గుళికరించి వాడదాం. గుళికరించగా వచ్చిన సంఖ్యలని అదే పళంగా కంప్యూటరు వాడుకోలేదు. ఉదాహరణకి 33.14 అనే సంఖ్యనే తీసుకుందాం. దీన్ని గుళికరించి 33 చేసి ఆ పళంగా కంప్యూటరుకి ఇస్తే దానికి అర్థం కాదు. అందుకని ఆ 33 ని 100001 అని ఒకట్లు, సున్నలు ఉన్న పద్ధతిలో రాసి కంప్యూటరుకి ఇవ్వాలి.

మనం కంప్యూటరులో దత్తాంశాలు (data), ఆదేశాలు (instructions or commands) దాచినప్పుడు వాటిని ఎక్కడ దాచేమో తెలియాలి కదా. అందుకని కొట్టు (store or memory) అనే గదిని అరల పెట్టెలా ఊహించుకుందాం. అంటే, పోస్టాఫీసులో ఉత్తరాలు బట్వాడా చేసే బీరువాలా కాని, పోపు సామానులు దాచుకునే పెట్టెలా కాని ఉంటుందని ఊహించుకుందాం. ప్రతి “అర”కి ఒక చిరునామా లేదా విలాసం (address) ఉంటుంది. ప్రతి అర ఒక అష్టా (byte) పొడవు ఉంటుంది అని కూడా ఊహించుకుందాం. అంటే, ప్రతి అర లోనూ 8 ద్వింకములు (bits) పొడుగున్న సంఖ్య పడుతుంది. ఇలాంటి అరలు 1024 ఉంటే వాటిల్లో సున్న నుండి 1023 వరకు, మొత్తం 1024 ఏకైక ద్వియాంశ సంఖ్యలని దాచవచ్చు. కనుక అష్టా పొడుగున్న అరల పెట్టేలలో 0, 1, 2, 3, 4,…, 9 వరకు అంకెలు, A, B, C, D, …, Z వరకు పెద్ద బడిలో అక్షరాలు, a, b, c, d, …, z అనుకుంటూ చిన్న బడిలో అక్షరాలు, !, @, $, ^, &, \*, (, ), \_, +, -, /, <, >,? వంటి చిహ్నాలు సునాయాసంగా దాచవచ్చు. ఈ శాల్తీ (character) లు అన్నీ కలుపుకున్నా 1024 కంటె తక్కువే ఉంటాయి కనుక ఇవి సునాయాసంగా మన కొట్లో పడతాయి. పట్టగా ఇంకా ఖాళీలు కూడా మిగిలిపోతాయి.

ఇప్పుడు ఒక ఒప్పందం చేసుకుందాం. ఏమిటా ఒప్పందం? : 0 ని 0000 0000 గాను, A ని 01000 0001 గాను, M ని 1101 0101 గాను అనుకుంటూ, కుంచికపలక (keyboard) మీద కనిపించే ప్రతి శాల్తీని ఒక ఏకైక పద్ధతిలో, ద్వియాంశ మాల (binary string) రూపంలో రాద్దాం. అలా రాసినప్పుడు కుంచికపలక మీద ఉన్న కొన్ని శాల్తీలు ఎలా ఉంటాయో ఈ దిగువ పట్టికలో చూడండి. దీనినే ASCII code అంటారు. ఈ సున్నలని, ఒకట్లని పదే పదే రాయడం కష్టం కనుక వీటిని షోడశాంశలో ఎలా రాయవచ్చో కూడా చూపించేను.

|  |  |  |
| --- | --- | --- |
| దశాంశ
 | ద్వియాంశ
 | షోడశాంశ
 |
| 0
 | 0000 0000
 | 00
 |
| 1
 | 0000 0001
 | 01
 |
| 2
 | 0000 0010
 | 02
 |
| A
 | 0100 0001
 | 41
 |
| B
 | 0100 0010
 | 42
 |
| M
 | 1101 0101
 | D5
 |
| a
 | 0110 0001
 | 61
 |
| b
 | 0110 0010
 | 62
 |

ఉదాహరణ

ఉదాహరణకి చాల చిన్న కంప్యూటరులలో “ముద్రాపకి” (printer) విలాసం షోడశాంశలో 378 అయి ఉండడం రివాజుగా వస్తూన్న ఆచారం. అంటే మనం అచ్చు కొట్టవలసిన అక్షరాన్ని ఈ విలాసం ఉన్న గదిలో దాచి, “ఇప్పుడు ముద్రించు” అని ఆదేశం ఇచ్చేమంటే కంప్యూటరు తిన్నగా 378 విలాసం ఉన్న గదిలోకి వెళ్లి, అక్కడ ఏది కనిపిస్తే దాని నకలు తీసుకుని ఆ నకలుని ముద్రాపకికి పంపుతుంది. ఇదీ టూకీగా కంప్యూటరు పని చేసే విధానం.

ఇప్పుడు కంప్యూటరు ఎలా పనిచేస్తుందో మరి కొంచెం వివరంగా చెప్పడానికి ఒక చిన్న ఉదాహరణతో చెబుతాను. ఈ వివరణ ఒకటికి రెండు సార్లు చదివితే కాని గభీమని అర్థం కాదు. కొంచెం ఓపిక పట్టి చదవాలి.

ఒక కథో, వ్యాసమో రాసే ఉద్దేశంతో కంప్యూటరు ఎదురుగా కూర్చుని, కుంచికపలక (keyboard) మీద M అనే ఇంగ్లీషు అక్షరం ఉన్న కుంచిక (key) ని నొక్కేమని అనుకుందాం. అప్పుడు ఆ M అనే అక్షరం తెర మీద కనిపించడానికి ఎంత తతంగం ఉందో చవి చూద్దాం.

1. కుంచికపలక మీద ఒక బొత్తాం నొక్కినప్పుడు ఈ దిగువ చెప్పిన సంఘటనలు, ఒక దాని తరువాత మరొకటి, జరుగుతాయి. సాంకేతిక పదజాలంతో కూడిన ఈ వర్ణన చదవగానే అర్థం కాకపోతే కంగారు పడవద్దు. ఈ వివరణ ఇంగ్లీషులో రాసినా గభీమని అర్థం కాదు; ఎందుకంటే భావజాలం కొత్తది కావడం వల్ల.

2. కుంచికపలక ఒక విద్యుత్ వాకేతం (signal) ని కంప్యూటరు పెట్టెలో ఉన్న అనేకమైన విభాగాలలో ఒక విభాగానికి పంపుతుంది. వాకేతం అంటే వార్తకి సంకేతం. ఈ సందర్భంలో ఈ వాకేతాన్ని ఇంగ్లీషులో స్కేన్ కోడ్ (scan code) అంటారు. M కి బదులు 6 ఉన్న బొత్తాన్ని నొక్కితే మరొక వాకేతం (అంటే మరొక scan code) పుడుతుంది. అంటే మనం నొక్కే ప్రతి బొత్తానికి ఒక ఏకైక (unique) స్కేన్ కోడ్ కేటాయించబడి ఉంటుందన్న మాట. సర్వసాధారణంగా ఈ స్కేన్ కోడ్ ASCII కోడు అవుతుంది. (ఒక వాకేతాన్ని అంకెల రూపంలో మార్చి రాసినప్పుడు దానిని మనం “కోడు” అందాం.)

3. కంప్యుటర్ పెట్టె లోపల ఈ స్కేన్ కోడ్ ని అర్థం చేసుకో గలిగే స్తోమత గల గోరంత పరిమాణం గల చిన్న సిలికాన్ చితుకు (chip) ఉంటుంది. ఈ చితుకు చూడడానికి చితికిపోయిన చిల్లపెంకులా కాని, పలక ముక్కలా కాని ఉంటుంది. ఈ చితుకులో, కంటికి కనబడని పరిమాణంలో, వందలాది ట్రాన్‌సిస్టర్లు ఉంటాయి. ఈ ట్రాన్సిస్టర్ల సహాయంతో ఈ చితుకు కుంచికపలక కార్యకలాపాలని నియంత్రిస్తుంది కనుక ఈ చితుకుని “కుంచికపలక నియంత్రణి” (keyboard controller) అంటారు. ఈ చితుకు ఈ స్కేన్ కోడ్ ని చదివి, అర్థం చేసుకుని, M అనే అక్షరం ఉన్న మీట మనం నొక్కేమని నిర్ద్వందంగా నిర్ధారిస్తుంది.

4. అప్పుడు ఆ “స్కేన్ కోడ్”ని ఒక అరలో తాత్కాలికంగా దాచుతుంది. ఇలా తాత్కాలికంగా దాచుకుందికి వాడే అరలని ఇంగ్లీషులో “బప్ఫర్” (buffer) అంటారు. ఈ బప్ఫర్ అనే మాట అనేక రంగాల్లో వస్తూ ఉంటుంది. రెండు పెద్ద రాజ్యాల మధ్య ఉండే బడుగు దేశాలని “బప్ఫర్” అనొచ్చు. భారతదేశం, చైనాల మధ్య ఉన్న నేపాలు, భూటాను బప్ఫర్ రాజ్యాలు. అలాగే మందు తీక్షణతని అదుపులో పెట్టడానికి వాడే ఘటక ద్రవ్యాలని బప్ఫర్ అంటారు. చిన్నప్పుడు తరగతిలో కూర్చుని విన్న పాఠాన్ని చిత్తు పుస్తకంలో రాసుకుని ఇంటికొచ్చి “మంచి పుస్తకం”లో తిరగ రాసుకునే పద్ధతిలో చిత్తు పుస్తకం బప్ఫర్ లాంటిది. కనుక ఈ సందర్భంలో బప్ఫర్ అంటే “చిత్తు కొట్టు” లేదా “చిత్తు పలక.” మనం వాడుతూన్న ఉదాహరణలో M అనే అక్షరాన్ని నొక్కేము కనుక, M యొక్క ASCII కోడు D5 కనుక, చిత్తు పలక మీద D5, అనగా 1101 0101, నమోదు అవుతుంది. (ఇక్కడ కీబోర్డ్ కంట్రోలర్ లో ఒక పెద్ద జాబితా ఉన్నట్లు ఊహించుకొండి. ఆ జాబితాలో, ఒకొక్క బొత్తాం నుండి ఒకొక్క తీగ చొప్పున వచ్చి ఆ జాబితాకి తగిలించినట్లు ఊహించుకొండి. ఈ తీగ ఒక పక్క, దానికి ఎదురుగా మనం నొక్కిన బొత్తానికి సంబంధించిన అక్షరాంకం (alphanumeric) యొక్క ASCII కోడు ఉన్నట్లు ఊహించుకొండి. అప్పుడు జాబితాలో ఏ అడ్డు వరసలో M ఉందో చూసుకుని దానికి ఎదురుగా ఉన్న అష్టా (byte) మనకి కావలసిన ASCII కోడు అనుకోవచ్చు.)

5. చిత్తు పలక (buffer) అనేది తాత్కాలికంగా రాసుకుందుకి వాడే పలక లాంటిది. ఇక్కడ ఎక్కువ సేపు దాచుకోడానికి కుదరదు. ఎందుకంటే M తరువాత మరొక అక్షరం టైపు కొట్టవచ్చు కదా. అప్పుడు ఇదే పలక మీద మరొక అక్షరం రాయవలసి వస్తుంది. అందుకని పలక మీద ఉన్న అష్టాని త్వరగా కొట్లోకి పంపెయ్యాలి. ఈ పని చెయ్యడానికి కలనకలశం అనబడే పరికర్మరి (processor) సహాయం కావాలి.

6. అందుకని జోరుగా పనిచేస్తూన్న పరికర్మరి (processor) ని ఒక్క క్షణం ఆపి “ఎవరో కుంచికపలక మీద కుంచికని నొక్కేరు. దానికి సంబంధించిన దత్తాంశాన్ని త్వరగా పంపాలి” అని అర్జీ దాఖలు చేసుకుందుకని పరికర్మరి చేస్తూన్న పనికి అంతరాయం కల్పించాలి. ఈ పని “ఇంటరప్ట్ కంట్రోలర్” అనే మరొక చితుకు (chip) చేస్తుంది. ఎలా? “అంతరాయం” (interrupt) అనే వాకేతాన్ని పంపి. ఎవరికి పంపుతుంది? పరికర్మరిని నడిపిస్తూన్న నిరవాకి లేదా ఉపద్రష్ట (operating system) కి. ఈ నిరవాకి ఎన్నో పనుల మీద, ఎంతో జోరుగా అజమాయిషీ చేస్తూ ఉంటుంది కదా? ఇప్పుడు మన దగ్గర ఉన్న M అందుకోమని మరొక పని పురమాయిస్తున్నాం. పాఠం చెప్పుకుంటూ పోతూన్న మేష్టారిని ప్రశ్న అడగాలంటే ఏమిటి చేస్తాం? చెయ్యి ఎత్తి ఆయన అనుమతి కోసం ఎదురు చూస్తూ వేచి ఉంటాం. మేష్టారు ఆయన చెబుతూన్న వాక్యాన్ని పూర్తి చేసి, ఆయన పాఠంలో ఎక్కడ ఉన్నారో పుస్తకంలో గుర్తు పెట్టుకుని, మన ప్రశ్న కొరకు ఎదురు చూస్తారు. అదే విధంగా తన దగ్గర దత్తాంశం ఒకటి ఉందని చెప్పడానికి అంతరాయ నియంత్రకి (interrupt controller) పరికర్మరికి ఒక “అంతరాయ వాకేతం” (interrupt signal) పంపుతుంది. ఇటువంటి వాకేతం కుంచికపలక నుండి రావచ్చు, మూషికం (mouse) నుండి రావచ్చు, మోడెం నుండి రావచ్చు, మరెక్కడనుండైనా రావచ్చు. కనుక అంతరాయ వాకేతం అందగానే పరికర్మరిని నడుపుతూన్న నిరవాకి (లేదా ఉపద్రష్ట లేదా operating system) తన పనికి అంతరాయం ఎవరివల్ల కలిగిందో అర్థం చేసుకుని, ఆ సందర్భానికి ఉచితమైన కార్యక్రమాలని నెరవేర్చాలి.

7. విద్యార్థి చెయ్యి ఎత్తిన సమయంలోనే ప్రిన్సిపాలు గారు గుమ్మం దగ్గర నిలబడి తలుపు మీద టకటక కొట్టేరనుకుందాం. అది మరొక అంతరాయం. ఇలా కంప్యూటరు ఎన్నో అంతారాయాలని ఎదుర్కుంటూనే ఉంటుంది. ఏ అంతరాయానికి ఏ పరిచర్య (service) చెయ్యాలో ఉపద్రష్టకి తెలుసు. ఒకొక్క పరిచర్యని నడపడానికి ఒకొక్క క్రమణిక (interrupt service program) ఉంటుంది. ఇప్పుడు తరువాయి కార్యక్రమం చిత్తులో ఉన్న M అనే అక్షరాన్ని కొట్లో రాసుకోవడం కనుక ఈ పని చెయ్యడానికి కావలసిన ఆదేశాలలో మొదటిది కొట్లో ఎక్కడ ఉందో అక్కడకి వెళ్లి అక్కడ నుండి కలనం కొనసాగిస్తుంది.

8. ఉదాహరణకి మనం విండోస్ (Windows) వంటి బహుళబాహు (multi-tasking) ఉపద్రష్టని వాడుతునాం అనుకుందాం. అప్పుడు మన ఉపద్రష్ట పై పనులన్నిటితోపాటు మనం M అనే అక్షరం ఏ “విండో”లో పనిచేస్తున్నప్పుడు నొక్కెమో కూడా జ్ఞాపకం పెట్టుకుంటుంది. (ఇక్కడ “విండో” అంటే ఏమిటో సందర్భానుసారంగా మీరు అర్థం చేసుకున్నారనే అనుకుంటున్నాను.)

9. మనం కథో, వ్యాసమో రాస్తూ M అనే మీట నొక్కేము కనుక, అంతా సవ్యంగా జరిగితే తెర మీద M అనే అక్షరం మన “విండో”లో కనిపించాలి. ఇలా కనిపించేటట్లు చెయ్యాలంటే దృశ్యకపు కొట్టు (video store) అనే మరొక కొట్లోకి మన M ని బదిలీ చెయ్యాలి.

10. దృశ్యకపు కొట్లో ఏది ఉంటే దానిని సెకండుకి 100 సార్లు చొప్పున ఉపద్రష్ట మనకి చూపిస్తుంది.

ఒక్క చిన్న పని చెయ్యడానికి ఇంత హడావిడా? పైపెచ్చు ఇదంతా త్రుటి కాలంలో జరిగిపోయినట్లు మనకి భ్రమ కలుగుతుంది. కలనకలశం మన జ్ఞానేంద్రియాల కంటే ఎన్నో రెట్లు జోరుగా పని చెయ్యడమే ఈ భ్రమకి కారణం.

పైన రాసినది కేవలం ఒక నఖచిత్రం అని మరచ పోకండి. ఈ ఒక్క పని చెయ్యడానికి లోపల జరిగే తతంగం కూలంకషంగా వర్ణించాలంటే ఎన్నో కాగితాలు ఖరాబు చెయ్యాలి. ఇలాంటి పనులు సెకండుకి వెయ్యికి పైబడి కలశం చేస్తూ ఉంటుంది.

ఇదంతా చదివి కంప్యూటరులని అర్థం చేసుకోవాలనే ఆశ వదలుకోకండి. ఏ ఒక్క వ్యక్తికి, అన్నీ అర్థం కావు. కంప్యూటరులతో రోజూ పని చేసేవాళ్లకి కూడా కొద్ది భాగమే అర్థం అవుతుంది.

## కంప్యూటరు లో భాగాలు

ఒక పర్సనల్ కంప్యూటరులో ముఖ్య భాగాలు.
పర్సనల్ కంప్యూటరు లోపల ఇలా కనిపిస్తుంది.
### గణిత-తర్క విభాగం - అరిత్‌మెటిక్ అండ్ లాజికల్ యూనిట్ (ఏ ఎల్ యు)

ఏ ఎల్ యు. ఇది రెండు రకాల పనులు నిర్వర్తించును: గణిత కార్యకాలాపాలు అనగా కూడికలు (additions), తీసివేతలు (subtractions), గుణింతములు (multiplications), భాగాహారములు (divisions). రెండవ రకమయిన కార్యములు తర్కమునకు (logic) సంబంధించినవి. ఇది సెంట్రల్‌ ప్రోసెసింగ్‌ యూనిట్ లో
(సి.పి.యు) ముఖ్యమైన భాగం.

#### నియంత్రించు విభాగం - కంట్రోలు యూనిట్

నియంత్రణ వ్యవస్థ. దీనికి కేటాయించిన ముఖ్యమయిన పనులు: ఆదేశములను, డేటాను మెమరీ నుండి లేదా ఐ/ఓ నుండి చదవటం, ఆ ఆదేశములను అర్ధం చేసుకోవటం, ఏ ఎల్ యుకు ఆదేశానుసారము సరిఅయిన సంఖ్యలను అందించటం, ఏ ఎల్ యుకు ఆ సంఖ్యలతో ఏమి చేయాలో చెప్పటం, వచ్చిన ఫలితములను తెరిగి మెమరీ వద్దకు గానీ ఐ/ఓ వద్దకు గానీ పంపించటం. ఈ విభాగములో **కౌంటరు** అను ఒక లెక్కపెట్టే పరికరము ప్రస్తుత ఆదేశము నిల్వ ఉన్న చిరునామా యొక్క జాడను ఎల్లప్పుడూ తెలుపుతూ ఉంటుంది. సాధారణంగా ఒక ఆదేశము నిర్వర్తించగానే ఈ కౌంటరు యొక్క లెక్క పెరుగును. దీని వలన తరువాతి ఆదేశమును చదువుటకు వీలగును. అప్పుడప్పుడు ప్రసుత ఆదేశమే తరువాతి ఆదేశము యొక్క చిరునామాను తెలుపును. అటువంటి సమయాలలో కౌంటరు యొక్క లెక్కను సరిచేయటమే ఆదేశముగా భావించవలెను. 1980ల నుండి ఏ ఎల్ యు, నియంత్రించు విభాగము భౌతికంగా ఒకే చిన్న ఇంటిగ్రేటెడ్ సర్క్యూటులో ఉంచబడినవి. దానిని కేంద్రీయ సంవిధాన విభాగము - సెంట్రల్ ప్రాసెసింగ్ యూనిట్ (సి పి యు) అంటారు.

#### కొట్టు- జ్ణాపక విభాగం - మెమొరీ యూనిట్

కంప్యూటరు యొక్క జ్ణాపకశక్తిని వరుసగా పేర్చిన గదుల పెట్టెలుగా భావించవచ్చు. ప్రతీ గదికీ ఒక ప్రత్యేక సంఖ్య చిరునామాగా ఉంటుంది. ప్రతీ గదిలో సమాచారమును భద్రపరచవచ్చు. ఈ సమాచారము కంప్యూటరుకు ఇవ్వవలసిన ఆదేశములు అయి ఉండవచ్చు, లేదా దత్తాంశాలు (డేటా, అంటే ఆదేశాలను నిర్వర్తించుటకు కావలిసిన సమాచారము) అయినా అయిఉండవచ్చు. శాస్త్ర ప్రకారం మనము ఆదేశాలను కానీ దత్తాంశాలను కానీ భద్రపరుచుటకు ఏ గది నయినా ఉపయోగించవచ్చు.క

#### ప్రవేశ/బహిర్గ విభాగం - ఇన్‌పుట్ /ఔట్‌పుట్ యూనిట్ -(ఐ/ఓ)

ఈ విభాగము బయట ప్రపంచము నుండి సమాచారము సేకరించుటకు,, ఫలితములను బయట ప్రపంచమునకు తెలుపుటకు ఒక సాధనముగా ఉపయోగపడును. ఒక మామూలు వ్యక్తిగత కంప్యూటరులో సమాచారమును ప్రవేశపెట్టుటకు కీబోర్డు, మౌసులను, బహిర్గపరుచుటకు కంప్యూటరు మానిటరు, ప్రింటరు మొదలగు వాటిని ఉపయోగిస్తాము. ఇవి కాక ఇంకా ఎన్నో సాధనములను కంప్యుటరుకు బయట ప్రపంచమునకు మధ్య మార్పిడికి ఉపయోగిస్తారు.

సాధారణంగా ఇటువంటి కంప్యూటరు యొక్క పనిచేయు విధానము చాలా సూటిగా ఉంటుంది. కౌంటరు యొక్క లెక్క పెరిగిన ప్రతీసారి ఒక క్రొత్త ఆదేశమును, దానికి సంబంధించిన డేటాను మెమరీ నుండి చదివి దానిని నిర్వర్తించడము, తిరిగి ఫలితములను మెమరీలో బద్రపరచటం, మళ్ళీ తరువాతి ఆదేశమును స్వీకరించటం. ఈ విధముగా హాల్ట్ (ఆగుము) అను ఆదేశము వచ్చు వరకు జరుగుతూనే ఉంటుంది.

పెద్ద పెద్ద కంప్యూటరులలో ఈ నమూనాలో కొంచం తేడా ఉండును. వాటిలో ఒక సిపియు బదులుగా అనేక మయిన సిపియులు ఉండును. సూపరు కంప్యూటరులలో ఈ నిర్మాణము మరింత తేడాగా ఉండును. వాటిలో కొన్ని వేల సిపియులు ఉండును, అట్టి నిర్మాణములు ప్రత్యేకమయిన కార్యములకు మాత్రమే ఉపయోగించుతారు.

## కంప్యూటరు శాస్త్ర విద్య

కొన్ని విశ్వవిద్యాలయాలలో కంప్యూటరు శాస్త్రాన్ని థీయరిటికల్ స్టడీ ఆఫ్ కంప్యుటేషన్ గా, అల్గారిదమిక్ రీజనింగుగా భోధిస్తారు. ఈ బోధనలో మామూలుగా థీయరీ ఆఫ్ కంప్యుటేషన్, అల్గారిథంల విశ్లేషణ, ఫార్మల్ పద్ధతులు, కాంకరెన్స్, డేటాబేసులు, కంప్యూటరు గ్రాఫిక్సు, సిస్టం విశ్లేషణ వంటి కోర్సులు చెపుతారు. ఇంకా కంప్యూటరు ప్రోగ్రామింగు కూడా చెపుతారు, కానీ దీనిని ఇతర విభాగాలకు సహాయకారిగా ఎక్కువగా భావిస్తారు, ఉన్నత కోర్సుగా కాకుండా! ఇక కొన్ని కాలేజీలు, విశ్వవిద్యాలయాలు, సెకండరీ స్కూళ్ళు కంప్యూటరు శాస్త్రాన్ని వృత్తి విద్యగా చెపుతారు, ఈ కోర్సులలో కంప్యూటరు థీయరీ అల్గారిథంల పై కాకుండా కంప్యూటరు ప్రోగ్రామింగుపై ఎక్కువగా దృష్టి కేంద్రీకరిస్తారు. ఈ సిలబసు కంప్యూటరు విద్యను సాఫ్టువేర్ ఇండస్ట్రీకి ఉపయోగపడే ఉద్యోగులను తయారు చేయడంపైననే ఎక్కువగా దృష్టి కేంద్రీకరిస్తుంది. కంప్యూటరు శాస్త్రము యొక్క ప్రాక్టికల్ విషయాలను సాధారణంగా సాఫ్టువేర్ ఇంజినీరింగ్ అని పిలుస్తారు. కాకపోతే దేనిని సాఫ్టువేర్ ఇంజినీరింగు అన వచ్చు అనే విషయము పై ఏకాభిప్రాయము లేదు. ఉదాహరణకు చూడండి పీటర్ జే. జెన్నింగ్ *కంప్యూటరు సిలబస్‌లో గొప్ప సూత్రాలు*, టెక్నికల్ సింపోసియం ఆన్ కంప్యూటరు సైన్సు ఎడుకేషన్, 2004.
భారతీయ భాషల కంప్యూటరు ప్రక్రియ కంప్యూటరులను భారతీయభాషలలో వాడటానికి కావాలసిన ప్రామాణిక పద్ధతులను వివరిస్తుంది.

## కంప్యూటింగు వృత్తులు , నియమాలు

ప్రస్తుత సమాజములో దాదాపుగా అన్ని వృత్తుల వారు కంప్యూటరులను ఉపయోగించుచున్నారు. కాకపోతే విద్యాలయాలలో, కంప్యూటరులను ఉపయోగించుటకుగాను, వాటిని నడుపుటకు కావలిసిన ప్రోగ్రాములను వ్రాయుటకు ప్రత్యేక పద్ధతులను నేర్పుటకు గాను, ప్రత్యేక వృత్తివిద్యలు అవతరించినాయి. కానీ ప్రస్తుతానికి ఈ వృత్తివిద్యలకు ఉన్న నామములు, పదజాలము నిలకడగాలేవు అని చెప్పవచ్చును, కొత్త కొత్త విభాగములు పుట్టుకు వస్తూనే ఉన్నాయి. వీటిలో ముఖ్యమయినవిగా ఈ క్రింది వాటిని పేర్కొన వచ్చు:

* **కంప్యూటరు ఇంజినీరింగు**

దీనిని ఎలక్ట్రానిక్ ఇంజినీరింగుకు ఒక శాఖగా భావించవచ్చు. ఈ విభాగములో మనము కంప్యూటరుల యొక్క భౌతిక లక్షణాలు, వాటి నిర్మాణ ప్రక్రియ, నిర్మాణమునకు కావలిసిన విడిభాగముల గురించి వివరములు నేర్చుకొనవచ్చును.

* **కంప్యూటరు సైన్సు**

సాఫ్టువేరు ఇంజినీరింగు
కంప్యూటరుచేత పనులు చేయించే ప్రోగ్రాములకు సంబంధించిన పద్ధతులు నేర్చుకొనుటకు,, ఈ ప్రక్రియను వేగవంతము చేయుటకు, ఖర్చు తగ్గించుటకు మార్గములు, ప్రామాణికమయిన లేదా నాణ్యమయిన ప్రోగ్రాముల వ్యవస్థను సృస్టించుటకు, అవసరమైన వివిధ అచరణీయమయిన పద్ధతుల గూర్చిన అధ్యయనము జరుగును.
* సాఫ్ట్‌వేరు పరీక్షా ఉద్యోగాలు: ఈ ఉద్యోగాలని స్థూలంగా రెండు మూడు విధములుగా చెప్పవచ్చు।
* స్వహస్త పరీక్షకులు: సాధారణ వినియోగదారులు ప్రోగ్రామును ఎలా ఉపయోగిస్తారో అలా అన్ని సంయోజనాలలోనూ ఉపయోగించి పరీక్షిస్తారు।
* యాంత్రిక పరీక్షకులు: ప్రోగ్రామును యాంత్రికంగా పరీక్షించేందుకు అవసరమైన ప్రోగ్రాములను వీరు రాస్తారు

టెష్ట్ టూల్స్ డెవలపరు
వీరు పరీక్షకుల బృందానికి కావలసిన రక రకాల పనిముట్లని తయారు చేస్తూ ఉంటారు। ఉదాహరణకు మెమరీ లీకు టెష్టులు, సెక్యూరిటీ టెష్టులు మొదలగున్నవి। ఈ టూల్సును అన్ని ప్రోగ్రాములవారూ ఉపయోగించవచ్చు।
## కంప్యూటరు ప్రాథమికాంశాల పుస్తకాలు,ప్రజంటేషన్లు

* ఐటిలో ప్రాథమికాంశాలు
* సి-డాక్ వారి "కంప్యూటరు పరిఙ్ఞానం" ఇ-శిక్షక్ పుస్తకం
* కంప్యూటరులలో తెలుగు వాడకం వివిధ సాఫ్ట్ వేర్ల పరిచయంలో కంప్యూటరు పరిచయం

 కంప్యూటరులలో తెలుగు వాడకం వివిధ సాఫ్ట్ వేర్ల పరిచయం
## కంప్యూటరు పత్రికలు

* కంప్యూటరు ఎరా Archived 2009-07-19 at the Wayback Machine

## కంప్యూటరుల చరిత్రలో మైలురాళ్ళు

*ప్రధాన వ్యాసం: కంప్యూటర్ చరిత్ర*
* 1823లో చార్లెస్‌ బాబేజ్‌ ఆవిరి ద్వారా పనిచేసే క్యాలిక్యూలేటింగ్‌ యంత్రాన్ని రూపొందించాడు. ఆధునిక కంప్యూటరుకు దీనిని తొలిమెట్టుగా భావిస్తారు.
* తొలిసారి బైనరీ అర్థమెటిక్‌ను ఉపయోగించినది కొనార్డ్‌ యూస్‌. ఈయన 1934లో బైనరీ అర్థమెటిక్‌ను ఉపయోగించి కొన్ని రకాల కంప్యూటరులను రూపొందించాడు.
* కంప్యూటరు సైన్స్‌ పితామహుడిగా అలెన్‌ ట్యూరింగ్‌ను పిలుస్తారు. 1937లో ట్యూరింగ్‌- “On computable Numbers, with an application to the Entsheidungsproblem” అనే సిద్ధాంత వ్యాసాన్ని ప్రచురించారు.
* కంప్యూటరుకు సంబంధించి తొలి హైలెవెల్‌ ప్రొగామింగ్‌ లాంగ్వేజి ఫోట్రాన్‌. దీనిని 1956లో ఐబీఎం కంపెనీకి చెందిన జాన్‌ బేకస్‌, ఆయన బృందం అభివృద్ధి చేసింది. ఇది 1957లో అందరికీ అందుబాటులోకి వచ్చింది.
* ‘పర్సనల్‌ కంప్యూటరు’ అనే పదం 1976లో తొలిసారి బైట్‌ మ్యాగిజైన్‌లో ప్రచురితమయింది. ఆ తర్వాత ఇది ప్రపంచమంతా వ్యాపించింది.
* తొలిసారి పర్సనల్‌ కంప్యూటరును ఐబీఎం కంపెనీ 1981లో తయారుచేసింది. దీనిలోని ఆపరేటింగ్‌ సిస్టమ్‌ను, బేసిక్‌ కంప్యూటరు భాషను మైక్రో సాఫ్ట్‌ రూపొందించింది.
* ‘బగ్‌’ అనే పదాన్ని కంప్యూటరు సంబంధిత విషయాల్లో తొలిసారి వాడింది అడ్మిరల్‌ గ్రేస్‌ హోపర్‌. అమెరికా నావికాదళానికి చెందిన ఒక స్థావరంలో బొద్దింక వల్ల కంప్యూటరు పాడైపోయింది. అప్పుడు ఆయన తొలిసారి ఈ పదాన్ని వాడారు.
* టీసీపీ, ఐపీల గురించి 1973లో వింటన్‌ సెర్ఫ్‌, రాబర్ట్‌ కాన్‌లు ఒక పరిశోధనా పత్రాన్ని రాశారు. ఇది ఇంటర్నెట్‌ ఆవిర్భావానికి కారణమయింది. అందువల్లే వింటన్‌ సెర్ఫ్‌ను ఇంటర్నెట్‌ పితామహునిగా పిలుస్తారు.
* 1973లో న్యూయార్క్కు చెందిన కంప్యూటర్ శాస్త్రవేత్త లారీ టెస్లర్ క‌ట్‌, కాపీ, పేస్ట్‌ లాంటి క‌మాండ్లును రూపొందించాడు.

## ఇవి కూడా చూడండి

* సాఫ్ట్‌వేర్
* హార్డ్‌వేర్
* సంకేత పదం
* హార్డ్ డిస్క్ డ్రైవు
* ఎలక్ట్రానిక్ న్యూమెరికల్ అండ్ కంప్యూటరు
* వేమూరి నిఘంటువు (ఇంగ్లీషు-తెలుగు)
* ఇస్కి
* స్టూడియో గిబ్లి

## మూలాలు

## వనరులు

* వేమూరి వేంకటేశ్వరరావు, కంప్యూటరులు, తెలుగు భాషా పత్రిక, అట్లాంటా (అమెరికా) నుండి 1967 నుండి అయిదేళ్ళ పాటు, ఏడాదికి నాలుగు సంచికల చొప్పున, వెలువడ్డ వైజ్ఞానిక (రాత) పత్రిక. ఈ పత్రికలో రెండున్నర ఏళ్ళ పాటు కంప్యూటరులు ఎలా పనిచేస్తాయో తెలుగులో వివరించబడింది.
* వేమూరి వేంకటేశ్వరరావు, కంప్యూటరు పని చేసే విధానం, లోలకం, lolakam.blogspot.com/, Aug 30, 2013
* వేమూరి వేంకటేశ్వరరావు, ఆపరేటింగ్ సిస్టం అంటే ఏమిటి?, లోలకం, lolakam.blogspot.com/, Aug 24, 2013
* వేమూరి వేంకటేశ్వరరావు, కలన యంత్రాలు: ఒక విహంగావలోకనం, లోలకం, lolakam.blogspot.com/, Aug 03, 2013