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...
DEAD LOCKS
System Model
● For the purposes of deadlock discussion, a system can be modeled as a collection of limited resources, which can be splitted into different classes, to be allocated to a number of processes, each having different needs.
● Resource classes may adds memory, printers, CPUs, open files, tape drives, CD-ROMS, etc.
● By definition, all the resources within a classification are equivalent, and a request of this category can be equally satisfied by any one of the resources in that category. If this is not the instance ( i.e. if there is some difference between the resources within a class ), then that class needs to be
further divided into separate categories. For example, "printers" may require to be separated into "laser printers" and "color inkjet printers".
● Some classification may have a single resource.
● In normal performance a process must request a resource before using it, and release it when it is complete, in the following sequence:
1. Request - If the request cannot be immediately allowed, then the process must wait until the resource(s) it needs become available. Example: system calls open( ), malloc( ), new( ), and request( ).
2. Use - The process make use of the resource.
Example: prints to the printer or reads from the file.
3. Release - The process relinquishes the resource. so that it becomes obtainable for other processes.
Example:close( ) free( ) delete( ) and release( ).
● For all kernel-managed resources, the kernel keeps trace of what resources are free and which are allocated, to which process they are allocated, and a queue of processes waiting for this resource
to become available. Application-managed resources can be controlled utilize mutexes or wait( ) and signal( ) calls, ( i.e. binary or counting semaphores. )
● A group of processes is deadlocked when every process in the group is waiting for a resource that is presently assignedto another process in the group (and which can only be freed when that other
waiting process makes progress. )