The algorithm efficiently sorts the data.

الگورتھم ڈیٹا کو مؤثر طریقے سے ترتیب دیتا ہے۔


The implications of the decision are far-reaching.

اس فیصلے کے مضمرات دور رس ہیں۔


The philosophical debate explored the nature of consciousness.

فلسفیانہ بحث نے شعور کی نوعیت کو تلاش کیا۔


The economic forecast predicts a period of growth.

معاشی پیش گوئی ترقی کی مدت کی پیش گوئی کرتی ہے۔


The complex system requires careful calibration.

پیچیدہ نظام کو احتیاط سے کیلیبریٹ کرنے کی ضرورت ہے۔


Despite the challenges, they persevered.

چیلنجوں کے باوجود، انہوں نے ہمت نہیں ہاری۔


The project's success hinged on collaboration.

منصوبے کی کامیابی تعاون پر منحصر تھی۔


The artist's work reflects a deep understanding of human emotion.

فنکار کا کام انسانی جذبات کی گہری سمجھ کی عکاسی کرتا ہے۔


The company is facing unprecedented market pressures.

کمپنی کو بے مثال مارکیٹ کے دباؤ کا سامنا ہے۔


The theoretical framework provides a basis for further research.

نظریاتی فریم ورک مزید تحقیق کی بنیاد فراہم کرتا ہے۔


سرور مرمت کے لیے بند ہے۔


براہ کرم کمپیوٹر دوبارہ شروع کریں۔


خبروں میں ایک بڑے زلزلے کی اطلاع دی گئی۔


آج میں بہت خوش محسوس کر رہا ہوں۔


کیا آپ اس میں میری مدد کر سکتے ہیں؟


The company announced its quarterly earnings.

کمپنی نے اپنی سہ ماہی کی آمدنی کا اعلان کیا۔


The government is implementing new policies.

حکومت نئی پالیسیاں نافذ کر رہی ہے۔


چیلنجوں کے باوجود، وہ کامیاب ہوئے۔


The research paper explores various aspects of the topic.

تحقیقی مقالہ اس موضوع کے مختلف پہلوؤں کو تلاش کرتا ہے۔


The intricate details of the project were discussed.

منصوبے کی پیچیدہ تفصیلات پر تبادلہ خیال کیا گیا۔


The economic forecast predicts a recession.

معاشی پیش گوئی کساد بازاری کی پیشین گوئی کرتی ہے۔


The philosophical implications of the theory are profound.

اس نظریہ کے فلسفیانہ مضمرات گہرے ہیں۔


The complex interplay of factors led to the crisis.

عوامل کے پیچیدہ تعامل نے بحران کو جنم دیا۔


The software architecture is designed for scalability and performance.

سافٹ ویئر کا فن تعمیر توسیع پذیری اور کارکردگی کے لیے ڈیزائن کیا گیا ہے۔


The judge delivered a verdict after careful consideration of the evidence.

جج نے ثبوت پر غور کرنے کے بعد فیصلہ سنایا۔


The company's innovative approach disrupted the market.

کمپنی کے جدید انداز نے مارکیٹ کو درہم برہم کر دیا۔


The historical context provides a deeper understanding of the events.

تاریخی تناظر واقعات کی گہری سمجھ فراہم کرتا ہے۔


The scientific community is debating the findings of the study.

سائنسی برادری اس مطالعے کے نتائج پر بحث کر رہی ہے۔


The intricate details of the mechanism were meticulously examined.

طریقہ کار کی پیچیدہ تفصیلات کا باریک بینی سے جائزہ لیا گیا۔


ایڈریس 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.

آلہ کے ساتھ تعامل کرنے کا بنیادی پروٹوکول مندرجہ ذیل ہے۔


The xv6 IDE driver works through four primary functions.

xv6 IDE ڈرائیور چار بنیادی افعال کے ذریعے کام کرتا ہے۔


The first is ide rw(), which queues a request.

پہلا ide rw() ہے، جو ایک درخواست کو قطار میں رکھتا ہے۔


The second is ide startrequest(), which is used to send a request.

دوسرا ide startrequest() ہے، جو درخواست بھیجنے کے لیے استعمال ہوتا ہے۔


انٹرپٹ ایک قدیم خیال ہیں۔


The drive consists of a large number of sectors.

ڈرائیو میں سیکٹرز کی ایک بڑی تعداد شامل ہے۔


ملٹی سیکٹر آپریشن ممکن ہیں۔


The basic interface for all modern drives is straightforward.

تمام جدید ڈرائیوز کے لیے بنیادی انٹرفیس سیدھا ہے۔


Let’s start by understanding the interface to a modern disk drive.

آئیے ایک جدید ڈسک ڈرائیو کے انٹرفیس کو سمجھنے سے شروع کریں۔


Data is encoded on each surface in concentric circles of sectors.

ڈیٹا ہر سطح پر سیکٹرز کے ہم مرکز حلقوں میں انکوڈ کیا جاتا ہے۔


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

گردش کی شرح اکثر فی منٹ گردش (RPM) میں ماپی جاتی ہے۔


We need a mechanism that allows us to either sense the magnetic patterns.

ہمیں ایک ایسے طریقہ کار کی ضرورت ہے جو ہمیں مقناطیسی نمونوں کا احساس دلائے۔


اس ٹریک میں صرف 12 سیکٹرز ہیں۔


To service this read, the drive has to first move the disk arm.

اس ریڈ کو سروس کرنے کے لیے، ڈرائیو کو پہلے ڈسک آرم کو حرکت دینی ہوگی۔


After the seek, the disk arm has positioned the head over the right track.

تلاش کے بعد، ڈسک آرم نے ہیڈ کو صحیح ٹریک پر رکھا ہے۔


The Cheetah and Barracuda drives have different characteristics.

چیتا اور باراکوڈا ڈرائیوز کی خصوصیات مختلف ہیں۔


The Cheetah is a high-performance SCSI drive.

چیتا ایک اعلیٰ کارکردگی والی SCSI ڈرائیو ہے۔


باراکوڈا صلاحیت کے لیے بنائی گئی ہے۔


These drives nicely summarize two important components of the disk drive market.

یہ ڈرائیوز ڈسک ڈرائیو مارکیٹ کے دو اہم اجزاء کا اچھی طرح خلاصہ کرتی ہیں۔


High-performance drives are engineered to spin as fast as possible.

اعلیٰ کارکردگی والی ڈرائیوز کو زیادہ سے زیادہ تیزی سے گھومنے کے لیے ڈیزائن کیا گیا ہے۔


Capacity drives prioritize cost per byte.

صلاحیت والی ڈرائیوز فی بائٹ لاگت کو ترجیح دیتی ہیں۔


آئیے بے ترتیب کام کے بوجھ پر نظر ڈالتے ہیں۔


The average seek time is 4 milliseconds.

اوسط تلاش کا وقت 4 ملی سیکنڈ ہے۔


اوسط گردش میں تاخیر 2ms ہے۔


منتقلی کا وقت نہ ہونے کے برابر ہے۔


The I/O rate for the Cheetah is about 0.66 MB/s.

چیتا کے لیے I/O کی شرح تقریباً 0.66 MB/s ہے۔


The Barracuda yields a T I/O of about 13.2 ms.

باراکوڈا تقریباً 13.2 ms کا T I/O پیدا کرتا ہے۔


آئیے تسلسل کے کام کے بوجھ پر نظر ڈالتے ہیں۔


The rates of I/O are very nearly the peak transfer rates.

I/O کی شرحیں تقریباً زیادہ سے زیادہ منتقلی کی شرحیں ہیں۔


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

بے ترتیب اور تسلسل کے کام کے بوجھ کے درمیان ڈرائیو کی کارکردگی میں ایک بہت بڑا فرق ہے۔


People are often willing to pay top dollar for high-end drives.

لوگ اکثر اعلیٰ درجے کی ڈرائیوز کے لیے زیادہ قیمت ادا کرنے کو تیار رہتے ہیں۔


Average seek distance is one-third the full distance.

اوسط تلاش کا فاصلہ کل فاصلے کا ایک تہائی ہے۔


The OS has historically played a role in deciding the order of I/Os.

OS نے تاریخی طور پر I/Os کے آرڈر کا فیصلہ کرنے میں کردار ادا کیا ہے۔


SSTF orders the queue of I/O requests by track.

SSTF ٹریک کے ذریعے I/O درخواستوں کی قطار کو ترتیب دیتا ہے۔


The elevator algorithm moves across the disk servicing requests.

ایلیویٹر الگورتھم ڈسک پر درخواستوں کی خدمت کرتے ہوئے حرکت کرتا ہے۔


سسٹم کو ایک ڈسک کی خرابی کا سامنا کرنا پڑا۔


RAID technology provides data redundancy.

RAID ٹیکنالوجی ڈیٹا کی زیادتی فراہم کرتی ہے۔


The administrator replaced the failed disk.

منتظم نے ناکام ڈسک کو تبدیل کر دیا۔


Transparency is key for easy deployment.

آسان تنصیب کے لیے شفافیت کلیدی ہے۔


RAID systems appear as a single large disk to the operating system.

RAID سسٹم آپریٹنگ سسٹم کو ایک بڑی ڈسک کی طرح نظر آتے ہیں۔


Mirroring provides data redundancy by creating copies.

مررنگ کاپی بنا کر ڈیٹا کی زیادتی فراہم کرتا ہے۔


The file system issues logical I/O requests.

فائل سسٹم منطقی I/O درخواستیں جاری کرتا ہے۔


RAID controllers manage the physical I/O operations.

RAID کنٹرولرز جسمانی I/O آپریشنز کا انتظام کرتے ہیں۔


A mirrored RAID system writes data to multiple disks simultaneously.

ایک مررڈ RAID سسٹم بیک وقت متعدد ڈسکوں پر ڈیٹا لکھتا ہے۔


The fail-stop fault model assumes immediate failure detection.

فیل-اسٹاپ فالٹ ماڈل فوری ناکامی کا پتہ لگانے کا فرض کرتا ہے۔


Striping distributes data across multiple disks for performance.

اسٹرائپنگ کارکردگی کے لیے متعدد ڈسکوں پر ڈیٹا تقسیم کرتا ہے۔


The chunk size affects the performance of the RAID array.

چنک سائز RAID صف کی کارکردگی کو متاثر کرتا ہے۔


Sequential workloads benefit from high transfer rates.

تسلسل وار کام کے بوجھ زیادہ منتقلی کی شرحوں سے فائدہ اٹھاتے ہیں۔


Random workloads involve small, scattered I/O requests.

بے ترتیب کام کے بوجھ میں چھوٹے، بکھرے ہوئے I/O درخواستیں شامل ہیں۔


RAID-0 offers high performance but no redundancy.

RAID-0 اعلی کارکردگی پیش کرتا ہے لیکن کوئی زیادتی نہیں۔


Mirroring provides excellent reliability but reduces capacity.

مررنگ بہترین قابل اعتمادی فراہم کرتا ہے لیکن صلاحیت کو کم کرتا ہے۔


The consistent-update problem can lead to data inconsistency.

مسلسل اپ ڈیٹ کا مسئلہ ڈیٹا کی عدم مطابقت کا باعث بن سکتا ہے۔


Non-volatile RAM is used for write-ahead logging.

غیر مستحکم RAM کا استعمال رائٹ-ایہیڈ لاگنگ کے لیے کیا جاتا ہے۔


RAID-1 offers the best performance for random reads.

RAID-1 بے ترتیب پڑھنے کے لیے بہترین کارکردگی پیش کرتا ہے۔


Parity-based RAID systems use less capacity than mirroring.

برابری پر مبنی RAID سسٹم مررنگ کے مقابلے میں کم صلاحیت استعمال کرتے ہیں۔


The file is named '10' at a low level, but the user sees it as 'foo'.

فائل کو کم سطح پر '10' کا نام دیا گیا ہے، لیکن صارف اسے 'foo' کے طور پر دیکھتا ہے۔


Directories contain entries that link user-friendly names to low-level names.

ڈائریکٹریوں میں اندراجات ہوتے ہیں جو صارف دوست ناموں کو کم سطح کے ناموں سے جوڑتے ہیں۔


The root directory in UNIX-based systems is denoted by a forward slash: /.

یونیکس پر مبنی نظاموں میں روٹ ڈائریکٹری کو فارورڈ سلیش سے ظاہر کیا جاتا ہے: /۔


For example, /foo/bar.txt is an absolute pathname.

مثال کے طور پر، /foo/bar.txt ایک مطلق راستہ نام ہے۔


File and directory names can be the same as long as they are in different locations.

فائل اور ڈائریکٹری کے نام ایک جیسے ہو سکتے ہیں جب تک کہ وہ مختلف مقامات پر ہوں۔


Naming is a crucial aspect of computer systems.

نام رکھنا کمپیوٹر سسٹمز کا ایک اہم پہلو ہے۔


In UNIX, almost everything is named through the file system.

یونیکس میں، تقریباً ہر چیز کو فائل سسٹم کے ذریعے نام دیا جاتا ہے۔


Devices, pipes, and processes can be found in the file system.

آلات، پائپ، اور عمل فائل سسٹم میں پائے جا سکتے ہیں۔


This uniformity simplifies the conceptual model.

یہ یکسانیت تصوراتی ماڈل کو آسان بناتی ہے۔


File names often have two parts separated by a period.

فائل کے ناموں میں اکثر دو حصے ہوتے ہیں جو ایک نقطے سے الگ ہوتے ہیں۔


The second part usually indicates the file type.

دوسرا حصہ عام طور پر فائل کی قسم کی نشاندہی کرتا ہے۔


The file system provides a convenient way to name files.

فائل سسٹم فائلوں کو نام دینے کا ایک آسان طریقہ فراہم کرتا ہے۔


Names are essential for accessing any resource.

کسی بھی وسیلے تک رسائی کے لیے نام ضروری ہیں۔


The file system offers a unified way to access files.

فائل سسٹم فائلوں تک رسائی کا ایک متحد طریقہ پیش کرتا ہے۔


We will now discuss the file system interface.

اب ہم فائل سسٹم انٹرفیس پر بات کریں گے۔


Creating, accessing, and deleting files are fundamental operations.

فائلیں بنانا، ان تک رسائی حاصل کرنا، اور انہیں حذف کرنا بنیادی کارروائیاں ہیں۔


The `open` system call is used to create a new file.

'اوپن' سسٹم کال ایک نئی فائل بنانے کے لیے استعمال ہوتی ہے۔


The `open` call takes flags like `O_CREAT` and `O_WRONLY`.

'اوپن' کال میں 'O_CREAT' اور 'O_WRONLY' جیسے جھنڈے شامل ہیں۔


The `creat` system call is an older way to create files.

'کریٹ' سسٹم کال فائلیں بنانے کا ایک پرانا طریقہ ہے۔


A file descriptor is an integer used to access files.

فائل ڈسکرپٹر ایک عدد ہے جو فائلوں تک رسائی کے لیے استعمال ہوتا ہے۔


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.

درحقیقت، یہ بالکل وہی ہے جو ls کرتا ہے جب آپ اسے -l فلیگ دیتے ہیں۔


You can delete a directory with a call to rmdir().

آپ rmdir() کال کے ذریعے ایک ڈائریکٹری کو حذف کر سکتے ہیں۔


Unlike file deletion, removing directories is more dangerous.

فائل کو حذف کرنے کے برعکس، ڈائریکٹریز کو ہٹانا زیادہ خطرناک ہے۔


The directory must be empty before it is deleted.

اسے حذف کرنے سے پہلے ڈائریکٹری خالی ہونی چاہیے۔


The link system call takes two arguments.

لنک سسٹم کال دو دلائل لیتا ہے۔


You essentially create another way to refer to the same file.

آپ بنیادی طور پر ایک ہی فائل کا حوالہ دینے کا ایک اور طریقہ بناتے ہیں۔


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

کمانڈ لائن پروگرام ln اس کے لیے استعمال ہوتا ہے۔


We created a file with the word “hello” in it.

ہم نے اس میں “hello” لفظ کے ساتھ ایک فائل بنائی۔


We can examine the file by either opening file or file2.

ہم فائل کو یا تو فائل یا فائل2 کھول کر جانچ سکتے ہیں۔


فائل کو کسی بھی طرح سے کاپی نہیں کیا جاتا ہے۔


You now just have two human names that both refer to the same file.

اب آپ کے پاس صرف دو انسانی نام ہیں جو دونوں ایک ہی فائل کا حوالہ دیتے ہیں۔


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

ls کو -i فلیگ دینے سے، یہ انوڈ نمبر پرنٹ کرتا ہے۔


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

جب آپ کوئی فائل بناتے ہیں، تو آپ درحقیقت دو کام کر رہے ہوتے ہیں۔


First, you are making a structure that will track information about the file.

سب سے پہلے، آپ ایک ایسا ڈھانچہ بنا رہے ہیں جو فائل کے بارے میں معلومات کو ٹریک کرے گا۔


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

فائل سسٹم سے فائل کو ہٹانے کے لیے، ہم unlink() کو کال کرتے ہیں۔


When the file system unlinks file, it checks a reference count.

جب فائل سسٹم فائل کو ان لنک کرتا ہے، تو یہ ایک حوالہ شمار چیک کرتا ہے۔


You can see the reference count of a file using stat().

آپ stat() کا استعمال کرتے ہوئے فائل کا حوالہ شمار دیکھ سکتے ہیں۔


ہارڈ لنکس کسی حد تک محدود ہیں۔


A symbolic link is actually a file itself, of a different type.

ایک علامتی لنک دراصل خود ایک فائل ہے، ایک مختلف قسم کی۔


The inode is a data structure that stores metadata about a file.

آئی نوڈ ایک ڈیٹا ڈھانچہ ہے جو فائل کے بارے میں میٹا ڈیٹا محفوظ کرتا ہے۔


File systems use inodes to manage files on a storage device.

فائل سسٹم اسٹوریج ڈیوائس پر فائلوں کو منظم کرنے کے لیے آئی نوڈز کا استعمال کرتے ہیں۔


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

آئی نوڈ نمبر کا استعمال آئی نوڈز کی ایک صف میں انڈیکس کرنے کے لیے کیا جاتا ہے۔


Each file has an inode that contains information like its size and permissions.

ہر فائل کا ایک آئی نوڈ ہوتا ہے جس میں اس کے سائز اور اجازتوں جیسی معلومات ہوتی ہیں۔


The file system must traverse the pathname to locate the desired inode.

فائل سسٹم کو مطلوبہ آئی نوڈ کا پتہ لگانے کے لیے پاتھ نام کو عبور کرنا ہوگا۔


Reading a file involves consulting the inode to find the location of its data blocks.

فائل پڑھنے میں اس کے ڈیٹا بلاکس کا مقام معلوم کرنے کے لیے آئی نوڈ سے مشورہ کرنا شامل ہے۔


Writing to a file may involve allocating a new block and updating the data bitmap.

فائل میں لکھنے میں ایک نیا بلاک مختص کرنا اور ڈیٹا بٹ میپ کو اپ ڈیٹ کرنا شامل ہو سکتا ہے۔


Creating a new file requires allocating an inode and space within the directory.

ایک نئی فائل بنانے کے لیے ایک آئی نوڈ اور ڈائرکٹری کے اندر جگہ مختص کرنے کی ضرورت ہوتی ہے۔


The root directory's inode number is usually well-known.

روٹ ڈائرکٹری کا آئی نوڈ نمبر عام طور پر اچھی طرح سے جانا جاتا ہے۔


File systems use bitmaps to track free and used inodes and data blocks.

فائل سسٹم مفت اور استعمال شدہ آئی نوڈز اور ڈیٹا بلاکس کو ٹریک کرنے کے لیے بٹ میپس کا استعمال کرتے ہیں۔


The inode contains pointers to the data blocks that store the file's content.

آئی نوڈ میں ڈیٹا بلاکس کے اشارے ہوتے ہیں جو فائل کے مواد کو محفوظ کرتے ہیں۔


The open() system call is used to access a file.

اوپن() سسٹم کال فائل تک رسائی کے لیے استعمال ہوتی ہے۔


The file descriptor is used to refer to an open file.

فائل ڈسکرپٹر کا استعمال کھلی ہوئی فائل کا حوالہ دینے کے لیے کیا جاتا ہے۔


The file system's performance can be affected by the directory structure.

فائل سسٹم کی کارکردگی ڈائرکٹری کے ڈھانچے سے متاثر ہو سکتی ہے۔


Large directories can slow down file access.

بڑی ڈائریکٹریاں فائل تک رسائی کو سست کر سکتی ہیں۔


The multi-level index approach is used to support larger files.

ملٹی لیول انڈیکس طریقہ کار بڑے سائز کی فائلوں کی حمایت کے لیے استعمال ہوتا ہے۔


Extents are an alternative to pointers for storing file data.

ایکسٹینٹس فائل ڈیٹا کو ذخیرہ کرنے کے لیے پوائنٹرز کا ایک متبادل ہیں۔


آئی نوڈ فائل کا میٹا ڈیٹا محفوظ کرتا ہے۔


The file system manages free space for new files.

فائل سسٹم نئی فائلوں کے لیے مفت جگہ کا انتظام کرتا ہے۔


Understanding the access path is key to understanding how a file system works.

رسائی کے راستے کو سمجھنا یہ سمجھنے کی کلید ہے کہ فائل سسٹم کیسے کام کرتا ہے۔


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 اگر 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 کو برقرار رکھنا چاہیے۔


تصور کریں کہ کالم 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'd برابری بٹ) کو پڑھنا ہوگا اور صحیح جواب کو دوبارہ بنانا ہوگا۔


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، اور برابری کالم P سے 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 پر مبنی برابری سکیم میں دوبارہ تعمیر کا کام ہوتا ہے!


Note also how we compute the reconstructed value: we just XOR the data bits and the parity bits together, in the same way that we calculated the parity in the first place.

یہ بھی نوٹ کریں کہ ہم دوبارہ تعمیر شدہ قدر کا حساب کیسے لگاتے ہیں: ہم صرف ڈیٹا بٹس اور برابری بٹس کو ایک ساتھ 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?

اب آپ سوچ رہے ہوں گے: ہم ان تمام بٹس کو XOR کرنے کی بات کر رہے ہیں، اور پھر بھی اوپر ہم جانتے ہیں کہ 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) ہے۔


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 آپریشنز کا سبب بنتی ہیں، جو ڈسک پر بکھرے ہوئے ہیں۔


What can a file system do to reduce the high costs of doing so many I/Os?

فائل سسٹم اتنے زیادہ I/Os کرنے کے زیادہ اخراجات کو کم کرنے کے لیے کیا کر سکتا ہے؟


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.

اوپر دی گئی مثال پر غور کریں: کیشنگ کے بغیر، ہر فائل کھولنے کے لیے ڈائرکٹری کے درجہ بندی میں ہر سطح کے لیے کم از کم دو ریڈز کی ضرورت ہوگی۔


With a long pathname (e.g., /1/2/3/ ... /100/file.txt), the file system would literally perform hundreds of reads just to open the file!

ایک طویل پاتھ نام کے ساتھ (مثال کے طور پر، /1/2/3/ ... /100/file.txt)، فائل سسٹم لفظی طور پر فائل کھولنے کے لیے سینکڑوں ریڈز انجام دے گا!


Early file systems thus introduced a fix-sized cache to hold popular blocks.

ابتدائی فائل سسٹمز نے اس طرح مقبول بلاکس کو رکھنے کے لیے ایک مقررہ سائز کا کیش متعارف کرایا۔


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

جدید سسٹمز ورچوئل میموری صفحات اور فائل سسٹم صفحات کو ایک متحد صفحہ کیش میں ضم کرتے ہیں۔


In this way, memory can be allocated more flexibly across virtual memory and file system, depending on which needs more memory at a given time.

اس طرح، میموری کو ورچوئل میموری اور فائل سسٹم میں زیادہ لچکدار طریقے سے مختص کیا جا سکتا ہے، اس پر منحصر ہے کہ کس کو کسی خاص وقت میں زیادہ میموری کی ضرورت ہے۔


Now imagine the file open example with caching.

اب کیشنگ کے ساتھ فائل کھولنے کی مثال پر غور کریں۔


The first open may generate a lot of I/O traffic to read in directory inode and data, but subsequent file opens of that same file will mostly hit in the cache and thus no I/O is needed.

پہلا اوپن ڈائرکٹری انوڈ اور ڈیٹا کو پڑھنے کے لیے بہت زیادہ I/O ٹریفک پیدا کر سکتا ہے، لیکن اسی فائل کے بعد کے فائل اوپن زیادہ تر کیش میں ہٹ ہو جائیں گے اور اس طرح کوئی I/O کی ضرورت نہیں ہے۔


Let us also consider the effect of caching on writes.

آئیے لکھے جانے پر کیشنگ کے اثر پر بھی غور کریں۔


Whereas read I/O can be avoided altogether with a sufficiently large cache, write traffic has to go to disk in order to become persistent.

جبکہ ریڈ I/O کو کافی بڑے کیش کے ساتھ مکمل طور پر روکا جا سکتا ہے، رائٹ ٹریفک کو مستقل ہونے کے لیے ڈسک پر جانا پڑتا ہے۔


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

سب سے پہلے، لکھے جانے میں تاخیر کرکے، فائل سسٹم کچھ اپ ڈیٹس کو I/Os کے ایک چھوٹے سے سیٹ میں بیچ کر سکتا ہے۔


Second, by buffering a number of writes in memory, the system can then schedule the subsequent I/Os and thus increase performance.

دوم، میموری میں متعدد تحریروں کو بفر کرکے، سسٹم بعد کے I/Os کو شیڈول کر سکتا ہے اور اس طرح کارکردگی میں اضافہ کر سکتا ہے۔


Finally, some writes are avoided altogether by delaying them.

آخر میں، کچھ تحریروں سے مکمل طور پر گریز کیا جاتا ہے ان میں تاخیر کرکے۔


In this case, laziness (in writing blocks to disk) is a virtue.

اس صورت میں، سستی (ڈسک پر بلاکس لکھنے میں) ایک خوبی ہے۔


For the reasons above, most modern file systems buffer writes in memory for anywhere between five and thirty seconds.

مندرجہ بالا وجوہات کی بناء پر، زیادہ تر جدید فائل سسٹمز میموری میں پانچ سے تیس سیکنڈ کے درمیان کہیں بھی لکھے جاتے ہیں۔


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

کچھ ایپلی کیشنز (جیسے ڈیٹا بیس) اس ٹریڈ آف سے لطف اندوز نہیں ہوتے ہیں۔


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

ہم نے ایک فائل سسٹم بنانے کے لیے درکار بنیادی مشینری دیکھی ہے۔


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 arises when updating persistent data structures.

کرش-مطابقت کا مسئلہ اس وقت پیدا ہوتا ہے جب مستقل ڈیٹا ڈھانچے کو اپ ڈیٹ کیا جاتا ہے۔


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

Fsck ایک ایسا ٹول ہے جو فائل سسٹمز میں عدم مطابقت کو تلاش کرنے اور ان کی مرمت کے لیے استعمال ہوتا ہے۔


Journaling adds overhead but recovers more quickly from crashes.

جرنلنگ اوور ہیڈ شامل کرتی ہے لیکن کریش سے تیزی سے بحال ہوتی ہے۔


The inode bitmap and data bitmap are crucial for file system integrity.

Inode bitmap اور ڈیٹا bitmap فائل سسٹم کی سالمیت کے لیے اہم ہیں۔


A crash during an update can leave the file system in an inconsistent state.

اپ ڈیٹ کے دوران کریش ہونے سے فائل سسٹم غیر مستقل حالت میں رہ سکتا ہے۔


The system may crash between any two writes, causing partial updates.

سسٹم کسی بھی دو تحریروں کے درمیان کریش ہو سکتا ہے، جس سے جزوی اپ ڈیٹس ہو سکتے ہیں۔


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

Fsck فائل سسٹم کو چیک کرنے اور مرمت کرنے کے لیے مراحل میں کام کرتا ہے۔


The superblock is checked for reasonableness during fsck.

Fsck کے دوران سپر بلاک کی معقولیت کی جانچ کی جاتی ہے۔


Inodes are checked for corruption and valid type fields.

Inode کی خرابی اور درست قسم کے شعبوں کے لیے جانچ کی جاتی ہے۔


Fsck verifies the link count of each allocated inode.

Fsck ہر مختص کردہ inode کے لنک کی گنتی کی تصدیق کرتا ہے۔


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 that adds a log of changes before applying them.

جرنلنگ ایک ایسی تکنیک ہے جو تبدیلیوں کو لاگو کرنے سے پہلے ان کا لاگ شامل کرتی ہے۔


The file system writes to a journal before writing to the main disk.

فائل سسٹم مرکزی ڈسک پر لکھنے سے پہلے ایک جرنل میں لکھتا ہے۔


Journaling ensures that updates are either fully applied or not at all.

جرنلنگ اس بات کو یقینی بناتا ہے کہ اپ ڈیٹس یا تو مکمل طور پر لاگو ہوتے ہیں یا بالکل بھی نہیں۔


Modern file systems often use journaling for crash consistency.

جدید فائل سسٹم اکثر کریش مطابقت کے لیے جرنلنگ کا استعمال کرتے ہیں۔


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

مقصد فائل سسٹم کو ایک مستقل حالت سے دوسری حالت میں جوہری طور پر منتقل کرنا ہے۔


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

مختصص بلاکس اور پوری ڈائریکٹری ٹری کو پڑھنے میں کئی منٹ یا گھنٹے لگ سکتے ہیں۔


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

کارکردگی offsck، جیسا کہ ڈسک کی گنجائش میں اضافہ ہوا اور 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.

یہ صورتحال آپ کے بیڈروم میں فرش پر اپنی چابیاں گرانے کے مترادف ہے۔


Researchers and practitioners started to look for other solutions.

محققین اور پریکٹیشنرز نے دیگر حل تلاش کرنا شروع کر دیے۔


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 describing what you are about to do.

ڈسک کو اپ ڈیٹ کرتے وقت، جگہ پر موجود ڈھانچے کو اوور رائٹ کرنے سے پہلے، پہلے ایک چھوٹا سا نوٹ لکھیں جس میں اس بات کی وضاحت کی گئی ہو کہ آپ کیا کرنے والے ہیں۔


Writing this note is the “write ahead” part, and we write it to a structure that we organize as a “log”.

اس نوٹ کو لکھنا “رائٹ ایہیڈ” حصہ ہے، اور ہم اسے ایک ایسے ڈھانچے پر لکھتے ہیں جسے ہم “لاگ” کے طور پر منظم کرتے ہیں۔


By writing the note to disk, you are guaranteeing that if a crash takes places during the update, you can go back and look at the note you made and try again.

ڈسک پر نوٹ لکھ کر، آپ اس بات کی ضمانت دے رہے ہیں کہ اگر اپ ڈیٹ کے دوران کوئی خرابی ہوتی ہے، تو آپ واپس جا کر اپنے بنائے ہوئے نوٹ کو دیکھ سکتے ہیں اور دوبارہ کوشش کر سکتے ہیں۔


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.

اب ہم بیان کریں گے کہ لینکس ایکسٹ 3، ایک مقبول جرنلنگ فائل سسٹم، جرنلنگ کو فائل سسٹم میں کیسے شامل کرتا ہے۔


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

نیا کلیدی ڈھانچہ خود جرنل ہے، جو پارٹیشن کے اندر یا کسی دوسرے آلے پر کچھ کم جگہ گھیرتا ہے۔


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.

آئیے یہ سمجھنے کے لیے ایک سادہ سی مثال دیکھتے ہیں کہ ڈیٹا جرنلنگ کیسے کام کرتا ہے۔


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.

فرض کریں کہ ہمارے پاس دوبارہ ہمارا کینونیکل اپ ڈیٹ ہے، جہاں ہم ‘inode (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).

انہیں ان کے آخری ڈسک مقامات پر لکھنے سے پہلے، اب ہم پہلے انہیں لاگ (a.k.a. جرنل) پر لکھنے جا رہے ہیں۔


You can see we have written five blocks here.

آپ دیکھ سکتے ہیں کہ ہم نے یہاں پانچ بلاکس لکھے ہیں۔


LFS places chunks of the inode map right next to where it is writing all of the other new information.

LFS انوڈ میپ کے ٹکڑوں کو وہیں رکھتا ہے جہاں وہ باقی تمام نئی معلومات لکھ رہا ہے۔


Thus, when appending a data block to a filek, LFS actually writes the new data block, its inode, and a piece of the inode map all together onto the disk.

اس طرح، جب کسی فائلk میں ڈیٹا بلاک شامل کیا جاتا ہے، تو LFS درحقیقت نیا ڈیٹا بلاک، اس کا انوڈ، اور انوڈ میپ کا ایک ٹکڑا سبھی کو ایک ساتھ ڈسک پر لکھتا ہے۔


How do we find the inode map, now that pieces of it are alsonow spread across the disk?

ہم انوڈ میپ کو کیسے تلاش کریں، اب جبکہ اس کے ٹکڑے بھی ڈسک پر پھیل چکے ہیں؟


The checkpoint region contains pointers to the latest pieces of the inode map.

چیک پوائنٹ علاقہ انوڈ میپ کے تازہ ترین ٹکڑوں کی طرف اشارے پر مشتمل ہے۔


The checkpoint region is only updated periodically.

چیک پوائنٹ علاقہ صرف وقتاً فوقتاً اپ ڈیٹ ہوتا ہے۔


Here is an example of the checkpoint region.

یہ چیک پوائنٹ علاقے کی ایک مثال ہے۔


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

اس بات کو یقینی بنانے کے لیے کہ آپ سمجھیں کہ LFS کیسے کام کرتا ہے، آئیے اب اس پر غور کریں کہ ڈسک سے فائل پڑھنے کے لیے کیا ہونا چاہیے۔


LFS simply looks up the inode-number to inode-disk- address mapping in the imap.

LFS صرف imap میں انوڈ نمبر سے انوڈ ڈسک ایڈریس کی میپنگ کو تلاش کرتا ہے۔


However, to access a file in a file system, some directories must be accessed too.

تاہم، فائل سسٹم میں کسی فائل تک رسائی حاصل کرنے کے لیے، کچھ ڈائریکٹریوں تک بھی رسائی حاصل کرنا ضروری ہے۔


Fortunately, directory structure is basically identical to classic UNIX file systems.

خوش قسمتی سے، ڈائریکٹری کا ڈھانچہ بنیادی طور پر کلاسک UNIX فائل سسٹمز جیسا ہی ہے۔


Remember that LFS will do so sequentially on the disk.

یاد رکھیں کہ LFS ایسا ڈسک پر یکے بعد دیگرے کرے گا۔


Thus, creating a file foo in a directory would lead to the following new structures on disk.

اس طرح، کسی ڈائریکٹری میں فائل foo بنانے سے ڈسک پر درج ذیل نئے ڈھانچے بنیں گے۔


LFS cleverly avoids this problem with the inode map.

LFS ہوشیاری سے انوڈ میپ کے ساتھ اس مسئلے سے بچتا ہے۔


You may have noticed another problem with LFS; it keeps writing newer version of a file.

آپ نے LFS کے ساتھ ایک اور مسئلہ دیکھا ہوگا؛ یہ فائل کا نیا ورژن لکھتا رہتا ہے۔


ہم ایسے پرانے مواد کو کوڑا کہتے ہیں۔


By the simple act of overwriting a data block, a number of new structures must be persisted by LFS.

ڈیٹا بلاک کو اوور رائٹ کرنے کے سادہ عمل سے، LFS کو متعدد نئے ڈھانچے کو برقرار رکھنا چاہیے۔


So what should we do with these older versions of inodes, datablocks, and so forth?

تو ہمیں انوڈز، ڈیٹا بلاکس، وغیرہ کے ان پرانے ورژنز کے ساتھ کیا کرنا چاہیے؟


The process of cleaning is a form of garbage collection.

صفائی کا عمل کوڑا کرکٹ جمع کرنے کی ایک شکل ہے۔


The LFS cleaner works on a segment-by-segment basis.

LFS کلینر سیگمنٹ بہ سیگمنٹ کی بنیاد پر کام کرتا ہے۔


LFS must be able to determine whether D is live.

LFS کو یہ معلوم کرنے کے قابل ہونا چاہیے کہ آیا D لائیو ہے۔


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.

واضح طور پر، یہ ایک درست ریکوری عمل نہیں ہے، اور یقیناً یہ فائل پڑھتے وقت صارف کے لیے حیران کن ہوگا۔


One could, for example, never reuse blocks until the delete of said blocks is checkpointed out of the journal.

مثال کے طور پر، کوئی بھی بلاکس کو اس وقت تک دوبارہ استعمال نہیں کر سکتا جب تک کہ مذکورہ بلاکس کو جرنل سے چیک پوائنٹ نہ کر دیا جائے۔


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

اس کے بجائے جو لینکس ایکسٹ تھری کرتا ہے وہ جرنل میں ایک نئی قسم کا ریکارڈ شامل کرنا ہے، جسے منسوخی ریکارڈ کے نام سے جانا جاتا ہے۔


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

جرنل کو دوبارہ چلانے پر، نظام سب سے پہلے اس طرح کے منسوخی ریکارڈز کو اسکین کرتا ہے۔


In each table, time increases in the downward direction, and each row in the table shows the logical time that a write can be issued or might complete.

ہر جدول میں، وقت نیچے کی طرف بڑھتا ہے، اور جدول کی ہر قطار منطقی وقت دکھاتی ہے جب ایک تحریر جاری کی جا سکتی ہے یا مکمل ہو سکتی ہے۔


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

افقی ڈیشڈ لائنیں دکھاتی ہیں کہ تحریر کی ترتیب کی ضروریات کو کہاں پورا کرنا ضروری ہے۔


Note that the data write can logically be issued at the same time as the writes to the transaction begin and the contents of the journal.

نوٹ کریں کہ ڈیٹا کی تحریر منطقی طور پر اسی وقت جاری کی جا سکتی ہے جب لین دین کے آغاز اور جرنل کے مندرجات کو لکھا جاتا ہے۔


In a real system, completion time is determined by the I/O subsystem, which may reorder writes to improve performance.

ایک حقیقی نظام میں، تکمیل کا وقت I/O سب سسٹم کے ذریعے طے کیا جاتا ہے، جو کارکردگی کو بہتر بنانے کے لیے تحریروں کو دوبارہ ترتیب دے سکتا ہے۔


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.

ایک اور طریقہ کار کو کاپی آن رائٹ (ہاں، COW) کے نام سے جانا جاتا ہے، اور اسے متعدد مقبول فائل سسٹمز میں استعمال کیا جاتا ہے۔


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.

کئی اپ ڈیٹس مکمل ہونے کے بعد، COW فائل سسٹمز فائل سسٹم کے روٹ ڈھانچے کو تبدیل کر دیتے ہیں۔


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.

فائل تک رسائی حاصل کرتے وقت، فائل سسٹم اس بات کا تعین کر سکتا ہے کہ آیا فائل مستقل ہے یا نہیں، یہ جانچ کر کہ آیا فارورڈ پوائنٹر اس بلاک کی طرف اشارہ کرتا ہے جو اس کی طرف واپس اشارہ کرتا ہے۔


The system can return an error when trying to read a given block.

سسٹم کسی مخصوص بلاک کو پڑھنے کی کوشش کرتے وقت ایک غلطی واپس کر سکتا ہے۔


Both of these types of faults are somewhat rare.

یہ دونوں قسم کے نقائص کسی حد تک کم ہی ہوتے ہیں۔


The table shows the percent of drives that exhibited at least one LSE or block corruption.

ٹیبل ان ڈرائیوز کا فیصد دکھاتا ہے جنہوں نے کم از کم ایک LSE یا بلاک کی خرابی ظاہر کی ہے۔


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

بہتر ڈرائیوز خریدنے سے دونوں قسم کے مسائل کی فریکوئنسی کم ہوجاتی ہے۔


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

ایک سے زیادہ LSE والی مہنگی ڈرائیوز میں سستے ڈرائیوز کی طرح اضافی غلطیاں پیدا ہونے کا امکان ہوتا ہے۔


LSEs ڈسک کے سائز کے ساتھ بڑھتے ہیں۔


Disks with LSEs are more likely to develop additional LSEs.

LSEs والی ڈسکوں میں اضافی LSEs پیدا ہونے کا زیادہ امکان ہوتا ہے۔


ڈسک کی صفائی مفید ہے۔


The 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 میں ڈسکوں میں آزاد نہیں ہے۔


There exists spatial locality, and some temporal locality.

مقامی لوکلٹی موجود ہے، اور کچھ عارضی لوکلٹی۔


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.

جب کوئی اسٹوریج سسٹم کسی بلاک تک رسائی حاصل کرنے کی کوشش کرتا ہے، اور ڈسک ایک غلطی واپس کرتی ہے، تو اسٹوریج سسٹم کو صرف وہی ریڈنڈنسی میکانزم استعمال کرنا چاہیے جو اس کے پاس صحیح ڈیٹا واپس کرنے کے لیے ہے۔


In a mirrored RAID, for example, the system should access the alternate copy.

مثال کے طور پر، ایک مررڈ RAID میں، سسٹم کو متبادل کاپی تک رسائی حاصل کرنی چاہیے۔


The growing prevalence of LSEs has influenced RAID designs over the years.

LSEs کے بڑھتے ہوئے پھیلاؤ نے سالوں کے دوران RAID ڈیزائنز کو متاثر کیا ہے۔


How can we prevent users from getting bad data when corruption arises?

خرابی کی صورت میں ہم صارفین کو خراب ڈیٹا حاصل کرنے سے کیسے روک سکتے ہیں؟


The primary mechanism used by modern storage systems to preserve data integrity is called the checksum.

ڈیٹا کی سالمیت کو برقرار رکھنے کے لیے جدید اسٹوریج سسٹمز کے ذریعہ استعمال ہونے والا بنیادی طریقہ کار چیکسم کہلاتا ہے۔


یہ پتہ چلتا ہے۔


Our paper on how disks have partial failure modes.

ہمارا مقالہ اس بارے میں ہے کہ ڈسک میں جزوی ناکامی کے طریقے کیسے ہوتے ہیں۔


جیسا کہ پتہ چلا، کافی خراب!


We found numerous bugs, design flaws, and other oddities in this work.

ہم نے اس کام میں متعدد کیڑے، ڈیزائن کی خامیاں اور دیگر عجیب و غریب چیزیں پائی ہیں۔


Some of this has fed back into the Linux community.

اس میں سے کچھ لینکس کمیونٹی میں واپس چلا گیا ہے۔


Another reference to this ground-breaking paper on how to improve write performance in file systems.

فائل سسٹم میں تحریری کارکردگی کو بہتر بنانے کے طریقہ کار پر اس اہم مقالے کا ایک اور حوالہ۔


This classic paper talks generally about how to build fault tolerant services.

یہ کلاسک مقالہ عام طور پر اس بارے میں بات کرتا ہے کہ غلطی سے بچنے والی خدمات کیسے بنائی جائیں۔


A must read for those building distributed systems.

ان لوگوں کے لیے لازمی پڑھیں جو تقسیم شدہ نظام بنا رہے ہیں۔


Our own work on adding data protection to the page cache of a system.

کسی نظام کے صفحہ کیشے میں ڈیٹا پروٹیکشن شامل کرنے پر ہمارا اپنا کام۔


Wow, file systems seem interesting(!), and yet complicated.

واہ، فائل سسٹم دلچسپ لگتے ہیں(!)، اور پھر بھی پیچیدہ ہیں۔


That’s why me and my spouse do our research in this space.

اسی لیے میں اور میری بیوی اس جگہ پر اپنی تحقیق کرتے ہیں۔


Hold on. Are you one of the professors who wrote this book?

ٹھہریں۔ کیا آپ ان پروفیسروں میں سے ایک ہیں جنہوں نے یہ کتاب لکھی ہے؟


I thought we were both just fake constructs, used to summarize some main points.

میں نے سوچا کہ ہم دونوں صرف فرضی ڈھانچے ہیں، جو کچھ اہم نکات کا خلاصہ کرنے کے لیے استعمال ہوتے ہیں۔


اور آپ کا کوئی کام نہیں!


Anyhow, let’s get on with it: what did you learn?

خیر، آئیے اس پر چلتے ہیں: آپ نے کیا سیکھا؟


Well, as my friend Kevin Hultquist used to say, “Forever is a long time”.

ٹھیک ہے، جیسا کہ میرے دوست کیون ہولٹکوسٹ کہا کرتے تھے، “ہمیشہ ایک طویل وقت ہے”۔


کم از کم ایک طویل عرصے سے۔


Recovery, something I had never even thought of when we were virtualizing memory, is now a big deal!

ریکوری، جس کے بارے میں میں نے کبھی سوچا بھی نہیں تھا جب ہم میموری کو ورچوئلائز کر رہے تھے، اب ایک بڑا سودا ہے!


Updates to persistent storage have always been, and remain, a fun and challenging problem.

مستقل اسٹوریج کی تازہ کاری ہمیشہ سے ایک دلچسپ اور چیلنجنگ مسئلہ رہی ہے، اور رہے گی۔


I also learned about cool things like disk scheduling, and about data protection techniques like RAID and even checksums.

میں نے ڈسک شیڈولنگ جیسی ٹھنڈی چیزوں کے بارے میں بھی سیکھا، اور ڈیٹا پروٹیکشن کی تکنیکوں جیسے RAID اور یہاں تک کہ چیک سمز کے بارے میں بھی۔


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

ڈی ایس ایم سسٹم میں، کچھ رسائی سستی ہوتی ہیں، لیکن دیگر صفحہ کی غلطیوں کا سبب بنتی ہیں۔


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

اگرچہ اس شعبے میں بہت سی تحقیق کی گئی، لیکن اس کا عملی اثر کم ہی تھا۔


The most dominant abstraction is based on the idea of a remote procedure call, or RPC for short.

سب سے غالب تجرید ریموٹ طریقہ کار کال، یا مختصر طور پر آر پی سی کے خیال پر مبنی ہے۔


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.

اس تمام معلومات کو ایک ہی متواتر بفر میں ڈالنے کے عمل کو بعض اوقات دلائل کی مارشلنگ یا پیغام کی سیریلائزیشن کہا جاتا ہے۔


Send the message to the destination RPC server.

پیغام کو منزل مقصود آر پی سی سرور پر بھیجیں۔


جواب کا انتظار کریں۔


واپسی کوڈ اور دیگر دلائل کو ان پیک کریں۔


کال کرنے والے کو واپس کریں۔


پیغام کو ان پیک کریں۔


اصل فنکشن کو کال کریں۔


نتائج کو پیک کریں۔


جواب بھیجیں۔


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

ایک اور اہم مسئلہ ہم آہنگی کے حوالے سے سرور کی تنظیم ہے۔


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

رن ٹائم لائبریری آر پی سی سسٹم میں بہت زیادہ کام سنبھالتی ہے۔


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 from the server.

اگر نہیں، تو کلائنٹ کو سرور سے نیا ورژن حاصل کرنا چاہیے۔


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 the server has crashed.

ہر کلائنٹ کو احساس ہونا چاہیے کہ سرور کریش ہو گیا ہے۔


تمام کیش مواد کو مشکوک سمجھیں۔


Reestablish the validity of a file before using it.

استعمال کرنے سے پہلے فائل کی درستگی کو دوبارہ قائم کریں۔


سرور کا کریش ہونا ایک بڑا واقعہ ہے۔


Ensure each client is aware of the crash.

اس بات کو یقینی بنائیں کہ ہر کلائنٹ کریش سے آگاہ ہے۔


ایک کلائنٹ کے پرانی فائل تک رسائی کا خطرہ مول لیں۔


The server can send a message to each client.

سرور ہر کلائنٹ کو ایک پیغام بھیج سکتا ہے۔


Clients can check that the server is alive periodically.

کلائنٹ وقتاً فوقتاً چیک کر سکتے ہیں کہ سرور زندہ ہے۔


There is a cost to building a more scalable caching model.

زیادہ قابل توسیع کیشنگ ماڈل بنانے کی ایک قیمت ہے۔


Clients hardly noticed a server crash with NFS.

این ایف ایس کے ساتھ، کلائنٹس نے شاذ و نادر ہی سرور کریش کو محسوس کیا۔


AFSv2 was measured and found to be more scalable.

AFSv2 کی پیمائش کی گئی اور اسے زیادہ قابل توسیع پایا گیا۔


Each server could support about 50 clients.

ہر سرور تقریباً 50 کلائنٹس کو سپورٹ کر سکتا ہے۔


Client-side performance came close to local performance.

کلائنٹ سائیڈ کی کارکردگی مقامی کارکردگی کے قریب آگئی۔


File reads usually went to the local disk cache.

فائل کی ریڈ عام طور پر مقامی ڈسک کیش میں جاتی ہے۔


The client sends a request to the server.

کلائنٹ سرور کو ایک درخواست بھیجتا ہے۔


The server responds to the client's request.

سرور کلائنٹ کی درخواست کا جواب دیتا ہے۔


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

فائل ہینڈلز فائل یا ڈائریکٹری کو منفرد طور پر بیان کرنے کے لیے استعمال ہوتے ہیں۔


The client application will want to call open(), read(), write(), close() and other standard API calls.

کلائنٹ ایپلی کیشن اوپن()، ریڈ()، رائٹ()، کلوز() اور دیگر معیاری API کالز کو کال کرنا چاہے گی۔


Imagine the server crashes after the first read completes.

تصور کریں کہ پہلا پڑھنے کا عمل مکمل ہونے کے بعد سرور کریش ہو جاتا ہے۔


Shared state complicates crash recovery.

مشترکہ حالت کریش ریکوری کو پیچیدہ بناتی ہے۔


The client-side file system sends a lookup request to the server.

کلائنٹ سائیڈ فائل سسٹم سرور کو ایک تلاش کی درخواست بھیجتا ہے۔


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

READ پروٹوکول پیغام کے لیے پروٹوکول کو فائل ہینڈل کے ساتھ پاس کرنے کی ضرورت ہوتی ہے۔


The client-side file system tracks open files.

کلائنٹ سائیڈ فائل سسٹم کھلی فائلوں کو ٹریک کرتا ہے۔


Idempotency is a useful property when building reliable systems.

قابل اعتماد نظام بناتے وقت Idempotency ایک مفید خاصیت ہے۔


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.

ایک آپریشن کو idempotent کہا جاتا ہے جب آپریشن کو متعدد بار انجام دینے کا اثر ایک ہی بار آپریشن کرنے کے اثر کے برابر ہوتا ہے۔


کلائنٹ آسانی سے درخواست کو دوبارہ کوشش کرتا ہے۔


The WRITE message contains the data, the count, and the exact offset to write the data to.

WRITE پیغام میں ڈیٹا، گنتی، اور ڈیٹا لکھنے کے لیے صحیح آفسیٹ شامل ہے۔


The client can handle all timeouts in a unified way.

کلائنٹ تمام ٹائم آؤٹ کو متحد طریقے سے ہینڈل کر سکتا ہے۔


Adding caching into any sort of system with multiple client caches introduces a big and interesting challenge which we will refer to as the cache consistency problem.

متعدد کلائنٹ کیشز والے کسی بھی قسم کے نظام میں کیشنگ شامل کرنے سے ایک بڑا اور دلچسپ چیلنج متعارف ہوتا ہے جسے ہم کیش مطابقت کا مسئلہ کہیں گے۔


The cache consistency problem is best illustrated with two clients and a single server.

کیش مطابقت کے مسئلے کی بہترین مثال دو کلائنٹس اور ایک سرور کے ساتھ دی جا سکتی ہے۔


When opening a file, the client-side file system will issue a GETATTR request to the server.

فائل کھولتے وقت، کلائنٹ سائیڈ فائل سسٹم سرور کو GETATTR کی درخواست جاری کرے گا۔


The attributes, importantly, include information as to when the file was last modified on the server.

اہم بات یہ ہے کہ صفات میں اس بارے میں معلومات شامل ہیں کہ سرور پر آخری بار فائل میں کب ترمیم کی گئی تھی۔


A client thus bombards the server, constantly asking “has anyone changed this file?”, when most of the time no one had.

اس طرح ایک کلائنٹ سرور پر بمباری کرتا ہے، مسلسل پوچھتا ہے “کیا کسی نے اس فائل کو تبدیل کیا ہے؟”، جب کہ زیادہ تر وقت کسی نے نہیں کیا۔


The NFS client-side file system caches file data (and metadata) that it has read from the server in client memory.

NFS کلائنٹ سائیڈ فائل سسٹم فائل ڈیٹا (اور میٹا ڈیٹا) کو کیش کرتا ہے جسے اس نے سرور سے کلائنٹ میموری میں پڑھا ہے۔


سرور غیر متوقع طور پر کریش ہو گیا۔


Please restart the system after the update.

براہ کرم اپ ڈیٹ کے بعد سسٹم کو دوبارہ شروع کریں۔


The file system is corrupted; data may be lost.

فائل سسٹم خراب ہو گیا ہے؛ ڈیٹا ضائع ہو سکتا ہے۔


Network File System (NFS) is a distributed file system protocol.

نیٹ ورک فائل سسٹم (این ایف ایس) ایک تقسیم شدہ فائل سسٹم پروٹوکول ہے۔


Caching improves performance by storing frequently accessed data.

کیشنگ بار بار رسائی حاصل کرنے والے ڈیٹا کو ذخیرہ کرکے کارکردگی کو بہتر بناتا ہے۔


The client needs to retry the operation after a server failure.

کلائنٹ کو سرور کی ناکامی کے بعد آپریشن کو دوبارہ کرنے کی ضرورت ہے۔


Idempotency is crucial for distributed systems to handle failures gracefully.

تقسیم شدہ نظاموں کے لیے ناکامیوں کو آسانی سے سنبھالنے کے لیے آئیڈیمپوٹینسی بہت ضروری ہے۔


The design of the protocol is centered around simple and fast recovery.

پروٹوکول کا ڈیزائن سادہ اور تیز رفتار ریکوری کے گرد مرکوز ہے۔


NFS servers must commit each write to stable storage before informing the client of success.

این ایف ایس سرورز کو کلائنٹ کو کامیابی سے آگاہ کرنے سے پہلے ہر تحریر کو مستحکم اسٹوریج میں جمع کروانا چاہیے۔


The Andrew File System (AFS) was designed to address the scalability limitations of NFS.

اینڈریو فائل سسٹم (اے ایف ایس) کو این ایف ایس کی اسکیل ایبلٹی کی حدود کو دور کرنے کے لیے ڈیزائن کیا گیا تھا۔


Can you explain the concept of cache consistency in AFS?

کیا آپ اے ایف ایس میں کیش کی مستقل مزاجی کے تصور کی وضاحت کر سکتے ہیں؟


The server is experiencing high load due to excessive client requests.

سرور زیادہ کلائنٹ درخواستوں کی وجہ سے زیادہ بوجھ کا سامنا کر رہا ہے۔


The file system uses callbacks to reduce client-server interactions.

فائل سسٹم کلائنٹ-سرور تعاملات کو کم کرنے کے لیے کال بیکس کا استعمال کرتا ہے۔


The system administrator needs to balance the load across multiple servers.

سسٹم ایڈمنسٹریٹر کو متعدد سرورز پر بوجھ کو متوازن کرنے کی ضرورت ہے۔


The client uses file identifiers (FIDs) instead of pathnames.

کلائنٹ پاتھ ناموں کے بجائے فائل شناخت کنندگان (ایف آئی ڈی) کا استعمال کرتا ہے۔


The performance bottleneck is often the write operation to disk.

کارکردگی کی رکاوٹ اکثر ڈسک پر لکھنے کا عمل ہوتا ہے۔


The design of AFS aimed for reasonable user-visible behavior.

اے ایف ایس کا ڈیزائن صارف کے لیے قابلِ فہم رویے کے لیے تھا۔


The system's crash recovery mechanism is more involved than NFS.

سسٹم کا کریش ریکوری میکانزم این ایف ایس سے زیادہ پیچیدہ ہے۔


The file system uses whole-file caching on the local disk.

فائل سسٹم مقامی ڈسک پر مکمل فائل کیشنگ کا استعمال کرتا ہے۔


The server sends a callback to the client when a file is modified.

جب کوئی فائل تبدیل ہوتی ہے تو سرور کلائنٹ کو کال بیک بھیجتا ہے۔


The system uses time sharing to manage resources.

نظام وسائل کا انتظام کرنے کے لیے وقت کی شراکت کا استعمال کرتا ہے۔


Virtualization is a key concept in modern operating systems.

ورچوئلائزیشن جدید آپریٹنگ سسٹم میں ایک اہم تصور ہے۔


The operating system manages virtual memory.

آپریٹنگ سسٹم ورچوئل میموری کا انتظام کرتا ہے۔


تھریڈز بیک وقت عمل درآمد کی اجازت دیتے ہیں۔


فائل سسٹم رائٹ-ایہیڈ لاگ کا استعمال کرتا ہے۔


A timeout mechanism is implemented to prevent indefinite waiting.

لامحدود انتظار سے بچنے کے لیے ایک ٹائم آؤٹ طریقہ کار نافذ کیا گیا ہے۔


The system uses a translation lookaside buffer (TLB).

نظام ترجمہ تلاش کرنے والے بفر (TLB) کا استعمال کرتا ہے۔


The concept of transparency is important in system design.

نظام ڈیزائن میں شفافیت کا تصور اہم ہے۔


نظام رکاوٹوں کو سنبھالتا ہے۔


The operating system provides user mode and kernel mode.

آپریٹنگ سسٹم صارف موڈ اور کرنل موڈ فراہم کرتا ہے۔


نظام ٹائمر کی مداخلت کا استعمال کرتا ہے۔


The system uses a virtual address space.

نظام ایک ورچوئل ایڈریس اسپیس استعمال کرتا ہے۔


The system is designed to be transparent.

نظام کو شفاف بنانے کے لیے ڈیزائن کیا گیا ہے۔


نظام ایک ٹریپ ہینڈلر استعمال کرتا ہے۔


نظام TLB کی کمی کو سنبھالتا ہے۔


نظام رائٹ-تھرو کیشے کا استعمال کرتا ہے۔


نظام دو مرحلوں کا لاک استعمال کرتا ہے۔


The system uses a transaction identifier.

نظام ایک ٹرانزیکشن شناخت کنندہ استعمال کرتا ہے۔


نظام ایک درست بٹ استعمال کرتا ہے۔


نظام ایک ورچوئل مشین استعمال کرتا ہے۔