For this reason (and others), people are often willing to pay top dollar for the former.

ਇਸ ਕਾਰਨ (ਅਤੇ ਹੋਰਨਾਂ ਕਾਰਨਾਂ ਕਰਕੇ), ਲੋਕ ਅਕਸਰ ਪਹਿਲੇ ਲਈ ਸਭ ਤੋਂ ਵੱਧ ਪੈਸੇ ਦੇਣ ਲਈ ਤਿਆਰ ਹੁੰਦੇ ਹਨ।


The system administrator needs to configure the server.

ਸਿਸਟਮ ਪ੍ਰਸ਼ਾਸਕ ਨੂੰ ਸਰਵਰ ਨੂੰ ਕੌਂਫਿਗਰ ਕਰਨ ਦੀ ਲੋੜ ਹੈ।


Please provide the necessary documentation for the project.

ਕਿਰਪਾ ਕਰਕੇ ਪ੍ਰੋਜੈਕਟ ਲਈ ਜ਼ਰੂਰੀ ਦਸਤਾਵੇਜ਼ ਪ੍ਰਦਾਨ ਕਰੋ।


The company announced a new product launch.

ਕੰਪਨੀ ਨੇ ਇੱਕ ਨਵੇਂ ਉਤਪਾਦ ਦੀ ਸ਼ੁਰੂਆਤ ਦਾ ਐਲਾਨ ਕੀਤਾ।


She enjoys reading books in her free time.

ਉਹ ਆਪਣੇ ਖਾਲੀ ਸਮੇਂ ਵਿੱਚ ਕਿਤਾਬਾਂ ਪੜ੍ਹਨਾ ਪਸੰਦ ਕਰਦੀ ਹੈ।


The weather forecast predicts rain for tomorrow.

ਮੌਸਮ ਵਿਭਾਗ ਨੇ ਕੱਲ੍ਹ ਮੀਂਹ ਦੀ ਭਵਿੱਖਬਾਣੀ ਕੀਤੀ ਹੈ।


Could you please repeat that information?

ਕੀ ਤੁਸੀਂ ਕਿਰਪਾ ਕਰਕੇ ਉਸ ਜਾਣਕਾਰੀ ਨੂੰ ਦੁਹਰਾ ਸਕਦੇ ਹੋ?


ਸਾਫਟਵੇਅਰ ਅਪਡੇਟ ਹੁਣ ਪੂਰਾ ਹੋ ਗਿਆ ਹੈ।


ਉਹ ਇੱਕ ਗੁੰਝਲਦਾਰ ਐਲਗੋਰਿਦਮ 'ਤੇ ਕੰਮ ਕਰ ਰਿਹਾ ਹੈ।


The government is implementing new policies.

ਸਰਕਾਰ ਨਵੀਆਂ ਨੀਤੀਆਂ ਲਾਗੂ ਕਰ ਰਹੀ ਹੈ।


The team is collaborating on a new project.

ਟੀਮ ਇੱਕ ਨਵੇਂ ਪ੍ਰੋਜੈਕਟ 'ਤੇ ਸਹਿਯੋਗ ਕਰ ਰਹੀ ਹੈ।


Despite the challenges, they persevered and succeeded.

ਚੁਣੌਤੀਆਂ ਦੇ ਬਾਵਜੂਦ, ਉਨ੍ਹਾਂ ਨੇ ਲਗਨ ਨਾਲ ਕੰਮ ਕੀਤਾ ਅਤੇ ਸਫਲਤਾ ਪ੍ਰਾਪਤ ਕੀਤੀ।


The economic situation is improving gradually.

ਆਰਥਿਕ ਸਥਿਤੀ ਹੌਲੀ-ਹੌਲੀ ਸੁਧਰ ਰਹੀ ਹੈ।


The research paper presents a novel approach.

ਖੋਜ ਪੇਪਰ ਇੱਕ ਨਵੇਂ ਪਹੁੰਚ ਨੂੰ ਪੇਸ਼ ਕਰਦਾ ਹੈ।


The company's strategic plan involves expansion into new markets.

ਕੰਪਨੀ ਦੀ ਰਣਨੀਤਕ ਯੋਜਨਾ ਵਿੱਚ ਨਵੇਂ ਬਾਜ਼ਾਰਾਂ ਵਿੱਚ ਵਿਸਤਾਰ ਸ਼ਾਮਲ ਹੈ।


The implications of the new technology are far-reaching.

ਨਵੀਂ ਤਕਨਾਲੋਜੀ ਦੇ ਪ੍ਰਭਾਵ ਦੂਰ-ਦੂਰ ਤੱਕ ਫੈਲੇ ਹੋਏ ਹਨ।


The philosophical debate explored the nature of consciousness.

ਦਾਰਸ਼ਨਿਕ ਬਹਿਸ ਨੇ ਚੇਤਨਾ ਦੀ ਪ੍ਰਕਿਰਤੀ ਦੀ ਪੜਚੋਲ ਕੀਤੀ।


The intricate details of the treaty were meticulously negotiated.

ਸੰਧੀ ਦੇ ਗੁੰਝਲਦਾਰ ਵੇਰਵਿਆਂ 'ਤੇ ਬਾਰੀਕੀ ਨਾਲ ਗੱਲਬਾਤ ਕੀਤੀ ਗਈ।


The algorithm's efficiency was optimized through iterative refinement.

ਐਲਗੋਰਿਦਮ ਦੀ ਕੁਸ਼ਲਤਾ ਨੂੰ ਵਾਰ-ਵਾਰ ਸੁਧਾਰ ਦੁਆਰਾ ਅਨੁਕੂਲ ਬਣਾਇਆ ਗਿਆ ਸੀ।


The complexities of international relations require careful consideration.

ਅੰਤਰਰਾਸ਼ਟਰੀ ਸਬੰਧਾਂ ਦੀਆਂ ਗੁੰਝਲਾਂ ਨੂੰ ਧਿਆਨ ਨਾਲ ਵਿਚਾਰਨ ਦੀ ਲੋੜ ਹੈ।


The judge's ruling was based on a thorough examination of the evidence presented.

ਜੱਜ ਦਾ ਫੈਸਲਾ ਪੇਸ਼ ਕੀਤੇ ਗਏ ਸਬੂਤਾਂ ਦੀ ਪੂਰੀ ਜਾਂਚ 'ਤੇ ਅਧਾਰਤ ਸੀ।


The RAID system uses one disk for parity information.

RAID ਸਿਸਟਮ ਪੈਰਿਟੀ ਜਾਣਕਾਰੀ ਲਈ ਇੱਕ ਡਿਸਕ ਦੀ ਵਰਤੋਂ ਕਰਦਾ ਹੈ।


RAID-4 ਇੱਕ ਡਿਸਕ ਫੇਲ੍ਹ ਹੋਣ ਨੂੰ ਸਹਿਣ ਕਰਦਾ ਹੈ।


Sequential read performance can utilize all of the disks except for the parity disk.

ਕ੍ਰਮਵਾਰ ਪੜ੍ਹਨ ਦੀ ਕਾਰਗੁਜ਼ਾਰੀ ਪੈਰਿਟੀ ਡਿਸਕ ਨੂੰ ਛੱਡ ਕੇ ਸਾਰੀਆਂ ਡਿਸਕਾਂ ਦੀ ਵਰਤੋਂ ਕਰ ਸਕਦੀ ਹੈ।


Full-stripe writes are the most efficient way for RAID-4 to write to disk.

ਪੂਰੀ-ਸਟ੍ਰਾਈਪ ਲਿਖਤਾਂ RAID-4 ਲਈ ਡਿਸਕ 'ਤੇ ਲਿਖਣ ਦਾ ਸਭ ਤੋਂ ਕੁਸ਼ਲ ਤਰੀਕਾ ਹਨ।


Random writes present the most interesting case for RAID-4.

ਰੈਂਡਮ ਲਿਖਤਾਂ RAID-4 ਲਈ ਸਭ ਤੋਂ ਦਿਲਚਸਪ ਮਾਮਲਾ ਪੇਸ਼ ਕਰਦੀਆਂ ਹਨ।


The parity disk is a bottleneck under this type of workload.

ਇਸ ਕਿਸਮ ਦੇ ਵਰਕਲੋਡ ਦੇ ਅਧੀਨ ਪੈਰਿਟੀ ਡਿਸਕ ਇੱਕ ਰੁਕਾਵਟ ਹੈ।


RAID-5 rotates the parity block across drives.

RAID-5 ਡਰਾਈਵਾਂ ਵਿੱਚ ਪੈਰਿਟੀ ਬਲਾਕ ਨੂੰ ਘੁੰਮਾਉਂਦਾ ਹੈ।


RAID-5 allows for parallelism across requests.

RAID-5 ਬੇਨਤੀਆਂ ਵਿੱਚ ਸਮਾਨਤਾ ਦੀ ਆਗਿਆ ਦਿੰਦਾ ਹੈ।


If capacity and reliability are your main goals, then RAID-5 is the winner.

ਜੇਕਰ ਸਮਰੱਥਾ ਅਤੇ ਭਰੋਸੇਯੋਗਤਾ ਤੁਹਾਡੇ ਮੁੱਖ ਟੀਚੇ ਹਨ, ਤਾਂ RAID-5 ਜੇਤੂ ਹੈ।


RAID transforms independent disks into a large, more capacious, and more reliable single entity.

RAID ਸੁਤੰਤਰ ਡਿਸਕਾਂ ਨੂੰ ਇੱਕ ਵੱਡੀ, ਵਧੇਰੇ ਸਮਰੱਥਾ ਵਾਲੀ, ਅਤੇ ਵਧੇਰੇ ਭਰੋਸੇਮੰਦ ਇਕਾਈ ਵਿੱਚ ਬਦਲਦਾ ਹੈ।


The OS must take extra care with such a device.

ਓ.ਐੱਸ. ਨੂੰ ਅਜਿਹੇ ਯੰਤਰ ਨਾਲ ਵਾਧੂ ਦੇਖਭਾਲ ਕਰਨੀ ਚਾਹੀਦੀ ਹੈ।


A file is simply a linear array of bytes.

ਇੱਕ ਫਾਈਲ ਸਿਰਫ਼ ਬਾਈਟਾਂ ਦੀ ਇੱਕ ਰੇਖਿਕ ਐਰੇ ਹੈ।


Each file has some kind of low-level name.

ਹਰੇਕ ਫਾਈਲ ਦਾ ਕਿਸੇ ਕਿਸਮ ਦਾ ਘੱਟ-ਪੱਧਰੀ ਨਾਮ ਹੁੰਦਾ ਹੈ।


The low-level name of a file is often referred to as its inode number.

ਇੱਕ ਫਾਈਲ ਦੇ ਘੱਟ-ਪੱਧਰੀ ਨਾਮ ਨੂੰ ਅਕਸਰ ਇਸਦੇ ਇਨੋਡ ਨੰਬਰ ਵਜੋਂ ਜਾਣਿਆ ਜਾਂਦਾ ਹੈ।


The responsibility of the file system is simply to store data persistently on disk.

ਫਾਈਲ ਸਿਸਟਮ ਦੀ ਜ਼ਿੰਮੇਵਾਰੀ ਸਿਰਫ਼ ਡਿਸਕ 'ਤੇ ਡਾਟਾ ਨੂੰ ਸਥਾਈ ਤੌਰ 'ਤੇ ਸਟੋਰ ਕਰਨਾ ਹੈ।


A directory contains a list of (user-readable name, low-level name) pairs.

ਇੱਕ ਡਾਇਰੈਕਟਰੀ ਵਿੱਚ (ਉਪਭੋਗਤਾ-ਪੜ੍ਹਨਯੋਗ ਨਾਮ, ਘੱਟ-ਪੱਧਰੀ ਨਾਮ) ਜੋੜਿਆਂ ਦੀ ਇੱਕ ਸੂਚੀ ਹੁੰਦੀ ਹੈ।


The illusion makes programming the system much easier.

ਇਹ ਭਰਮ ਸਿਸਟਮ ਦੀ ਪ੍ਰੋਗਰਾਮਿੰਗ ਨੂੰ ਬਹੁਤ ਸੌਖਾ ਬਣਾਉਂਦਾ ਹੈ।


We will explore critical techniques for managing persistent data.

ਅਸੀਂ ਸਥਾਈ ਡੇਟਾ ਦੇ ਪ੍ਰਬੰਧਨ ਲਈ ਮਹੱਤਵਪੂਰਨ ਤਕਨੀਕਾਂ ਦੀ ਪੜਚੋਲ ਕਰਾਂਗੇ।


This section introduces raid.py, a simple RAID simulator.

ਇਸ ਭਾਗ ਵਿੱਚ raid.py, ਇੱਕ ਸਧਾਰਨ RAID ਸਿਮੂਲੇਟਰ, ਪੇਸ਼ ਕੀਤਾ ਗਿਆ ਹੈ।


Picking a RAID and setting its parameters properly for a particular workload is challenging.

ਇੱਕ RAID ਦੀ ਚੋਣ ਕਰਨਾ ਅਤੇ ਇੱਕ ਖਾਸ ਵਰਕਲੋਡ ਲਈ ਇਸਦੇ ਮਾਪਦੰਡਾਂ ਨੂੰ ਸਹੀ ਢੰਗ ਨਾਲ ਸੈੱਟ ਕਰਨਾ ਚੁਣੌਤੀਪੂਰਨ ਹੈ।


ਮੈਂ ਫਾਈਲ ਪ੍ਰਣਾਲੀਆਂ ਬਾਰੇ ਹੋਰ ਜਾਣਨਾ ਚਾਹੁੰਦਾ ਹਾਂ।


The file system uses inodes to store metadata.

ਫਾਈਲ ਪ੍ਰਣਾਲੀ ਮੈਟਾਡੇਟਾ ਸਟੋਰ ਕਰਨ ਲਈ ਇਨੋਡ ਦੀ ਵਰਤੋਂ ਕਰਦੀ ਹੈ।


ਕੀ ਤੁਸੀਂ ਸਮਝਾ ਸਕਦੇ ਹੋ ਕਿ ਹਾਰਡ ਲਿੰਕ ਕਿਵੇਂ ਕੰਮ ਕਰਦੇ ਹਨ?


ਇੱਕ ਡਾਇਰੈਕਟਰੀ ਨੂੰ ਮਿਟਾਉਣਾ ਖਤਰਨਾਕ ਹੋ ਸਕਦਾ ਹੈ।


The command 'ls -l' provides detailed file information.

'ls -l' ਕਮਾਂਡ ਵਿਸਤ੍ਰਿਤ ਫਾਈਲ ਜਾਣਕਾਰੀ ਪ੍ਰਦਾਨ ਕਰਦਾ ਹੈ।


Symbolic links are also known as soft links.

ਪ੍ਰਤੀਕਾਤਮਕ ਲਿੰਕਾਂ ਨੂੰ ਸੌਫਟ ਲਿੰਕ ਵੀ ਕਿਹਾ ਜਾਂਦਾ ਹੈ।


The superblock contains crucial file system information.

ਸੁਪਰਬਲਾਕ ਵਿੱਚ ਮਹੱਤਵਪੂਰਨ ਫਾਈਲ ਸਿਸਟਮ ਜਾਣਕਾਰੀ ਹੁੰਦੀ ਹੈ।


ਮੈਂ ਇੱਕ ਫਾਈਲ ਦਾ ਹਾਰਡ ਲਿੰਕ ਕਿਵੇਂ ਬਣਾਵਾਂ?


The file system organizes data into blocks.

ਫਾਈਲ ਪ੍ਰਣਾਲੀ ਡਾਟਾ ਨੂੰ ਬਲਾਕਾਂ ਵਿੱਚ ਸੰਗਠਿਤ ਕਰਦੀ ਹੈ।


What is the purpose of the 'mount' command?

'ਮਾਊਂਟ' ਕਮਾਂਡ ਦਾ ਉਦੇਸ਼ ਕੀ ਹੈ?


The inode table stores information about files.

ਇਨੋਡ ਟੇਬਲ ਫਾਈਲਾਂ ਬਾਰੇ ਜਾਣਕਾਰੀ ਸਟੋਰ ਕਰਦਾ ਹੈ।


Can you explain the difference between hard and symbolic links?

ਕੀ ਤੁਸੀਂ ਹਾਰਡ ਅਤੇ ਪ੍ਰਤੀਕਾਤਮਕ ਲਿੰਕਾਂ ਵਿੱਚ ਅੰਤਰ ਸਮਝਾ ਸਕਦੇ ਹੋ?


The operating system uses the file system to manage data.

ਓਪਰੇਟਿੰਗ ਸਿਸਟਮ ਡਾਟਾ ਪ੍ਰਬੰਧਨ ਲਈ ਫਾਈਲ ਪ੍ਰਣਾਲੀ ਦੀ ਵਰਤੋਂ ਕਰਦਾ ਹੈ।


Understanding file system implementation is crucial for system programmers.

ਸਿਸਟਮ ਪ੍ਰੋਗਰਾਮਰਾਂ ਲਈ ਫਾਈਲ ਸਿਸਟਮ ਲਾਗੂਕਰਨ ਨੂੰ ਸਮਝਣਾ ਬਹੁਤ ਜ਼ਰੂਰੀ ਹੈ।


The data bitmap tracks the allocation of data blocks.

ਡਾਟਾ ਬਿਟਮੈਪ ਡਾਟਾ ਬਲਾਕਾਂ ਦੀ ਵੰਡ ਨੂੰ ਟਰੈਕ ਕਰਦਾ ਹੈ।


File systems provide a uniform way to access data.

ਫਾਈਲ ਪ੍ਰਣਾਲੀਆਂ ਡਾਟਾ ਤੱਕ ਪਹੁੰਚ ਕਰਨ ਦਾ ਇੱਕਸਾਰ ਤਰੀਕਾ ਪ੍ਰਦਾਨ ਕਰਦੀਆਂ ਹਨ।


The 'rmdir' command removes empty directories.

'rmdir' ਕਮਾਂਡ ਖਾਲੀ ਡਾਇਰੈਕਟਰੀਆਂ ਨੂੰ ਹਟਾਉਂਦਾ ਹੈ।


What are the advantages of using symbolic links?

ਪ੍ਰਤੀਕਾਤਮਕ ਲਿੰਕਾਂ ਦੀ ਵਰਤੋਂ ਕਰਨ ਦੇ ਕੀ ਫਾਇਦੇ ਹਨ?


The file system interface is seemingly rudimentary.

ਫਾਈਲ ਸਿਸਟਮ ਇੰਟਰਫੇਸ ਦੇਖਣ ਵਿੱਚ ਮੁੱਢਲਾ ਜਾਪਦਾ ਹੈ।


We will delve into file system implementation in detail.

ਅਸੀਂ ਵਿਸਥਾਰ ਵਿੱਚ ਫਾਈਲ ਸਿਸਟਮ ਲਾਗੂਕਰਨ ਵਿੱਚ ਡੂੰਘਾਈ ਨਾਲ ਵਿਚਾਰ ਕਰਾਂਗੇ।


The file is referred to by the user-readable name of “foo”.

ਇਸ ਫਾਈਲ ਨੂੰ ਉਪਭੋਗਤਾ-ਪੜ੍ਹਨਯੋਗ ਨਾਮ “foo” ਨਾਲ ਦਰਸਾਇਆ ਗਿਆ ਹੈ।


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 ਬਣਾਈ, ਤਾਂ ਅਸੀਂ ਫਾਈਲ ਨੂੰ ਇਸਦੇ ਪੂਰੇ ਪਾਥਨਾਮ ਨਾਲ ਦਰਸਾ ਸਕਦੇ ਹਾਂ।


Naming is an important aspect of computer systems.

ਨਾਮਕਰਨ ਕੰਪਿਊਟਰ ਪ੍ਰਣਾਲੀਆਂ ਦਾ ਇੱਕ ਮਹੱਤਵਪੂਰਨ ਪਹਿਲੂ ਹੈ।


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.

ਪਹਿਲਾ ਭਾਗ ਇੱਕ ਮਨਮਾਨਾ ਨਾਮ ਹੈ, ਜਦੋਂ ਕਿ ਫਾਈਲ ਨਾਮ ਦਾ ਦੂਜਾ ਭਾਗ ਆਮ ਤੌਰ 'ਤੇ ਫਾਈਲ ਦੀ ਕਿਸਮ ਨੂੰ ਦਰਸਾਉਣ ਲਈ ਵਰਤਿਆ ਜਾਂਦਾ ਹੈ।


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

ਸਿਸਟਮ ਵਿੱਚ ਨਾਮ ਮਹੱਤਵਪੂਰਨ ਹਨ ਕਿਉਂਕਿ ਕਿਸੇ ਵੀ ਸਰੋਤ ਤੱਕ ਪਹੁੰਚ ਕਰਨ ਦਾ ਪਹਿਲਾ ਕਦਮ ਇਸਨੂੰ ਨਾਮ ਦੇਣ ਦੇ ਯੋਗ ਹੋਣਾ ਹੈ।


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.

ਇਹ ਓਪਨ ਸਿਸਟਮ ਕਾਲ ਨਾਲ ਪੂਰਾ ਕੀਤਾ ਜਾ ਸਕਦਾ ਹੈ।


The older way of creating a file is to call creat().

ਇੱਕ ਫਾਈਲ ਬਣਾਉਣ ਦਾ ਪੁਰਾਣਾ ਤਰੀਕਾ creat() ਨੂੰ ਕਾਲ ਕਰਨਾ ਹੈ।


One important aspect of open() is what it returns: a file descriptor.

open() ਦਾ ਇੱਕ ਮਹੱਤਵਪੂਰਨ ਪਹਿਲੂ ਇਹ ਹੈ ਕਿ ਇਹ ਕੀ ਵਾਪਸ ਕਰਦਾ ਹੈ: ਇੱਕ ਫਾਈਲ ਡਿਸਕ੍ਰਿਪਟਰ।


Once we have some files, of course we might like to read or write them.

ਇੱਕ ਵਾਰ ਸਾਡੇ ਕੋਲ ਕੁਝ ਫਾਈਲਾਂ ਹੋਣ 'ਤੇ, ਬੇਸ਼ੱਕ ਅਸੀਂ ਉਹਨਾਂ ਨੂੰ ਪੜ੍ਹਨਾ ਜਾਂ ਲਿਖਣਾ ਚਾਹੁੰਦੇ ਹਾਂ।


We redirect the output of the program echo to the file foo, which then contains the word “hello” in it.

ਅਸੀਂ ਪ੍ਰੋਗਰਾਮ ਈਕੋ ਦੇ ਆਉਟਪੁੱਟ ਨੂੰ ਫਾਈਲ foo 'ਤੇ ਰੀਡਾਇਰੈਕਟ ਕਰਦੇ ਹਾਂ, ਜਿਸ ਵਿੱਚ ਫਿਰ ਸ਼ਬਦ “hello” ਹੁੰਦਾ ਹੈ।


But how does the cat program access the file foo?

ਪਰ ਕੈਟ ਪ੍ਰੋਗਰਾਮ ਫਾਈਲ foo ਤੱਕ ਕਿਵੇਂ ਪਹੁੰਚ ਕਰਦਾ ਹੈ?


The first thing that cat does is open the file for reading.

ਪਹਿਲੀ ਗੱਲ ਜੋ ਕੈਟ ਕਰਦਾ ਹੈ ਉਹ ਹੈ ਪੜ੍ਹਨ ਲਈ ਫਾਈਲ ਖੋਲ੍ਹਣਾ।


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

ਇਨੋਡ ਇੱਕ ਡਾਟਾ ਢਾਂਚਾ ਹੈ ਜੋ ਇੱਕ ਫਾਈਲ ਲਈ ਮੈਟਾਡੇਟਾ ਰੱਖਦਾ ਹੈ।


File systems use inodes to describe file properties like size and permissions.

ਫਾਈਲ ਸਿਸਟਮ ਫਾਈਲ ਦੀਆਂ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਜਿਵੇਂ ਕਿ ਆਕਾਰ ਅਤੇ ਅਨੁਮਤੀਆਂ ਦਾ ਵਰਣਨ ਕਰਨ ਲਈ ਇਨੋਡ ਦੀ ਵਰਤੋਂ ਕਰਦੇ ਹਨ।


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

ਇਨੋਡ ਨੰਬਰ ਦੀ ਵਰਤੋਂ ਡਿਸਕ 'ਤੇ ਇਨੋਡ ਦੀ ਇੱਕ ਐਰੇ ਵਿੱਚ ਇੰਡੈਕਸ ਕਰਨ ਲਈ ਕੀਤੀ ਜਾਂਦੀ ਹੈ।


Each file is implicitly referred to by an i-number.

ਹਰੇਕ ਫਾਈਲ ਨੂੰ ਅਸਿੱਧੇ ਤੌਰ 'ਤੇ ਇੱਕ ਆਈ-ਨੰਬਰ ਦੁਆਰਾ ਦਰਸਾਇਆ ਜਾਂਦਾ ਹੈ।


The inode table stores information about files on the disk.

ਇਨੋਡ ਟੇਬਲ ਡਿਸਕ 'ਤੇ ਫਾਈਲਾਂ ਬਾਰੇ ਜਾਣਕਾਰੀ ਸਟੋਰ ਕਰਦਾ ਹੈ।


To read inode number 32, the file system calculates an offset.

ਇਨੋਡ ਨੰਬਰ 32 ਨੂੰ ਪੜ੍ਹਨ ਲਈ, ਫਾਈਲ ਸਿਸਟਮ ਇੱਕ ਆਫਸੈੱਟ ਦੀ ਗਣਨਾ ਕਰਦਾ ਹੈ।


Disks consist of addressable sectors, usually 512 bytes.

ਡਿਸਕ ਵਿੱਚ ਐਡਰੈਸਯੋਗ ਸੈਕਟਰ ਹੁੰਦੇ ਹਨ, ਆਮ ਤੌਰ 'ਤੇ 512 ਬਾਈਟ।


Inside each inode is information about a file's type, size, and permissions.

ਹਰੇਕ ਇਨੋਡ ਦੇ ਅੰਦਰ ਇੱਕ ਫਾਈਲ ਦੀ ਕਿਸਮ, ਆਕਾਰ ਅਤੇ ਅਨੁਮਤੀਆਂ ਬਾਰੇ ਜਾਣਕਾਰੀ ਹੁੰਦੀ ਹੈ।


The inode also stores information about data block locations.

ਇਨੋਡ ਡਾਟਾ ਬਲਾਕ ਟਿਕਾਣਿਆਂ ਬਾਰੇ ਵੀ ਜਾਣਕਾਰੀ ਸਟੋਰ ਕਰਦਾ ਹੈ।


Metadata is any information inside the file system that isn't user data.

ਮੈਟਾਡੇਟਾ ਫਾਈਲ ਸਿਸਟਮ ਦੇ ਅੰਦਰ ਕੋਈ ਵੀ ਜਾਣਕਾਰੀ ਹੈ ਜੋ ਉਪਭੋਗਤਾ ਡੇਟਾ ਨਹੀਂ ਹੈ।


Direct pointers inside the inode refer to disk blocks.

ਇਨੋਡ ਦੇ ਅੰਦਰ ਸਿੱਧੇ ਪੁਆਇੰਟਰ ਡਿਸਕ ਬਲਾਕਾਂ ਨੂੰ ਦਰਸਾਉਂਦੇ ਹਨ।


Indirect pointers point to blocks containing more pointers.

ਅਸਿੱਧੇ ਪੁਆਇੰਟਰ ਉਹਨਾਂ ਬਲਾਕਾਂ ਵੱਲ ਇਸ਼ਾਰਾ ਕਰਦੇ ਹਨ ਜਿਸ ਵਿੱਚ ਹੋਰ ਪੁਆਇੰਟਰ ਹੁੰਦੇ ਹਨ।


Multi-level indexing supports larger files.

ਮਲਟੀ-ਲੈਵਲ ਇੰਡੈਕਸਿੰਗ ਵੱਡੀਆਂ ਫਾਈਲਾਂ ਦਾ ਸਮਰਥਨ ਕਰਦੀ ਹੈ।


Extent-based approaches use a disk pointer and a length.

ਐਕਸਟੈਂਟ-ਅਧਾਰਿਤ ਪਹੁੰਚ ਇੱਕ ਡਿਸਕ ਪੁਆਇੰਟਰ ਅਤੇ ਇੱਕ ਲੰਬਾਈ ਦੀ ਵਰਤੋਂ ਕਰਦੇ ਹਨ।


Most files are small, which influences inode design.

ਜ਼ਿਆਦਾਤਰ ਫਾਈਲਾਂ ਛੋਟੀਆਂ ਹੁੰਦੀਆਂ ਹਨ, ਜੋ ਇਨੋਡ ਡਿਜ਼ਾਈਨ ਨੂੰ ਪ੍ਰਭਾਵਿਤ ਕਰਦੀਆਂ ਹਨ।


Directories contain a list of (entry name, inode number) pairs.

ਡਾਇਰੈਕਟਰੀਆਂ ਵਿੱਚ (ਐਂਟਰੀ ਨਾਮ, ਇਨੋਡ ਨੰਬਰ) ਜੋੜਿਆਂ ਦੀ ਇੱਕ ਸੂਚੀ ਹੁੰਦੀ ਹੈ।


Deleting a file can leave empty space in a directory.

ਇੱਕ ਫਾਈਲ ਨੂੰ ਮਿਟਾਉਣ ਨਾਲ ਇੱਕ ਡਾਇਰੈਕਟਰੀ ਵਿੱਚ ਖਾਲੀ ਥਾਂ ਬਚ ਸਕਦੀ ਹੈ।


File systems treat directories as a special type of file.

ਫਾਈਲ ਸਿਸਟਮ ਡਾਇਰੈਕਟਰੀਆਂ ਨੂੰ ਇੱਕ ਵਿਸ਼ੇਸ਼ ਕਿਸਮ ਦੀ ਫਾਈਲ ਵਜੋਂ ਮੰਨਦੇ ਹਨ।


A file system must track free inodes and data blocks.

ਇੱਕ ਫਾਈਲ ਸਿਸਟਮ ਨੂੰ ਮੁਫਤ ਇਨੋਡ ਅਤੇ ਡਾਟਾ ਬਲਾਕਾਂ ਨੂੰ ਟਰੈਕ ਕਰਨਾ ਚਾਹੀਦਾ ਹੈ।


Reading a file involves traversing the pathname to find the inode.

ਇੱਕ ਫਾਈਲ ਨੂੰ ਪੜ੍ਹਨ ਵਿੱਚ ਇਨੋਡ ਨੂੰ ਲੱਭਣ ਲਈ ਪਾਥਨਾਮ ਨੂੰ ਪਾਰ ਕਰਨਾ ਸ਼ਾਮਲ ਹੁੰਦਾ ਹੈ।


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.

ਆਧੁਨਿਕ ਸਿਸਟਮ ਵਰਚੁਅਲ ਮੈਮੋਰੀ ਪੰਨਿਆਂ ਅਤੇ ਫਾਈਲ ਸਿਸਟਮ ਪੰਨਿਆਂ ਨੂੰ ਇੱਕ ਏਕੀਕ੍ਰਿਤ ਪੰਨਾ ਕੈਸ਼ ਵਿੱਚ ਏਕੀਕ੍ਰਿਤ ਕਰਦੇ ਹਨ।


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.

ਅਸੀਂ ਇੱਕ ਫਾਈਲ ਸਿਸਟਮ ਬਣਾਉਣ ਲਈ ਲੋੜੀਂਦੇ ਬੁਨਿਆਦੀ ਤੰਤਰ ਨੂੰ ਦੇਖਿਆ ਹੈ।


There needs to be some information about each file (metadata), usually stored in a structure called an inode.

ਹਰੇਕ ਫਾਈਲ (ਮੈਟਾਡੇਟਾ) ਬਾਰੇ ਕੁਝ ਜਾਣਕਾਰੀ ਹੋਣੀ ਚਾਹੀਦੀ ਹੈ, ਜੋ ਆਮ ਤੌਰ 'ਤੇ ਇੱਕ ਇਨੋਡ ਨਾਮਕ ਢਾਂਚੇ ਵਿੱਚ ਸਟੋਰ ਕੀਤੀ ਜਾਂਦੀ ਹੈ।


The disk transfer rate improves rapidly, but mechanical aspects improve slowly.

ਡਿਸਕ ਟ੍ਰਾਂਸਫਰ ਰੇਟ ਤੇਜ਼ੀ ਨਾਲ ਸੁਧਰਦਾ ਹੈ, ਪਰ ਮਕੈਨੀਕਲ ਪਹਿਲੂ ਹੌਲੀ-ਹੌਲੀ ਸੁਧਰਦੇ ਹਨ।


File systems must persist, surviving power loss on devices like hard disks.

ਫਾਈਲ ਸਿਸਟਮਾਂ ਨੂੰ ਸਥਿਰ ਰਹਿਣਾ ਚਾਹੀਦਾ ਹੈ, ਹਾਰਡ ਡਿਸਕਾਂ ਵਰਗੇ ਉਪਕਰਨਾਂ 'ਤੇ ਬਿਜਲੀ ਦੇ ਨੁਕਸਾਨ ਤੋਂ ਬਚਣਾ ਚਾਹੀਦਾ ਹੈ।


A crash can leave on-disk structures in an inconsistent state.

ਇੱਕ ਕਰੈਸ਼ ਆਨ-ਡਿਸਕ ਢਾਂਚੇ ਨੂੰ ਅਸੰਗਤ ਸਥਿਤੀ ਵਿੱਚ ਛੱਡ ਸਕਦਾ ਹੈ।


How do we ensure the file system keeps the on-disk image in a reasonable state after a crash?

ਅਸੀਂ ਇਹ ਕਿਵੇਂ ਯਕੀਨੀ ਬਣਾਉਂਦੇ ਹਾਂ ਕਿ ਫਾਈਲ ਸਿਸਟਮ ਕਰੈਸ਼ ਤੋਂ ਬਾਅਦ ਆਨ-ਡਿਸਕ ਚਿੱਤਰ ਨੂੰ ਇੱਕ ਵਾਜਬ ਸਥਿਤੀ ਵਿੱਚ ਰੱਖਦਾ ਹੈ?


Fsck is a tool for finding and repairing inconsistencies.

Fsck ਅਸੰਗਤੀਆਂ ਨੂੰ ਲੱਭਣ ਅਤੇ ਮੁਰੰਮਤ ਕਰਨ ਦਾ ਇੱਕ ਸਾਧਨ ਹੈ।


Fsck operates in a number of phases before the file system is mounted.

Fsck ਫਾਈਲ ਸਿਸਟਮ ਦੇ ਮਾਊਂਟ ਹੋਣ ਤੋਂ ਪਹਿਲਾਂ ਕਈ ਪੜਾਵਾਂ ਵਿੱਚ ਕੰਮ ਕਰਦਾ ਹੈ।


Fsck checks if the superblock looks reasonable.

Fsck ਜਾਂਚ ਕਰਦਾ ਹੈ ਕਿ ਸੁਪਰਬਲਾਕ ਵਾਜਬ ਲੱਗਦਾ ਹੈ ਜਾਂ ਨਹੀਂ।


Fsck scans inodes to understand which blocks are allocated.

Fsck ਇਹ ਸਮਝਣ ਲਈ ਇਨੋਡਸ ਨੂੰ ਸਕੈਨ ਕਰਦਾ ਹੈ ਕਿ ਕਿਹੜੇ ਬਲਾਕ ਅਲਾਟ ਕੀਤੇ ਗਏ ਹਨ।


Fsck verifies the link count of each allocated inode.

Fsck ਹਰੇਕ ਅਲਾਟ ਕੀਤੇ ਇਨੋਡ ਦੀ ਲਿੰਕ ਗਿਣਤੀ ਦੀ ਪੁਸ਼ਟੀ ਕਰਦਾ ਹੈ।


Fsck ਡੁਪਲੀਕੇਟ ਪੁਆਇੰਟਰਾਂ ਦੀ ਜਾਂਚ ਕਰਦਾ ਹੈ।


Fsck performs integrity checks on directory contents.

Fsck ਡਾਇਰੈਕਟਰੀ ਸਮੱਗਰੀ 'ਤੇ ਅਖੰਡਤਾ ਜਾਂਚ ਕਰਦਾ ਹੈ।


Fsck is slow because it scans the entire disk.

Fsck ਹੌਲੀ ਹੈ ਕਿਉਂਕਿ ਇਹ ਪੂਰੀ ਡਿਸਕ ਨੂੰ ਸਕੈਨ ਕਰਦਾ ਹੈ।


Journaling adds overhead but recovers more quickly from crashes.

ਜਰਨਲਿੰਗ ਓਵਰਹੈੱਡ ਜੋੜਦਾ ਹੈ ਪਰ ਕਰੈਸ਼ਾਂ ਤੋਂ ਤੇਜ਼ੀ ਨਾਲ ਠੀਕ ਹੋ ਜਾਂਦਾ ਹੈ।


The append operation updates the inode, data block, and bitmap.

ਅਪੈਂਡ ਓਪਰੇਸ਼ਨ ਇਨੋਡ, ਡਾਟਾ ਬਲਾਕ ਅਤੇ ਬਿਟਮੈਪ ਨੂੰ ਅਪਡੇਟ ਕਰਦਾ ਹੈ।


A crash may interfere with these updates to the disk.

ਇੱਕ ਕਰੈਸ਼ ਡਿਸਕ ਵਿੱਚ ਇਹਨਾਂ ਅਪਡੇਟਾਂ ਵਿੱਚ ਦਖਲ ਦੇ ਸਕਦਾ ਹੈ।


If only the data block is written, it's not a problem.

ਜੇਕਰ ਸਿਰਫ਼ ਡਾਟਾ ਬਲਾਕ ਲਿਖਿਆ ਜਾਂਦਾ ਹੈ, ਤਾਂ ਇਹ ਕੋਈ ਸਮੱਸਿਆ ਨਹੀਂ ਹੈ।


If only the updated inode is written, we have an inconsistency.

ਜੇਕਰ ਸਿਰਫ਼ ਅੱਪਡੇਟ ਕੀਤਾ ਇਨੋਡ ਲਿਖਿਆ ਜਾਂਦਾ ਹੈ, ਤਾਂ ਸਾਡੇ ਕੋਲ ਇੱਕ ਅਸੰਗਤੀ ਹੈ।


The crash-consistency problem is how to update the disk despite crashes.

ਕਰੈਸ਼-ਸੰਗਤੀ ਸਮੱਸਿਆ ਇਹ ਹੈ ਕਿ ਕਰੈਸ਼ਾਂ ਦੇ ਬਾਵਜੂਦ ਡਿਸਕ ਨੂੰ ਕਿਵੇਂ ਅਪਡੇਟ ਕਰਨਾ ਹੈ।


Early file systems let inconsistencies happen and fixed them later.

ਸ਼ੁਰੂਆਤੀ ਫਾਈਲ ਸਿਸਟਮਾਂ ਨੇ ਅਸੰਗਤੀਆਂ ਹੋਣ ਦਿੱਤੀਆਂ ਅਤੇ ਬਾਅਦ ਵਿੱਚ ਉਹਨਾਂ ਨੂੰ ਠੀਕ ਕੀਤਾ।


Making a system usable is often as or more important than its deep technical innovations.

ਇੱਕ ਸਿਸਟਮ ਨੂੰ ਵਰਤੋਂ ਯੋਗ ਬਣਾਉਣਾ ਅਕਸਰ ਇਸਦੇ ਡੂੰਘੇ ਤਕਨੀਕੀ ਨਵੀਨਤਾਵਾਂ ਨਾਲੋਂ ਵੱਧ ਮਹੱਤਵਪੂਰਨ ਹੁੰਦਾ ਹੈ।


The system scans for revoke records during replay.

ਰੀਪਲੇ ਦੌਰਾਨ ਸਿਸਟਮ ਰੱਦ ਰਿਕਾਰਡਾਂ ਦੀ ਜਾਂਚ ਕਰਦਾ ਹੈ।


ਜਰਨਲਿੰਗ ਰਿਕਵਰੀ ਸਮੇਂ ਨੂੰ ਘਟਾਉਂਦਾ ਹੈ।


The file system can determine if the file is consistent.

ਫਾਈਲ ਸਿਸਟਮ ਇਹ ਨਿਰਧਾਰਤ ਕਰ ਸਕਦਾ ਹੈ ਕਿ ਫਾਈਲ ਇਕਸਾਰ ਹੈ ਜਾਂ ਨਹੀਂ।


We have introduced the problem of crash consistency.

ਅਸੀਂ ਕਰੈਸ਼ ਇਕਸਾਰਤਾ ਦੀ ਸਮੱਸਿਆ ਪੇਸ਼ ਕੀਤੀ ਹੈ।


ZFS ਕਾਪੀ-ਆਨ-ਰਾਈਟ ਅਤੇ ਜਰਨਲਿੰਗ ਦੀ ਵਰਤੋਂ ਕਰਦਾ ਹੈ।


This approach carefully orders all writes.

ਇਹ ਪਹੁੰਚ ਸਾਰੇ ਲਿਖਣ ਨੂੰ ਧਿਆਨ ਨਾਲ ਆਰਡਰ ਕਰਦਾ ਹੈ।


Implementing Soft Updates can be a challenge.

ਸਾਫਟ ਅਪਡੇਟਸ ਨੂੰ ਲਾਗੂ ਕਰਨਾ ਇੱਕ ਚੁਣੌਤੀ ਹੋ ਸਕਦੀ ਹੈ।


The system first scans for such revoke records.

ਸਿਸਟਮ ਪਹਿਲਾਂ ਅਜਿਹੇ ਰੱਦ ਰਿਕਾਰਡਾਂ ਦੀ ਜਾਂਚ ਕਰਦਾ ਹੈ।


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.

ਫਾਈਲ ਸਿਸਟਮ ਇਹ ਨਿਰਧਾਰਤ ਕਰ ਸਕਦਾ ਹੈ ਕਿ ਫਾਈਲ ਇਕਸਾਰ ਹੈ ਜਾਂ ਨਹੀਂ, ਇਹ ਜਾਂਚ ਕਰਕੇ ਕਿ ਕੀ ਫਾਰਵਰਡ ਪੁਆਇੰਟਰ ਇੱਕ ਬਲਾਕ ਵੱਲ ਇਸ਼ਾਰਾ ਕਰਦਾ ਹੈ ਜੋ ਇਸਨੂੰ ਵਾਪਸ ਦਰਸਾਉਂਦਾ ਹੈ।


Journaling reduces recovery time from O(size-of-the-disk-volume) to O(size-of-the-log).

ਜਰਨਲਿੰਗ ਰਿਕਵਰੀ ਸਮੇਂ ਨੂੰ O(size-of-the-disk-volume) ਤੋਂ O(size-of-the-log) ਤੱਕ ਘਟਾਉਂਦਾ ਹੈ।


For some workloads, these optimistic techniques can improve performance by an order of magnitude.

ਕੁਝ ਵਰਕਲੋਡਾਂ ਲਈ, ਇਹ ਆਸ਼ਾਵਾਦੀ ਤਕਨੀਕਾਂ ਪ੍ਰਦਰਸ਼ਨ ਨੂੰ ਇੱਕ ਆਰਡਰ ਆਫ਼ ਮੈਗਨੀਟਿਊਡ ਦੁਆਰਾ ਸੁਧਾਰ ਸਕਦੀਆਂ ਹਨ।


The older approach of building a file system checker works but is likely too slow to recover on modern systems.

ਫਾਈਲ ਸਿਸਟਮ ਚੈਕਰ ਬਣਾਉਣ ਦਾ ਪੁਰਾਣਾ ਤਰੀਕਾ ਕੰਮ ਕਰਦਾ ਹੈ ਪਰ ਆਧੁਨਿਕ ਪ੍ਰਣਾਲੀਆਂ 'ਤੇ ਰਿਕਵਰ ਕਰਨ ਲਈ ਬਹੁਤ ਹੌਲੀ ਹੋਣ ਦੀ ਸੰਭਾਵਨਾ ਹੈ।


We have also seen that journaling can come in many different forms.

ਅਸੀਂ ਇਹ ਵੀ ਦੇਖਿਆ ਹੈ ਕਿ ਜਰਨਲਿੰਗ ਕਈ ਵੱਖ-ਵੱਖ ਰੂਪਾਂ ਵਿੱਚ ਆ ਸਕਦਾ ਹੈ।


The most commonly used is ordered metadata journaling.

ਸਭ ਤੋਂ ਆਮ ਤੌਰ 'ਤੇ ਵਰਤਿਆ ਜਾਣ ਵਾਲਾ ਆਰਡਰਡ ਮੈਟਾਡੇਟਾ ਜਰਨਲਿੰਗ ਹੈ।


This technique never overwrites files or directories in place.

ਇਹ ਤਕਨੀਕ ਕਦੇ ਵੀ ਫਾਈਲਾਂ ਜਾਂ ਡਾਇਰੈਕਟਰੀਆਂ ਨੂੰ ਥਾਂ 'ਤੇ ਓਵਰਰਾਈਟ ਨਹੀਂ ਕਰਦੀ ਹੈ।


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

ਕਈ ਅਪਡੇਟਸ ਪੂਰੇ ਹੋਣ ਤੋਂ ਬਾਅਦ, COW ਫਾਈਲ ਸਿਸਟਮ ਰੂਟ ਢਾਂਚੇ ਨੂੰ ਫਲਿੱਪ ਕਰਦੇ ਹਨ।


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.

ਇਕਸਾਰਤਾ ਪ੍ਰਾਪਤ ਕਰਨ ਲਈ, ਸਿਸਟਮ ਵਿੱਚ ਹਰ ਬਲਾਕ ਵਿੱਚ ਇੱਕ ਵਾਧੂ ਬੈਕ ਪੁਆਇੰਟਰ ਜੋੜਿਆ ਜਾਂਦਾ ਹੈ।


For workloads that call fsync() a lot, performance can be greatly improved.

ਉਹਨਾਂ ਵਰਕਲੋਡਾਂ ਲਈ ਜੋ fsync() ਨੂੰ ਬਹੁਤ ਜ਼ਿਆਦਾ ਕਾਲ ਕਰਦੇ ਹਨ, ਪ੍ਰਦਰਸ਼ਨ ਵਿੱਚ ਬਹੁਤ ਸੁਧਾਰ ਕੀਤਾ ਜਾ ਸਕਦਾ ਹੈ।


The basic premise seems just a tad irrational.

ਮੁੱਢਲੀ ਧਾਰਨਾ ਥੋੜੀ ਜਿਹੀ ਗੈਰ-ਵਾਜਬ ਲੱਗਦੀ ਹੈ।


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.

ਡਿਸਕ ਨੂੰ ਅੱਪਡੇਟ ਕਰਦੇ ਸਮੇਂ, ਥਾਂ 'ਤੇ ਢਾਂਚਿਆਂ ਨੂੰ ਓਵਰਰਾਈਟ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ, ਪਹਿਲਾਂ ਇੱਕ ਛੋਟਾ ਜਿਹਾ ਨੋਟ ਲਿਖੋ।


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.

ਅਸੀਂ ਹੁਣ ਵਰਣਨ ਕਰਾਂਗੇ ਕਿ ਕਿਵੇਂ Linux ext3, ਇੱਕ ਪ੍ਰਸਿੱਧ ਜਰਨਲਿੰਗ ਫਾਈਲ ਸਿਸਟਮ, ਜਰਨਲਿੰਗ ਨੂੰ ਫਾਈਲ ਸਿਸਟਮ ਵਿੱਚ ਸ਼ਾਮਲ ਕਰਦਾ ਹੈ।


The new key structure is the journal itself.

ਨਵੀਂ ਮੁੱਖ ਬਣਤਰ ਜਰਨਲ ਖੁਦ ਹੈ।


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.

ਉਹਨਾਂ ਨੂੰ ਉਹਨਾਂ ਦੇ ਅੰਤਮ ਡਿਸਕ ਟਿਕਾਣਿਆਂ 'ਤੇ ਲਿਖਣ ਤੋਂ ਪਹਿਲਾਂ, ਅਸੀਂ ਹੁਣ ਪਹਿਲਾਂ ਉਹਨਾਂ ਨੂੰ ਲੌਗ ਵਿੱਚ ਲਿਖਣ ਜਾ ਰਹੇ ਹਾਂ।


The transaction begin (TxB) tells us about this update.

ਟ੍ਰਾਂਜੈਕਸ਼ਨ ਸ਼ੁਰੂ (TxB) ਸਾਨੂੰ ਇਸ ਅੱਪਡੇਟ ਬਾਰੇ ਦੱਸਦਾ ਹੈ।


Once this transaction is safely on disk, we are ready to overwrite the old structures in the file system.

ਇੱਕ ਵਾਰ ਇਹ ਟ੍ਰਾਂਜੈਕਸ਼ਨ ਸੁਰੱਖਿਅਤ ਢੰਗ ਨਾਲ ਡਿਸਕ 'ਤੇ ਆ ਜਾਂਦਾ ਹੈ, ਅਸੀਂ ਫਾਈਲ ਸਿਸਟਮ ਵਿੱਚ ਪੁਰਾਣੀਆਂ ਬਣਤਰਾਂ ਨੂੰ ਓਵਰਰਾਈਟ ਕਰਨ ਲਈ ਤਿਆਰ ਹਾਂ।


Things get a little trickier when a crash occurs during the writes to the journal.

ਜਦੋਂ ਜਰਨਲ ਵਿੱਚ ਲਿਖਣ ਦੌਰਾਨ ਇੱਕ ਕਰੈਸ਼ ਹੁੰਦਾ ਹੈ ਤਾਂ ਚੀਜ਼ਾਂ ਥੋੜੀਆਂ ਗੁੰਝਲਦਾਰ ਹੋ ਜਾਂਦੀਆਂ ਹਨ।


One simple way to do this would be to issue each one at a time, waiting for each to complete, and then issuing the next.

ਇਸ ਨੂੰ ਕਰਨ ਦਾ ਇੱਕ ਸਧਾਰਨ ਤਰੀਕਾ ਇਹ ਹੋਵੇਗਾ ਕਿ ਹਰੇਕ ਨੂੰ ਇੱਕ ਸਮੇਂ 'ਤੇ ਜਾਰੀ ਕੀਤਾ ਜਾਵੇ, ਹਰੇਕ ਦੇ ਪੂਰਾ ਹੋਣ ਦੀ ਉਡੀਕ ਕੀਤੀ ਜਾਵੇ, ਅਤੇ ਫਿਰ ਅਗਲੇ ਨੂੰ ਜਾਰੀ ਕੀਤਾ ਜਾਵੇ।


ਪਰ, ਇਹ ਹੌਲੀ ਹੈ।


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

ਜਦੋਂ ਇੱਕ ਜਾਪਦਾ-ਕੰਮ ਕਰ ਰਹੀ ਡਿਸਕ ਤੱਕ ਪਹੁੰਚ ਕੀਤੀ ਜਾਂਦੀ ਹੈ, ਤਾਂ ਇਹ ਇੱਕ ਗਲਤੀ ਵਾਪਸ ਕਰ ਸਕਦੀ ਹੈ।


ਇਹ ਸਿਰਫ਼ ਗਲਤ ਡਾਟਾ ਵਾਪਸ ਕਰ ਸਕਦਾ ਹੈ।


Both of these types of faults are somewhat rare.

ਇਹ ਦੋਵੇਂ ਤਰ੍ਹਾਂ ਦੀਆਂ ਗਲਤੀਆਂ ਕੁਝ ਹੱਦ ਤੱਕ ਘੱਟ ਹੁੰਦੀਆਂ ਹਨ।


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

ਤਾਲਿਕਾ ਉਹਨਾਂ ਡਰਾਈਵਾਂ ਦਾ ਪ੍ਰਤੀਸ਼ਤ ਦਰਸਾਉਂਦੀ ਹੈ ਜਿਨ੍ਹਾਂ ਨੇ ਘੱਟੋ-ਘੱਟ ਇੱਕ LSE ਪ੍ਰਦਰਸ਼ਿਤ ਕੀਤਾ।


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 ਵਾਲੇ ਮਹਿੰਗੇ ਡਰਾਈਵਾਂ ਵਿੱਚ ਸਸਤੇ ਡਰਾਈਵਾਂ ਵਾਂਗ ਵਾਧੂ ਗਲਤੀਆਂ ਹੋਣ ਦੀ ਸੰਭਾਵਨਾ ਹੁੰਦੀ ਹੈ।


ਡਿਸਕ ਦੇ ਆਕਾਰ ਦੇ ਨਾਲ LSEs ਵੱਧਦੇ ਹਨ।


Disks with LSEs are more likely to develop additional LSEs.

LSEs ਵਾਲੇ ਡਿਸਕਾਂ ਵਿੱਚ ਵਾਧੂ LSEs ਹੋਣ ਦੀ ਸੰਭਾਵਨਾ ਵੱਧ ਹੁੰਦੀ ਹੈ।


ਡਿਸਕ ਸਕ੍ਰਬਿੰਗ ਲਾਭਦਾਇਕ ਹੈ।


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

ਆਧੁਨਿਕ ਸਟੋਰੇਜ ਪ੍ਰਣਾਲੀਆਂ ਦੁਆਰਾ ਡਾਟਾ ਅਖੰਡਤਾ ਨੂੰ ਬਰਕਰਾਰ ਰੱਖਣ ਲਈ ਵਰਤਿਆ ਜਾਣ ਵਾਲਾ ਮੁੱਖ ਵਿਧੀ ਨੂੰ ਚੈਕਸਮ ਕਿਹਾ ਜਾਂਦਾ ਹੈ।


A checksum is simply the result of a function.

ਇੱਕ ਚੈਕਸਮ ਸਿਰਫ਼ ਇੱਕ ਫੰਕਸ਼ਨ ਦਾ ਨਤੀਜਾ ਹੈ।


The goal of such a computation is to enable a system to detect if data has somehow been corrupted.

ਅਜਿਹੇ ਗਣਨਾ ਦਾ ਟੀਚਾ ਇੱਕ ਸਿਸਟਮ ਨੂੰ ਇਹ ਪਤਾ ਲਗਾਉਣ ਦੇ ਯੋਗ ਬਣਾਉਣਾ ਹੈ ਕਿ ਕੀ ਡਾਟਾ ਕਿਸੇ ਤਰ੍ਹਾਂ ਖਰਾਬ ਹੋ ਗਿਆ ਹੈ।


There’s No Such Thing As A Free Lunch, or TNSTAAFL for short.

ਇੱਥੇ ਕੋਈ ਵੀ ਅਜਿਹੀ ਚੀਜ਼ ਨਹੀਂ ਹੈ ਜਿਵੇਂ ਕਿ ਮੁਫਤ ਦੁਪਹਿਰ ਦਾ ਖਾਣਾ, ਜਾਂ ਛੋਟਾ TNSTAAFL।


A trade-off that is common in systems arises here.

ਇੱਕ ਸਮਝੌਤਾ ਜੋ ਸਿਸਟਮਾਂ ਵਿੱਚ ਆਮ ਹੈ, ਇੱਥੇ ਪੈਦਾ ਹੁੰਦਾ ਹੈ।


XOR is a reasonable checksum but has its limitations.

XOR ਇੱਕ ਵਾਜਬ ਚੈਕਸਮ ਹੈ ਪਰ ਇਸ ਦੀਆਂ ਸੀਮਾਵਾਂ ਹਨ।


Another simple checksum function is addition.

ਇੱਕ ਹੋਰ ਸਧਾਰਨ ਚੈਕਸਮ ਫੰਕਸ਼ਨ ਜੋੜ ਹੈ।


This approach has the advantage of being fast.

ਇਸ ਪਹੁੰਚ ਦਾ ਤੇਜ਼ ਹੋਣ ਦਾ ਫਾਇਦਾ ਹੈ।


The basic scheme described above works well in the general case of corrupted blocks.

ਉੱਪਰ ਦੱਸਿਆ ਗਿਆ ਮੁੱਢਲਾ ਸਕੀਮ ਖਰਾਬ ਬਲਾਕਾਂ ਦੇ ਆਮ ਮਾਮਲੇ ਵਿੱਚ ਵਧੀਆ ਕੰਮ ਕਰਦਾ ਹੈ।


However, modern disks have a couple of unusual failure modes.

ਹਾਲਾਂਕਿ, ਆਧੁਨਿਕ ਡਿਸਕਾਂ ਵਿੱਚ ਕੁਝ ਅਸਧਾਰਨ ਅਸਫਲਤਾ ਮੋਡ ਹਨ।


It turns out that file systems can react poorly to failures.

ਇਹ ਪਤਾ ਲੱਗਦਾ ਹੈ ਕਿ ਫਾਈਲ ਸਿਸਟਮ ਅਸਫਲਤਾਵਾਂ 'ਤੇ ਮਾੜਾ ਪ੍ਰਤੀਕਰਮ ਦੇ ਸਕਦੇ ਹਨ।


This paper discusses how to build fault-tolerant services.

ਇਹ ਪੇਪਰ ਦੱਸਦਾ ਹੈ ਕਿ ਨੁਕਸਾਨ-ਸਹਿਣਸ਼ੀਲ ਸੇਵਾਵਾਂ ਕਿਵੇਂ ਬਣਾਈਆਂ ਜਾਣ।


Distributed systems have changed the world.

ਵੰਡੇ ਹੋਏ ਸਿਸਟਮ ਨੇ ਦੁਨੀਆ ਨੂੰ ਬਦਲ ਦਿੱਤਾ ਹੈ।


Building distributed systems is hard because things fail all the time.

ਵੰਡੇ ਹੋਏ ਸਿਸਟਮ ਬਣਾਉਣਾ ਔਖਾ ਹੈ ਕਿਉਂਕਿ ਚੀਜ਼ਾਂ ਹਰ ਸਮੇਂ ਅਸਫਲ ਹੁੰਦੀਆਂ ਹਨ।


Communication is inherently unreliable in networking.

ਨੈੱਟਵਰਕਿੰਗ ਵਿੱਚ ਸੰਚਾਰ ਅੰਦਰੂਨੀ ਤੌਰ 'ਤੇ ਭਰੋਸੇਯੋਗ ਨਹੀਂ ਹੈ।


Packets are regularly lost or corrupted.

ਪੈਕੇਟ ਨਿਯਮਿਤ ਤੌਰ 'ਤੇ ਗੁੰਮ ਜਾਂ ਖਰਾਬ ਹੋ ਜਾਂਦੇ ਹਨ।


We need reliable communication on top of an unreliable network.

ਸਾਨੂੰ ਇੱਕ ਭਰੋਸੇਯੋਗ ਨੈੱਟਵਰਕ ਦੇ ਸਿਖਰ 'ਤੇ ਭਰੋਸੇਯੋਗ ਸੰਚਾਰ ਦੀ ਲੋੜ ਹੈ।


The sender sends a message to the receiver.

ਭੇਜਣ ਵਾਲਾ ਪ੍ਰਾਪਤਕਰਤਾ ਨੂੰ ਇੱਕ ਸੁਨੇਹਾ ਭੇਜਦਾ ਹੈ।


The receiver sends a short message back to acknowledge its receipt.

ਪ੍ਰਾਪਤਕਰਤਾ ਇਸਦੀ ਰਸੀਦ ਨੂੰ ਸਵੀਕਾਰ ਕਰਨ ਲਈ ਇੱਕ ਛੋਟਾ ਸੁਨੇਹਾ ਵਾਪਸ ਭੇਜਦਾ ਹੈ।


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

ਭੇਜਣ ਵਾਲਾ ਕੁਝ ਸਮੇਂ ਬਾਅਦ ਬੰਦ ਹੋਣ ਲਈ ਇੱਕ ਟਾਈਮਰ ਸੈੱਟ ਕਰਦਾ ਹੈ।


If no acknowledgment has been received, the sender concludes that the message has been lost.

ਜੇਕਰ ਕੋਈ ਸਵੀਕ੍ਰਿਤੀ ਪ੍ਰਾਪਤ ਨਹੀਂ ਹੋਈ ਹੈ, ਤਾਂ ਭੇਜਣ ਵਾਲਾ ਇਹ ਸਿੱਟਾ ਕੱਢਦਾ ਹੈ ਕਿ ਸੁਨੇਹਾ ਗੁੰਮ ਹੋ ਗਿਆ ਹੈ।


The sender then simply performs a retry of the send.

ਫਿਰ ਭੇਜਣ ਵਾਲਾ ਸਿਰਫ਼ ਭੇਜਣ ਦੀ ਦੁਬਾਰਾ ਕੋਸ਼ਿਸ਼ ਕਰਦਾ ਹੈ।


We also want to guarantee that each message is received exactly once.

ਅਸੀਂ ਇਹ ਵੀ ਗਾਰੰਟੀ ਦੇਣਾ ਚਾਹੁੰਦੇ ਹਾਂ ਕਿ ਹਰੇਕ ਸੁਨੇਹਾ ਬਿਲਕੁਲ ਇੱਕ ਵਾਰ ਪ੍ਰਾਪਤ ਹੋਵੇ।


The sender could generate a unique ID for each message.

ਭੇਜਣ ਵਾਲਾ ਹਰੇਕ ਸੁਨੇਹੇ ਲਈ ਇੱਕ ਵਿਲੱਖਣ ID ਤਿਆਰ ਕਰ ਸਕਦਾ ਹੈ।


Sequence counters can be used to avoid duplicates.

ਡੁਪਲੀਕੇਟ ਤੋਂ ਬਚਣ ਲਈ ਕ੍ਰਮ ਕਾਊਂਟਰਾਂ ਦੀ ਵਰਤੋਂ ਕੀਤੀ ਜਾ ਸਕਦੀ ਹੈ।


TCP/IP is the most commonly used reliable communication layer.

TCP/IP ਸਭ ਤੋਂ ਆਮ ਤੌਰ 'ਤੇ ਵਰਤੀ ਜਾਣ ਵਾਲੀ ਭਰੋਸੇਯੋਗ ਸੰਚਾਰ ਪਰਤ ਹੈ।


Setting the timeout value correctly is important.

ਟਾਈਮਆਉਟ ਮੁੱਲ ਨੂੰ ਸਹੀ ਢੰਗ ਨਾਲ ਸੈੱਟ ਕਰਨਾ ਮਹੱਤਵਪੂਰਨ ਹੈ।


Robust systems strive to avoid overload.

ਮਜ਼ਬੂਤ ਸਿਸਟਮ ਓਵਰਲੋਡ ਤੋਂ ਬਚਣ ਦੀ ਕੋਸ਼ਿਸ਼ ਕਰਦੇ ਹਨ।


Distributed shared memory systems enable processes to share a virtual address space.

ਵੰਡੇ ਹੋਏ ਸ਼ੇਅਰਡ ਮੈਮੋਰੀ ਸਿਸਟਮ ਪ੍ਰਕਿਰਿਆਵਾਂ ਨੂੰ ਇੱਕ ਵਰਚੁਅਲ ਐਡਰੈੱਸ ਸਪੇਸ ਸਾਂਝਾ ਕਰਨ ਦੇ ਯੋਗ ਬਣਾਉਂਦੇ ਹਨ।


What happens to the pages on that machine if it fails?

ਜੇਕਰ ਉਹ ਮਸ਼ੀਨ ਫੇਲ੍ਹ ਹੋ ਜਾਂਦੀ ਹੈ, ਤਾਂ ਉਸ ਮਸ਼ੀਨ 'ਤੇ ਪੰਨਿਆਂ ਦਾ ਕੀ ਹੁੰਦਾ ਹੈ?


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 ਸਕਿੰਟਾਂ ਵਿੱਚ), ਅਤੇ ਇਸ ਤਰ੍ਹਾਂ ਪ੍ਰਦਰਸ਼ਨ 'ਤੇ ਕੋਈ ਮਾੜਾ ਪ੍ਰਭਾਵ ਨਹੀਂ ਪੈਂਦਾ।


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 'ਤੇ ਹੈ), ਅਤੇ ਇੱਕ ਸਿੰਗਲ ਇਮੈਪ ਚੰਕ, ਇਨੋਡ, ਅਤੇ ਡਾਟਾ ਬਲਾਕ।


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 ਵਿੱਚ ਇਨੋਡ-ਨੰਬਰ ਤੋਂ ਇਨੋਡ-ਡਿਸਕ-ਐਡਰੈੱਸ ਮੈਪਿੰਗ ਨੂੰ ਦੇਖਦਾ ਹੈ, ਅਤੇ ਇਨੋਡ ਦਾ ਸਭ ਤੋਂ ਤਾਜ਼ਾ ਸੰਸਕਰਣ ਪੜ੍ਹਦਾ ਹੈ।


To read a block from the file, at this point, LFS proceeds exactly as a typical UNIXfile system, by using direct pointers or indirect pointers or doubly-indirect pointers as need be.

ਫਾਈਲ ਤੋਂ ਇੱਕ ਬਲਾਕ ਨੂੰ ਪੜ੍ਹਨ ਲਈ, ਇਸ ਬਿੰਦੂ 'ਤੇ, LFS ਬਿਲਕੁਲ ਇੱਕ ਆਮ UNIX ਫਾਈਲ ਸਿਸਟਮ ਵਾਂਗ ਅੱਗੇ ਵਧਦਾ ਹੈ, ਸਿੱਧੇ ਪੁਆਇੰਟਰਾਂ ਜਾਂ ਅਸਿੱਧੇ ਪੁਆਇੰਟਰਾਂ ਜਾਂ ਦੋਹਰੇ-ਅਸਿੱਧੇ ਪੁਆਇੰਟਰਾਂ ਦੀ ਵਰਤੋਂ ਕਰਕੇ ਜਿਵੇਂ ਲੋੜ ਹੋਵੇ।


In the common case, LFS should perform the same number of I/Os as a typical file system when reading a file from disk; the entire imap is cached and thus the extra work LFS does during a read is to look up the inode’s address in the imap.

ਆਮ ਤੌਰ 'ਤੇ, LFS ਨੂੰ ਡਿਸਕ ਤੋਂ ਇੱਕ ਫਾਈਲ ਪੜ੍ਹਦੇ ਸਮੇਂ ਇੱਕ ਆਮ ਫਾਈਲ ਸਿਸਟਮ ਦੇ ਰੂਪ ਵਿੱਚ I/Os ਦੀ ਗਿਣਤੀ ਕਰਨੀ ਚਾਹੀਦੀ ਹੈ; ਪੂਰਾ imap ਕੈਸ਼ ਕੀਤਾ ਜਾਂਦਾ ਹੈ ਅਤੇ ਇਸ ਤਰ੍ਹਾਂ ਇੱਕ ਰੀਡ ਦੌਰਾਨ LFS ਦੁਆਰਾ ਕੀਤਾ ਗਿਆ ਵਾਧੂ ਕੰਮ imap ਵਿੱਚ ਇਨੋਡ ਦੇ ਪਤੇ ਨੂੰ ਦੇਖਣਾ ਹੁੰਦਾ ਹੈ।


However, to access a file in a file system (such as /home/remzi/foo, one of our favorite fake file names), some directo- ries must be accessed too.

ਹਾਲਾਂਕਿ, ਇੱਕ ਫਾਈਲ ਸਿਸਟਮ ਵਿੱਚ ਇੱਕ ਫਾਈਲ ਤੱਕ ਪਹੁੰਚ ਕਰਨ ਲਈ (ਜਿਵੇਂ ਕਿ /home/remzi/foo, ਸਾਡੇ ਮਨਪਸੰਦ ਨਕਲੀ ਫਾਈਲ ਨਾਵਾਂ ਵਿੱਚੋਂ ਇੱਕ), ਕੁਝ ਡਾਇਰੈਕਟਰੀਆਂ ਤੱਕ ਵੀ ਪਹੁੰਚ ਕਰਨੀ ਪੈਂਦੀ ਹੈ।


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:

ਇਸ ਤਰ੍ਹਾਂ, ਇੱਕ ਡਾਇਰੈਕਟਰੀ ਵਿੱਚ ਇੱਕ ਫਾਈਲ ਬਣਾਉਣ ਨਾਲ ਡਿਸਕ 'ਤੇ ਹੇਠਾਂ ਦਿੱਤੇ ਨਵੇਂ ਢਾਂਚੇ ਬਣਨਗੇ:


The piece of the inode map contains the information for the location of both the directory filediras well as the newly-created filef.

ਇਨੋਡ ਮੈਪ ਦੇ ਟੁਕੜੇ ਵਿੱਚ ਡਾਇਰੈਕਟਰੀ ਫਾਈਲਡਿਰ ਅਤੇ ਨਾਲ ਹੀ ਨਵੀਂ ਬਣੀ ਫਾਈਲ ਐਫ ਦੋਵਾਂ ਦੇ ਸਥਾਨ ਲਈ ਜਾਣਕਾਰੀ ਹੁੰਦੀ ਹੈ।


Thus, when accessing filefoo(with inode numberf), you would first look in the inode map (usually cached in memory) to find the location of the inode of directorydir(A3); you then read the directory inode, which gives you the location of the directory data (A2); reading this data block gives you the name-to-inode-number mapping of (foo,k).

ਇਸ ਤਰ੍ਹਾਂ, ਜਦੋਂ ਫਾਈਲਫੂ (ਇਨੋਡ ਨੰਬਰ ਐਫ ਦੇ ਨਾਲ) ਤੱਕ ਪਹੁੰਚ ਕਰਦੇ ਹੋ, ਤਾਂ ਤੁਸੀਂ ਪਹਿਲਾਂ ਇਨੋਡ ਮੈਪ (ਆਮ ਤੌਰ 'ਤੇ ਮੈਮੋਰੀ ਵਿੱਚ ਕੈਸ਼ ਕੀਤਾ ਜਾਂਦਾ ਹੈ) ਵਿੱਚ ਡਾਇਰੈਕਟਰੀਡਿਰ (A3) ਦੇ ਇਨੋਡ ਦੀ ਸਥਿਤੀ ਨੂੰ ਲੱਭਣ ਲਈ ਦੇਖੋਗੇ; ਫਿਰ ਤੁਸੀਂ ਡਾਇਰੈਕਟਰੀ ਇਨੋਡ ਨੂੰ ਪੜ੍ਹਦੇ ਹੋ, ਜੋ ਤੁਹਾਨੂੰ ਡਾਇਰੈਕਟਰੀ ਡੇਟਾ (A2) ਦਾ ਸਥਾਨ ਦਿੰਦਾ ਹੈ; ਇਸ ਡਾਟਾ ਬਲਾਕ ਨੂੰ ਪੜ੍ਹਨ ਨਾਲ ਤੁਹਾਨੂੰ (foo, k) ਦੀ ਨਾਮ-ਤੋਂ-ਇਨੋਡ-ਨੰਬਰ ਮੈਪਿੰਗ ਮਿਲਦੀ ਹੈ।


You may have noticed another problem with LFS; it keeps writing newer version of a file, its inode, and in fact all data to new parts of the disk.

ਤੁਸੀਂ LFS ਨਾਲ ਇੱਕ ਹੋਰ ਸਮੱਸਿਆ ਦੇਖੀ ਹੋਵੇਗੀ; ਇਹ ਇੱਕ ਫਾਈਲ, ਇਸਦੇ ਇਨੋਡ, ਅਤੇ ਅਸਲ ਵਿੱਚ ਸਾਰੇ ਡੇਟਾ ਦੇ ਨਵੇਂ ਸੰਸਕਰਣ ਨੂੰ ਡਿਸਕ ਦੇ ਨਵੇਂ ਹਿੱਸਿਆਂ ਵਿੱਚ ਲਿਖਦਾ ਰਹਿੰਦਾ ਹੈ।


ਅਸੀਂ ਅਜਿਹੀ ਪੁਰਾਣੀ ਸਮੱਗਰੀ ਨੂੰ ਕੂੜਾ ਕਹਿੰਦੇ ਹਾਂ।


The client issues system calls to the client-side file system.

ਗ੍ਰਾਹਕ ਕਲਾਇੰਟ-ਸਾਈਡ ਫਾਈਲ ਸਿਸਟਮ ਨੂੰ ਸਿਸਟਮ ਕਾਲਾਂ ਜਾਰੀ ਕਰਦਾ ਹੈ।


The server stores the data on its disks.

ਸਰਵਰ ਆਪਣੇ ਡਿਸਕਾਂ 'ਤੇ ਡਾਟਾ ਸਟੋਰ ਕਰਦਾ ਹੈ।


ਅਸੀਂ ਇਸ ਪ੍ਰਬੰਧ ਨਾਲ ਕਿਉਂ ਪਰੇਸ਼ਾਨ ਹੁੰਦੇ ਹਾਂ?


This setup allows for easy sharing of data across clients.

ਇਹ ਸੈੱਟਅੱਪ ਗ੍ਰਾਹਕਾਂ ਵਿੱਚ ਡਾਟਾ ਦੀ ਆਸਾਨ ਸ਼ੇਅਰਿੰਗ ਦੀ ਆਗਿਆ ਦਿੰਦਾ ਹੈ।


A secondary benefit is centralized administration.

ਇੱਕ ਸੈਕੰਡਰੀ ਲਾਭ ਕੇਂਦਰੀ ਪ੍ਰਸ਼ਾਸਨ ਹੈ।


The client-side file system may send a message to the server-side file system.

ਕਲਾਇੰਟ-ਸਾਈਡ ਫਾਈਲ ਸਿਸਟਮ ਸਰਵਰ-ਸਾਈਡ ਫਾਈਲ ਸਿਸਟਮ ਨੂੰ ਇੱਕ ਸੁਨੇਹਾ ਭੇਜ ਸਕਦਾ ਹੈ।


The file server will then read the block from disk.

ਫਾਈਲ ਸਰਵਰ ਫਿਰ ਡਿਸਕ ਤੋਂ ਬਲਾਕ ਪੜ੍ਹੇਗਾ।


The client-side file system will then copy the data into the user buffer.

ਕਲਾਇੰਟ-ਸਾਈਡ ਫਾਈਲ ਸਿਸਟਮ ਫਿਰ ਡਾਟਾ ਨੂੰ ਉਪਭੋਗਤਾ ਬਫਰ ਵਿੱਚ ਕਾਪੀ ਕਰੇਗਾ।


In this way, distributed file systems provide transparent access to files.

ਇਸ ਤਰੀਕੇ ਨਾਲ, ਵੰਡੇ ਗਏ ਫਾਈਲ ਸਿਸਟਮ ਫਾਈਲਾਂ ਤੱਕ ਪਾਰਦਰਸ਼ੀ ਪਹੁੰਚ ਪ੍ਰਦਾਨ ਕਰਦੇ ਹਨ।


The role of the client-side file system is to execute the actions needed to service those system calls.

ਕਲਾਇੰਟ-ਸਾਈਡ ਫਾਈਲ ਸਿਸਟਮ ਦੀ ਭੂਮਿਕਾ ਉਹਨਾਂ ਸਿਸਟਮ ਕਾਲਾਂ ਦੀ ਸੇਵਾ ਕਰਨ ਲਈ ਲੋੜੀਂਦੀਆਂ ਕਾਰਵਾਈਆਂ ਨੂੰ ਚਲਾਉਣਾ ਹੈ।


Servers may simply suffer from a power outage.

ਸਰਵਰ ਸਿਰਫ਼ ਬਿਜਲੀ ਗੁੱਲ ਹੋਣ ਦਾ ਸ਼ਿਕਾਰ ਹੋ ਸਕਦੇ ਹਨ।


Servers are often comprised of hundreds of thousands or even millions of lines of code.

ਸਰਵਰ ਅਕਸਰ ਲੱਖਾਂ ਜਾਂ ਇੱਥੋਂ ਤੱਕ ਕਿ ਲੱਖਾਂ ਲਾਈਨਾਂ ਦੇ ਕੋਡ ਨਾਲ ਬਣੇ ਹੁੰਦੇ ਹਨ।


In NFSv2, the main goal in the design of the protocol was simple and fast server crash recovery.

NFSv2 ਵਿੱਚ, ਪ੍ਰੋਟੋਕੋਲ ਦੇ ਡਿਜ਼ਾਈਨ ਦਾ ਮੁੱਖ ਟੀਚਾ ਸਰਲ ਅਤੇ ਤੇਜ਼ ਸਰਵਰ ਕਰੈਸ਼ ਰਿਕਵਰੀ ਸੀ।


Any minute that the server is down makes all the client machines unhappy.

ਸਰਵਰ ਦੇ ਡਾਊਨ ਹੋਣ ਦਾ ਕੋਈ ਵੀ ਮਿੰਟ ਸਾਰੇ ਕਲਾਇੰਟ ਮਸ਼ੀਨਾਂ ਨੂੰ ਨਾਖੁਸ਼ ਕਰ ਦਿੰਦਾ ਹੈ।


The server, by design, does not keep track of anything about what is happening at each client.

ਸਰਵਰ, ਡਿਜ਼ਾਈਨ ਦੁਆਰਾ, ਹਰੇਕ ਕਲਾਇੰਟ 'ਤੇ ਕੀ ਹੋ ਰਿਹਾ ਹੈ ਇਸ ਬਾਰੇ ਕਿਸੇ ਵੀ ਚੀਜ਼ ਦਾ ਧਿਆਨ ਨਹੀਂ ਰੱਖਦਾ ਹੈ।


For example, the server does not know which clients are caching which blocks.

ਉਦਾਹਰਨ ਲਈ, ਸਰਵਰ ਨੂੰ ਇਹ ਨਹੀਂ ਪਤਾ ਹੁੰਦਾ ਕਿ ਕਿਹੜੇ ਕਲਾਇੰਟ ਕਿਹੜੇ ਬਲਾਕਾਂ ਨੂੰ ਕੈਸ਼ ਕਰ ਰਹੇ ਹਨ।


The protocol is designed to deliver in each protocol request all the information that is needed.

ਪ੍ਰੋਟੋਕੋਲ ਹਰੇਕ ਪ੍ਰੋਟੋਕੋਲ ਬੇਨਤੀ ਵਿੱਚ ਉਹ ਸਾਰੀ ਜਾਣਕਾਰੀ ਪ੍ਰਦਾਨ ਕਰਨ ਲਈ ਤਿਆਰ ਕੀਤਾ ਗਿਆ ਹੈ ਜੋ ਲੋੜੀਂਦੀ ਹੈ।


The client application issues system calls to the client-side file system.

ਕਲਾਇੰਟ ਐਪਲੀਕੇਸ਼ਨ ਕਲਾਇੰਟ-ਸਾਈਡ ਫਾਈਲ ਸਿਸਟਮ ਨੂੰ ਸਿਸਟਮ ਕਾਲਾਂ ਜਾਰੀ ਕਰਦੀ ਹੈ।


The widespread success of NFS is likely attributed to this “open market” approach.

NFS ਦੀ ਵਿਆਪਕ ਸਫਲਤਾ ਇਸ “ਓਪਨ ਮਾਰਕੀਟ” ਪਹੁੰਚ ਨਾਲ ਜੁੜੀ ਹੋਈ ਹੈ।


Thus, as the server goes, so goes the entire system.

ਇਸ ਤਰ੍ਹਾਂ, ਜਿਵੇਂ ਸਰਵਰ ਜਾਂਦਾ ਹੈ, ਉਸੇ ਤਰ੍ਹਾਂ ਪੂਰਾ ਸਿਸਟਮ ਜਾਂਦਾ ਹੈ।


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

ਗ੍ਰਾਹਕ ਐਪਲੀਕੇਸ਼ਨ ਫਾਈਲਾਂ ਅਤੇ ਡਾਇਰੈਕਟਰੀਆਂ ਤੱਕ ਪਹੁੰਚ ਕਰਨ ਲਈ open(), read(), write(), close() ਅਤੇ ਹੋਰ ਸਟੈਂਡਰਡ API ਕਾਲਾਂ ਨੂੰ ਕਾਲ ਕਰਨਾ ਚਾਹੇਗੀ।


Imagine the server crashes after the first read completes, but before the client has issued the second one.

ਕਲਪਨਾ ਕਰੋ ਕਿ ਸਰਵਰ ਪਹਿਲੀ ਰੀਡ ਪੂਰੀ ਹੋਣ ਤੋਂ ਬਾਅਦ ਕਰੈਸ਼ ਹੋ ਜਾਂਦਾ ਹੈ, ਪਰ ਇਸ ਤੋਂ ਪਹਿਲਾਂ ਕਿ ਗ੍ਰਾਹਕ ਨੇ ਦੂਜਾ ਜਾਰੀ ਕੀਤਾ ਹੋਵੇ।


In this example, the file descriptor is a piece of shared state between the client and the server.

ਇਸ ਉਦਾਹਰਨ ਵਿੱਚ, ਫਾਈਲ ਡਿਸਕ੍ਰਿਪਟਰ ਗ੍ਰਾਹਕ ਅਤੇ ਸਰਵਰ ਦੇ ਵਿਚਕਾਰ ਸਾਂਝੇ ਰਾਜ ਦਾ ਇੱਕ ਟੁਕੜਾ ਹੈ।


Shared state, as we hinted above, complicates crash recovery.

ਸਾਂਝਾ ਰਾਜ, ਜਿਵੇਂ ਕਿ ਅਸੀਂ ਉੱਪਰ ਸੰਕੇਤ ਦਿੱਤਾ ਹੈ, ਕਰੈਸ਼ ਰਿਕਵਰੀ ਨੂੰ ਗੁੰਝਲਦਾਰ ਬਣਾਉਂਦਾ ਹੈ।


Imagine, for example, a client that opens a file and then crashes.

ਉਦਾਹਰਨ ਲਈ, ਇੱਕ ਗ੍ਰਾਹਕ ਦੀ ਕਲਪਨਾ ਕਰੋ ਜੋ ਇੱਕ ਫਾਈਲ ਖੋਲ੍ਹਦਾ ਹੈ ਅਤੇ ਫਿਰ ਕਰੈਸ਼ ਹੋ ਜਾਂਦਾ ਹੈ।


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 a particular operation is going to operate upon.

ਫਾਈਲ ਹੈਂਡਲ ਦੀ ਵਰਤੋਂ ਉਸ ਫਾਈਲ ਜਾਂ ਡਾਇਰੈਕਟਰੀ ਦਾ ਵਿਲੱਖਣ ਵਰਣਨ ਕਰਨ ਲਈ ਕੀਤੀ ਜਾਂਦੀ ਹੈ ਜਿਸ 'ਤੇ ਇੱਕ ਖਾਸ ਓਪਰੇਸ਼ਨ ਕੰਮ ਕਰਨ ਜਾ ਰਿਹਾ ਹੈ।


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.

ਗੁਣ ਸਿਰਫ਼ ਮੈਟਾਡੇਟਾ ਹਨ ਜੋ ਫਾਈਲ ਸਿਸਟਮ ਹਰੇਕ ਫਾਈਲ ਬਾਰੇ ਟਰੈਕ ਕਰਦਾ ਹੈ।


Once a file handle is available, 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 of the file along with the offset within the file and number of bytes to read.

READ ਪ੍ਰੋਟੋਕੋਲ ਸੁਨੇਹੇ ਲਈ ਪ੍ਰੋਟੋਕੋਲ ਨੂੰ ਫਾਈਲ ਦੇ ਫਾਈਲ ਹੈਂਡਲ ਦੇ ਨਾਲ-ਨਾਲ ਫਾਈਲ ਦੇ ਅੰਦਰ ਆਫਸੈੱਟ ਅਤੇ ਪੜ੍ਹਨ ਲਈ ਬਾਈਟਾਂ ਦੀ ਗਿਣਤੀ ਪਾਸ ਕਰਨ ਦੀ ਲੋੜ ਹੁੰਦੀ ਹੈ।


WRITE is handled similarly, except the data is passed from the client to the server, and just a success code is returned.

WRITE ਨੂੰ ਇਸੇ ਤਰ੍ਹਾਂ ਸੰਭਾਲਿਆ ਜਾਂਦਾ ਹੈ, ਸਿਵਾਏ ਇਸਦੇ ਕਿ ਡੇਟਾ ਗ੍ਰਾਹਕ ਤੋਂ ਸਰਵਰ ਨੂੰ ਪਾਸ ਕੀਤਾ ਜਾਂਦਾ ਹੈ, ਅਤੇ ਸਿਰਫ਼ ਇੱਕ ਸਫਲਤਾ ਕੋਡ ਵਾਪਸ ਕੀਤਾ ਜਾਂਦਾ ਹੈ।


The client-side file system tracks open files, and generally translates application requests into the relevant set of protocol messages.

ਗ੍ਰਾਹਕ-ਸਾਈਡ ਫਾਈਲ ਸਿਸਟਮ ਖੁੱਲ੍ਹੀਆਂ ਫਾਈਲਾਂ ਨੂੰ ਟਰੈਕ ਕਰਦਾ ਹੈ, ਅਤੇ ਆਮ ਤੌਰ 'ਤੇ ਐਪਲੀਕੇਸ਼ਨ ਬੇਨਤੀਆਂ ਦਾ ਅਨੁਵਾਦ ਸੰਬੰਧਿਤ ਪ੍ਰੋਟੋਕੋਲ ਸੁਨੇਹਿਆਂ ਦੇ ਸਮੂਹ ਵਿੱਚ ਕਰਦਾ ਹੈ।


Idempotency is a useful property when building reliable systems.

ਭਰੋਸੇਯੋਗ ਸਿਸਟਮ ਬਣਾਉਂਦੇ ਸਮੇਂ ਆਈਡੈਂਪੋਟੈਂਸੀ ਇੱਕ ਉਪਯੋਗੀ ਵਿਸ਼ੇਸ਼ਤਾ ਹੈ।


If an operation is not idempotent, life becomes more difficult.

ਜੇਕਰ ਕੋਈ ਓਪਰੇਸ਼ਨ ਆਈਡੈਂਪੋਟੈਂਟ ਨਹੀਂ ਹੈ, ਤਾਂ ਜੀਵਨ ਹੋਰ ਮੁਸ਼ਕਲ ਹੋ ਜਾਂਦਾ ਹੈ।


In NFSv2, a client handles all of these failures in a single, uniform, and elegant way: it simply retries the request.

NFSv2 ਵਿੱਚ, ਇੱਕ ਗ੍ਰਾਹਕ ਇਹਨਾਂ ਸਾਰੀਆਂ ਅਸਫਲਤਾਵਾਂ ਨੂੰ ਇੱਕੋ, ਇਕਸਾਰ, ਅਤੇ ਸ਼ਾਨਦਾਰ ਤਰੀਕੇ ਨਾਲ ਸੰਭਾਲਦਾ ਹੈ: ਇਹ ਸਿਰਫ਼ ਬੇਨਤੀ ਨੂੰ ਦੁਬਾਰਾ ਕੋਸ਼ਿਸ਼ ਕਰਦਾ ਹੈ।


The server checks if the cached file is valid.

ਸਰਵਰ ਜਾਂਚ ਕਰਦਾ ਹੈ ਕਿ ਕੀ ਕੈਸ਼ ਕੀਤੀ ਫਾਈਲ ਜਾਇਜ਼ ਹੈ।


Clients should fetch the newer version if the cached copy is invalid.

ਜੇਕਰ ਕੈਸ਼ ਕੀਤੀ ਕਾਪੀ ਅਵੈਧ ਹੈ, ਤਾਂ ਗਾਹਕਾਂ ਨੂੰ ਨਵਾਂ ਵਰਜਨ ਪ੍ਰਾਪਤ ਕਰਨਾ ਚਾਹੀਦਾ ਹੈ।


Server recovery after a crash is more complicated.

ਕ੍ਰੈਸ਼ ਤੋਂ ਬਾਅਦ ਸਰਵਰ ਦੀ ਰਿਕਵਰੀ ਵਧੇਰੇ ਗੁੰਝਲਦਾਰ ਹੈ।


The problem is that callbacks are kept in memory.

ਸਮੱਸਿਆ ਇਹ ਹੈ ਕਿ ਕਾਲਬੈਕ ਮੈਮੋਰੀ ਵਿੱਚ ਰੱਖੇ ਜਾਂਦੇ ਹਨ।


Each client must realize the server has crashed.

ਹਰੇਕ ਕਲਾਇੰਟ ਨੂੰ ਅਹਿਸਾਸ ਹੋਣਾ ਚਾਹੀਦਾ ਹੈ ਕਿ ਸਰਵਰ ਕ੍ਰੈਸ਼ ਹੋ ਗਿਆ ਹੈ।


They reestablish the validity of a file before using it.

ਉਹ ਇਸਨੂੰ ਵਰਤਣ ਤੋਂ ਪਹਿਲਾਂ ਇੱਕ ਫਾਈਲ ਦੀ ਵੈਧਤਾ ਨੂੰ ਮੁੜ ਸਥਾਪਿਤ ਕਰਦੇ ਹਨ।


ਇੱਕ ਸਰਵਰ ਕ੍ਰੈਸ਼ ਇੱਕ ਵੱਡੀ ਘਟਨਾ ਹੈ।


Ensure each client is aware of the crash.

ਯਕੀਨੀ ਬਣਾਓ ਕਿ ਹਰੇਕ ਕਲਾਇੰਟ ਕ੍ਰੈਸ਼ ਤੋਂ ਜਾਣੂ ਹੈ।


ਕਲਾਇੰਟ ਇੱਕ ਬਾਸੀ ਫਾਈਲ ਤੱਕ ਪਹੁੰਚਣ ਦਾ ਜੋਖਮ ਲੈਂਦੇ ਹਨ।


The server sends a message to each client.

ਸਰਵਰ ਹਰੇਕ ਕਲਾਇੰਟ ਨੂੰ ਇੱਕ ਸੁਨੇਹਾ ਭੇਜਦਾ ਹੈ।


Clients check that the server is alive periodically.

ਕਲਾਇੰਟ ਸਮੇਂ-ਸਮੇਂ 'ਤੇ ਜਾਂਚ ਕਰਦੇ ਹਨ ਕਿ ਸਰਵਰ ਜਿੰਦਾ ਹੈ ਜਾਂ ਨਹੀਂ।


There is a cost to building a scalable caching model.

ਇੱਕ ਸਕੇਲੇਬਲ ਕੈਸ਼ਿੰਗ ਮਾਡਲ ਬਣਾਉਣ ਦੀ ਇੱਕ ਕੀਮਤ ਹੈ।


With NFS, clients hardly noticed a server crash.

NFS ਦੇ ਨਾਲ, ਗਾਹਕਾਂ ਨੇ ਸ਼ਾਇਦ ਹੀ ਇੱਕ ਸਰਵਰ ਕ੍ਰੈਸ਼ ਨੂੰ ਦੇਖਿਆ ਹੋਵੇ।


AFSv2 was found to be much 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.

ਫਾਈਲ ਰੀਡ ਆਮ ਤੌਰ 'ਤੇ ਸਥਾਨਕ ਡਿਸਕ ਕੈਸ਼ ਵਿੱਚ ਜਾਂਦੇ ਸਨ।


Only when a client created a new file was there a need to send a Store message.

ਸਿਰਫ਼ ਉਦੋਂ ਹੀ ਜਦੋਂ ਇੱਕ ਕਲਾਇੰਟ ਨੇ ਇੱਕ ਨਵੀਂ ਫਾਈਲ ਬਣਾਈ, ਇੱਕ ਸਟੋਰ ਸੁਨੇਹਾ ਭੇਜਣ ਦੀ ਲੋੜ ਸੀ।


Let us gain some perspective on AFS performance.

ਆਓ AFS ਪ੍ਰਦਰਸ਼ਨ 'ਤੇ ਕੁਝ ਦ੍ਰਿਸ਼ਟੀਕੋਣ ਪ੍ਰਾਪਤ ਕਰੀਏ।


We examine typical read and write patterns analytically.

ਅਸੀਂ ਆਮ ਰੀਡ ਅਤੇ ਰਾਈਟ ਪੈਟਰਨਾਂ ਦਾ ਵਿਸ਼ਲੇਸ਼ਣਾਤਮਕ ਤੌਰ 'ਤੇ ਮੁਆਇਨਾ ਕਰਦੇ ਹਾਂ।


The operating system manages computer hardware and software resources.

ਓਪਰੇਟਿੰਗ ਸਿਸਟਮ ਕੰਪਿਊਟਰ ਹਾਰਡਵੇਅਰ ਅਤੇ ਸਾਫਟਵੇਅਰ ਸਰੋਤਾਂ ਦਾ ਪ੍ਰਬੰਧਨ ਕਰਦਾ ਹੈ।


Time sharing allows multiple users to use a computer simultaneously.

ਟਾਈਮ ਸ਼ੇਅਰਿੰਗ ਕਈ ਉਪਭੋਗਤਾਵਾਂ ਨੂੰ ਇੱਕੋ ਸਮੇਂ ਇੱਕ ਕੰਪਿਊਟਰ ਦੀ ਵਰਤੋਂ ਕਰਨ ਦੀ ਆਗਿਆ ਦਿੰਦਾ ਹੈ।


Virtual memory creates the illusion of more memory than is physically available.

ਵਰਚੁਅਲ ਮੈਮੋਰੀ ਵੱਧ ਮੈਮੋਰੀ ਦਾ ਭੁਲੇਖਾ ਪੈਦਾ ਕਰਦੀ ਹੈ ਜੋ ਸਰੀਰਕ ਤੌਰ 'ਤੇ ਉਪਲਬਧ ਹੈ।


The translation lookaside buffer (TLB) speeds up address translation.

ਅਨੁਵਾਦ ਲੁਕਾਸਾਈਡ ਬਫਰ (TLB) ਐਡਰੈੱਸ ਅਨੁਵਾਦ ਨੂੰ ਤੇਜ਼ ਕਰਦਾ ਹੈ।


Threads allow a program to perform multiple tasks concurrently.

ਥ੍ਰੈਡ ਇੱਕ ਪ੍ਰੋਗਰਾਮ ਨੂੰ ਕਈ ਕੰਮ ਇੱਕੋ ਸਮੇਂ ਕਰਨ ਦੀ ਆਗਿਆ ਦਿੰਦੇ ਹਨ।


File systems organize data on storage devices.

ਫਾਈਲ ਸਿਸਟਮ ਸਟੋਰੇਜ ਡਿਵਾਈਸਾਂ 'ਤੇ ਡਾਟਾ ਦਾ ਪ੍ਰਬੰਧ ਕਰਦੇ ਹਨ।


Concurrency can lead to race conditions if not handled carefully.

ਜੇਕਰ ਧਿਆਨ ਨਾਲ ਨਾ ਸੰਭਾਲਿਆ ਜਾਵੇ ਤਾਂ ਸਮਕਾਲੀਤਾ ਰੇਸ ਦੀਆਂ ਸਥਿਤੀਆਂ ਦਾ ਕਾਰਨ ਬਣ ਸਕਦੀ ਹੈ।


The operating system provides an interface between the hardware and the software.

ਓਪਰੇਟਿੰਗ ਸਿਸਟਮ ਹਾਰਡਵੇਅਰ ਅਤੇ ਸਾਫਟਵੇਅਰ ਦੇ ਵਿਚਕਾਰ ਇੱਕ ਇੰਟਰਫੇਸ ਪ੍ਰਦਾਨ ਕਰਦਾ ਹੈ।


Understanding time-space trade-offs is crucial for system design.

ਸਿਸਟਮ ਡਿਜ਼ਾਈਨ ਲਈ ਸਮੇਂ-ਸਥਾਨ ਦੇ ਵਪਾਰ-ਬੰਦਾਂ ਨੂੰ ਸਮਝਣਾ ਜ਼ਰੂਰੀ ਹੈ।


The principle of isolation is fundamental in operating system design.

ਆਈਸੋਲੇਸ਼ਨ ਦਾ ਸਿਧਾਂਤ ਓਪਰੇਟਿੰਗ ਸਿਸਟਮ ਡਿਜ਼ਾਈਨ ਵਿੱਚ ਬੁਨਿਆਦੀ ਹੈ।


How to build a distributed file system is a complex topic.

ਇੱਕ ਵੰਡਿਆ ਹੋਇਆ ਫਾਈਲ ਸਿਸਟਮ ਕਿਵੇਂ ਬਣਾਇਆ ਜਾਵੇ ਇੱਕ ਗੁੰਝਲਦਾਰ ਵਿਸ਼ਾ ਹੈ।


The use of atomic operations ensures data integrity in concurrent systems.

ਪਰਮਾਣੂ ਓਪਰੇਸ਼ਨਾਂ ਦੀ ਵਰਤੋਂ ਸਮਕਾਲੀ ਪ੍ਰਣਾਲੀਆਂ ਵਿੱਚ ਡਾਟਾ ਅਖੰਡਤਾ ਨੂੰ ਯਕੀਨੀ ਬਣਾਉਂਦੀ ਹੈ।


The operating system manages processes and threads.

ਓਪਰੇਟਿੰਗ ਸਿਸਟਮ ਪ੍ਰਕਿਰਿਆਵਾਂ ਅਤੇ ਥ੍ਰੈਡਾਂ ਦਾ ਪ੍ਰਬੰਧਨ ਕਰਦਾ ਹੈ।


A system call is a request to the operating system.

ਇੱਕ ਸਿਸਟਮ ਕਾਲ ਓਪਰੇਟਿੰਗ ਸਿਸਟਮ ਨੂੰ ਇੱਕ ਬੇਨਤੀ ਹੈ।


The scheduler determines which process runs next.

ਸ਼ਡਿਊਲਰ ਇਹ ਨਿਰਧਾਰਤ ਕਰਦਾ ਹੈ ਕਿ ਅਗਲੀ ਪ੍ਰਕਿਰਿਆ ਕਿਹੜੀ ਚੱਲੇਗੀ।


Memory management is a critical function of the OS.

ਮੈਮੋਰੀ ਪ੍ਰਬੰਧਨ OS ਦਾ ਇੱਕ ਮਹੱਤਵਪੂਰਨ ਕੰਮ ਹੈ।


File system performance depends on many factors.

ਫਾਈਲ ਸਿਸਟਮ ਦੀ ਕਾਰਗੁਜ਼ਾਰੀ ਬਹੁਤ ਸਾਰੇ ਕਾਰਕਾਂ 'ਤੇ ਨਿਰਭਰ ਕਰਦੀ ਹੈ।


Understanding the trade-offs in system design is important.

ਸਿਸਟਮ ਡਿਜ਼ਾਈਨ ਵਿੱਚ ਵਪਾਰ-ਬੰਦਾਂ ਨੂੰ ਸਮਝਣਾ ਮਹੱਤਵਪੂਰਨ ਹੈ।


ਇਸਦਾ ਟੀਚਾ ਸਿਸਟਮ ਨੂੰ ਵਰਤੋਂ ਯੋਗ ਬਣਾਉਣਾ ਹੈ।


ਸਿਗਨਲ ਦਿੰਦੇ ਸਮੇਂ ਹਮੇਸ਼ਾ ਲਾਕ ਫੜੋ।


The server crashed before writing the data to disk.

ਸਰਵਰ ਡਾਟਾ ਨੂੰ ਡਿਸਕ 'ਤੇ ਲਿਖਣ ਤੋਂ ਪਹਿਲਾਂ ਹੀ ਕਰੈਸ਼ ਹੋ ਗਿਆ।


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

NFS ਸਰਵਰਾਂ ਨੂੰ ਕਲਾਇੰਟ ਨੂੰ ਸਫਲਤਾ ਬਾਰੇ ਸੂਚਿਤ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ ਹਰੇਕ ਲਿਖਤ ਨੂੰ ਸਥਿਰ ਸਟੋਰੇਜ ਵਿੱਚ ਕਮਿਟ ਕਰਨਾ ਚਾਹੀਦਾ ਹੈ।


ਕਲਾਇੰਟ ਨੂੰ ਇਸਦੀ ਸਫਲਤਾ ਬਾਰੇ ਸੂਚਿਤ ਕੀਤਾ ਗਿਆ ਸੀ।


Imagine the following sequence of writes as issued by a client.

ਕਲਪਨਾ ਕਰੋ ਕਿ ਹੇਠ ਲਿਖੇ ਲਿਖਤਾਂ ਦਾ ਕ੍ਰਮ ਇੱਕ ਕਲਾਇੰਟ ਦੁਆਰਾ ਜਾਰੀ ਕੀਤਾ ਗਿਆ ਹੈ।


This requirement gives rise to in NFS server implementation is that write performance, without great care, can be the major performance bottleneck.

ਇਹ ਲੋੜ NFS ਸਰਵਰ ਲਾਗੂਕਰਨ ਵਿੱਚ ਪੈਦਾ ਹੁੰਦੀ ਹੈ ਕਿ ਲਿਖਣ ਦੀ ਕਾਰਗੁਜ਼ਾਰੀ, ਬਿਨਾਂ ਬਹੁਤ ਧਿਆਨ ਦੇ, ਪ੍ਰਮੁੱਖ ਪ੍ਰਦਰਸ਼ਨ ਰੁਕਾਵਟ ਹੋ ਸਕਦੀ ਹੈ।


The server quickly restarts and receives the third write request, which also succeeds.

ਸਰਵਰ ਜਲਦੀ ਦੁਬਾਰਾ ਸ਼ੁਰੂ ਹੁੰਦਾ ਹੈ ਅਤੇ ਤੀਜੇ ਲਿਖਣ ਦੀ ਬੇਨਤੀ ਪ੍ਰਾਪਤ ਕਰਦਾ ਹੈ, ਜੋ ਸਫਲ ਵੀ ਹੁੰਦਾ ਹੈ।


To avoid this problem, NFS servers must commit each write to stable (persistent) storage before informing the client of success.

ਇਸ ਸਮੱਸਿਆ ਤੋਂ ਬਚਣ ਲਈ, NFS ਸਰਵਰਾਂ ਨੂੰ ਕਲਾਇੰਟ ਨੂੰ ਸਫਲਤਾ ਬਾਰੇ ਸੂਚਿਤ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ ਹਰੇਕ ਲਿਖਤ ਨੂੰ ਸਥਿਰ (ਸਥਾਈ) ਸਟੋਰੇਜ ਵਿੱਚ ਕਮਿਟ ਕਰਨਾ ਚਾਹੀਦਾ ਹੈ।


The problem that this requirement gives rise to in NFS server implementation is that write performance, without great care, can be the major performance bottleneck.

NFS ਸਰਵਰ ਲਾਗੂਕਰਨ ਵਿੱਚ ਇਸ ਲੋੜ ਦੇ ਕਾਰਨ ਜੋ ਸਮੱਸਿਆ ਆਉਂਦੀ ਹੈ, ਉਹ ਇਹ ਹੈ ਕਿ ਲਿਖਣ ਦੀ ਕਾਰਗੁਜ਼ਾਰੀ, ਬਿਨਾਂ ਬਹੁਤ ਧਿਆਨ ਦੇ, ਪ੍ਰਮੁੱਖ ਪ੍ਰਦਰਸ਼ਨ ਰੁਕਾਵਟ ਹੋ ਸਕਦੀ ਹੈ।


We have seen the introduction of the NFS distributed file system.

ਅਸੀਂ NFS ਵੰਡੇ ਹੋਏ ਫਾਈਲ ਸਿਸਟਮ ਦੀ ਸ਼ੁਰੂਆਤ ਦੇਖੀ ਹੈ।


ਕਾਰਵਾਈਆਂ ਦੀ ਆਈਡੈਂਪੋਟੈਂਸੀ ਜ਼ਰੂਰੀ ਹੈ।


We also have seen how the introduction of caching into a multiple-client, single-server system can complicate things.

ਅਸੀਂ ਇਹ ਵੀ ਦੇਖਿਆ ਹੈ ਕਿ ਕਿਵੇਂ ਇੱਕ ਮਲਟੀਪਲ-ਕਲਾਇੰਟ, ਸਿੰਗਲ-ਸਰਵਰ ਸਿਸਟਮ ਵਿੱਚ ਕੈਸ਼ਿੰਗ ਦੀ ਸ਼ੁਰੂਆਤ ਚੀਜ਼ਾਂ ਨੂੰ ਗੁੰਝਲਦਾਰ ਬਣਾ ਸਕਦੀ ਹੈ।


Writes to the server must be forced to stable storage before returning success.

ਸਫਲਤਾ ਵਾਪਸ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ ਸਰਵਰ ਨੂੰ ਲਿਖਤਾਂ ਨੂੰ ਸਥਿਰ ਸਟੋਰੇਜ ਵਿੱਚ ਮਜਬੂਰ ਕੀਤਾ ਜਾਣਾ ਚਾਹੀਦਾ ਹੈ।


Security in early NFS implementations was remarkably lax.

ਸ਼ੁਰੂਆਤੀ NFS ਲਾਗੂਕਰਨ ਵਿੱਚ ਸੁਰੱਖਿਆ ਬਹੁਤ ਢਿੱਲੀ ਸੀ।


The original NFS paper; though a bit of a challenging read, it is worthwhile to see the source of these wonderful ideas.

ਅਸਲ NFS ਪੇਪਰ; ਹਾਲਾਂਕਿ ਥੋੜਾ ਚੁਣੌਤੀਪੂਰਨ ਪੜ੍ਹਨ ਵਾਲਾ ਹੈ, ਇਹ ਇਹਨਾਂ ਸ਼ਾਨਦਾਰ ਵਿਚਾਰਾਂ ਦੇ ਸਰੋਤ ਨੂੰ ਦੇਖਣਾ ਲਾਭਦਾਇਕ ਹੈ।


The main goal of this project was simple: scale.

ਇਸ ਪ੍ਰੋਜੈਕਟ ਦਾ ਮੁੱਖ ਟੀਚਾ ਸਧਾਰਨ ਸੀ: ਸਕੇਲ।


Most important is the design of the protocol between clients and servers.

ਸਭ ਤੋਂ ਮਹੱਤਵਪੂਰਨ ਕਲਾਇੰਟਾਂ ਅਤੇ ਸਰਵਰਾਂ ਵਿਚਕਾਰ ਪ੍ਰੋਟੋਕੋਲ ਦਾ ਡਿਜ਼ਾਈਨ ਹੈ।


In NFS, for example, the protocol forces clients to check with the server periodically to determine if cached contents have changed.

ਉਦਾਹਰਨ ਲਈ, NFS ਵਿੱਚ, ਪ੍ਰੋਟੋਕੋਲ ਕਲਾਇੰਟਾਂ ਨੂੰ ਸਮੇਂ-ਸਮੇਂ 'ਤੇ ਸਰਵਰ ਨਾਲ ਜਾਂਚ ਕਰਨ ਲਈ ਮਜਬੂਰ ਕਰਦਾ ਹੈ ਤਾਂ ਜੋ ਇਹ ਪਤਾ ਲਗਾਇਆ ਜਾ ਸਕੇ ਕਿ ਕੈਸ਼ ਕੀਤੀ ਸਮੱਗਰੀ ਬਦਲ ਗਈ ਹੈ ਜਾਂ ਨਹੀਂ।


AFS also differs from NFS in that from the beginning, reasonable user-visible behavior was a first-class concern.

AFS NFS ਤੋਂ ਇਸ ਅਰਥ ਵਿੱਚ ਵੀ ਵੱਖਰਾ ਹੈ ਕਿ ਸ਼ੁਰੂ ਤੋਂ ਹੀ, ਵਾਜਬ ਉਪਭੋਗਤਾ-ਦਿੱਖਣਯੋਗ ਵਿਵਹਾਰ ਇੱਕ ਪਹਿਲੀ-ਸ਼੍ਰੇਣੀ ਦੀ ਚਿੰਤਾ ਸੀ।


When you open() a file, the entire file (if it exists) is fetched from the server and stored in a file on your local disk.

ਜਦੋਂ ਤੁਸੀਂ ਇੱਕ ਫਾਈਲ open() ਕਰਦੇ ਹੋ, ਤਾਂ ਪੂਰੀ ਫਾਈਲ (ਜੇਕਰ ਮੌਜੂਦ ਹੈ) ਸਰਵਰ ਤੋਂ ਪ੍ਰਾਪਤ ਕੀਤੀ ਜਾਂਦੀ ਹੈ ਅਤੇ ਤੁਹਾਡੀ ਲੋਕਲ ਡਿਸਕ 'ਤੇ ਇੱਕ ਫਾਈਲ ਵਿੱਚ ਸਟੋਰ ਕੀਤੀ ਜਾਂਦੀ ਹੈ।


Subsequent application read() and write() operations are redirected to the local file system where the file is stored.

ਬਾਅਦ ਵਿੱਚ ਐਪਲੀਕੇਸ਼ਨ read() ਅਤੇ write() ਓਪਰੇਸ਼ਨਾਂ ਨੂੰ ਲੋਕਲ ਫਾਈਲ ਸਿਸਟਮ 'ਤੇ ਰੀਡਾਇਰੈਕਟ ਕੀਤਾ ਜਾਂਦਾ ਹੈ ਜਿੱਥੇ ਫਾਈਲ ਸਟੋਰ ਕੀਤੀ ਜਾਂਦੀ ਹੈ।