An Introduction to Separation Logic

Total Page:16

File Type:pdf, Size:1020Kb

An Introduction to Separation Logic An introduction to separation logic James Brotherston Programming Principles, Logic and Verification Group Dept. of Computer Science University College London, UK [email protected] Oracle Labs, Brisbane, 4 December 2015 1/ 19 Introduction Verification of imperative programs is classically based on Hoare triples: fP g C fQg where C is a program and P; Q are assertions in some logical language. These are read, roughly speaking, as for any state σ satisfying P , if C transforms state σ to σ0, then σ0 satisfies Q. (with some wriggle room allowing us to deal with faulting or non-termination in various ways.) 2/ 19 Hoare-style verification A Hoare-style program logic therefore relies on three main components: 1. a language of programs, and an operational semantics explaining how they transform states; 2. a language of logical assertions, and a semantics explaining how to read them as true or false in a particular state; 3. a formal interpretation of Hoare triples, together with (sound) proof rules for manipulating them. We'll look at these informally first, then introduce a little more formal detail. 3/ 19 Programs, informally We consider a standard while language with pointers, memory (de)allocation and recursive procedures. E.g.: deltree(*x) f if x=nil then return; else f l,r := x.left,x.right; deltree(l); deltree(r); free(x); g g 4/ 19 Assertions, informally Our assertion language lets us describe heap data structures such as linked lists and trees. E.g., binary trees with root pointer x can be defined by: x = nil : emp ) tree(x) x 6= nil : x 7! (y; z) ∗ tree(y) ∗ tree(z) ) tree(x) where • emp denotes the empty heap; • x 7! (y; z) denotes a single pointer to a pair of data cells; • ∗ means \and separately in memory". 5/ 19 ftree(x)g fempg fx 7! (y; z) ∗ tree(y) ∗ tree(z)g fx 7! (l; r) ∗ tree(l) ∗ tree(r)g fx 7! (l; r) ∗ emp ∗ tree(r)g fx 7! (l; r) ∗ emp ∗ empg femp ∗ emp ∗ empg fempg fempg An example proof deltree(*x) f if x=nil then return; else f l,r := x.left,x.right; deltree(l); deltree(r); free(x); g g 6/ 19 fempg fx 7! (y; z) ∗ tree(y) ∗ tree(z)g fx 7! (l; r) ∗ tree(l) ∗ tree(r)g fx 7! (l; r) ∗ emp ∗ tree(r)g fx 7! (l; r) ∗ emp ∗ empg femp ∗ emp ∗ empg fempg An example proof ftree(x)g deltree(*x) f if x=nil then return; else f l,r := x.left,x.right; deltree(l); deltree(r); free(x); g g fempg 6/ 19 fx 7! (y; z) ∗ tree(y) ∗ tree(z)g fx 7! (l; r) ∗ tree(l) ∗ tree(r)g fx 7! (l; r) ∗ emp ∗ tree(r)g fx 7! (l; r) ∗ emp ∗ empg femp ∗ emp ∗ empg fempg An example proof ftree(x)g deltree(*x) f if x=nil then return; fempg else f l,r := x.left,x.right; deltree(l); deltree(r); free(x); g g fempg 6/ 19 fx 7! (l; r) ∗ tree(l) ∗ tree(r)g fx 7! (l; r) ∗ emp ∗ tree(r)g fx 7! (l; r) ∗ emp ∗ empg femp ∗ emp ∗ empg fempg An example proof ftree(x)g deltree(*x) f if x=nil then return; fempg else f fx 7! (y; z) ∗ tree(y) ∗ tree(z)g l,r := x.left,x.right; deltree(l); deltree(r); free(x); g g fempg 6/ 19 fx 7! (l; r) ∗ emp ∗ tree(r)g fx 7! (l; r) ∗ emp ∗ empg femp ∗ emp ∗ empg fempg An example proof ftree(x)g deltree(*x) f if x=nil then return; fempg else f fx 7! (y; z) ∗ tree(y) ∗ tree(z)g l,r := x.left,x.right; fx 7! (l; r) ∗ tree(l) ∗ tree(r)g deltree(l); deltree(r); free(x); g g fempg 6/ 19 fx 7! (l; r) ∗ emp ∗ empg femp ∗ emp ∗ empg fempg An example proof ftree(x)g deltree(*x) f if x=nil then return; fempg else f fx 7! (y; z) ∗ tree(y) ∗ tree(z)g l,r := x.left,x.right; fx 7! (l; r) ∗ tree(l) ∗ tree(r)g deltree(l); fx 7! (l; r) ∗ emp ∗ tree(r)g deltree(r); free(x); g g fempg 6/ 19 femp ∗ emp ∗ empg fempg An example proof ftree(x)g deltree(*x) f if x=nil then return; fempg else f fx 7! (y; z) ∗ tree(y) ∗ tree(z)g l,r := x.left,x.right; fx 7! (l; r) ∗ tree(l) ∗ tree(r)g deltree(l); fx 7! (l; r) ∗ emp ∗ tree(r)g deltree(r); fx 7! (l; r) ∗ emp ∗ empg free(x); g g fempg 6/ 19 fempg An example proof ftree(x)g deltree(*x) f if x=nil then return; fempg else f fx 7! (y; z) ∗ tree(y) ∗ tree(z)g l,r := x.left,x.right; fx 7! (l; r) ∗ tree(l) ∗ tree(r)g deltree(l); fx 7! (l; r) ∗ emp ∗ tree(r)g deltree(r); fx 7! (l; r) ∗ emp ∗ empg free(x); femp ∗ emp ∗ empg g g fempg 6/ 19 An example proof ftree(x)g deltree(*x) f if x=nil then return; fempg else f fx 7! (y; z) ∗ tree(y) ∗ tree(z)g l,r := x.left,x.right; fx 7! (l; r) ∗ tree(l) ∗ tree(r)g deltree(l); fx 7! (l; r) ∗ emp ∗ tree(r)g deltree(r); fx 7! (l; r) ∗ emp ∗ empg free(x); femp ∗ emp ∗ empg g fempg g fempg 6/ 19 Frame property Consider the following step in the previous example: fx 7! (l; r) ∗ tree(l) ∗ tree(r)g deltree(l) fx 7! (l; r) ∗ emp ∗ tree(r)g Implicitly, this relies on a framing property, namely: ftree(l)g deltree(l) fempg fx 7! (l; r) ∗ tree(l) ∗ tree(r)g deltree(l) fx 7! (l; r) ∗ emp ∗ tree(r)g 7/ 19 Classical failure of frame rule The so-called frame rule, fP g C fQg fF ^ P g C fF ^ Qg is well known to fail in standard Hoare logic. E.g., fx = 0g x := 2 fx = 2g fy = 0 ^ x = 0g x := 2 fy = 0 ^ x = 2g is not valid (because y could alias x). As we'll see, using the \separating conjunction" ∗ instead of ^ will however give us a valid frame rule. 8/ 19 Heap memory model • We assume an infinite set Val of values of which an infinite subset Loc ⊂ Val are allocable locations; nil is a non-allocable value. • Stacks map variables to values, s : Var ! Val. • Heaps map finitely many locations to values, h : Loc *fin Val. We write e for the empty heap (undefined on all locations). • Heap composition h1 ◦ h2 is defined to be h1 [ h2 if their domains are non-overlapping, and undefined otherwise. • A state is simply a stack paired with a heap, (s; h). 9/ 19 Program semantics • A configuration is given by (C; s; h), where C is a program, and (s; h) a (stack-heap) state. • C could be empty, in which case we call (C; s; h) final (and usually just write hs; hi). • fault is a special configuration used to catch memory errors. • The small-step semantics of programs is then given by a relation between configurations: 0 0 0 (C; s; h) (C ; s ; h ) 10/ 19 Semantics of assignment and (de)allocation (x := E; s; h) (s[x 7! [[E]]s]; h) [[E]]s 2 dom(h) (x := E:f; s; h) (s[x 7! h([[E]]s):f]; h) [[E]]s 2 dom(h) 0 0 (E:f := E ; s; h) (s; h[[[E]]s:f 7! [[E ]]s]) ` 2 Loc n dom(h) v 2 Val (E := new(); s; h) (s[x 7! `]; h[` 7! v]) [[E]]s = ` 2 dom(h) (free(E); s; h) (s; (h (dom(h) n f`g)) C ≡ x := E:f j E:f := E0 j free(E) [[E]]s2 = dom(h) (C; s; h) fault 11/ 19 Symbolic-heap assertions • Terms t are either variables x; y; z : : : or the constant nil. • Pure formulas π and spatial formulas F are given by: π ::= t = t j t 6= t F ::= emp j x 7! t j P t j F ∗ F (where P a predicate symbol, t a tuple of terms). • A symbolic heap is 9x: Π: F , for Π a set of pure formulas. • The predicate symbols might come from a hard-coded set, or might be user-defined. 12/ 19 Semantics of assertions We define the forcing relation s; h j= A: s; h j=Φ t1 = (6=)t2 , s(t1) = (6=)s(t2) s; h j=Φ emp , h = e s; h j=Φ x 7! t , dom(h) = fs(x)g and h(s(x)) = s(t) s; h j=Φ P t , (s(t); h) 2 [[P ]] s; h j=Φ F1 ∗ F2 , 9h1; h2:h = h1 ◦ h2 and s; h1 j=Φ F1 and s; h2 j=Φ F2 jzj s; h j=Φ 9z: Π: F , 9v 2 Val : s[z 7! v]; h j=Φ π for all π 2 Π and s[z 7! v]; h j=Φ F The semantics [[P ]] of inductive predicate P has a standard construction (but outside the scope of this talk). 13/ 19 Interpretation of Hoare triples Our interpretation of Hoare triples is almost standard, except we take a fault-avoiding interpretation: Definition fP g C fQg is valid if, whenever s; h j= P , ∗ 1.
Recommended publications
  • Older Operating Systems (962-038)
    Instructions: This is an open book pretest. Answer all questions. There are three sections. There are a total of five question pages. The time limit is two hours. Section one: Select only one answer for each multiple-choice question. Each question is worth 2 marks. Q1. Determine which of the following is true concerning DOS filters a. A DOS filter is used to modify information as it passes from EBCDIC text files to the screen. False because it for ASCII not EBCDIC b. The sort command is replaced using the command (dir /w) False because to sort you must use Dir /O:order ex. Dir/O:n c. The command (find /C “supervisor” memo1.txt memo2.txt) is an invalid command. False because it’s a valid command d. The command (type readme.doc | more) produces the same output as (more < readme.doc) True Q2. Determine which of the following is true concerning the tree command a. To indicate branching of directories, the tree command only uses the line characters. False because there are lines b. The deltree command is an enhanced version of the tree command. False, deltree erases a directory, tree shows structure. c. We can use the tree command with redirection symbols. True d. The tree command is an internal DOS command. False, it’s external. Internal means it exists in command.com. Tree.exe is external. Q3. Determine which of the following statement is true concerning variables. a. DOS includes built-in variables and therefore do not allow user defined variables. False – you can define your own variable.
    [Show full text]
  • Onetouch 4.0 Scanned Documents
    · MUL TICS SYSTEM-PROGRAMMERS' MANUAL SECTION BY.2.03 PAGE 1 Publishe¢: 04/03/67 Identification Delete a subtree of the file system hierarchy. del tree E. Q. Bjorkman+· ,. Purpose I \. Deltree is the procedure used by the delete command (BX.8.07)· to delete an entry which points to a non-empty directory. In order to delete svch an entry delete calls deltree to delete the subtree beneath the entry. The method used in deltree can be easily adapted for other tasks which are repeated at all nodes of some tree structure in the file system. Usaoe call deltree (path, failsw); path is the path name of a directory. Fails\-J is.a 1-bit switch indicating on return that some entry of path could not be deleted. Oeltree starts deleting entries of the tree structure beneath ,path at the end nodes (i.e., directories_ that have no directories inferior to them). Deltree reaches these end nodes by constructing a path name of a directory · . immediately inferior to path and then calling itself recursively with that path name until the end'nbdes are r~ached~ Whendeltree has deleted all the entries in an end-node directory which it can delete~ it returns to its caller. )me lementat ion ca 11 .de ltree (path, fail sw); del path char(')'<), f,:lf lsw bit (1); De 1 tree first obtai i'IS the current. ca landar clock time using the PL/I built-in abnormal function ''c1ock_11 .' This time is used later to determine whether entries were added to the directory ~th after deltree started its I.Mork.
    [Show full text]
  • Free up Hundreds of Megs of Disk Space!
    Free Up Hundreds Of Megs Of Disk Space! Here's an example of a very simple annotated batch file: This particular file can free up literally *hundreds of megabytes* of extra space on your hard drive by scrubbing away junk and unwanted files that Windows leaves behind (even if you use Windows' "Disk Cleanup Wizard"). I run a file like this every night. There are two ways to get the file on your machine. I'll tell you how you can download it, for free, in a moment, but please read through the following text so you'll be sure you understand what the file does. Better still, manually copy the file, because then you'll have 100%, total control over everything the file does. It's easy! Here's how: Copy and paste the following lines into Notepad, and then save the file; name it something like "CLEANUP.BAT." (Make sure you're naming it ".bat" and not ".txt"). It can reside anywhere, and uses only files and commands that are normally part of a standard Windows installation. @rem The first group of lines clears the screen and displays program information @cls @echo Fred Langa's Cleanup.Bat, a Win9x hard-disk cleanup tool. @echo --------------------------------------------------------- @echo Copyright (c) 2000 Langa Consulting @echo http://www.langa.com @echo --------------------------------------------------------- @echo Use Notepad to view file contents before running! @echo Please also see http://www.langa.com/cleanup_bat.htm @echo for precaution/usage info and for newer versions. @echo ----------- @rem This file is offered as-is and without warranty of any kind.
    [Show full text]
  • Learning Objectives ECHO Commands. Command. 10. Explain
    . SA Learning Objectives After completing this chapter you will be able to: 1. List commands used in batch files. 2. List and explain batch file rules. 3. Use a batch file with a shortcut. 3. Explore the function of the REM, 4. Use the SHIFT command to move param- ECHO commands. eters. 4. Explain the use of batch files with shortcuts. 5. Use the IF command with strings for condi- 5. Explain the purpose and function of the tional processing. GOTO command. 6. Test for null values in a batch file. 6. Explain the purpose and function of the 7. Use the IF EXIST /IF SHIFT command. test for the existence of a file or a 7. Explain the purpose and function of the IF subdirectory. command. 8. Use the SET command. 8. Explain the purpose and function of the IF 9. Use the environment and environmental EXIST /IF variables in batch files. 9. Explain the purpose and function of the IF 10. Use the IF ERRORLEVEL command ERRORLEVEL command. XCOpy to write a batch file for testing exit 10. Explain the purpose and function of writing codes. programs. 11. Use the FOR...IN...OO command for repeti- 11. Explain the purpose and function of the tive processing. environment and environmental variables. 12. Use the CALL command in a batch file. 12. Explain the use of the SET command. 13. Explain the purpose and function of the Chapter Overview FOR...IN...OO command. You learned in Chapter 10 how to write simple 14. Explain the purpose and function of the batch files and use replaceable parameters.
    [Show full text]
  • Windows 95/98 Installation & Setup
    3032 CONTROLLER Installation notes This document contain: ∗ Instruction on how to install the update ∗ Instruction on how to configure your system Read this document before doing any update 3032 Installation note INSTRUCTION TO UPDATE OR INSTALL THE 3032 SOFTWARE 1- Read this document carefully. 2- If the 3032 is running, quit it and go to C:\ or C:\3032 3- Put your first floppy disk in drive A 4- Type A:\UPDATE or A:\INSTALL (From Windows 95, press START then RUN and type A:\UPDATE or A:\INSTALL then press OK) 5- Set the source drive to: A 6- Set the target drive to: C 7- The directory should be C:\3032 8- On prompt: START UPDATE or START INSTALL answer YES 9- On prompt MAKE BACKUP answer YES (update only) This will make a backup directory called BKXXXXXX.000 (The first six digits after BK is the date of the day and the next three are the number of updates made on the same day, i.e. 000 is the first one.) 10- Then you will be asked to change for the next floppy. 11- After the fourth disk, the software will check if your data (sequences, cues) needs to be updated. If yes, it will ask you if you want to update the data; answer YES 12- Once everything is finished, re-start your computer. If you need to retrieve your old 3032 installation after an update, use these commands: MOVE C:\3032 C:\3032OLD MOVE C:\BKXXXXXX.000 C:\3032 (XXXXXX is the date) if you don't remember the name of the directory, use this commands CD \ DIR BK*.* This way, you will get all the directories starting by BK Note: When the update is complete and running without problem, you can erase all the backup directories using this command: DELTREE C:\BK*.* • We suggest that you work with the new version at least a week before erasing the backup.
    [Show full text]
  • [D:]Path[...] Data Files
    Command Syntax Comments APPEND APPEND ; Displays or sets the search path for APPEND [d:]path[;][d:]path[...] data files. DOS will search the specified APPEND [/X:on|off][/path:on|off] [/E] path(s) if the file is not found in the current path. ASSIGN ASSIGN x=y [...] /sta Redirects disk drive requests to a different drive. ATTRIB ATTRIB [d:][path]filename [/S] Sets or displays the read-only, archive, ATTRIB [+R|-R] [+A|-A] [+S|-S] [+H|-H] [d:][path]filename [/S] system, and hidden attributes of a file or directory. BACKUP BACKUP d:[path][filename] d:[/S][/M][/A][/F:(size)] [/P][/D:date] [/T:time] Makes a backup copy of one or more [/L:[path]filename] files. (In DOS Version 6, this program is stored on the DOS supplemental disk.) BREAK BREAK =on|off Used from the DOS prompt or in a batch file or in the CONFIG.SYS file to set (or display) whether or not DOS should check for a Ctrl + Break key combination. BUFFERS BUFFERS=(number),(read-ahead number) Used in the CONFIG.SYS file to set the number of disk buffers (number) that will be available for use during data input. Also used to set a value for the number of sectors to be read in advance (read-ahead) during data input operations. CALL CALL [d:][path]batchfilename [options] Calls another batch file and then returns to current batch file to continue. CHCP CHCP (codepage) Displays the current code page or changes the code page that DOS will use. CHDIR CHDIR (CD) [d:]path Displays working (current) directory CHDIR (CD)[..] and/or changes to a different directory.
    [Show full text]
  • List of MS-DOS Commands - Wikipedia, the Free Encyclopedia Page 1 of 25
    List of MS-DOS commands - Wikipedia, the free encyclopedia Page 1 of 25 List of MS-DOS commands From Wikipedia, the free encyclopedia In the personal computer operating systems MS -DOS and PC DOS, a number of standard system commands were provided for common Contents tasks such as listing files on a disk or moving files. Some commands were built-in to the command interpreter, others existed as transient ■ 1 Resident and transient commands commands loaded into memory when required. ■ 2 Command line arguments Over the several generations of MS-DOS, ■ 3 Windows command prompt commands were added for the additional ■ 4 Commands functions of the operating system. In the current ■ 4.1 @ Microsoft Windows operating system a text- ■ 4.2 : mode command prompt window can still be ■ 4.3 ; used. Some DOS commands carry out functions ■ 4.4 /* equivalent to those in a UNIX system but ■ 4.5 ( ) always with differences in details of the ■ 4.6 append function. ■ 4.7 assign ■ 4.8 attrib ■ 4.9 backup and restore Resident and transient ■ 4.10 BASIC and BASICA commands ■ 4.11 call ■ 4.12 cd or chdir ■ 4.13 chcp The command interpreter for MS-DOS runs ■ 4.14 chkdsk when no application programs are running. ■ 4.15 choice When an application exits, if the command ■ 4.16 cls interpreter in memory was overwritten, MS- ■ 4.17 copy DOS will re-load it from disk. The command ■ 4.18 ctty interpreter is usually stored in a file called ■ 4.19 defrag "COMMAND.COM". Some commands are ■ 4.20 del or erase internal and built-into COMMAND.COM, ■ 4.21 deltree others are stored on disk in the same way as ■ 4.22 dir application programs.
    [Show full text]
  • Natural Shell: an Assistant for End-User Scripting
    International Journal of People-Oriented Programming Volume 5 • Issue 1 • January-June 2016 Natural Shell: An Assistant for End-User Scripting Xiao Liu, College of Information Sciences and Technology, Pennsylvania State University, University Park, PA, USA Yufei Jiang, College of Information Sciences and Technology, Pennsylvania State University, University Park, PA, USA Lawrence Wu, College of Information Sciences and Technology, Pennsylvania State University, University Park, PA, USA Dinghao Wu, College of Information Sciences and Technology, Pennsylvania State University, University Park, PA, USA ABSTRACT Scripting is a widely-used way to automate the execution of tasks. Despite the popularity of scripting, it remains difficult to use for both beginners and experts: because of the cryptic commands for the first group, and incompatible syntaxes across different systems, for the latter group. The authors introduce Natural Shell, an assistant for enabling end-users to generate commands and scripts for various purposes. Natural Shell automatically synthesizes scripts for different shell systems based on natural language descriptions. By interacting with Natural Shell, new users can learn the basics of scripting languages without the obstacles from the incomprehensible syntaxes. On the other hand, the authors’ tool frees more advanced users from manuals when they switch shell systems. The authors have developed a prototype system and demonstrate its effectiveness with a benchmark of 50 examples of popular shell commands collected from online forums. In addition, the authors analyzed the usage of Natural Shell in a lab study that involves 10 participants with different scripting skill levels. Natural Shell effectively assists the users to generate commands in assigned syntaxes and greatly streamlines their learning and using experience.
    [Show full text]
  • How Do I Clear Partitions Using the Debug Script? WARNING
    How do I clear partitions using the Debug script? WARNING - DELETING PARTITIONS WILL ALSO DELETE EVERYTHING ON YOUR COMPUTER, THAT MEANS EVERYTHING. PROGRAMS, DOCUMENTS, PICTURES, LETTERS, EMAIL, EVERYTHING. Make sure you have backup media before you continue like a Windows cd, driver cd, programs, and backup your data first*** If you have data on the drive and you can't stand to loose it (and your sure you don't have a virus) you may want to deltree the drive or delete the registry and reinstall. Here is the script: Boot to a Windows boot disk and use the following script. If debug can't be found on the Windows boot disk you may have to extract it. The computer will generate the text in red and you will type the text in white, where it says (ENTER) just hit the Enter key don't type the word. After the computer restarts you will need to run FDISK to repartition the hard drive then format and reinstall Windows. At A:> type ….. debug (ENTER) -F 220 L1000 0 (ENTER) -A CS:100 (ENTER) xxxx:0100 MOV AX,301 (ENTER) xxxx:0103 MOV BX,200 (ENTER) xxxx:0106 MOV CX,1 (ENTER) xxxx:0109 MOV DX,80 (ENTER) <---"80" for hd1, "81" for hd2 > xxxx:010C INT 13 (ENTER) xxxx:010E INT 20 (ENTER) xxxx:0110 (ENTER) <-------BLANK LINE "VERY IMPORTANT" > -G (ENTER) Program terminated normally (CTRL)-(ALT)-(DEL) to reboot system CLEAR CMOS using Debug If you think you may have a virus that infects the BIOS you may also want to clear that as well, otherwise it could infect your hard drive after you install Windows.
    [Show full text]
  • An A-Z Index of the Windows XP Command Line
    An A-Z Index of the Windows XP command line ADDUSERS Add or list users to/from a CSV file ARP Address Resolution Protocol ASSOC Change file extension associations• ASSOCIAT One step file association AT Schedule a command to run at a later time ATTRIB Change file attributes b BOOTCFG Edit Windows boot settings BROWSTAT Get domain, browser and PDC info c CACLS Change file permissions CALL Call one batch program from another• CD Change Directory - move to a specific Folder• CHANGE Change Terminal Server Session properties CHKDSK Check Disk - check and repair disk problems CHKNTFS Check the NTFS file system CHOICE Accept keyboard input to a batch file CIPHER Encrypt or Decrypt files/folders CleanMgr Automated cleanup of Temp files, recycle bin CLEARMEM Clear memory leaks CLIP Copy STDIN to the Windows clipboard. CLS Clear the screen• CLUSTER Windows Clustering CMD Start a new CMD shell COLOR Change colors of the CMD window• COMP Compare the contents of two files or sets of files COMPACT Compress files or folders on an NTFS partition COMPRESS Compress individual files on an NTFS partition CON2PRT Connect or disconnect a Printer CONVERT Convert a FAT drive to NTFS. COPY Copy one or more files to another location• CSCcmd Client-side caching (Offline Files) CSVDE Import or Export Active Directory data d DATE Display or set the date• Dcomcnfg DCOM Configuration Utility DEFRAG Defragment hard drive DEL Delete one or more files• DELPROF Delete NT user profiles DELTREE Delete a folder and all subfolders DevCon Device Manager Command Line Utility
    [Show full text]
  • MS-DOS Microsoft Disk Operating System
    emeronbEnßm MS-DOS Microsoft Disk Operating System 1-esckþIepþIm kñúgEpñkenH eyIgelIkykmkEtEpñkRKwHmYycMnUYn énRbB½n§tMeNIrkar edIm,IgayRsYl kñúgkar EsVgyl; MS-DOS nig eRbIR)as;bBa¢a rbs; . EtmunnwgsikSaeTAelIRbB½n§tMeNIrkar Gñk (Commad) DOS MS-DOS RtUvEsVgyl;eGay)anc,as;GMBIGVI ehAfa nig kñúg sin . File, Directory Directory Structure Windows - KWCasMnMuénÉksarEdlpÞúkenAelIépÞ rbs; ehIyvamaneQµaHtMNag nig File Media Disk TItaMgc,as;las;mYy . GacCakmµviFI Éksar b¤ File (Program), (Document) Collection of Data . .doc icon Extension Filename - KWCaTU b¤ CaftsMrab;pÞúkral; eTAtamRbePT gayRsYlcMnaM nig Directory or Folder Files EbgEck ehIyenAkñúg mYyGacmanftsMrab;pÞúkral; CaeRcInteTot ehAfa Directory Files Subdirectory or . Subfolder eTAkan; Path File POD.EXE 2-RbB½n§tMeNIrkarsMrab; IBM-PC kñúgEpñkenHeyIgnwgsikSa Cak;EsþgGMBI EdlCaRbePTkmµviFImYycMa)ac; CaTIbMput sMrab;RbePT DOS IBM-PC bc©úb,nñenH . mann½yfaenAmanRbB½n§tMeNIrkarepSg²CaeRcIneTot dUcCa sMrab;RbePT System Macintosh nigmanRbB½n§tMeNIrkar . UNIX,Windows ... RbB½n§tMeNIrkar KWCaRbB½n§kmµviFImYy eRbIsMrab;RtYtBinitüéntMeNIrkar RKb;RKgkarEbkEck (Operating System) nig eRbIR)as;épñkepSg² énma:sIundUcCa ryHeBlcaM)ac;sMrab; kareRbIR)as;én nwgk¾dUcCa CPU Memory bNþal]bkrN¾xageRkAepSg²eTot . 3- KWCaGVI DOS ? mkBIBaküfa mann½yfaCa RbB½n§tMeNIrkarrukrk nig eFVIkarelI DOS DISK OPERATING SYSTEM Disk (Harddisk or . vaCaRbB½n§RKb;RKg RKb;RKgÉksarenAelI dUcCakarcMlg lubnig karbegáIt Diskette) Disk Space Disk erobcMbegáIt b¤ .l. cUlGñkRsm½yemIlfaebIKµan RbB½n§tMeNIrkar Diectorys, Partition Track
    [Show full text]
  • United States Department of Agriculture
    UNITED STATES DEPARTMENT OF AGRICULTURE NATURAL RESOURCES CONSERVATION SERVICE This draft ecological site description is approved for field use and testing for a one year period beginning MM, YYYY. Additional information and comments on this site should be sent to the Utah State Range Management Specialist. STATE: Utah SITE TYPE: Rangeland ECOLOGICAL SITE NAME: Mountain Windswept Ridge (Low sagebrush) SITE NUMBER: 047CY476UT MLRA: 047C Original Site Description: Author: GWL, LLR Date: 04/22/1992 Revised Site Description: Author: Date: Approved by: Title: State Range Cons. Signed: Pat Shaver Date: Ecological Site Definition - A distinctive kind of land, with specific physical characteristics, which differs from other kinds of land in its ability to produce a distinctive kind and amount of vegetation, and in its response to management. A. PHYSICAL CHARACTERISTICS (description narrative of this particular site) 1. SOILS Depth: 20-40 inches Surface Textures: Clay Loams to Stony Loams Surface Fragments(<=3” % cover, >3” % cover): 20-70% Subsurface Textures: Subsurface Fragments(<=3” % vol, >3” % vol): Geologic Parent Materials: Residuum, Colluvium and Alluvium from Limestone Moisture Regime: Temperature Regime: Runoff: Permeability(min-max): Drainage Class(min-max): Well Drained Water Erosion Hazard: Wind Erosion Hazard: Electrical Conductivity (EC in mmhos/cm): Sodium Adsorption Ration (SAR): Soil Reaction (1:1 water): Soil Reaction (0.1 M CaCl2): pH Range: Available Water Capacity (inches): 0.06-0.10 Major Soils Associated With This Site: Soil Survey Area: 047 Lap CNV-SiL, 8-25% Tridell CBX-L, 10-30% Tridell CBX-L, 30-60% Tridell STX-SL, 30-60% Deltree CBX-SCL, Dry, 4-30% Deltree CBX-SCL, Dry, 30-60% Shotnick Family CBX-L, 4-30% Additional information may be found in Section II of the Field Office Technical Guide.
    [Show full text]