Artificial intelligence has moved beyond simply answering questions and generating text. A new generation of AI systems—known as AI agents—is emerging with the ability to plan tasks, use tools, make decisions, and complete multi-step workflows with less human intervention. From managing emails and analyzing data to writing software and assisting customers, AI agents could significantly change how people work. What Are AI Agents? An AI agent is a software system that can perceive information, reason about a goal, take actions, and adapt based on the results. Traditional AI tools usually respond to a specific instruction. For example, you might ask an AI chatbot to summarize a document, and it provides a summary. An AI agent can go further. You could give an agent a goal such as: "Research three competitors, compare their pricing, summarize their main features, and prepare a report." The agent may then: 1) Understand the objective. 2) Break the task into smaller steps. 3) Searc...
Stable-Storage Implementation
* The concept of stable storage includes a storage medium in which data is never lost, even in the face of equipment failure in the middle of a write operation.
* To implement this requires two (or more) copies of the data, with separate failure modes.
* An attempted disk write results in one of three possible outputs:
• The data is successfully and completely written.
• The data is partially written, but not completely. The last block written may be
garbled.
• No writing takes place at all.
* Whenever an equipment failure occurs during a write, the system must detect it, and return the system back to a consistent state. To do this requires two physical blocks for every logical block, and the following procedure:
• Write the data to the first physical block.
• After step 1 had completed, then write the data to the second physical block.
• Declare the operation complete only after both physical writes have completed
successfully.
* During recovery the pair of blocks is examined.
• If both blocks are identical and there is no sign of damage, then no further action
is necessary.
• If one block contains a detectable error but the other does not, then the damaged
block is replaced with the good copy. (This will either undo the operation or
complete the operation, depending on which block is damaged and which is
undamaged.)
• If neither block shows damage but the data in the blocks differ, then replace the
data in the first block with the data in the second block. (Undo the operation.)
* Because the sequence of operations described above is slow, stable storage usually includes NVRAM as a cache, and declares a write operation complete once it has been written to the NVRAM.