1. సాఫ్ట్వేర్ అంటే ఏమిటి? రకాలు (Software and its Types)
కంప్యూటర్కు ఏం చేయాలో చెప్పే సూచనల సమూహాన్ని (Instructions) ప్రోగ్రామ్ అంటారు. అనేక ప్రోగ్రామ్ల సమూహమే సాఫ్ట్వేర్ (Software). హార్డ్వేర్ను ముట్టుకోగలం, సాఫ్ట్వేర్ను ముట్టుకోలేం.
ముఖ్య విషయాలు
- సాఫ్ట్వేర్ ప్రధాన రకాలు:
- సిస్టమ్ సాఫ్ట్వేర్ (System Software): కంప్యూటర్ హార్డ్వేర్ను నిర్వహిస్తుంది, ఇతర సాఫ్ట్వేర్లు నడవడానికి వేదిక ఇస్తుంది.
- ఉదా: ఆపరేటింగ్ సిస్టమ్, డివైస్ డ్రైవర్లు, యుటిలిటీ ప్రోగ్రామ్లు, లాంగ్వేజ్ ట్రాన్స్లేటర్లు.
- అప్లికేషన్ సాఫ్ట్వేర్ (Application Software): వినియోగదారుడి నిర్దిష్ట పనులు చేస్తుంది.
- ఉదా: MS Word, Excel, Tally, వెబ్ బ్రౌజర్, ఆటలు.
- అప్లికేషన్ సాఫ్ట్వేర్ రకాలు:
- జనరల్ పర్పస్/ప్యాకేజ్డ్: ఎక్కువ మంది వాడేవి (MS Office).
- కస్టమైజ్డ్/టైలర్ మేడ్: ఒక సంస్థ కోసం ప్రత్యేకంగా తయారుచేసినవి (బ్యాంకు సాఫ్ట్వేర్, రైల్వే రిజర్వేషన్).
- లైసెన్స్ ఆధారంగా:
- ఫ్రీవేర్ (Freeware): ఉచితం, కానీ సోర్స్ కోడ్ మార్చలేము.
- షేర్వేర్ (Shareware): కొంత కాలం ఉచిత ట్రయల్, తర్వాత చెల్లించాలి.
- ఓపెన్ సోర్స్ (Open Source): సోర్స్ కోడ్ అందరికీ అందుబాటులో; మార్పులు చేయవచ్చు (ఉదా: Linux, Firefox).
- ప్రొప్రైటరీ (Proprietary): కంపెనీ ఆధీనంలో; అనుమతి లేకుండా కాపీ/మార్పు చేయరాదు.
- ఫర్మ్వేర్ (Firmware): హార్డ్వేర్ చిప్లో శాశ్వతంగా నిల్వ ఉండే ప్రోగ్రామ్ (ఉదా: BIOS, రౌటర్ ప్రోగ్రామ్).
సులభమైన ఉదాహరణ
సిస్టమ్ సాఫ్ట్వేర్ ఒక బస్సు డ్రైవర్ లాంటిది (వాహనాన్ని నడిపిస్తుంది). అప్లికేషన్ సాఫ్ట్వేర్ బస్సులో ప్రయాణించే ప్రయాణికుడు చేసే పనులు లాంటిది.
2. ఆపరేటింగ్ సిస్టమ్ అంటే ఏమిటి? విధులు (Operating System & its Functions)
ఆపరేటింగ్ సిస్టమ్ (OS) అనేది కంప్యూటర్ హార్డ్వేర్కు, వినియోగదారుకు మధ్య వారధిలా పనిచేసే ప్రధాన సిస్టమ్ సాఫ్ట్వేర్. కంప్యూటర్ ఆన్ చేయగానే మొదట లోడ్ అయ్యేది OS.
ముఖ్య విషయాలు
- OS ప్రధాన విధులు:
- ప్రాసెస్ నిర్వహణ (Process Management): ఏ ప్రోగ్రామ్కు ఎంతసేపు CPU ఇవ్వాలో నిర్ణయిస్తుంది.
- మెమరీ నిర్వహణ (Memory Management): RAM ను ప్రోగ్రామ్లకు పంచుతుంది.
- ఫైల్ నిర్వహణ (File Management): ఫైళ్లు, ఫోల్డర్లను సృష్టించడం, తొలగించడం, వెతకడం.
- పరికర నిర్వహణ (Device Management): ప్రింటర్, కీబోర్డ్ వంటి పరికరాలను నియంత్రిస్తుంది.
- భద్రత (Security): యూజర్ ఖాతాలు, పాస్వర్డ్లు.
- యూజర్ ఇంటర్ఫేస్: వినియోగదారుతో సంభాషణ.
- యూజర్ ఇంటర్ఫేస్ రకాలు:
- CLI (Command Line Interface): ఆదేశాలు టైప్ చేయాలి (ఉదా: MS-DOS).
- GUI (Graphical User Interface): ఐకాన్లు, మెనూలు, మౌస్ తో – సులభం (ఉదా: Windows).
- బూటింగ్ (Booting): కంప్యూటర్ ఆన్ చేసినప్పుడు OS ను హార్డ్ డిస్క్ నుండి RAM లోకి లోడ్ చేసే ప్రక్రియ.
- కోల్డ్ బూట్ (Cold Boot): పూర్తిగా ఆఫ్ నుండి ఆన్ చేయడం.
- వార్మ్ బూట్ (Warm Boot): ఆన్లో ఉండగానే రీస్టార్ట్ చేయడం.
- కెర్నల్ (Kernel):
- OS యొక్క కోర్ భాగం
- హార్డ్వేర్తో నేరుగా సంబంధం.
- షెల్ (Shell): వినియోగదారుకు, కెర్నల్కు మధ్య ఇంటర్ఫేస్.
సులభమైన ఉదాహరణ
రెస్టారెంట్లో మేనేజర్ లాగా OS: వంటగది (హార్డ్వేర్), కస్టమర్లు (ప్రోగ్రామ్లు) మధ్య సమన్వయం చేసి అందరికీ సరైన వాటా పంపిణీ చేస్తుంది.
3. ఆపరేటింగ్ సిస్టమ్ రకాలు – బ్యాచ్, టైమ్ షేరింగ్, రియల్ టైమ్ (Types of OS)
ఆపరేటింగ్ సిస్టమ్లను అవి పనిచేసే విధానం, వినియోగదారుల సంఖ్య ఆధారంగా అనేక రకాలుగా వర్గీకరిస్తారు. పరీక్షల్లో ఉదాహరణలు, లక్షణాలపై ప్రశ్నలు వస్తాయి.
ముఖ్య విషయాలు
- బ్యాచ్ OS (Batch OS): ఒకే రకమైన పనులను సమూహంగా (batch) సేకరించి, ఒకదాని తర్వాత ఒకటి నడిపిస్తుంది. వినియోగదారు–కంప్యూటర్ మధ్య నేరుగా సంభాషణ ఉండదు. పాత కాలపు పంచ్ కార్డ్ యుగంలో వాడేవారు.
- మల్టీ ప్రోగ్రామింగ్ (Multiprogramming): అనేక ప్రోగ్రామ్లు మెమరీలో ఉంచి, CPU ని ఖాళీగా ఉంచకుండా మారుస్తూ వాడుకుంటుంది.
- టైమ్ షేరింగ్ (Time Sharing / Multitasking): CPU సమయాన్ని చిన్న భాగాలుగా (Time Slice) విభజించి అనేక యూజర్లు/ప్రోగ్రామ్లకు పంచుతుంది. ఒకేసారి అందరికీ పని జరుగుతున్నట్టు అనిపిస్తుంది.
- సింగిల్ యూజర్ / మల్టీ యూజర్:
- సింగిల్ యూజర్: ఒక్కరే వాడగలరు (ఉదా: MS-DOS).
- మల్టీ యూజర్: అనేక మంది ఒకేసారి వాడవచ్చు (ఉదా: UNIX, Linux).
- రియల్ టైమ్ OS (RTOS – Real Time OS): నిర్ణీత సమయం లోపల తప్పనిసరిగా స్పందించాలి. ఉదా: క్షిపణి నియంత్రణ, విమానాల కంట్రోల్, వైద్య పరికరాలు.
- డిస్ట్రిబ్యూటెడ్ OS (Distributed OS): అనేక కంప్యూటర్లు నెట్వర్క్ ద్వారా కలిసి ఒకే వ్యవస్థలా పనిచేస్తాయి.
- నెట్వర్క్ OS (Network OS): నెట్వర్క్లోని వనరులను (ఫైళ్లు, ప్రింటర్లు) పంచుకోడానికి సహాయపడుతుంది.
- మొబైల్ OS: ఆండ్రాయిడ్, iOS.
- ఎంబెడెడ్ OS (Embedded OS): వాషింగ్ మెషీన్, ATM వంటి పరికరాల్లో ఇమిడి ఉండేది.
సులభమైన ఉదాహరణ
ఒక టీచర్ ఒకే సమయంలో 30 మంది విద్యార్థులకు ఒక్కొక్కరికి 2 నిమిషాల చొప్పున సమయం ఇస్తే అది టైమ్ షేరింగ్. అందరికీ దాదాపు ఒకేసారి చెబుతున్నట్టే అనిపిస్తుంది.
4. ప్రముఖ ఆపరేటింగ్ సిస్టమ్లు – Windows, Linux, Android (Popular Operating Systems)
ప్రపంచవ్యాప్తంగా వాడే ప్రధాన ఆపరేటింగ్ సిస్టమ్ల గురించి, వాటి తయారీదారులు, లక్షణాలపై పరీక్షల్లో తరచూ అడుగుతారు.
ముఖ్య విషయాలు
- MS-DOS:
- మైక్రోసాఫ్ట్ తయారీ
- కమాండ్ లైన్ ఆధారిత (CLI), సింగిల్ యూజర్.
- Microsoft Windows:
- GUI ఆధారిత
- మైక్రోసాఫ్ట్ తయారీ. మొదటి వెర్షన్ 1985లో వచ్చింది. బిల్ గేట్స్, పాల్ అలెన్ మైక్రోసాఫ్ట్ స్థాపకులు (1975). వెర్షన్లు: Windows 95, 98, XP, 7, 10, 11 మొదలైనవి.
- UNIX: బెల్ ల్యాబ్స్ లో 1969 ప్రాంతంలో కెన్ థాంప్సన్, డెన్నిస్ రిచీ ప్రభృతులు అభివృద్ధి చేశారు. మల్టీ యూజర్, మల్టీ టాస్కింగ్.
- Linux: ఫిన్లాండ్కు చెందిన లైనస్ టోర్వాల్డ్స్ (Linus Torvalds) 1991లో రూపొందించిన కెర్నల్ ఆధారిత OS.
- ఉచితం, ఓపెన్ సోర్స్
- UNIX లాంటి లక్షణాలు.
- సర్వర్లు, సూపర్ కంప్యూటర్లలో విస్తృతంగా వాడతారు.
- ప్రముఖ పంపిణీలు (Distributions): Ubuntu, Fedora, Red Hat, Debian.
- చిహ్నం (Mascot): పెంగ్విన్ 'టక్స్ (Tux)'.
- macOS:
- ఆపిల్ (Apple) తయారీ
- మ్యాక్ కంప్యూటర్లకు.
- ఆండ్రాయిడ్ (Android):
- గూగుల్ చేత అభివృద్ధి
- Linux కెర్నల్ ఆధారం
- ప్రపంచంలో అత్యధిక స్మార్ట్ఫోన్లలో వాడే OS. ఓపెన్ సోర్స్ ఆధారిత.
- iOS: ఆపిల్ ఐఫోన్, ఐప్యాడ్ కోసం.
- భారతీయ OS: భారత ప్రభుత్వం 'BOSS (Bharat Operating System Solutions)' అనే Linux ఆధారిత OS ను C-DAC ద్వారా అభివృద్ధి చేసింది.
గుర్తుంచుకునే చిట్కా Linux = Linus; Windows = Microsoft; Android = Google; iOS/macOS = Apple.
సులభమైన ఉదాహరణ
మీ ఫోన్లో ఉండే ఆండ్రాయిడ్ లోపల Linux కెర్నల్ ఉంటుంది – అంటే లైనక్స్ మనం గమనించకుండానే రోజూ వాడుతున్నాం.
5. కంపైలర్, ఇంటర్ప్రెటర్, అసెంబ్లర్ (Language Translators)
కంప్యూటర్ నేరుగా అర్థం చేసుకునేది 0, 1 లతో ఉన్న మెషీన్ భాషను మాత్రమే. మనం రాసే ప్రోగ్రామ్లను మెషీన్ భాషలోకి మార్చడానికి 'ట్రాన్స్లేటర్లు' అవసరం.
ముఖ్య విషయాలు
- సోర్స్ కోడ్ (Source Code): ప్రోగ్రామర్ రాసిన ప్రోగ్రామ్. ఆబ్జెక్ట్ కోడ్ (Object Code): ట్రాన్స్లేటర్ చేసిన మెషీన్ భాష.
- కంపైలర్ (Compiler): మొత్తం ప్రోగ్రామ్ను ఒకేసారి మెషీన్ భాషలోకి మారుస్తుంది. తప్పులను (errors) అన్నిటినీ కలిపి చూపిస్తుంది. తర్వాత ప్రోగ్రామ్ వేగంగా నడుస్తుంది. ఉదా: C, C++.
- ఇంటర్ప్రెటర్ (Interpreter): ప్రోగ్రామ్ను లైన్ బై లైన్ మారుస్తూ, వెంటనే నడిపిస్తుంది. తప్పు వచ్చిన చోటే ఆగిపోతుంది. నెమ్మదిగా నడుస్తుంది కానీ తప్పులు సులభంగా కనిపెట్టవచ్చు. ఉదా: Python, JavaScript (సాధారణంగా).
- అసెంబ్లర్ (Assembler): అసెంబ్లీ భాషను మెషీన్ భాషలోకి మారుస్తుంది.
- ప్రోగ్రామింగ్ భాషల స్థాయులు:
- తక్కువ స్థాయి (Low Level): మెషీన్ లాంగ్వేజ్ (0, 1), అసెంబ్లీ లాంగ్వేజ్. హార్డ్వేర్కు దగ్గరగా; ట్రాన్స్లేటర్ లేకుండా మెషీన్ భాష మాత్రమే నేరుగా అర్థమవుతుంది.
- ఉన్నత స్థాయి (High Level): C, C++, Java, Python, COBOL, FORTRAN – మనిషికి అర్థమయ్యే ఇంగ్లీష్ లాంటి భాషలు.
- సాధారణ భాషలు, ఉపయోగాలు:
- COBOL – వ్యాపారం (Business); FORTRAN – సైన్స్/గణితం; HTML – వెబ్ పేజీలు (ఇది మార్కప్ భాష); SQL – డేటాబేస్.
- తప్పులు: సింటాక్స్ ఎర్రర్ (భాషా నియమాల తప్పు), లాజికల్ ఎర్రర్ (ఆలోచనలో తప్పు), రన్టైమ్ ఎర్రర్.
- బగ్ (Bug) & డీబగ్గింగ్:
- ప్రోగ్రామ్లోని తప్పును బగ్ అంటారు
- తప్పులను సరిచేయడం డీబగ్గింగ్.
సులభమైన ఉదాహరణ
కంపైలర్ అంటే పుస్తకం మొత్తాన్ని ఒకేసారి అనువదించే అనువాదకుడు. ఇంటర్ప్రెటర్ అంటే ఒక్కో వాక్యాన్ని వెంటనే చెప్పే ఇంటర్ప్రెటర్ (వ్యాఖ్యాత).
6. యుటిలిటీ సాఫ్ట్వేర్, డ్రైవర్లు, వైరస్/యాంటీవైరస్ (Utility, Drivers, Virus)
కంప్యూటర్ను సరిగా నడపడానికి, సురక్షితంగా ఉంచడానికి కొన్ని సహాయక ప్రోగ్రామ్లు ఉంటాయి. అలాగే హానికరమైన ప్రోగ్రామ్లపై కూడా పరీక్షల్లో ప్రశ్నలు వస్తాయి.
ముఖ్య విషయాలు
- యుటిలిటీ సాఫ్ట్వేర్ (Utility Software): కంప్యూటర్ నిర్వహణ పనులను చేసే సిస్టమ్ సాఫ్ట్వేర్.
- యాంటీవైరస్, డిస్క్ క్లీనప్, డిస్క్ డీఫ్రాగ్మెంటర్, బ్యాకప్ టూల్, ఫైల్ కంప్రెషన్ (WinZip, WinRAR).
- డీఫ్రాగ్మెంటేషన్ (Defragmentation): చెల్లాచెదురుగా ఉన్న ఫైల్ ముక్కలను క్రమంగా కూర్చి, డిస్క్ వేగం పెంచడం (HDD కు).
- డివైస్ డ్రైవర్ (Device Driver): ప్రింటర్, స్కానర్ వంటి పరికరాన్ని OS అర్థం చేసుకునేలా చేసే చిన్న ప్రోగ్రామ్.
- కంప్యూటర్ వైరస్ (Virus): తనను తాను కాపీ చేసుకుంటూ ఇతర ఫైళ్లకు వ్యాపించి, కంప్యూటర్కు నష్టం కలిగించే హానికర ప్రోగ్రామ్.
- మొదటి కంప్యూటర్ వైరస్గా 'క్రీపర్ (Creeper)' (1971) ను చెబుతారు
- PC లో మొదటిది 'బ్రెయిన్ (Brain)' (1986).
- మాల్వేర్ (Malware): హానికర సాఫ్ట్వేర్ మొత్తానికి సాధారణ పేరు.
- వార్మ్ (Worm): హోస్ట్ ఫైల్ అవసరం లేకుండా నెట్వర్క్ ద్వారా వ్యాపిస్తుంది.
- ట్రోజన్ హార్స్ (Trojan Horse): ఉపయోగకరమైన ప్రోగ్రామ్లా కనిపిస్తూ లోపల హానికర కోడ్ దాచుకుంటుంది.
- స్పైవేర్ (Spyware): రహస్యంగా సమాచారాన్ని దొంగిలిస్తుంది.
- రాన్సమ్వేర్ (Ransomware): ఫైళ్లను లాక్ చేసి డబ్బు డిమాండ్ చేస్తుంది.
- ఫిషింగ్ (Phishing): నకిలీ ఈమెయిల్/వెబ్సైట్ ద్వారా పాస్వర్డ్, బ్యాంకు వివరాలు దొంగిలించే మోసం.
- యాంటీవైరస్ (Antivirus): వైరస్లను గుర్తించి తొలగించే సాఫ్ట్వేర్ (ఉదా: Quick Heal, Norton, McAfee). కొత్త వైరస్లకు వ్యతిరేకంగా తరచూ అప్డేట్ చేయాలి.
- ఫైర్వాల్ (Firewall): నెట్వర్క్ రాకపోకలను నియంత్రించి అనధికార ప్రవేశాన్ని అడ్డుకుంటుంది.
సులభమైన ఉదాహరణ
ట్రోజన్ హార్స్ అంటే ఉచిత గేమ్ అని చెప్పి డౌన్లోడ్ చేయించి, లోపల నుండి మీ డేటా దొంగిలించే ప్రోగ్రామ్.