Theory
Locked Server Room ની અંદર
college computer lab પાસેથી પસાર થાઓ અને તમને LabOne Server Room લખેલો એક બંધ દરવાજો દેખાશે. અંદર એક શક્તિશાળી machine બેઠી છે જે એક સાથે 30 students સંભાળે છે. એક student એક C program compile કરી રહ્યો છે, બીજો એક file save કરી રહ્યો છે, અને ત્રીજો printer ને એક assignment મોકલી રહ્યો છે. એક એકલો software system આ બિલકુલ અલગ requests ને crash થયા વગર કેવી રીતે સંકલિત કરે છે? એ વિશાળ કામને 5 વિશેષ ભીતરી અંગો વચ્ચે વહેંચી દે છે.
Theory
Luxury Restaurant નું ટોળું
operating system elements ને એક high end restaurant ના staff ની જેમ વિચારો. Kernel રસોડામાં head chef છે, નજરથી સંપૂર્ણપણે છુપાયેલો, stove અને સામગ્રી manage કરે છે. Shell એ waiter છે જે તમારા સીધા orders લે છે. File System store room manager છે જે shelves પર સામગ્રી track કરે છે. System Calls waiter થી રસોડા સુધી પસાર થયેલા પ્રમાણિત order tickets છે. Device Drivers ખાસ suppliers સંભાળતા delivery boys છે. સાથે મળીને, એ એક સરળ dining અનુભવ બનાવે છે.
Theory
પાંચ મૂળ Elements
ઔપચારિક રીતે, એક Operating System એક એકલો કઠોર program નથી, બલ્કે harmony માં કામ કરતા અલગ subsystem components નો એક સંગઠિત સંગ્રહ છે. તમારા university exam માં, તમારે એક Operating System ના 5 જરૂરી Elements યાદી અને વ્યાખ્યાયિત કરવા પડશે: Kernel, User Interface કે Shell, System Calls, File System, અને Device Management Drivers. દરેક element user applications ને raw physical hardware થી અલગ કરવા એક અલગ architectural જવાબદારી સંભાળે છે.
At a glance
એક operating system ના architectural elements અને એમની વ્યાવહારિક ભૂમિકાઓ.
| Element | પ્રાથમિક જવાબદારી | LabOne Server ઉદાહરણ |
|---|---|---|
| Kernel | મૂળ resource management અને hardware નિયંત્રણ | 30 students ને CPU time slots allocate કરવા |
| Shell | user commands નું અર્થઘટન કરવું | એ terminal જ્યાં તમે command lines type કરો છો |
| System Calls | programs અને kernel વચ્ચે interface | એક file વાંચવાની પરવાનગી માંગતી એક C script |
| File System | stored data ને organize અને સુરક્ષિત કરવો | individual student assignment directories manage કરવી |
| Device Drivers | hardware specific signals નો અનુવાદ કરવો | વહેંચેલું lab laser printer control કરવું |
Think first
એક Student Command ને પગલે-પગલે ટ્રેસ કરવો
એક exam પ્રશ્ન પૂછે છે: 'ટ્રેસ કરો કે એક OS ના elements કેવી રીતે વાતચીત કરે છે જ્યારે એક student LabOne terminal પર પોતાનો saved program code જોવા એક command type કરે છે.' જવાબ પ્રગટ કરવા tap કરતાં પહેલાં elements ના ક્રમને મનમાં ટ્રેસ કરવાનો પ્રયાસ કરો.
Show the answer
Step 1: user Shell માં cat lab1.c જેવી એક command type કરે છે. Shell આ user input ને વાંચે અને અર્થઘટન કરે છે.
Step 2: Shell એક program execute કરે છે જે એક System Call, ખાસ કરીને open, ને file સુધી પહોંચ માંગવા invoke કરે છે.
Step 3: File System system call થી request મેળવે છે, ખાતરી કરે છે કે student પાસે read permissions છે, અને disk પર data clusters શોધે છે.
Step 4: Kernel CPU schedule કરે છે અને raw data blocks ને RAM માં વાંચવા disk Device Driver સાથે coordinate કરે છે.
Step 5: Kernel data ને પાછો Shell ને પહોંચાડે છે, જે code lines ને monitor screen પર print કરે છે.
Quiz
જ્યારે તમે printf સાથે એક C program લખો છો અને એને LabOne પર run કરો છો, કયું OS element આ print request ને core system સુધી પહોંચાડવા સીધા પુલ તરીકે કામ કરે છે?
- Shell text terminal
- System Calls
- Device Driver
- File System storage
Show the answer
System Calls
તમારો C program hardware કે kernel સાથે સીધી વાત કરી શકતો નથી. એ એક standard library function વાપરે છે જે અંતર્ગત operating system થી printing services માંગવા એક System Call trigger કરે છે. Shell માનવ user commands સંભાળે છે, જ્યારે drivers અંતિમ hardware નિયંત્રણ manage કરે છે.
Watch out
Kernel વિરુદ્ધ Operating System ની ગૂંચવણ
university theory exams માં એક classic ભૂલ એ લખવી છે કે Kernel અને Operating System બિલકુલ એક જ વસ્તુ છે. આ ફાંદામાં ન ફસાઓ! Kernel બસ એક element છે, રસોડાની અંદર મૂળ હૃદય. Operating System આખું package છે, જેમાં Shell, file systems, અને utilities સામેલ છે જેની સાથે users ખરેખર વાતચીત કરે છે. આખાને એના એક ભાગ સાથે ગૂંચવવું તમારા મોટા marks લઈ લેશે.
Quiz
operating system નું કયું element abstract read કે write requests ને એક ખાસ hardware model ને જોઈતા જટિલ electrical signals માં સીધું અનુવાદ કરવા જવાબદાર છે?
- User Interface Shell
- File Protection List
- Device Driver
- System Call Interface
Show the answer
Device Driver
Device Drivers software અનુવાદકો તરીકે કામ કરે છે. એ kernel થી generic commands લે છે અને એમને hardware specific protocols માં બદલે છે જેને એક ખાસ device, જેમ એક SSD કે એક printer, સમજી શકે.
Theory
ખરી દુનિયાના Architectures અને પછીના Semesters
તમે આ elements સાથે તમારી આખી degree ભર વાતચીત કરશો. Unit 4 માં, આપણે Linux shell જોઈશું અને administrative tasks ચલાવવાનો અભ્યાસ કરીશું. તમારા ત્રીજા semester માં BCA305-02 હેઠળ, તમે જાણશો કે Android operating system પોતાના architecture ના બિલકુલ તળિયે એક Linux kernel વાપરે છે જ્યારે પરંપરાગત desktop shell ને mobile આંગળીઓ માટે optimized એક custom touch interface element થી બદલી નાખે છે.
Summary
Key takeaways
- એક operating system elements નો એક સંગ્રહ છે જે એક machine manage કરવા સાથે મળીને કામ કરે છે.
- Kernel એ છુપાયેલો core છે જે memory, processors, અને hardware access નિયંત્રિત કરે છે.
- Shell કે User Interface માનવ users થી સીધી commands સ્વીકારે અને અર્થઘટન કરે છે.
- System Calls ચાલતી applications અને kernel વચ્ચે programmatic interface તરીકે કામ કરે છે.
- File Systems storage organize કરે છે, જ્યારે Device Drivers ખાસ hardware માટે generic requests નો અનુવાદ કરે છે.
- Memory hook: shell તમને સાંભળે છે, system call તમારા માટે માંગે છે, file system એને શોધે છે, અને kernel એને કરે છે!