background preloader

Correctness Reasoning

Facebook Twitter

File system. In computing, a file system (or filesystem) is used to control how data is stored and retrieved. Without a file system, information placed in a storage area would be one large body of data with no way to tell where one piece of information stops and the next begins. By separating the data into individual pieces, and giving each piece a name, the information is easily separated and identified. Taking its name from the way paper based information systems are named, each piece of data is called a "file". The structure and logic rules used to manage the groups of information and their names is called a "file system".

There are many different kinds of file systems. File systems can be used on many different kinds of storage devices. Aspects of file systems[edit] Space management[edit] Note: this only applies to file systems used in storage devices. This results in unused space when a file is not an exact multiple of the allocation unit, sometimes referred to as slack space. Filenames[edit] WinFS. WinFS includes a relational database for storage of information, and allows any type of information to be stored in it, provided there is a well defined schema for the type. Individual data items could then be related together by relationships, which are either inferred by the system based on certain attributes or explicitly stated by the user. As the data has a well defined schema, any application can reuse the data; and using the relationships, related data can be effectively organized as well as retrieved. Because the system knows the structure and intent of the information, it can be used to make complex queries that enable advanced searching through the data and aggregating various data items by exploiting the relationships between them.

A mockup calendar application sorting images by the dates and using their relationship with contacts to filter the images. WinFS aimed at providing a shared schema system that would enable such a scenario. Motivation[edit] Overview[edit] Transactional NTFS. Due to its complexity and various nuances which developers need to consider as part of application development, Microsoft is considering deprecating TxF APIs in a future version of Windows. Therefore, Microsoft strongly recommends developers investigate using the alternatives rather than adopting the Transactional NTFS API platform which may not be available in future versions of Windows.[1] Overview[edit] Transactional NTFS allows for files and directories to be created, modified, renamed, and deleted atomically.

Using transactions ensures correctness of operation; in a series of file operations (done as a transaction), the operation will be committed if all the operations succeed. In case of any failure, the entire operation will rollback and fail. Transactional NTFS is implemented on top of the Kernel Transaction Manager (KTM), which is a Windows kernel component first introduced in Windows Vista that provides transactioning of objects in the kernel. Atomic operations on a single file: Algorithms for Recovery and Isolation Exploiting Semantics.

In computer science, Algorithms for Recovery and Isolation Exploiting Semantics, or ARIES is a recovery algorithm designed to work with a no-force, steal database approach; it is used by IBM DB2, Microsoft SQL Server and many other database systems. Three main principles lie behind ARIES Write ahead logging: Any change to an object is first recorded in the log, and the log must be written to stable storage before changes to the object are written to disk.Repeating history during Redo: On restart after a crash, ARIES retraces the actions of a database before the crash and brings the system back to the exact state that it was in before the crash. Then it undoes the transactions still active at crash time.Logging changes during Undo: Changes made to the database while undoing transactions are logged to ensure such an action isn't repeated in the event of repeated restarts. Logging[edit] Recovery[edit] The recovery works in three phases.

Analysis[edit] Redo[edit] Undo[edit] Checkpoints[edit] ARIES.