Either way, these basic primitives give us a way to build a non-blocking event loop.

एकतर, ही मूलभूत आदिम (primitives) आपल्याला नॉन-ब्लॉकिंग इव्हेंट लूप तयार करण्याचा मार्ग देतात.


आकृती 33.1 एक सोपे उदाहरण दर्शवते.


With a single CPU and an event-based application, the problems are no longer present.

सिंगल CPU आणि इव्हेंट-आधारित ऍप्लिकेशनसह, समस्या यापुढे अस्तित्वात नाहीत.


ब्लॉकिंग कॉलची परवानगी नाही.


To service such a request, some event handler will eventually have to issue an open() system call.

अशा विनंतीची सेवा देण्यासाठी, काही इव्हेंट हँडलरला शेवटी open() सिस्टम कॉल जारी करावा लागेल.


A pioneering paper on how to structure web servers in the then-burgeoning Internet era.

त्यावेळच्या इंटरनेट युगात वेब सर्व्हरची रचना कशी करावी यावरचा एक महत्त्वपूर्ण शोधनिबंध.


If there is some detail you need to know, it is in here.

तुम्हाला काही माहिती हवी असल्यास, ती ह्या पुस्तकात आहे.


A paper about how to make threads work at extreme scale; a counter to all the event-based work ongoing at the time.

थ्रेड्स मोठ्या प्रमाणावर कसे काम करतात यावरचा एक शोधनिबंध; त्यावेळी सुरू असलेल्या सर्व इव्हेंट-आधारित कामाच्या विरोधात.


Some of these ideas have found their way into the infrastructures of companies such as Google, Amazon, and elsewhere.

यापैकी काही कल्पना गुगल, ॲमेझॉन आणि इतर कंपन्यांच्या पायाभूत सुविधांमध्ये वापरल्या गेल्या आहेत.


तर, आता डोके दुखतंय का?


Indeed it is. I am always amazed at how so few line of code, when concurrent execution is involved, can become nearly impossible to understand.

खरं आहे. मला नेहमीच आश्चर्य वाटतं की, समवर्ती अंमलबजावणी (concurrent execution) मध्ये, अगदी कमी ओळींचा कोड समजणे जवळजवळ अशक्य कसे होऊ शकते.


अरे, वाईट वाटून घेऊ नकोस.


प्राध्यापक...अहं...चूक करू शकतात?


Well that is the real question, isn’t it?

पण खरा प्रश्न हाच आहे, नाही का?


पहिला नियम, सोपे ठेवा!


Second, only use concurrency when absolutely needed; avoid it if at all possible.

दुसरा, आवश्यक असेल तेव्हाच समवर्तीता वापरा; शक्य असल्यास, टाळा.


There is nothing worse than premature optimization of a program.

प्रोग्रामचे अकाली अनुकूलन (premature optimization) करण्यासारखे दुसरे काहीही वाईट नाही.


Third, if you really need parallelism, seek it in other simplified forms.

तिसरा, जर तुम्हाला खरोखरच समांतरतेची (parallelism) गरज असेल, तर इतर सोप्या पद्धती शोधा.


Sounds interesting – I’ll have to read more about it on my own.

हे मनोरंजक आहे – मला याबद्दल अधिक स्वतःच वाचावे लागेल.


उत्तम! तू नक्कीच कर.


Imagine you are outside, in a field, and you pick a –

कल्पना करा, तुम्ही बाहेर, शेतात आहात, आणि तुम्ही एक...


Winter is hard and cruel in Wisconsin, after all.

शेवटी, विस्कॉन्सिनमध्ये हिवाळा खूप कठीण आणि क्रूर असतो.


Well, I think there are some different things you can do.

बरं, मला वाटतं, तू काहीतरी वेगळं करू शकतोस.


And so it is with information as well; making information persist, despite computer crashes, disk failures, or power outages is a tough and interesting challenge.

त्याचप्रमाणे माहिती टिकवून ठेवणे; संगणक बंद पडणे, डिस्क निकामी होणे किंवा वीज खंडित होणे यासारख्या परिस्थितीतही माहिती जतन करणे हे एक कठीण आणि मनोरंजक आव्हान आहे.


I/O is quite critical to computer systems, of course; imagine a program without any input (it produces the same result each time); now imagine a program with no output (what was the purpose of it running?).

संगणक प्रणालीसाठी I/O (इनपुट/आउटपुट) खूप महत्वाचे आहे; इनपुटशिवाय प्रोग्रामची कल्पना करा (ते प्रत्येक वेळी समान परिणाम देईल); आता आउटपुटशिवाय प्रोग्रामची कल्पना करा (ते चालवण्याचा काय उपयोग?).


The Cheetah 15K.5 is a high-performance SCSI drive.

चीता 15K.5 एक उच्च-कार्यक्षमतेची SCSI ड्राइव्ह आहे.


The Barracuda is a drive built for capacity.

बॅराकुडा क्षमता वाढवण्यासाठी बनवलेली ड्राइव्ह आहे.


Details on both are found in Table 37.1.

दोघांची माहिती तक्ता 37.1 मध्ये दिली आहे.


The drives have quite different characteristics.

या ड्राइव्हची वैशिष्ट्ये बरीच वेगळी आहेत.


The first is the “high performance” drive market.

पहिले म्हणजे “उच्च कार्यक्षमतेचे” ड्राइव्ह बाजारपेठ.


दुसरे म्हणजे “क्षमता” बाजारपेठ.


Cost per byte is the most important aspect.

प्रति बाइट खर्च हा सर्वात महत्त्वाचा पैलू आहे.


The drives are slower but pack as many bits as possible.

ड्राइव्ह संथ आहेत, पण जास्तीत जास्त बिट्स साठवतात.


Let’s start by looking at the random workload.

चला, यादृच्छिक वर्कलोड पाहून सुरुवात करूया.


Assuming each 4 KB read occurs at a random location on disk.

असे गृहीत धरूया की प्रत्येक 4 KB वाचन डिस्कवर यादृच्छिक ठिकाणी होते.


The average seek time is just taken as the average time reported by the manufacturer.

सरासरी शोधन वेळ उत्पादकाने नोंदवलेल्या सरासरी वेळेनुसार घेतला जातो.


The average rotational delay is calculated from the RPM directly.

सरासरी रोटेशनल डिले (rotational delay) थेट RPM वरून मोजला जातो.


The transfer time is just the size of the transfer over the peak transfer rate.

हस्तांतरण वेळ (transfer time) म्हणजे हस्तांतरणाची (transfer) साईज, सर्वोच्च हस्तांतरण दराने भागिले.


To compute the rate of I/O, we just divide the size of the transfer by the average time.

I/O चा दर मोजण्यासाठी, आपण फक्त हस्तांतरणाची साईज सरासरी वेळेने भाग देतो.


Here we can assume there is a single seek and rotation before a very long transfer.

येथे आपण असे मानू शकतो की खूप मोठ्या हस्तांतरणापूर्वी एकच शोध (seek) आणि रोटेशन (rotation) आहे.


The table shows us a number of important things.

हे तक्ता आपल्याला अनेक महत्त्वाच्या गोष्टी दर्शवतो.


There is a huge gap in drive performance between random and sequential workloads.

यादृच्छिक आणि क्रमवार वर्कलोडमध्ये ड्राइव्हच्या कार्यक्षमतेत मोठी तफावत आहे.


People are often willing to pay top dollar for the former while trying to get the latter as cheaply as possible.

लोक अनेकदा पहिल्यासाठी (high performance) जास्त पैसे देण्यास तयार असतात, तर दुसऱ्याला (capacity) शक्य तितके स्वस्त करण्याचा प्रयत्न करतात.


Imagine the disk as a set of tracks, from 0 to N.

डिस्कची कल्पना करा, 0 ते N पर्यंत ट्रॅकचा संच.


The average seek distance on a disk, over all possible seeks, is one-third the full distance.

एका डिस्कवरील सरासरी शोध अंतर, सर्व संभाव्य शोधांवर, पूर्ण अंतराच्या एक-तृतीयांश आहे.


पत्ता 0x1F3 = LBA चा निम्न बाइट


ड्राइव तयार होण्याची प्रतीक्षा करा.


कमांड रजिस्टर्समध्ये पॅरामीटर्स लिहा.


व्यत्यय हाताळा.


If the ERROR bit is on, read the error register for details.

जर ERROR बिट चालू असेल, तर तपशीलांसाठी एरर रजिस्टर वाचा.


The basic protocol to interact with the device is as follows.

उपकरणाशी संवाद साधण्याचा मूलभूत प्रोटोकॉल खालीलप्रमाणे आहे.


xv6 IDE डिस्क ड्रायव्हर (सोपे केलेले)


व्यत्यय (Interrupts) ही एक प्राचीन कल्पना आहे.


येथील इतिहास शोधणे कठीण आहे.


You should now have a very basic understanding of how an OS interacts with a device.

आता तुम्हाला OS उपकरणाशी कसे संवाद साधते, याची मूलभूत माहिती मिळाली असेल.


In this chapter, we dive into more detail about one device in particular: the hard disk drive.

या प्रकरणात, आपण एका विशिष्ट उपकरणाबद्दल अधिक तपशीलवार माहिती घेणार आहोत: हार्ड डिस्क ड्राइव्ह.


These drives have been the main form of persistent data storage in computer systems for decades.

हे ड्राइव्ह अनेक दशकांपासून संगणक प्रणालीमध्ये डेटा संचयित (persistent data storage) करण्याचे मुख्य स्वरूप राहिले आहेत.


The basic interface for all modern drives is straightforward.

सर्व आधुनिक ड्राइव्हसाठी मूलभूत इंटरफेस सोपा आहे.


एकापेक्षा जास्त सेक्टरवर (Multi-sector) कार्य करणे शक्य आहे.


One can usually assume that accessing two blocks that are near one-another within the drive’s address space will be faster.

असे मानले जाते की ड्राइव्हच्या ऍड्रेस स्पेसमध्ये एकमेकांच्या जवळ असलेले दोन ब्लॉक्स ऍक्सेस करणे जलद असेल.


Let’s start to understand some of the components of a modern disk.

आधुनिक डिस्कचे काही घटक समजून घेण्यास सुरुवात करूया.


Data is encoded on each surface in concentric circles of sectors; we call one such concentric circle a track.

प्रत्येक पृष्ठभागावर डेटा सेक्टरच्या समकेंद्री वर्तुळात एन्कोड केला जातो; आपण अशा समकेंद्री वर्तुळाला ट्रॅक म्हणतो.


The rate of rotation is often measured in rotations per minute (RPM).

फिरण्याची गती (rate of rotation) अनेकदा प्रति मिनिट फिरणे (RPM) मध्ये मोजली जाते.


To read and write from the surface, we need a mechanism that allows us to either sense (i.e., read) the magnetic patterns on the disk or to induce a change in (i.e., write) them.

पृष्ठभागावरून वाचण्यासाठी आणि लिहिण्यासाठी, आपल्याला एक यंत्रणा आवश्यक आहे जी आपल्याला डिस्कवरील चुंबकीय नमुने जाणवू (म्हणजे, वाचू) शकेल किंवा त्यामध्ये बदल घडवून (म्हणजे, लिहू) शकेल.


In the figure, the disk head, attached to the end of the arm, is positioned over sector 6, and the surface is rotating counter-clockwise.

आकृतीमध्ये, डिस्क हेड, जे आर्मच्या टोकाला जोडलेले आहे, ते सेक्टर 6 वर स्थित आहे आणि पृष्ठभाग घड्याळाच्या विरुद्ध दिशेने फिरत आहे.


The RAID system can tolerate the loss of a single disk.

RAID प्रणाली एका डिस्कचे नुकसान सहन करू शकते.


RAID is a perfect example of transparency in system design.

सिस्टम डिझाइनमध्ये पारदर्शिताचे RAID एक उत्तम उदाहरण आहे.


Administrators could install a SCSI-based RAID storage array instead of a SCSI disk.

प्रशासक SCSI डिस्कऐवजी SCSI-आधारित RAID स्टोरेज ॲरे स्थापित करू शकले.


The operating system and client applications did not have to change.

ऑपरेटिंग सिस्टम आणि क्लायंट ॲप्लिकेशन्समध्ये बदल करण्याची आवश्यकता नव्हती.


RAID just looks like a big disk to the host system.

RAID होस्ट सिस्टमला मोठ्या डिस्कसारखे दिसते.


Transparency greatly improves the deployability of RAID.

पारदर्शकता RAID ची तैनाती मोठ्या प्रमाणात सुधारते.


We now discuss some of the important aspects of RAIDs.

आता आपण RAID च्या काही महत्त्वाच्या पैलूंवर चर्चा करूया.


A RAID looks like a big, fast, and reliable disk to a file system.

फाइल सिस्टमसाठी, RAID एक मोठी, जलद आणि विश्वसनीय डिस्कसारखी दिसते.


The RAID internally must calculate which disk to access.

RAID अंतर्गत ॲक्सेस करण्यासाठी कोणती डिस्क वापरायची हे मोजले पाहिजे.


Consider a RAID that keeps two copies of each block.

अशा RAID चा विचार करा जी प्रत्येक ब्लॉकच्या दोन प्रती ठेवते.


A RAID system is often built as a separate hardware box.

RAID प्रणाली अनेकदा स्वतंत्र हार्डवेअर बॉक्स म्हणून तयार केली जाते.


RAID प्रणाली अंतर्गत बरीच जटिल असते.


RAID has a processor, memory, and disks.

RAID मध्ये प्रोसेसर, मेमरी आणि डिस्क असतात.


RAIDs are designed to detect and recover from disk faults.

RAID प्रणाली डिस्कमधील दोष शोधण्यासाठी आणि त्यातून रिकव्हर होण्यासाठी डिझाइन केलेले आहे.


A disk can be in exactly one of two states: working or failed.

एक डिस्क फक्त दोनपैकी एका स्थितीत असू शकते: कार्यरत किंवा निष्क्रिय.


We assume that this is easily detected when a disk has failed.

एखादी डिस्क निकामी झाल्यावर, हे सहजपणे ओळखले जाते, असे आपण मानतो.


Each of these approaches has different characteristics.

या प्रत्येक दृष्टिकोनची स्वतःची वेगळी वैशिष्ट्ये आहेत.


How much useful capacity is available to systems that use the RAID?

RAID वापरणाऱ्या प्रणालींसाठी किती उपयुक्त क्षमता उपलब्ध आहे?


Striping delivers N disks worth of useful capacity.

स्ट्रिपिंग N डिस्कची उपयुक्त क्षमता प्रदान करते.


Performance depends heavily on the workload presented to the disk array.

डिस्क ॲरेला सादर केलेल्या वर्कलोडवर कार्यक्षमतेचा मोठा प्रभाव पडतो.


The directory 'foo' would have an entry ('foo', '10') that maps the user-readable name to the low-level name.

'foo' या निर्देशिकेत ('foo', '10') असा एक नोंद असेल, जो वापरकर्त्यास वाचनीय नाव कमी-पातळीवरील नावासोबत जोडेल.


Each entry in a directory refers to either files or other directories.

एका निर्देशिकेतील प्रत्येक नोंदणी फाईल्स किंवा इतर निर्देशिकांकडे निर्देश करते.


By placing directories within other directories, users are able to build an arbitrary directory tree.

इतर निर्देशिकामध्ये निर्देशिका ठेवून, वापरकर्ते एक मनमानी निर्देशिका ट्री तयार करू शकतात.


The directory hierarchy starts at a root directory.

निर्देशिका श्रेणी एक रूट निर्देशिकेत सुरू होते.


For example, if a user created a directory 'foo' in the root directory, and then created a file 'bar.txt' in the directory 'foo', we could refer to the file by its absolute pathname.

उदाहरणार्थ, जर एखाद्या वापरकर्त्याने रूट निर्देशिकेत 'foo' नावाची निर्देशिका तयार केली, आणि नंतर 'foo' निर्देशिकेत 'bar.txt' नावाची फाईल तयार केली, तर आम्ही फाईलचा संदर्भ त्याच्या संपूर्ण मार्गनावाने (absolute pathname) देऊ शकतो.


Directories and files can have the same name as long as they are in different locations in the file-system tree.

निर्देशिका आणि फाईल्सची नावे समान असू शकतात, जोपर्यंत त्या फाईल-सिस्टम ट्रीमध्ये वेगवेगळ्या ठिकाणी आहेत.


Naming is an important aspect of computer systems.

संगणक प्रणालीमध्ये नामकरण (Naming) एक महत्त्वाचा पैलू आहे.


In UNIX systems, virtually everything that you can think of is named through the file system.

UNIX प्रणालीमध्ये, जवळजवळ प्रत्येक गोष्ट जी तुम्ही विचार करू शकता, ती फाईल सिस्टमद्वारे नामांकित केली जाते.


This uniformity of naming eases your conceptual model of the system.

नावांची ही एकरूपता तुमच्या सिस्टमच्या संकल्पनात्मक मॉडेलला सोपे करते.


Thus, whenever creating a system or interface, think carefully about what names you are using.

म्हणून, कोणतीही प्रणाली किंवा इंटरफेस तयार करताना, तुम्ही कोणती नावे वापरत आहात याबद्दल विचारपूर्वक विचार करा.


The first part is an arbitrary name, whereas the second part of the file name is usually used to indicate the type of the file.

पहिला भाग एक मनमानी नाव आहे, तर फाईलच्या नावाचा दुसरा भाग सामान्यतः फाईलचा प्रकार दर्शविण्यासाठी वापरला जातो.


Thus, we can see one great thing provided by the file system: a convenient way to name all the files we are interested in.

म्हणून, आपण फाईल सिस्टमद्वारे प्रदान केलेली एक उत्तम गोष्ट पाहू शकतो: आपल्याला स्वारस्य असलेल्या सर्व फाईल्सना नाव देण्याचा एक सोपा मार्ग.


Names are important in systems as the first step to accessing any resource is being able to name it.

कोणत्याही संसाधनामध्ये प्रवेश करण्याचा पहिला टप्पा म्हणजे त्याला नाव देण्यास सक्षम असणे, त्यामुळे प्रणालीमध्ये नावे महत्त्वाची आहेत.


In UNIX systems, the file system thus provides a unified way to access files.

UNIX प्रणालीमध्ये, फाईल सिस्टम फाईल्समध्ये प्रवेश करण्याचा एक एकीकृत मार्ग प्रदान करते.


Let’s now discuss the file system interface in more detail.

आता आपण फाईल सिस्टम इंटरफेसवर अधिक तपशीलवार चर्चा करूया.


We’ll start with the basics of creating, accessing, and deleting files.

आपण फाईल्स तयार करणे, ऍक्सेस करणे आणि हटवणे या मूलभूत गोष्टींपासून सुरुवात करूया.


This can be accomplished with the open system call.

हे ओपन सिस्टीम कॉलने पूर्ण केले जाऊ शकते.


Here is some example code to create a file called “foo” in the current working directory.

सध्याच्या कार्यरत निर्देशिकेत “foo” नावाची फाईल तयार करण्यासाठी हे एक उदाहरण कोड आहे.


The routine open() takes a number of different flags.

ओपन() रूटीन अनेक भिन्न फ्लॅग घेते.


The older way of creating a file is to call creat(), as follows:

फाईल तयार करण्याचा जुना मार्ग म्हणजे creat() ला कॉल करणे, जसे खालीलप्रमाणे:


As you can see, for each stripe of data, we have added a single parity block.

तुम्ही पाहू शकता की, प्रत्येक डेटाच्या पट्ट्यासाठी, आम्ही एक एकल समानता ब्लॉक जोडला आहे.


For example, parity block P1 has redundant information that it calculated from blocks 4, 5, 6, and 7.

उदाहरणार्थ, समानता ब्लॉक P1 मध्ये अनावश्यक माहिती आहे जी त्याने 4, 5, 6 आणि 7 ब्लॉकवरून मोजली आहे.


To compute parity, we need to use a mathematical function that enables us to withstand the loss of any one block from our stripe.

समानता मोजण्यासाठी, आपल्याला एक गणिती कार्य वापरण्याची आवश्यकता आहे जे आम्हाला आमच्या पट्ट्यामधील कोणत्याही एका ब्लॉकचे नुकसान सहन करण्यास सक्षम करते.


It turns out the simple function XOR does the trick quite nicely.

हे दिसून येते की साधे कार्य XOR हे काम चांगले करते.


For a given set of bits, the XOR of all of those bits returns a 0 if there are an even number of 1’s in the bits, and a 1 if there are an odd number of 1’s.

बिट्सच्या दिलेल्या संचासाठी, त्या सर्व बिट्सचे XOR 0 परत करते जर बिट्समध्ये 1 ची सम संख्या असेल आणि 1 परत करते जर विषम संख्या असेल.


In the first row (0,0,1,1), there are two 1’s (C2, C3), and thus XOR of all of those values will be 0 (P); similarly, in the second row there is only one 1 (C1), and thus the XOR must be 1 (P).

पहिल्या ओळीत (0,0,1,1), दोन 1 (C2, C3) आहेत, आणि म्हणूनच त्या सर्व मूल्यांचे XOR 0 (P) असेल; त्याचप्रमाणे, दुसऱ्या ओळीत फक्त एक 1 (C1) आहे, आणि म्हणूनच XOR 1 (P) असणे आवश्यक आहे.


You can remember this in a very simple way: that the number of 1’s in any row must be an even (not odd) number; that is the invariant that the RAID must maintain in order for parity to be correct.

हे आपण अगदी सोप्या पद्धतीने लक्षात ठेवू शकता: कोणत्याही ओळीतील 1 ची संख्या सम (विषम नाही) असली पाहिजे; समानता योग्य होण्यासाठी RAID ने हे अपरिवर्तनीय राखणे आवश्यक आहे.


Imagine the column la- beled C2 is lost.

कल्पना करा की C2 हे लेबल केलेले स्तंभ गमावले आहे.


To figure out what values must have been in the column, we simply have to read in all the other values in that row (including the XOR’d parity bit) and reconstruct the right answer.

स्तंभात कोणती मूल्ये असावी लागतील हे शोधण्यासाठी, आम्हाला फक्त त्या ओळीतील इतर सर्व मूल्ये (XOR केलेले समानता बिटसह) वाचून योग्य उत्तर पुन्हा तयार करावे लागेल.


Specifically, assume the first row’s value in column C2 is lost (it is a 1); by reading the other values in that row (0 from C0, 0 from C1, 1 from C3, and 0 from the parity column P), we get the values 0, 0, 1, and 0.

विशेषतः, असे समजा की स्तंभातील C2 मधील पहिल्या ओळीचे मूल्य गमावले आहे (ते 1 आहे); त्या ओळीतील इतर मूल्ये वाचून (C0 मधून 0, C1 मधून 0, C3 मधून 1 आणि समानता स्तंभातून 0), आम्हाला 0, 0, 1 आणि 0 मूल्ये मिळतात.


Because we know that XOR keeps an even number of 1’s in each row, we know what the missing data must be: a 1.

कारण आपल्याला माहित आहे की XOR प्रत्येक ओळीत 1 ची सम संख्या ठेवते, म्हणून आम्हाला माहित आहे की गहाळ डेटा काय असणे आवश्यक आहे: 1.


And that is how reconstruction works in a XOR-based parity scheme!

आणि अशा प्रकारे XOR-आधारित समानता योजनेत पुनर्निर्माण कार्य करते!


Now you might be wondering: we are talking about XORing all of these bits, and yet above we know that the RAID places 4KB (or larger) blocks on each disk; how do we apply XOR to a bunch of blocks to compute the parity?

आता तुम्हाला आश्चर्य वाटेल: आम्ही या सर्व बिट्सचे XORing बद्दल बोलत आहोत, तरीही आम्हाला माहित आहे की RAID प्रत्येक डिस्कवर 4KB (किंवा मोठे) ब्लॉक्स ठेवते; समानता मोजण्यासाठी आपण ब्लॉक्सच्या समूहांवर XOR कसे लागू करतो?


हे देखील सोपे आहे.


Simply perform a bitwise XOR across each bit of the data blocks; put the result of each bitwise XOR into the corresponding bit slot in the parity block.

डेटा ब्लॉक्सच्या प्रत्येक बिटवर बिटवाईज XOR करा; प्रत्येक बिटवाईज XOR चा परिणाम समानता ब्लॉकच्या संबंधित बिट स्लॉटमध्ये ठेवा.


For example, if we had blocks of size 4 bits (yes, this is still quite a bit smaller than a 4KB block, but you get the picture), they might look something like this:

उदाहरणार्थ, जर आपल्याकडे 4 बिट्सचे ब्लॉक असतील (होय, हे अजूनही 4KB ब्लॉकपेक्षा खूप लहान आहे, परंतु तुम्हाला कल्पना येते), तर ते यासारखे दिसू शकतात:


As you can see from the figure, the parity is computed for each bit of each block and the result placed in the parity block.

आकृतीवरून तुम्ही पाहू शकता की, प्रत्येक ब्लॉकच्या प्रत्येक बिटसाठी समानता मोजली जाते आणि परिणाम समानता ब्लॉकमध्ये ठेवला जातो.


RAID-4 uses 1 disk for parity information for every group of disks it is protecting.

RAID-4 प्रत्येक डिस्कच्या समूहासाठी 1 डिस्कचा वापर समानता माहितीसाठी करते.


Thus, our useful capacity for a RAID group is (N-1).

अशा प्रकारे, RAID समूहासाठी आपली उपयुक्त क्षमता (N-1) आहे.


Reliability is also quite easy to understand: RAID-4 tolerates 1 disk failure and no more.

विश्वासार्हता समजून घेणे देखील सोपे आहे: RAID-4 एका डिस्कच्या अपयशाला सहन करते आणि त्यापेक्षा जास्त नाही.


The inode is a data structure that holds metadata for a file.

इनोड (inode) ही एक डेटा रचना आहे जी फाईलसाठी मेटाडेटा (metadata) साठवते.


The inode number is used to index into an array of on-disk inodes.

इनोड नंबरचा वापर डिस्कवरील इनोड्सच्या (inodes) एरेमध्ये (array) निर्देशांक करण्यासाठी केला जातो.


Most modern systems have a structure like this for every file they track.

जवळपास सगळ्या आधुनिक प्रणालींमध्ये (systems) प्रत्येक फाईलसाठी (file) अशीच काहीशी रचना असते.


The inode table is 20KB in size and consists of 80 inodes.

इनोड टेबल 20KB आकाराचे असून त्यात 80 इनोड्स आहेत.


To read inode number 32, the file system would calculate the offset.

इनोड क्रमांक 32 वाचण्यासाठी, फाईल सिस्टीम ऑफसेटची (offset) गणना करेल.


Disks are not byte addressable, but rather consist of sectors.

डिस्क (disk) बाइट-ॲड्रेस करण्यायोग्य (byte addressable) नाहीत, तर त्या सेक्टर्सच्या (sectors) बनलेल्या असतात.


Inside each inode is information you need about a file.

प्रत्येक इनोडमध्ये (inode) फाईल (file) बद्दलची आवश्यक माहिती असते.


The inode contains the file's type, size, and permissions.

इनोडमध्ये (inode) फाईलचा प्रकार, आकार आणि परवानग्या असतात.


One simple approach would be to have direct pointers inside the inode.

एक सोपा दृष्टिकोन म्हणजे इनोडमध्ये (inode) थेट पॉइंटर्स (pointers) असणे.


To support bigger files, file system designers have introduced different structures.

मोठ्या फाईल्सना (files) सपोर्ट (support) करण्यासाठी, फाईल सिस्टीम डिझायनर्सनी (designers) वेगवेगळ्या रचना सादर केल्या आहेत.


An indirect pointer points to a block that contains more pointers.

एक अप्रत्यक्ष पॉइंटर (pointer) अशा ब्लॉककडे निर्देश करतो ज्यात आणखी पॉइंटर्स आहेत.


Extent-based approaches are less flexible but more compact.

एक्स्टंट-आधारित दृष्टिकोन कमी लवचिक (flexible) असतात, पण अधिक संक्षिप्त (compact) असतात.


The multi-level index approach is used to point to file blocks.

मल्टी-लेव्हल इंडेक्स (multi-level index) दृष्टिकोन फाईल ब्लॉक्सकडे (file blocks) निर्देश करण्यासाठी वापरला जातो.


Most files are small, which influences the design.

बहुतेक फाईल्स लहान असतात, ज्यामुळे डिझाइनवर (design) परिणाम होतो.


Directories have a simple organization in vsfs.

vsfs मध्ये, डिरेक्टरींची (directories) साधी रचना असते.


A directory contains a list of (entry name, inode number) pairs.

एका डिरेक्टरीमध्ये (directory) (एंट्रीचे नाव, इनोड नंबर) जोड्यांची यादी असते.


Deleting a file can leave empty space in the directory.

फाईल (file) डिलीट (delete) केल्याने डिरेक्टरीमध्ये (directory) रिकामी जागा राहू शकते.


File systems treat directories as a special type of file.

फाईल सिस्टीम (file system) डिरेक्टरींना (directories) एका विशिष्ट प्रकारची फाईल मानतात.


A file system must track which inodes and data blocks are free.

फाईल सिस्टीमने (file system) कोणते इनोड (inode) आणि डेटा ब्लॉक्स (data blocks) मोकळे आहेत हे ट्रॅक (track) करणे आवश्यक आहे.


Free space management is important for all file systems.

सर्व फाईल सिस्टीमसाठी (file system) मोकळ्या जागेचे व्यवस्थापन महत्त्वाचे आहे.


I want to call stat() on each file to get more information.

मला प्रत्येक फाईलवर stat()कॉल करायचा आहे, जेणेकरून मला त्याबद्दल अधिक माहिती मिळू शकेल.


Indeed, this is exactly what ls does when you pass it the -l flag.

खरं तर, -l ध्वज दिल्यावर ls नेमके हेच करते.


Try trace ls with and without that flag to see for yourself.

ते ध्वज वापरून आणि न वापरता ls चा मागोवा घेण्याचा प्रयत्न करा, जेणेकरून तुम्हालाच दिसेल.


Finally, you can delete a directory with a call to rmdir().

शेवटी, तुम्ही rmdir()कॉल वापरून एक डिरेक्टरी हटवू शकता.


Unlike file deletion, however, removing directories is more dangerous.

फाईल हटवण्यापेक्षा, डिरेक्टरी काढणे अधिक धोकादायक आहे.


Thus, rmdir() has the requirement that the directory be empty.

म्हणून, rmdir() ला अट आहे की डिरेक्टरी रिकामी असावी.


If you try to delete a non-empty directory, the call to rmdir() simply will fail.

जर तुम्ही रिकामी नसलेली डिरेक्टरी हटवण्याचा प्रयत्न केला, तर rmdir()कॉल अयशस्वी होईल.


We now come back to the mystery of why removing a file is performed via unlink().

आता आपण फाईल काढण्याचे कार्य unlink() द्वारे का केले जाते या रहस्यकडे परत येऊया.


The link() system call takes two arguments, an old pathname and a new one.

link() सिस्टीम कॉल दोन युक्तिवाद घेतो, एक जुना पाथनेम आणि दुसरा नवीन.


When you “link” a new file name to an old one, you essentially create another way to refer to the same file.

जेव्हा तुम्ही नवीन फाईल नावाला जुन्याशी “लिंक” करता, तेव्हा तुम्ही त्याच फाईलचा संदर्भ घेण्यासाठी दुसरा मार्ग तयार करता.


The command-line program ln is used to do this.

हे करण्यासाठी ln कमांड-लाइन प्रोग्राम वापरला जातो.


After this, we can examine the file by either opening file or file2.

यानंतर, आम्ही file किंवा file2 उघडून फाईलची तपासणी करू शकतो.


The way link works is that it simply creates another name in the directory you are creating the link to.

link ज्या पद्धतीने कार्य करते ते म्हणजे, तुम्ही ज्या डिरेक्टरीमध्ये लिंक तयार करत आहात, त्या डिरेक्टरीमध्ये ते फक्त दुसरे नाव तयार करते.


The file is not copied in any way; rather, you now just have two human names that both refer to the same file.

फाईल कोणत्याही प्रकारे कॉपी केली जात नाही; त्याऐवजी, तुमच्याकडे आता दोन मानवी नावे आहेत जी दोन्ही एकाच फाईलचा संदर्भ देतात.


We can even see this in the directory itself, by printing out the inode number of each file.

आम्ही हे डिरेक्टरीमध्ये देखील पाहू शकतो, प्रत्येक फाईलचा इनोड क्रमांक छापून.


By passing the -i flag to ls, it prints out the inode number of each file.

-i ध्वज ls ला दिल्यावर, ते प्रत्येक फाईलचा इनोड क्रमांक छापते.


When you create a file, you are really doing two things.

जेव्हा तुम्ही फाईल तयार करता, तेव्हा तुम्ही खरोखर दोन गोष्टी करत असता.


First, you are making a structure (the inode) that will track virtually all relevant information about the file.

पहिले, तुम्ही एक रचना (इनोड) तयार करत आहात जे फाईल संबंधित जवळजवळ सर्व माहितीचा मागोवा घेईल.


After creating a hard link to a file, to the file system, there is no difference between the original file name and the newly created file name.

फाईलसाठी हार्ड लिंक तयार केल्यानंतर, फाईल सिस्टीममध्ये, मूळ फाईलचे नाव आणि नव्याने तयार केलेल्या फाईलमध्ये कोणताही फरक नाही.


Thus, to remove a file from the file system, we call unlink().

म्हणून, फाईल सिस्टीममधून फाईल काढण्यासाठी, आपण unlink()कॉल करतो.


How can a file system accomplish any of this with reasonable efficiency?

फाईल सिस्टिम हे सर्व काही वाजवी कार्यक्षमतेने कसे साधू शकते?


Even the simplest of operations like opening, reading, or writing a file incurs a huge number of I/O operations, scattered over the disk.

एखादे फ़ाईल उघडणे, वाचणे किंवा लिहीणे यासारख्या साध्या ऑपरेशनमध्ये डिस्कवर पसरलेल्या मोठ्या संख्येने I/O ऑपरेशन्सचा समावेश होतो.


To remedy what would clearly be a huge performance problem, most file systems aggressively use system memory (DRAM) to cache important blocks.

जे स्पष्टपणे एक मोठी कार्यक्षमतेची समस्या आहे, त्यावर उपाय म्हणून, बहुतेक फाईल सिस्टम महत्वाचे ब्लॉक्स कॅश करण्यासाठी सिस्टम मेमरी (DRAM) चा आक्रमकपणे वापर करतात.


Imagine the open example above: without caching, every file open would require at least two reads for every level in the directory hierarchy.

वरचे उदाहरण विचारात घ्या: कॅशिंगशिवाय, प्रत्येक फाईल उघडण्यासाठी डिरेक्टरी पदानुक्रमातील प्रत्येक स्तरावर कमीतकमी दोन वेळा वाचावे लागेल.


Modern systems integrate virtual memory pages and file system pages into a unified page cache.

आधुनिक प्रणाली व्हर्च्युअल मेमरी पेजेस आणि फाईल सिस्टम पेजेस एका युनिफाईड पेज कॅशमध्ये एकत्रित करतात.


First, by delaying writes, the file system can batch some updates into a smaller set of I/Os.

पहिले म्हणजे, लेखन (writes) ला विलंब करून, फाईल सिस्टम काही अपडेट्सना लहान I/Os मध्ये एकत्रित करू शकते.


Some applications (such as databases) don’t enjoy this trade-off.

काही ॲप्लिकेशन्स (उदाहरणार्थ, डेटाबेस) या तडजोडीचा आनंद घेत नाहीत.


We have seen the basic machinery required in building a file system.

आपण फाईल सिस्टम तयार करण्यासाठी आवश्यक असलेली मूलभूत यंत्रणा पाहिली आहे.


Directories are just a specific type of file that store name→inode-number mappings.

डायरेक्टरीज हे फक्त एका विशिष्ट प्रकारची फाईल आहेत जे नाव→इनोड-नंबर मॅपिंग (mapping) साठवतात.


The terrific aspect of file system design is its freedom.

फाईल सिस्टम डिझाइनचा उत्कृष्ट पैलू म्हणजे त्याचे स्वातंत्र्य.


When the UNIX operating system was first introduced, the UNIX wizard himself Ken Thompson wrote the first file system.

जेव्हा युनिक्स ऑपरेटिंग सिस्टम पहिल्यांदा सादर करण्यात आले, तेव्हा युनिक्सचे जादूगार केन थॉम्पसन यांनी पहिली फाईल सिस्टम लिहीली.


समस्या: कार्यक्षमता अत्यंत खराब होती.


The main issue was that the old UNIX file system treated the disk like it was a random-access memory.

मुख्य मुद्दा असा होता की जुन्या युनिक्स फाईल सिस्टमने डिस्कला रँडम-अॅक्सेस मेमरीप्रमाणे वागवले.


For example, the data blocks of a file were often very far away from its inode, thus inducing an expensive seek whenever one first read the inode and then the data blocks of a file.

उदाहरणार्थ, फाईलचे डेटा ब्लॉक्स त्याच्या इनोडपासून (inode) खूप दूर होते, ज्यामुळे जेव्हा एखादी व्यक्ती प्रथम इनोड वाचते आणि नंतर फाईलचे डेटा ब्लॉक्स वाचते, तेव्हा महागडे शोध (seek) निर्माण होतात.


The free list would end up pointing to a bunch of blocks spread across the disk, and as files got allocated, they would simply take the next free block.

फ्री लिस्ट डिस्कवर पसरलेल्या अनेक ब्लॉक्सकडे निर्देश करेल, आणि जसे फाईल्सचे वाटप केले जाईल, तसे ते फक्त पुढील मोकळा ब्लॉक घेतील.


This fragmentation problem happened all the time in the old UNIX file system, and it hurt performance.

ही विभाजन (fragmentation) समस्या जुन्या युनिक्स फाईल सिस्टममध्ये नेहमीच होत होती, आणि त्यामुळे कार्यक्षमतेवर परिणाम झाला.


How can we organize file system data structures so as to improve performance?

कार्यक्षमता सुधारण्यासाठी आपण फाईल सिस्टम डेटा स्ट्रक्चर्सची (structures) रचना कशी करू शकतो?


FFS thus ushered in a new era of file system research.

अशा प्रकारे FFS ने फाईल सिस्टम संशोधनाचे एक नवीन युग सुरू केले.


The first step was to change the on-disk structures.

पहिले पाऊल म्हणजे डिस्कवरील रचना बदलणे.


These groups are the central mechanism that FFS uses to improve performance.

हे गट (groups) हे मध्यवर्ती यंत्रणा आहेत जी FFS कार्यक्षमता सुधारण्यासाठी वापरते.


The file system manages data structures to implement abstractions like files and directories.

फाईल सिस्टीम, फाईल्स आणि डिरेक्टरीज सारख्या अमूर्त गोष्टी लागू करण्यासाठी डेटा स्ट्रक्चर्स व्यवस्थापित करते.


Power loss or system crashes can lead to inconsistent data structures on disk.

वीज खंडित होणे किंवा सिस्टम क्रॅश झाल्यामुळे डिस्कवर डेटा स्ट्रक्चर्समध्ये विसंगती येऊ शकते.


The crash-consistency problem is a key challenge in file system design.

क्रॅश-कंसिस्टंट समस्या ही फाईल सिस्टीम डिझाइनमधील एक प्रमुख आव्हान आहे.


Fsck is a tool used to find and repair inconsistencies in file systems.

Fsck हे फाईल सिस्टीममधील विसंगती शोधण्यासाठी आणि दुरुस्त करण्यासाठी वापरले जाणारे साधन आहे.


Journaling adds overhead but allows for faster recovery from crashes.

जर्नलिंग ओव्हरहेड वाढवते, परंतु क्रॅशमधून जलद पुनर्प्राप्तीस मदत करते.


The inode stores metadata about a file, such as its size and permissions.

इनोडमध्ये फाईलची मेटाडेटा माहिती असते, जसे की त्याचे आकारमान आणि परवानग्या.


A data bitmap is used to track which data blocks are allocated.

डेटा ब्लॉकचे वाटप केले जाते हे ट्रॅक करण्यासाठी डेटा बिटमॅप वापरले जाते.


When appending to a file, the inode, data block, and bitmap must be updated.

फाईलमध्ये डेटा जोडताना, इनोड, डेटा ब्लॉक आणि बिटमॅप अपडेट करणे आवश्यक आहे.


Crash scenarios can lead to inconsistent file system states.

क्रॅश परिस्थितीमुळे फाईल सिस्टीमची स्थिती विसंगत होऊ शकते.


Fsck operates in phases to check and repair the file system.

Fsck फाईल सिस्टीम तपासण्यासाठी आणि दुरुस्त करण्यासाठी टप्प्याटप्प्याने कार्य करते.


The superblock contains crucial information about the file system.

सुपरब्लॉकमध्ये फाईल सिस्टीमबद्दल महत्त्वाची माहिती असते.


Fsck checks for free blocks and ensures the allocation bitmaps are correct.

Fsck मोकळे ब्लॉक्स तपासते आणि वाटप बिटमॅप्स योग्य आहेत हे सुनिश्चित करते.


Inode state is checked for corruption and other problems.

इनोडची स्थिती भ्रष्टता आणि इतर समस्यांसाठी तपासली जाते.


Fsck verifies the link count of each allocated inode.

Fsck प्रत्येक वाटप केलेल्या इनोडची लिंक संख्या सत्यापित करते.


Duplicate pointers and bad blocks are also checked by fsck.

Fsck द्वारे डुप्लिकेट पॉइंटर आणि खराब ब्लॉक्स देखील तपासले जातात.


Directory checks ensure the integrity of directory contents.

डायरेक्टरी तपासणी, डायरेक्टरीमधील सामग्रीची अखंडता सुनिश्चित करते.


Fsck can be slow on very large disk volumes.

मोठ्या डिस्क व्हॉल्यूमवर Fsck संथ असू शकते.


Journaling is a technique to improve crash consistency.

क्रॅश सुसंगतता सुधारण्यासाठी जर्नलिंग ही एक तंत्र आहे.


Modern file systems often use journaling for data integrity.

आधुनिक फाईल सिस्टीम डेटा इंटिग्रिटीसाठी अनेकदा जर्नलिंगचा वापर करतात.


The goal is to move the file system from one consistent state to another atomically.

एकसंध स्थितीतून दुसऱ्या स्थितीत अणुगतीने फाईल सिस्टीम हलवणे हे ध्येय आहे.


The allocated blocks and reading the entire directory tree may take many minutes or hours.

आवंटित ब्लॉक्स आणि संपूर्ण डिरेक्टरी ट्री वाचायला अनेक मिनिटे किंवा तास लागू शकतात.


Performance offsck, as disks grew in capacity and RAIDs grew in popularity, became prohibitive.

डिस्कची क्षमता वाढल्याने आणि RAID ची लोकप्रियता वाढल्याने, कार्यक्षमतेत घट झाली, जी आता जवळजवळ थांबली आहे.


Consider our example above, where just three blocks are written to the disk.

आपण वरील उदाहरण विचारात घ्या, जिथे फक्त तीन ब्लॉक्स डिस्कवर लिहिले जातात.


This situation is akin to dropping your keys on the floor in your bedroom.

ही परिस्थिती तुमच्या बेडरूममध्ये जमिनीवर चावी पडल्यासारखी आहे.


Thus, as disks (and RAIDs) grew, researchers and practitioners started to look for other solutions.

अशा प्रकारे, डिस्क (आणि RAID) वाढल्यामुळे, संशोधक आणि व्यावसायिकांनी इतर उपाय शोधण्यास सुरुवात केली.


Probably the most popular solution to the consistent update problem is to steal an idea from the world of database management systems.

सुसंगत अपडेट समस्येचे सर्वात लोकप्रिय समाधान म्हणजे डेटाबेस व्यवस्थापन प्रणालीच्या जगातली कल्पना घेणे.


That idea, known as write-ahead logging, was invented to address exactly this type of problem.

राइट-अहेड लॉगिंग म्हणून ओळखली जाणारी ही कल्पना, नेमकी याच प्रकारची समस्या सोडवण्यासाठी तयार केली गेली.


In file systems, we usually call write-ahead logging journaling for historical reasons.

फाइल सिस्टममध्ये, आपण ऐतिहासिक कारणांसाठी राइट-अहेड लॉगिंगला जर्नलिंग म्हणतो.


याची मूलभूत कल्पना खालीलप्रमाणे आहे.


When updating the disk, before overwriting the structures in place, first write down a little note.

डिस्क अपडेट करताना, स्ट्रक्चर्स ओव्हरराइट करण्यापूर्वी, प्रथम एक छोटी नोंद लिहा.


By writing the note to disk, you are guaranteeing that if a crash takes places during the update.

नोंद डिस्कवर लिहून, तुम्ही हे सुनिश्चित करत आहात की अपडेट दरम्यान क्रॅश झाल्यास.


By design, journaling thus adds a bit of work during updates to greatly reduce the amount of work required during recovery.

डिजाइननुसार, जर्नलिंग अपडेट दरम्यान थोडे काम वाढवते, जेणेकरून रिकव्हरी दरम्यान आवश्यक असलेले काम मोठ्या प्रमाणात कमी होते.


We’ll now describe how Linux ext3, a popular journaling file system, incorporates journaling into the file system.

आता आपण वर्णन करू की लोकप्रिय जर्नलिंग फाइल सिस्टम, लिनक्स ext3, फाइल सिस्टममध्ये जर्नलिंगचा समावेश कसा करते.


Most of the on-disk structures are identical to Linux ext2.

डिस्कवरील बहुतेक स्ट्रक्चर्स लिनक्स ext2 सारखेच आहेत.


The new key structure is the journal itself, which occupies some small amount of space within the partition.

नवीन मुख्य रचना स्वतः जर्नल आहे, जे विभाजन (partition) मध्ये काही कमी जागा व्यापते.


The real difference is just the presence of the journal, and of course, how it is used.

यातील खरा फरक फक्त जर्नलची उपस्थिती आहे, आणि अर्थातच, ते कसे वापरले जाते.


Let’s look at a simple example to understand how data journaling works.

डेटा जर्नलिंग कसे कार्य करते हे समजून घेण्यासाठी एक सोपे उदाहरण पाहूया.


Data journaling is available as a mode with the Linux ext3 filesystem.

डेटा जर्नलिंग लिनक्स ext3 फाइलसिस्टमसह एका मोडमध्ये उपलब्ध आहे.


Say we have our canonical update again, where we wish to write the ‘inode (I[v2]), bitmap (B[v2]), and data block (Db) to disk again.

समजा, आपल्याकडे पुन्हा कॅनॉनिकल अपडेट आहे, जिथे आपल्याला ‘इनोड (I[v2]), बिटमॅप (B[v2]), आणि डेटा ब्लॉक (Db) पुन्हा डिस्कवर लिहायचा आहे.


Before writing them to their final disk locations, we are now first going to write them to the log (a.k.a. journal).

त्यांना त्यांच्या अंतिम डिस्क स्थानावर लिहिण्यापूर्वी, आपण प्रथम त्यांना लॉगमध्ये (म्हणजे जर्नलमध्ये) लिहित आहोत.


During replay, the recovery process simply replays everything in the log.

पुनर्निर्मिती दरम्यान, पुनर्प्राप्ती प्रक्रिया फक्त लॉगमधील सर्वकाही पुन्हा प्ले करते.


Clearly this is not a correct recovery action, and certainly it will be a surprise to the user when reading the file.

स्पष्टपणे, ही योग्य पुनर्प्राप्ती क्रिया नाही, आणि निश्चितच वापरकर्त्याला फाइल वाचताना आश्चर्य वाटेल.


There are a number of solutions to this problem.

या समस्येवर अनेक उपाय आहेत.


What Linux ext3 does instead is to add a new type of record to the journal, known as a revoke record.

याऐवजी, लिनक्स एक्सट3 जर्नलमध्ये एका नवीन प्रकारची नोंद जोडते, ज्याला 'रिवोक रेकॉर्ड' म्हणून ओळखले जाते.


When replaying the journal, the system first scans for such revoke records.

जर्नल पुन्हा प्ले करताना, सिस्टम प्रथम अशा रिवोक नोंदी स्कॅन करते.


In each table, time increases in the downward direction.

प्रत्येक टेबलामध्ये, वेळ खालील दिशेने वाढतो.


Horizontal dashed lines show where write-ordering requirements must be obeyed.

क्षैतिज डॅश केलेल्या रेषा दर्शवतात की जिथे लेखन-ऑर्डरिंग आवश्यकतांचे पालन करणे आवश्यक आहे.


The only guarantees about ordering that we have are those that must be enforced for protocol correctness.

ऑर्डरिंगबद्दल आपल्याकडे असलेले एकमेव हमी म्हणजे जे प्रोटोकॉलच्या योग्यतेसाठी लागू करणे आवश्यक आहे.


We’ve thus far described two options in keeping file system metadata consistent.

आम्ही आतापर्यंत फाइल सिस्टम मेटाडेटा सुसंगत ठेवण्यासाठी दोन पर्याय वर्णन केले आहेत.


This approach carefully orders all writes to the file system to ensure that the on-disk structures are never left in an inconsistent state.

हा दृष्टिकोन फाइल सिस्टममधील सर्व लेखन काळजीपूर्वक ऑर्डर करतो, हे सुनिश्चित करतो की डिस्कवरील रचना कधीही विसंगत स्थितीत राहणार नाहीत.


Implementing Soft Updates can be a challenge, however.

तथापि, सॉफ्ट अपडेट्स लागू करणे एक आव्हान असू शकते.


Another approach is known as copy-on-write (yes, COW), and is used in a number of popular file systems.

आणखी एक दृष्टिकोन कॉपी-ऑन-राइट (कॉउ) म्हणून ओळखला जातो, आणि तो अनेक लोकप्रिय फाइल सिस्टममध्ये वापरला जातो.


This technique never overwrites files or directories in place.

ही पद्धत फाइल्स किंवा डिरेक्टरींना त्याच जागी कधीही ओव्हरराइट करत नाही.


After a number of updates are completed, COW file systems flip the root structure of the file system.

अनेक अपडेट्स पूर्ण झाल्यानंतर, कॉउ फाइल सिस्टम फाइल सिस्टमची रूट रचना बदलते.


Doing so makes keeping the file system consistent straightforward.

असे केल्याने फाइल सिस्टम सुसंगत ठेवणे सोपे होते.


We’ll be learning more about this technique when we discuss the log-structured file system (LFS) in a future chapter.

पुढील अध्यायात लॉग-स्ट्रक्चर्ड फाइल सिस्टम (LFS) बद्दल चर्चा करताना आपण या तंत्राबद्दल अधिक माहिती घेणार आहोत.


Another approach is one we just developed here at Wisconsin.

आणखी एक दृष्टिकोन जो आम्ही नुकताच विस्कॉन्सिन येथे विकसित केला आहे.


To achieve consistency, an additional back pointer is added to every block in the system.

सुसंगतता साधण्यासाठी, सिस्टममधील प्रत्येक ब्लॉकला एक अतिरिक्त बॅक पॉइंटर जोडला जातो.


When accessing a file, the file system can determine if the file is consistent by checking if the forward pointer points to a block that refers back to it.

फाइल ऍक्सेस करताना, फाइल सिस्टम हे तपासू शकते की फाइल सुसंगत आहे की नाही, हे फॉरवर्ड पॉइंटर त्या ब्लॉककडे निर्देशित करतो का, जो त्या फाइलचा संदर्भ देतो.


We have introduced the problem of crash consistency, and discussed various approaches to attacking this problem.

आम्ही क्रॅश सुसंगततेची समस्या सादर केली आहे आणि या समस्येवर मात करण्यासाठी विविध दृष्टिकोन चर्चा केली आहे.


When accessing a seemingly-working disk, it may return an error.

एका सामान्यपणे काम करणाऱ्या डिस्कवर प्रवेश करताना, ती त्रुटी दर्शवू शकते.


हे फक्त चुकीचा डेटा परत करू शकते.


Both of these types of faults are somewhat rare.

या दोन्ही प्रकारच्या त्रुटी काहीशा दुर्लभ आहेत.


The table summarizes some of the findings from the two Bairavasundaram studies.

सारणी दोन बैरवासुंदरम अभ्यासांतील काही निष्कर्ष दर्शवते.


Buying better drives reduces the frequency of both types of problem.

चांगले ड्राइव्ह खरेदी केल्याने दोन्ही प्रकारच्या समस्या कमी होतात.


They still happen often enough that you need to think carefully about them.

तरीही, त्या बर्‍याचदा घडतात, त्यामुळे तुम्हाला त्याबद्दल विचारपूर्वक विचार करणे आवश्यक आहे.


Costly drives with more than one LSE are as likely to develop additional errors as cheaper drives.

एकापेक्षा जास्त LSE असलेले महागडे ड्राइव्ह स्वस्त ड्राइव्हप्रमाणेच अतिरिक्त त्रुटी विकसित करण्याची शक्यता असते.


Annual error rate increases in year two.

दुसऱ्या वर्षात वार्षिक त्रुटी दर वाढतो.


डिस्कच्या आकारमानानुसार LSEs वाढतात.


LSE असलेले बहुतेक डिस्क 50 पेक्षा कमी असतात.


Disks with LSEs are more likely to develop additional LSEs.

LSE असलेल्या डिस्कवर अतिरिक्त LSEs विकसित होण्याची अधिक शक्यता असते.


डिस्क स्क्रबिंग उपयुक्त आहे.


Chance of corruption varies greatly across different drive models.

भ्रष्टाचाराची शक्यता वेगवेगळ्या ड्राइव्ह मॉडेल्समध्ये मोठ्या प्रमाणात बदलते.


Age affects are different across models.

मॉडेलनुसार वयाचे परिणाम भिन्न असतात.


Workload and disk size have little impact on corruption.

भ्रष्टाचारावर वर्कलोड आणि डिस्कच्या आकारमानाचा फारसा परिणाम होत नाही.


Most disks with corruption only have a few corruptions.

भ्रष्टाचार असलेल्या बहुतेक डिस्कवर फक्त काही भ्रष्टाचार असतात.


Corruption is not independent with a disk or across disks in RAID.

भ्रष्टाचार एका डिस्कवर किंवा RAID मधील डिस्कवर स्वतंत्रपणे होत नाही.


To learn more about these failures, you should likely read the original papers.

या अपयशांबद्दल अधिक माहितीसाठी, आपण मूळ पेपर वाचले पाहिजे.


If you really wish to build a reliable storage system, you must include machinery to detect and recovery from both LSEs and block corruption.

जर तुम्हाला एक विश्वसनीय स्टोरेज सिस्टम तयार करायची असेल, तर तुम्हाला LSEs आणि ब्लॉक भ्रष्टाचाराचा शोध घेण्यासाठी आणि त्यातून पुनर्प्राप्तीसाठी यंत्रणा समाविष्ट करणे आवश्यक आहे.


When a storage system tries to access a block, and the disk returns an error, the storage system should simply use whatever redundancy mechanism it has to return the correct data.

जेव्हा स्टोरेज सिस्टम ब्लॉक ऍक्सेस करण्याचा प्रयत्न करते आणि डिस्क त्रुटी दर्शवते, तेव्हा स्टोरेज सिस्टमने योग्य डेटा परत करण्यासाठी तिच्याकडे असलेली कोणतीही अतिरेकी यंत्रणा वापरली पाहिजे.


LFS has just such a fixed place on disk for this, known as thecheck- point region (CR).

LFS कडे यासाठी डिस्कवर एक निश्चित स्थान आहे, जे चेक-पॉइंट रीजन (CR) म्हणून ओळखले जाते.


The checkpoint region contains pointers to (i.e., ad- dresses of) the latest pieces of the inode map, and thus the inode map pieces can be found by reading the CR first.

चेक-पॉइंट रीजनमध्ये इनोड नकाशाच्या नवीनतम भागांचे पॉइंटर (म्हणजे पत्ते) आहेत, आणि अशा प्रकारे इनोड नकाशाचे भाग प्रथम CR वाचून शोधले जाऊ शकतात.


Note the checkpoint region is only updated periodically (say every 30 seconds or so), and thus perfor- mance is not ill-affected.

लक्षात घ्या की चेकपॉइंट रीजन केवळ वेळोवेळी अपडेट केले जाते (उदाहरणार्थ, दर 30 सेकंदात), आणि त्यामुळे कार्यक्षमतेवर वाईट परिणाम होत नाही.


Thus, the overall structure of the on-disk layout contains a checkpoint region (which points to the latest pieces of the in- ode map); the inode map pieces each contain addresses of the inodes; the inodes point to files (and directories) just like typical UNIXfile systems.

अशा प्रकारे, ऑन-डिस्क लेआउटच्या एकूण संरचनेत एक चेकपॉइंट रीजन आहे (जे इनोड नकाशाच्या नवीनतम भागाकडे निर्देश करते); इनोड नकाशाच्या प्रत्येक भागामध्ये इनोडचे पत्ते असतात; इनोड फाईल्स (आणि डिरेक्टरी) कडे त्याचप्रमाणे निर्देश करतात जसे सामान्य UNIX फाईल सिस्टममध्ये.


Here is an example of the checkpoint region (note it is all theway at the beginning of the disk, at address 0), and a single imap chunk, inode, and data block.

येथे चेकपॉइंट रीजनचे उदाहरण आहे (लक्षात घ्या की ते डिस्कच्या सुरुवातीला, 0 पत्त्यावर आहे) आणि एकच imap तुकडा, इनोड आणि डेटा ब्लॉक आहे.


A real file system would of course have a much bigger CR (indeed, it would have two, as we’ll come to understand later), many imap chunks, and of course many more inodes, data blocks, etc.

एका वास्तविक फाईल सिस्टममध्ये अर्थातच खूप मोठे CR असेल (खरं तर, ते दोन असतील, जसे आपण नंतर समजून घेऊ), अनेक imap तुकडे आणि अर्थातच, अनेक इनोड, डेटा ब्लॉक्स, इत्यादी असतील.


To make sure you understand how LFS works, let us now walk through what must happen to read a file from disk.

LFS कसे कार्य करते हे समजून घेण्यासाठी, डिस्कवरून फाईल वाचण्यासाठी काय घडले पाहिजे याबद्दल चर्चा करूया.


Assume we have nothing in memory to begin.

असे समजू या की सुरुवातीला आपल्याकडे मेमरीमध्ये काहीही नाही.


The first on-disk data structure we must readis the checkpoint region.

पहिली ऑन-डिस्क डेटा संरचना जी आपण वाचली पाहिजे ती म्हणजे चेकपॉइंट रीजन.


The checkpoint region contains pointers (i.e., disk ad- dresses) to the entire inode map, and thus LFS then reads in the entire in- ode map and caches it in memory.

चेकपॉइंट रीजनमध्ये संपूर्ण इनोड नकाशाचे पॉइंटर (म्हणजे डिस्क पत्ते) आहेत, आणि अशा प्रकारे LFS संपूर्ण इनोड नकाशा वाचतो आणि मेमरीमध्ये कॅशे करतो.


After this point, when given an inode number of a file, LFS simply looks up the inode-number to inode-disk- address mapping in the imap, and reads in the most recent version of the inode.

या बिंदूनंतर, फाईलचा इनोड नंबर दिल्यावर, LFS फक्त imap मध्ये इनोड-नंबर ते इनोड-डिस्क-पत्ता मॅपिंग शोधतो आणि इनोडची सर्वात अलीकडील आवृत्ती वाचतो.


Fortunately, directory structure is basically identical to classic UNIX file systems, in that a directory is just a collection of (name, inode number) mappings.

सुदैवाने, डिरेक्टरीची रचना मूलतः क्लासिक UNIX फाईल सिस्टमसारखीच आहे, ज्यात एक डिरेक्टरी फक्त (नाव, इनोड नंबर) मॅपिंगचा संग्रह आहे.


For example, when creating a file on disk, LFS must both write a new inode, some data, as well as the directory data and its inode that refer to this file.

उदाहरणार्थ, डिस्कवर फाईल तयार करताना, LFS ने नवीन इनोड, काही डेटा तसेच डिरेक्टरी डेटा आणि त्याचा इनोड लिहावा लागतो जे या फाईलचा संदर्भ देतात.


Remember that LFS will do so sequentially on the disk (after buffering the updates for some time).

लक्षात ठेवा की LFS डिस्कवर हे क्रमाने करेल (काही काळासाठी अपडेट्स बफर केल्यानंतर).


Thus, creatinga filefooin a directory would lead to the following new structures on disk:

अशा प्रकारे, डिरेक्टरीमध्ये फाइल तयार केल्यास डिस्कवर खालील नवीन रचना तयार होतील:


There is one other serious problem in LFS that the inode map solves, known as therecursive update problem[Z+12].

LFS मध्ये आणखी एक गंभीर समस्या आहे जी इनोड नकाशा सोडवतो, ज्याला पुनरावृत्ती अपडेट समस्या [Z+12] म्हणून ओळखले जाते.


The problem arises in any file system that never updates in place (such as LFS), but rather moves updates to new locations on the disk.

ही समस्या कोणत्याही फाईल सिस्टममध्ये उद्भवते जी कधीही जागी अपडेट होत नाही (LFS सारखे), परंतु अपडेट्स डिस्कवरील नवीन स्थानांवर हलवते.


Specifically, whenever an inode is updated, its location on disk changes.

विशेषतः, जेव्हा इनोड अपडेट केला जातो, तेव्हा डिस्कवरील त्याचे स्थान बदलते.


LFS cleverly avoids this problem with the inode map.

LFS इनोड नकाशा वापरून ही समस्या चतुराईने टाळतो.


It turns out that file systems react poorly to failures.

असे दिसून येते की फाईल सिस्टम अपयशांना वाईट प्रतिसाद देतात.


We found numerous bugs and design flaws in file systems.

आम्हाला फाईल सिस्टममध्ये अनेक बग आणि डिझाइनमधील दोष आढळले.


This paper discusses how to build fault-tolerant services.

हा पेपर फॉल्ट-टॉलरंट सेवा कशा तयार करायच्या यावर चर्चा करतो.


Memory contents disappear if your machine crashes.

तुमचे मशीन क्रॅश झाल्यास मेमरीमधील डेटा नाहीसा होतो.


Updates to persistent storage are a challenging problem.

कायमस्वरूपी स्टोरेजमध्ये अपडेट करणे एक आव्हानात्मक समस्या आहे.


Disk scheduling and data protection techniques are cool.

डिस्क शेड्यूलिंग आणि डेटा प्रोटेक्शन तंत्रज्ञान छान आहे.


Flash Translation Layers use log-structuring internally.

फ्लॅश ट्रान्सलेशन लेयर्स अंतर्गत लॉग-स्ट्रक्चरिंग वापरतात.


Distributed systems have changed the world.

वितरित प्रणालींनी जगाचे स्वरूप बदलले आहे.


Building distributed systems is hard because things fail.

वितरित प्रणाली तयार करणे कठीण आहे कारण गोष्टी अयशस्वी होतात.


मी नेहमीच वितरित प्रणाली वापरतो.


They use replication, retry, and other tricks.

ते रेप्लिकेशन, रिट्राय आणि इतर युक्त्या वापरतात.


संदेशवहन नैसर्गिकरित्या अविश्वसनीय आहे.


Packets sometimes do not reach their destination.

कधीकधी पॅकेट त्यांच्या गंतव्यस्थानावर पोहोचत नाहीत.


Packet loss is fundamental in networking.

नेटवर्कमध्ये पॅकेट लॉस मूलभूत आहे.


UDP एक अविश्वसनीय संदेशन स्तर आहे.


We need reliable communication on top of an unreliable network.

अविश्वसनीय नेटवर्कवर आम्हाला विश्वसनीय संवाद आवश्यक आहे.


Checksums are used to detect corruption.

भ्रष्टाचार शोधण्यासाठी चेकसम वापरले जातात.


The sender sets a timer to go off after some time.

प्रेषक काही वेळानंतर बंद होण्यासाठी टाइमर सेट करतो.


The receiver sends a short message back to acknowledge receipt.

प्राप्त झाल्याची पावती देण्यासाठी प्राप्तकर्ता एक लहान संदेश परत पाठवतो.


Sequence counters can be used to avoid duplicates.

डुप्लिकेट्स टाळण्यासाठी सिक्वेन्स काउंटर्सचा वापर केला जाऊ शकतो.


In DSM systems, some accesses are inexpensive, but others cause page faults.

डीएसएम प्रणालीमध्ये, काही ऍक्सेस स्वस्त असतात, परंतु इतरांना पेज फॉल्ट येतात.


Imagine a linked list where a next pointer points into a portion of the address space that is gone.

कल्पना करा की एक लिंक्ड लिस्ट आहे जिथे पुढील पॉइंटर ऍड्रेस स्पेसच्या अशा भागाकडे निर्देश करतो जो अस्तित्वात नाही.


Though much research was performed in this space, there was little practical impact.

या क्षेत्रात भरपूर संशोधन झाले, तरीही त्याचा व्यावहारिक प्रभाव कमी होता.


Remote procedure call packages all have a simple goal: to make the process of executing code on a remote machine as simple and straightforward as calling a local function.

रिमोट प्रक्रिया कॉल पॅकेजचा एक सोपा उद्देश आहे: दूरस्थ मशीनवर कोड कार्यान्वित करण्याची प्रक्रिया स्थानिक फंक्शन कॉल करण्याइतकी सोपी आणि सरळ करणे.


The stub generator’s job is simple: to remove some of the pain of packing function arguments and results into messages by automating it.

स्टब जनरेटरचे काम सोपे आहे: फंक्शनचे युक्तिवाद आणि परिणाम संदेशात पॅक करण्याच्या त्रासातून सुटका करणे, ते स्वयंचलित करून.


The input to such a compiler is simply the set of calls a server wishes to export to clients.

अशा कंपायलरसाठी इनपुट म्हणजे सर्व्हर्स क्लायंट्सना निर्यात करू इच्छित असलेल्या कॉल्सचा संच.


For the client, a client stub is generated, which contains each of the functions specified in the interface.

क्लायंटसाठी, एक क्लायंट स्टब तयार केला जातो, ज्यामध्ये इंटरफेसमध्ये निर्दिष्ट केलेली प्रत्येक कार्ये असतात.


संदेश बफर तयार करा.


Pack the needed information into the message buffer.

आवश्यक माहिती संदेश बफरमध्ये पॅक करा.


The process of putting all of this information into a single contiguous buffer is sometimes referred to as the marshaling of arguments or the serialization of the message.

या सर्व माहितीला एकाच लागोपाठ बफरमध्ये ठेवण्याच्या प्रक्रियेला कधीकधी युक्तिवादांचे मार्शलिंग किंवा संदेशाचे सिरीयलायझेशन म्हणतात.


प्रतिक्रियेची प्रतीक्षा करा.


परत येणारा कोड आणि इतर युक्तिवाद अनपॅक करा.


कॉल करणाऱ्याकडे परत जा.


संदेश अनपॅक करा.


वास्तविक फंक्शनला कॉल करा.


परिणाम पॅकेज करा.


प्रत्युत्तर पाठवा.


Another important issue is the organization of the server with regards to concurrency.

आणखी एक महत्त्वाचा मुद्दा म्हणजे एकाच वेळी अनेक कामे (concurrency) विचारात घेऊन सर्व्हरची रचना करणे.


The run-time library handles much of the heavy lifting in an RPC system.

रन-टाइम लायब्ररी आरपीसी प्रणालीतील बरीच मोठी कामे हाताळते.


One of the first challenges we must overcome is how to locate a remote service.

आपण जिंकणे आवश्यक असलेले पहिले आव्हान म्हणजे दूरस्थ सेवा (remote service) कशी शोधायची.


The server crashed before writing the data to disk.

डेटा डिस्कवर लिहित्यापूर्वी सर्व्हर क्रॅश झाला.


Clients handle server failure based on assumptions.

क्लायंट गृहितकांवर आधारित सर्व्हर अपयश हाताळतात.


NFS servers must commit each write to stable storage.

एनएफएस सर्व्हरने प्रत्येक लेखन स्थिर स्टोरेजमध्ये कमिट करणे आवश्यक आहे.


क्लायंटला त्याच्या यशाची माहिती देण्यात आली.


This requirement gives rise to write performance bottlenecks.

ही आवश्यकता लेखन कार्यक्षमतेत अडथळे निर्माण करते.


They use a file system designed to write to disk quickly.

ते जलद डिस्कवर लिहिण्यासाठी डिझाइन केलेले फाइल सिस्टम वापरतात.


NFS is centered around simple and fast recovery.

एनएफएस साध्या आणि जलद पुनर्प्राप्तीवर केंद्रित आहे.


Security in early NFS implementations was remarkably lax.

सुरुवातीच्या NFS अंमलबजावणीतील सुरक्षा उल्लेखनीयरीत्या सैल होती.


The original NFS paper is a challenging read.

मूळ NFS पेपर एक आव्हानात्मक वाचन आहे.


मुख्य ध्येय सोपे होते: स्केल.


Frequent checks limit the number of clients.

वारंवार तपासणी क्लायंटची संख्या मर्यादित करते.


कॅशे सुसंगतता वर्णन करणे कठीण आहे.


फाइल सर्व्हरवरून आणली जाते.


Subsequent read and write operations are redirected.

पुढील वाचन आणि लेखन ऑपरेशन्स पुनर्निर्देशित केले जातात.


क्लायंट-साइड कोडला व्हीनस म्हणतात.


The server spends time walking down directory paths.

सर्व्हर डिरेक्टरी मार्गांवर फिरण्यात वेळ घालवतो.


Measurement is the key to understanding how systems work.

प्रणाली कशा काम करतात हे समजून घेण्यासाठी मापन ही गुरुकिल्ली आहे.


सर्व्हर सीपीयू अडथळा बनला.


एक स्केलेबल फाइल प्रोटोकॉल कसा डिझाइन करायचा?


AFS introduced the notion of a callback.

एएफएसने कॉलबॅकची संकल्पना सादर केली.


The client sends a lookup request to the server.

क्लायंट सर्व्हरला लुकअप विनंती पाठवतो.


The file descriptor is a piece of shared state between the client and the server.

फाईल डिस्क्रिप्टर क्लायंट आणि सर्व्हरमध्ये सामायिक स्थितीचा एक भाग आहे.


Imagine the server crashes after the first read completes.

कल्पना करा की पहिले वाचन पूर्ण झाल्यानंतर सर्व्हर क्रॅश होतो.


Shared state complicates crash recovery.

सामायिक स्थिती क्रॅश रिकव्हरी अधिक गुंतागुंतीची करते.


For these reasons, the designers of NFS decided to pursue a stateless approach.

या कारणांमुळे, NFS च्या डिझायनर्सनी स्टेटलेस दृष्टिकोन स्वीकारण्याचा निर्णय घेतला.


How can we define the network protocol to enable stateless operation?

स्टेटलेस ऑपरेशन सक्षम करण्यासाठी आपण नेटवर्क प्रोटोकॉल कसे परिभाषित करू शकतो?


File handles are used to uniquely describe the file or directory.

फाईल हँडलचा वापर फाईल किंवा डिरेक्टरीचे अद्वितीय वर्णन करण्यासाठी केला जातो.


The volume identifier informs the server which file system the request refers to.

व्हॉल्यूम आयडेंटिफायर सर्व्हरला कळवतो की विनंती कोणत्या फाईल सिस्टमचा संदर्भ देते.


The inode number tells the server which file within that partition the request is accessing.

इनोड नंबर सर्व्हरला सांगतो की विनंती त्या विभाजनातील कोणत्या फाईलमध्ये प्रवेश करत आहे.


The generation number is needed when reusing an inode number.

इनोड नंबरचा पुनर्वापर करताना जनरेशन नंबर आवश्यक आहे.


The client passes a directory file handle and name of a file to look up.

क्लायंट एक डिरेक्टरी फाईल हँडल आणि शोधण्यासाठी फाईलचे नाव पाठवतो.


Attributes are just the metadata that the file system tracks about each file.

गुणधर्म म्हणजे फक्त मेटाडेटा आहे जे फाईल सिस्टम प्रत्येक फाईलबद्दल ट्रॅक करते.


The client can issue READ and WRITE protocol messages on a file.

क्लायंट फाईलवर READ आणि WRITE प्रोटोकॉल संदेश जारी करू शकतो.


The READ protocol message requires the protocol to pass along the file handle.

READ प्रोटोकॉल संदेशात प्रोटोकॉलला फाईल हँडल पाठवणे आवश्यक आहे.


WRITE is handled similarly, except the data is passed from the client to the server.

WRITE त्याच प्रकारे हाताळले जाते, फक्त डेटा क्लायंटकडून सर्व्हरकडे पाठवला जातो.


Idempotency is a useful property when building reliable systems.

भरवशाचे प्रणाली तयार करताना आयडेम्पोटन्सी उपयुक्त गुणधर्म आहे.


An operation is called idempotent when the effect of performing the operation multiple times is equivalent to the effect of performing the operating a single time.

जेव्हा एखाद्या क्रियेची अनेक वेळा पुनरावृत्ती करण्याचा परिणाम एकाच वेळी क्रिया करण्यासारखा असतो, तेव्हा त्या क्रियेला आयडेम्पोटंट म्हणतात.


LOOKUP and READ requests are trivially idempotent.

LOOKUP आणि READ विनंत्या सहजपणे आयडेम्पोटंट आहेत.


क्लायंट विनंती पुन्हा प्रयत्न करेल.


Adding caching into any sort of system with multiple client caches introduces a big and interesting challenge.

एकाधिक क्लायंट कॅशे असलेल्या कोणत्याही प्रकारच्या सिस्टममध्ये कॅशिंग जोडल्याने एक मोठे आणि मनोरंजक आव्हान निर्माण होते.


The server checks if the cached copy of the file is valid.

सर्व्हर तपासतो की फाईलची कॅश केलेली प्रत वैध आहे की नाही.


If the cached copy is valid, the client can use it.

जर कॅश केलेली प्रत वैध असेल, तर क्लायंट ती वापरू शकतो.


If not, the client should fetch the newer version.

अन्यथा, क्लायंटने नवीन आवृत्ती मिळवावी.


Server recovery after a crash is more complicated.

क्रॅशनंतर सर्व्हरची पुनर्प्राप्ती अधिक गुंतागुंतीची आहे.


कॉलबॅक मेमरीमध्ये ठेवले जातात.


The server has no idea which client machine has which files after reboot.

पुन्हा सुरू झाल्यावर सर्व्हरला कल्पना नसते की कोणत्या क्लायंट मशीनमध्ये कोणत्या फाईल्स आहेत.


Each client must realize that the server has crashed.

प्रत्येक क्लायंटने हे लक्षात घेणे आवश्यक आहे की सर्व्हर क्रॅश झाला आहे.


Clients must treat all of their cache contents as suspect.

क्लायंट्सनी त्यांच्या सर्व कॅशे सामग्रीवर संशय घेणे आवश्यक आहे.


Clients must reestablish the validity of a file before using it.

क्लायंट्सनी फाईल वापरण्यापूर्वी तिची वैधता पुन्हा स्थापित करणे आवश्यक आहे.


सर्व्हर क्रॅश ही एक मोठी घटना आहे.


Ensure that each client is aware of the crash in a timely manner.

हे सुनिश्चित करा की प्रत्येक क्लायंटला वेळेवर क्रॅशची माहिती आहे.


क्लायंटला कालबाह्य फाईलमध्ये प्रवेश करण्याचा धोका.


There are many ways to implement such recovery.

अशा पुनर्प्राप्तीची अंमलबजावणी करण्याचे अनेक मार्ग आहेत.


The server can send a message to each client.

सर्व्हर प्रत्येक क्लायंटला संदेश पाठवू शकतो.


Clients can check that the server is alive periodically.

क्लायंट वेळोवेळी तपासू शकतात की सर्व्हर जिवंत आहे.


With NFS, clients hardly noticed a server crash.

NFS सह, क्लायंट्सनी क्वचितच सर्व्हर क्रॅश लक्षात घेतला.


AFSv2 was measured and found to be much more scalable.

AFSv2 मोजले गेले आणि ते खूप जास्त स्केलेबल असल्याचे आढळले.


Each server could support about 50 clients.

प्रत्येक सर्व्हर सुमारे 50 क्लायंट्सना सपोर्ट करू शकत होता.


Client-side performance often came quite close to local performance.

क्लायंट-साइड कार्यप्रदर्शन अनेकदा स्थानिक कार्यप्रदर्शनाच्या जवळ आले.


File reads usually went to the local disk cache.

फाईल रीड्स सामान्यतः स्थानिक डिस्क कॅशेमध्ये जातात.


Time sharing is a method of allowing multiple users to access a computer system simultaneously.

टाइम शेअरिंग ही एक पद्धत आहे ज्याद्वारे अनेक वापरकर्त्यांना एकाच वेळी संगणक प्रणालीमध्ये प्रवेश करण्याची परवानगी मिळते.


The operating system manages the computer's hardware and software resources.

ऑपरेटिंग सिस्टम संगणकाचे हार्डवेअर आणि सॉफ्टवेअर संसाधने व्यवस्थापित करते.


Virtual memory allows a computer to compensate for shortages of physical memory by temporarily transferring data from RAM to disk storage.

व्हर्च्युअल मेमरीमुळे संगणकाला रॅममधून डिस्क स्टोरेजमध्ये डेटा तात्पुरता हस्तांतरित करून भौतिक मेमरीची कमतरता भरून काढता येते.


A process is an instance of a computer program that is being executed.

प्रक्रिया म्हणजे संगणक प्रोग्रामचे उदाहरण जे कार्यान्वित केले जात आहे.


Threads are lightweight processes that share the same memory space.

थ्रेड्स हे हलके प्रक्रिया आहेत जे समान मेमरी स्पेस सामायिक करतात.


File systems organize and manage data storage on a computer.

फाईल सिस्टम संगणकावर डेटा स्टोरेजचे आयोजन आणि व्यवस्थापन करतात.


The translation lookaside buffer (TLB) is a cache that stores recent translations of virtual memory addresses to physical addresses.

भाषांतर लुकअसाइड बफर (टीएलबी) हे एक कॅशे आहे जे व्हर्च्युअल मेमरी पत्त्यांचे अलीकडील भाषांतर भौतिक पत्त्यांवर संग्रहित करते.


Context switching is the process of saving and restoring the state of a CPU so that multiple processes can share a single CPU resource.

संदेश स्विचिंग ही सीपीयूची स्थिती जतन (save) आणि पुनर्संचयित (restore) करण्याची प्रक्रिया आहे, जेणेकरून अनेक प्रक्रिया एकाच सीपीयू संसाधनाचे (resource) वाटप करू शकतील.


Deadlock occurs when two or more processes are blocked forever, waiting for each other to release resources.

डेडलॉक तेव्हा उद्भवतो जेव्हा दोन किंवा अधिक प्रक्रिया कायमस्वरूपी अवरोधित (blocked) होतात, एकमेकांना संसाधने (resources) सोडण्याची प्रतीक्षा करत असतात.


Scheduling algorithms determine the order in which processes are executed.

शेड्युलिंग अल्गोरिदम (algorithms) प्रक्रिया कोणत्या क्रमाने कार्यान्वित (execute) करायच्या हे ठरवतात.


The RAID system provides data redundancy and improved performance.

रेड (RAID) प्रणाली डेटाची अनावश्यकता (redundancy) आणि सुधारित कार्यक्षमतेची (performance) सुविधा पुरवते.


Caching is a technique used to store frequently accessed data in a faster storage medium.

कॅशिंग (caching) ही एक तंत्र आहे जे वारंवार ऍक्सेस (access) केलेला डेटा जलद स्टोरेज माध्यमात साठवण्यासाठी वापरले जाते.


Interrupts are signals that interrupt the normal execution of a program.

व्यत्यय (interrupts) हे असे संकेत आहेत जे प्रोग्रामच्या सामान्य अंमलबजावणीत (execution) व्यत्यय आणतात.


Concurrency allows multiple tasks to make progress simultaneously.

एकाच वेळी अनेक कार्ये (tasks) सुरू ठेवण्याची परवानगी समवर्तीता (concurrency) देते.


The principle of isolation is crucial for system stability.

अलगतेचे (isolation) तत्त्व प्रणालीच्या (system) स्थिरतेसाठी महत्त्वपूर्ण आहे.


Understanding time-space trade-offs is essential for efficient system design.

कार्यक्षम प्रणाली डिझाइनसाठी (design) वेळ-अंतर तडजोडी (trade-offs) समजून घेणे आवश्यक आहे.


शंका असल्यास, करून पहा.


सिग्नलिंग करताना नेहमी लॉक (lock) धरा.


अकाली अनुकूलन (optimization) टाळा.


प्रथम मोजमाप करा, मग तयार करा.