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...
File Concept
File Attributes
* Various OSes keep track of various file attributes, including:
• Name - Some systems give special importance to names, and particularly
extensions ( .exe, .txt, etc. ), and some do not. Some extensions may be of
Importance to the OS ( .exe ), and others only to definite applications ( .jpg )
• Identifier ( e.g. inode number )
• Type - Text, accessible, other binary, etc.
• Location - on the hard drive.
• Size
• Protection
• Time & Date
• User ID
File Operations
* The file ADT helps many common operations:
• Creating a file
• Writing a file
• Reading a file
• Repositioning within a file
• Deleting a file
• Truncating a file.
* Most OSes need that files be opened before process and closed after all process is finished. Generally the programmer must open and close files correctly, but some rare systems open the file automatically at first process. Information about presently open files is stored in an open file table, containing for example:
• File pointer - records the current position in the file, for the next read or write access.
• File-open count - How many times has the current file been opened (At the same time by different processes ) and not yet closed? When this counter reaches zero the file can be deleted from the table.
• Disk location of the file.
• Access rights
* Some systems provide support for file locking.
• A shared lock is for only reading.
• A exclusive lock is for reading as well as writing.
• An advisory lock is informational only, and not inflict.
• A mandatory lock is enforced. ( A truly locked door. )
• UNIX used advisory locks, and Windows uses compulsory locks.
File TypesWindows ( and some other systems ) use special file extensions to imply the type of each file:
* Macintosh keeps a creator attribute for each file, according to the program that first created it with the create( ) system call.
* UNIX stores magic numbers at the starting of certain files. ( Experiment with the "file" command, mainly in directories such as /bin and /dev )
File Structure
* Some files consists of an internal structure, which might or might not be known to the OS.
* For the OS to support specific file formats increases the size and complexity of the OS.
* UNIX treats all files as series of bytes, with no further consideration of the internal structure. ( With the exception of executable binary programs, which it must know how to load and detects the first executable statement, etc. )
* In Macintosh files there are two forks - a resource fork, and a data fork. The resource fork consists of information relating to the UI, such as icons and button images,and can be modified independently of the data fork, which contains the code or data as appropriate.
Internal File Structure
* Disk files are retrieved in units of physical blocks, typically 512 bytes or some power-of-two multiple thereof. (Larger physical disks use larger block sizes, to keep the scale of block numbers within the scale of a 32-bit integer. )
* Internally files are stored in units of logical units, which may be as small as a single byte, or may be a larger size corresponding to some data record or structure size.
* The number of logical units which fit into one physical block determines its packing, and has an effect on the amount of internal segmentation ( wasted space ) that occurs.
* As a general rule, half a physical block is misused for each file, and the larger the block sizes the more space is lost to internal segmentation.