File Server and Streams
|
|
|
- Florence Wood
- 10 years ago
- Views:
Transcription
1
2 This Lecture Examines The file system server Streams and stores 2
3 The File system server Known simply as the file server Handles all aspects of managing files and directories Provides a consistent interface across the ROM, RAM, Flash memory and removable-media devices The file server runs as a process EFILE.EXE The client-side implementation classes supplied by EFSRV.DLL 3
4 As the file server contains the loader That loads executable files (DLLs and EXEs) from the data-caged \sys\bin directory The file server is part of the trusted computer base (TCB) More on Platform Security in a later lecture 4
5 Curriculum Objectives The Symbian OS File System Understand the role of the file server in the system Know the basic functionality offered by class RFs Recognize code which correctly opens a fileserver session (RFs) and a file subsession (RFile) and reads from and writes to the file Know the characteristics of the four RFile API methods which open a file Understand how TParse can be used to manipulate and query file names 5
6 The file server provides File Server Session Class The basic services that allow calling code to manipulate drives, directories and files In order to use the file server A caller must first create a file server session Represented by an instance of the RFs class The general pattern For connecting to the file server is using the RFS session To create and use an RFile subsession Then releasing both the session and subsession As demonstrated in the following code example 6
7 File Server Session Class Connect the session Closes fs if a leave occurs Create a file A subsession which represents a file, as below Closes file if a leave occurs Submit a read request using the subsession Clean up the RFile subsession and RFs session This calls RFile::Close() on file and RFs::Close on fs RFs fs; User::LeaveIfError(fs.Connect()); CleanupClosePushL(fs);... _LIT(KASDExampleIni, "c:\\asdexample.ini"); RFile file; User::LeaveIfError(file.Create(fs, KASDExampleIni, EFileRead EFileWrite EFileShareExclusive)); CleanupClosePushL(file); TBuf8<32> buf;... User::LeaveIfError(file.Read(buf));... CleanupStack::PopAndDestroy(2, &fs); 7
8 File Server Session Class The code example uses the cleanup stack To ensure that the resources associated with the open file server session and file subsession are leave-safe Note: If the sessions objects are members of a class It is not necessary to use the cleanup stack to protect them as the class destructor will ensure the session and subsession are closed If a file is not closed explicitly By using RFile::Close() It will be closed when the server session associated with it is closed But it is good practice to clean up any file handle when it is no longer required 8
9 File Server Session Class A connected RFs session Can be used to open any number of files or directories (as subsessions) Or to perform any other file-related operations A file server session Can be kept open for the lifetime of an application The RFs class Provides many useful file system-related operations Including the following... 9
10 The RFs class Delete() and Rename() Used to delete or rename the file specified Replace() Used to move a file to a different location MkDir(), MkDirAll(), RmDir() and Rename() Used to create, remove and rename the directories specified Att(), SetAtt(), Modified() and SetModified() Used to read and modify directory and file attributes Such as hidden, system or read-only flags 10
11 The RFs class NotifyChange() An asynchronous request for notification of changes to files, directories or directory entries NotifyChangeCancel() Used to cancel the outstanding request Drive(), SetDriveName(), Volume() and SetVolumeLabel() Used to manipulate drive and volume names ReadFileSection() Used to peek at file data without opening the file 11
12 The RFs class AddFileSystem(), MountFileSystem(), DismountFileSystem() and RemoveFileSystem() Used to dynamically add and remove file system plug-ins That extend the file server types Symbian OS can support Examples of potential file system plug-ins include Support for a remote file system over a network Encryption of file data before it is stored The plug-in file system modules Are implemented as polymorphic DLLs of targettype fsy 12
13 File Handle Class The RFile class Is a subsession of an RFs client session to the file server An RFile object Represents access to a named, individual file Providing functions to Open, create or replace the file Or to open a temporary file To read from and write to the file 13
14 The RFile Class RFile::Open() Used to open an existing file; an error is returned if it does not already exist RFile::Create() Used to create and open a new file An error - KErrAlreadyExists - is returned if the file already exists RFile::Replace() Creates a file if it does not yet exist Deletes an existing version of the file and replaces it with an empty one if it does exist RFile::Temp() Opens a new temporary file and assigns a unique name to it 14
15 File Handle Class A common pattern Is to call Open() to attempt to open an existing file Then call Create() if it does not yet exist For example When using a log file, an existing log file should not be replaced But simply have data appended to it: RFile logfile; TInt err=logfile.open(fssession,filename,sharemode); if (err==kerrnotfound) err=logfile.create(fssession,filename,sharemode); 15
16 File Handle Class When opening a file A bitmask of TFileMode values is passed Indicating the mode in which the file is to be used Such as for reading or writing The share mode Indicates whether other RFile objects can access the open file And whether this access is read-only i.e. files may be opened exclusively or shared For shared files A region may be locked using RFile::Lock() to claim temporary exclusive access to a region of the file Unlocked using RFile::Unlock() 16
17 File Handle Class When a file is already open for sharing It can only be opened by another program using the same share mode as the one in which it was originally opened For example To open a file as writable and shared with other clients: RFile file; _LIT(KFileName,"ASDExample.ini"); file.open(fssession,kfilename,efilewrite EFileShareAny); If another RFile object tries to open ASDExample.ini in EFileShareExclusive or EFileShareReadersOnly mode access is denied It can only be accessed in EFileShareAny mode Or through use of the RFs::ReadFileSection() method... 17
18 File Handle Class RFs::ReadFileSection() method Can read from a file without opening it Thus the contents of a file can never be truly locked Either through use of RFile::Open() methods with EFileShareExclusive flags Or by calling RFile::Lock() RFs::ReadFileSection() Is used by Apparc and the recognizer framework to determine the type of a file by rapid inspection of its contents. 18
19 File Handle Class The RFile::Write() methods Write data from a non-modifiable 8-bit descriptor object - const TDesC8& The RFile::Read() methods Read data into an 8-bit descriptor - TDes8& Both Read() and Write() methods Are available in synchronous and asynchronous forms Although Neither the asynchronous Read() nor the asynchronous Write() method can be cancelled 19
20 File Handle Class Open ASDExample.ini Write to the file Read from the file readbuf contains "Hello" _LIT(KASDExample,"c:\\ASDExample.ini"); RFile file; User::LeaveIfError(file.Open(fs, KASDExample, EFileShareExclusive EFileWrite)); _LIT8(KWriteData,"Hello ASD"); file.write(kwritedata); TBuf8<5> readbuf; file.read(readbuf); file.close(); 20
21 File Handle Class There are several variants of RFile::Read() and RFile::Write() There are overloads which allow The receiving descriptor length to be overridden The seek position of the first byte to be specified Asynchronous completion Or combinations of these In all cases 8-bit descriptors are used... 21
22 Use of 8-bit descriptors As a consequence Of using 8-bit descriptors RFile is not particularly well suited To reading or writing the rich variety of data types that may be found in a Symbian OS application This is not an accident! But a deliberate design decision to encourage the use of streams Which provide the necessary functionality and additional optimizations 22
23 File Name Manipulation Files on Symbian OS Are identified by a file name specification which may be up to 256 characters in length A file specification consists of: A device, or drive, such as c: A path such as \Document\Unfiled\ where the directory names are separated by backslashes (\) A file name An optional file name extension, separated from the file name by a period (.) 23
24 File Name Manipulation Symbian OS applications Do not normally rely on the extension to determine the file type They use one or more UIDs stored within the file To ensure that the file type matches the application Subject to the overall limitation of 256 characters A directory name, file name or extension may be of any length The RFs::IsValidName() method Returns a boolean value to indicate whether a path name is valid 24
25 File Name Manipulation The Symbian OS file system Supports up to 26 drives, from a: to z: On Symbian OS phones The z: drive is always reserved for the system ROM The c: drive is always an internal read write drive On some phones may have limited capacity Drives from d: onwards May be internal or may contain removable media It may not be possible to write to all such drives Many phones have one or more read-only drives in addition to z: That are used only by the system 25
26 File Name Manipulation The file system Preserves the case of file and directory names All operations on those names are case-independent This means that there cannot be two or more files in the same directory With names which differ only in the case of some of their letters. File names Are constructed and manipulated using the TParse class and its member functions For example, to set an instance of TParse to contain the file specification c: \Documents\Oandx\Oandx.dat: _LIT(KFileSpec, "c:\\documents\\oandx\\oandx.dat"); TParse filespec; filespec.set(kfilespec,null,null); 26
27 The TParse Class Following this code The TParse getter functions can be used to determine the various components of the file specification For example: filespec.drive(); // returns the string "c:" filespec.path(); // returns the string "\Documents\Oandx\" 27
28 The TParse Class TParse::Set() Takes three parameters The first parameter Is the file specification to be parsed The second and third parameters are pointers to two other TDesC descriptors, and either or both may be NULL The second parameter Is used to supply any missing components in the first file specification 28
29 The TParse Class The third parameter Should point to a default file specification From which any components not supplied by the first and second parameters will be taken Any path, file name or extension May contain the wildcard characters? or * Representing any single character or any character sequence 29
30 The TParse Class A TParse object owns an instance of TFileName Which is a TBuf16<256> Each character is 2 bytes in size The data buffer occupies 512 bytes This is a large object! Its use on the stack should be avoided where possible 30
31 Common Errors and Inefficiencies A common compile-time error Experienced by novice Symbian OS file system users occurs When attempting to use a 16-bit descriptor to read from or write To a file using an RFile handle. The RFile::Read() and RFile::Write() methods Take only 8-bit descriptors Meaning wide strings must first be converted Another common error Is the failure to make stack-based RFs or RFile objects leave-safe Through use of the cleanup stack 31
32 Common Errors and Inefficiencies Connections to the file server Can take a significant amount of time to set up RFs sessions should be passed between functions where possible Or stored and reused It is also possible to share RFile handles Within a single process Or between two processes Allowing an open file handle To be passed from one process to another Is a necessary feature in secure versions of Symbian OS 32
33 Common Errors and Inefficiencies File system access code Can also be made more efficient By remembering the implications of client server interaction Efficiency can be improved by minimizing the number of client server calls Transfer more data and thus make fewer file server requests For example It is more efficient to read once from a file into one large buffer Then access and manipulate this client-side Rather than make multiple read requests for smaller sections of a file 33
34 Common Errors and Inefficiencies Most file servers data-transfer clients Use the stream store or a relational database Which perform buffering automatically These components have optimized their use of the file server Callers that use these APIs rather than access the file server directly Gain efficiency automatically 34
35 Curriculum Objectives Streams and Stores Know the reasons why use of the stream APIs may be preferred over use of RFile Understand how to use the stream and store classes to manage large documents most efficiently Be able to recognize the Symbian OS store and stream classes and know the basic characteristics of each (for example base class, memory storage, persistence, modification, etc.) Understand how to use ExternalizeL() and operator << with RWriteStream to write an object to a stream, and InternalizeL() and operator >> with RReadStream to read it back Recognize that operators >> and << can leave 35
36 Streams A Symbian OS stream Is the external representation of one or more objects Externalization Is the process of writing an object s data to a stream Internalization The reverse process - reading an object s data from a stream The stream May reside in a variety of media Including stores, files or memory Streams provide an abstraction layer over the final persistent storage media. 36
37 Streams The external representation Of an object s data needs to be agnostic of the object s internal storage Such as byte order and data alignment It is meaningless to externalize a pointer It must be replaced in the external representation by the data to which it points 37
38 Streams The representation Of each item of data must also have an unambiguously defined length Special care is needed when externalizing data types such as TInt Whose internal representation may vary in size between different processors and/or C++ compilers 38
39 Streams Storing multiple data items That may come from more than one object In a single stream implies that they are placed in a specific order Internalization code Which restores the objects by reading from the stream Must therefore follow exactly the same order used to externalize them 39
40 Streams The concept of a stream Is implemented in two base classes RReadStream and RWriteStream With concrete classes derived from them to support streams that reside in specific media For example: RFileWriteStream and RFileReadStream Implement a stream that resides in a file RDesWriteStream and RDesReadStream Implement a memory-resident stream whose memory is identified by a descriptor 40
41 Streams The RReadStream and RWriteStream base classes Provide a variety of WriteXxxL() and ReadXxxL() functions That handle specific data types Ranging from 8-bit integers e.g. WriteInt8L() To 64-bit real numbers e.g. WriteReal64L() These functions are called When the << and >> operators are used on the built-in types To handle raw data The stream base classes also provide A range of WriteL() and ReadL() functions Including overloads to read and write 16-bit Unicode characters Rather than bytes 41
42 Streams The raw data functions Should be used with caution: 1. The raw data is written to the stream exactly as it appears in memory It must be in an implementation-agnostic format before calling WriteL() 2. A call to ReadL() Must read exactly the same amount of data as was written by the corresponding WriteL() call This can be ensured by writing the length immediately before the data Or terminating the data with a uniquely recognizable delimiter 3. There must be a way to acquire the maximum expected length of the data 4. The 16-bit WriteL() and ReadL() functions Do not provide standard Unicode compression and decompression 42
43 Streams - Externalize Example The following example Externalizes a TInt16 to a file named afilename Assumed not to exist before WriteToStreamFileL() is called void WriteToStreamFileL(RFs& afs, TDesC& afilename, TInt16* aint) { RFileWriteStream writer; writer.pushl(); // put writer on cleanup stack User::LeaveIfError(writer.Create(aFs, afilename, EFileWrite)); writer << *aint; writer.commitl(); writer.pop(); writer.release(); } 43
44 Streams - Externalize Example The only reference To the stream is on the stack and code following it can leave It is necessary to push the stream to the cleanup stack Using the stream s (not the cleanup stack s) PushL() function 44
45 Streams - Externalize Example Once the file has been created The data is externalized using operator << The the write stream s CommitL() function is then called To ensure that any buffered data is written to the stream The stream removed from the cleanup stack Using the stream s Pop() function Finally the stream is closed by calling Release() Which frees the resources it has been using 45
46 Streams A common pattern: Operator << is used to externalize the data Operator >> to internalize it Can be used for all built-in types Except those like TInt whose size is unspecified and compiler-dependent On Symbian OS A TInt is only specified to be at least 32 bits It may be longer! Thus externalizing it with operator << would produce an external representation of indefinite size So... The maximum length of the value Is used to select an appropriate internalization and externalization method 46
47 Streams For example If the value stored in a TInt can never exceed 16 bits RWriteStream::WriteInt16L() can be used to externalize it RReadStream::ReadInt16L() to internalize it: TInt i = 1234; writer.writeint16l(i);... TInt j = reader.readint16l();... // Cleanup etc 47
48 Streams Operators << and >> Can be used for any class that provides an implementation Of ExternalizeL() and InternalizeL() Which are prototyped as: class TAsdExample { public:... void ExternalizeL(RWriteStream& astream) const; void InternalizeL(RReadStream& astream);... } 48
49 For such a class Streams Externalization can use either: TAsdExample asd;... writer << asd; // writer is RFileWriteStream // initialized and leave-safe Or TAsdExample asd;... asd.externalizel(writer); // writer is RFileWriteStream // initialized and leave-safe Which are functionally equivalent Likewise for internalization using operator >> or InternalizeL() 49
50 Streams Note: Operators << and >> can leave As the resulting operations allocate resources Thus can fail if insufficient memory is available The operators must be used within a TRAP harness If they are called within a non-leaving function 50
51 Stores 51
52 Stores A Symbian OS store Is a collection of streams Generally used to implement the persistence of objects The abstract base class is CStreamStore Its API defines all the functionality needed to create and modify streams Used for all stores Classes derived from CStreamStore selectively implement the API according to their needs 52
53 Stores Stores can use a variety of different media including: Memory CBufStore A stream CEmbeddedStore And other stores e.g. CSecureStore - which allows an entire store to be encrypted and decrypted The most commonly used medium is a file 53
54 Stores An important distinction Between the different store types is whether or not they are persistent A persistent store Can be closed and re-opened and its content accessed The data in such a store continues after a program has closed it Even after the program itself has terminated A file-based store is persistent CBufStore is not persistent Since the store consists of in-memory data which will be lost when it is closed 54
55 Stores Store class hierarchy CStreamStore CBufStore CPersistentStore CSecureStore CEmbeddedStore CFileStore CDirectFileStore CPermanentFileStore Concrete classes are highlighted in bold text 55
56 Stores Logical view of a persistent store root stream 1 stream 1 stream 2 The persistence of a store is implemented in the CPersistentStore abstract class It defines a root stream which is always accessible on opening the store The root stream (1) contains a stream dictionary of pointers to the remaining streams Access to the rest of the data in the store is maintained 56
57 Stores The two file-based stores CDirectFileStore and CPermanentFileStore CPermanentFileStore allows the modification of streams after they have been written to the store CDirectFileStore does not allow modification after they have been written This difference results In the two stores being used to store persistent data for two different types of application Depending on whether the store or the application itself Is considered to contain the primary copy of the application s data... 57
58 Stores For an application such as a database The primary copy of the data is the database file itself The application holds in memory only a small number of records from the file Any modified data is written back to the file - replacing the original version Thus would use An instance of CPermanentFileStore With each record being stored in a separate stream 58
59 Stores Other applications Such as games which store level data hold all their data in memory load or save the data in its entirety Such applications can use a CDirectFileStore Since they never modify the store content but replace the whole store with an updated version 59
60 Creating a Persistent Store The following code Illustrates how to create a persistent store The example creates a direct file store But creating a permanent file store follows a similar pattern 60
61 Creating a Persistent Store void CreateDirectFileStoreL(RFs& afs, TDesC& afilename, TUid aappuid) { CFileStore* store = CDirectFileStore::ReplaceLC(aFs, afilename, EFileWrite); store->settypel(tuidtype(kdirectfilestorelayoutuid, KUidAppDllDoc, aappuid)); CStreamDictionary* dictionary = CStreamDictionary::NewLC(); RStoreWriteStream stream; TStreamId id = stream.createlc(*store); TInt16 i = 0x1234; stream << i; stream.commitl(); CleanupStack::PopAndDestroy(); // stream dictionary->assignl(aappuid,id); RStoreWriteStream rootstream; TStreamId rootid = rootstream.createlc(*store); rootstream << *dictionary; rootstream.commitl(); CleanupStack::PopAndDestroy(2); // rootstream, dictionary store->setrootl(rootid); store->commitl(); CleanupStack::PopAndDestroy(); // store } We will walk through line by line... 61
62 Creating a Persistent Store The call to ReplaceLC() Will create the file if it does not exist Otherwise it will replace any existing file The name of the ReplaceLC()method indicates that a reference to the store is left on the cleanup stack - to make it leave-safe In a real application - it may be more convenient to store the pointer in an object s member data Once created it is essential to set the store s type: store->settypel( TUidType(KDirectFileStoreLayoutUid, KUidAppDllDoc, aappuid)); 62
63 Creating a Persistent Store The three UIDs in the TUidType indicate The file contains a direct file store The store is a document associated with a Unicode application It is associated with the particular application whose UID is aappuid For the file store->settypel( TUidType(KDirectFileStoreLayoutUid, KUidAppDllDoc, aappuid)); To be recognized as containing a direct file store It is strictly necessary only to specify the first UID - KDirectFileStoreLayoutUid Leaving the other two as KNullUid Including the other two allows an application to be certain that it is opening the correct file 63
64 Creating a Persistent Store For comparison The following code creates a permanent file store: CFileStore* store = CPermanentFileStore::CreateLC(aFs, afilename, EFileWrite); store->settypel(tuidtype(kpermanentfilestorelayoutuid, KUidAppDllDoc, aappuid)); Note that the CreateLC() function is typically used Rather than ReplaceLC() since it is less usual to need to replace a permanent file store 64
65 Creating a Persistent Store Creating, writing and closing a stream Follow a similar pattern to that discussed above: RStoreWriteStream stream; TStreamId id = stream.createlc(*store); TInt16 i = 0x1234; stream << i; stream.commitl(); CleanupStack::PopAndDestroy(); The important difference is that an instance of RStoreWriteStream Rather than RFileWriteStream Must be used to write a stream to a store The CreateL() and CreateLC() functions return a TStreamId 65
66 Creating a Persistent Store Once writing the stream is complete The stream dictionary created earlier in the example Can be used to make an association between the stream ID and an externally known UID: dictionary->assignl(aappuid,id); Once all the data streams Have been written and added to the stream dictionary The stream dictionary itself must be stored... 66
67 Creating a Persistent Store This is done by creating a stream to contain it Then marking it in the store as the root stream: RStoreWriteStream rootstream; TStreamId rootid = rootstream.createlc(*store); rootstream << *dictionary; rootstream.commitl(); CleanupStack::PopAndDestroy(); // rootstream... store->setrootl(rootid); 67
68 Creating a Persistent Store All that remains Commit all the changes made to the store Then to free its resources by the calling the cleanup stack s PopAndDestroy() store->commitl(); CleanupStack::PopAndDestroy(); // store The store s destructor takes care of closing the file and freeing any other resources 68
69 Creating a Persistent Store If a permanent file store is created It can later be re-opened and new streams added Or existing streams replaced or deleted To ensure that the modifications Are made efficiently, replaced or deleted streams are not physically removed from the store Thus the store will increase in size with each such change To counteract this The stream store API includes functions to compact the store By removing replaced or deleted streams 69
70 Note It is important Not to lose a reference to any stream within the store This is analogous to a memory leak within an application Resulting in the presence of a stream that can never be accessed or removed Arguably Losing access to a stream is more serious than a memory leak As a persistent file store outlives the application that created it The stream store API contains a tool Whose central class is CStoreMap to assist with stream cleanup Not covered here please see SDK 70
71 Reading a Persistent Store The following code Opens and reads the direct file store created in the previous example: void ReadDirectFileStoreL(RFs& afs, TDesC& afilename, TUid aappuid) { CFileStore* store = CDirectFileStore::OpenLC(aFs, afilename, EFileRead); CStreamDictionary* dictionary = CStreamDictionary::NewLC(); RStoreReadStream rootstream; rootstream.openlc(*store, store->root()); rootstream >> *dictionary; CleanupStack::PopAndDestroy(); // rootstream TStreamId id = dictionary->at(aappuid); CleanupStack::PopAndDestroy(); // dictionary RStoreReadStream stream; stream.openlc(*store, id); TInt16 j; stream >> j; CleanupStack::PopAndDestroy(2); // stream, store } 71
72 Reading a Persistent Store After opening the file store For reading, and creating a stream dictionary The code opens the root stream by calling RStoreReadStream::OpenLC() Passing in the TStreamId associated with root stream Which can be acquired from the store using store->root() 72
73 Reading a Persistent Store Once the root stream is opened Its content can be internalized to the stream dictionary Using the dictionary s At() function The dictionary is then used to extract the IDs of the other streams in the store Each stream can then be opened individually and internalized As appropriate for the application concerned 73
74 Embedded Stores A store May contain an arbitrarily complex network of streams Any stream may contain another stream by including its ID A stream may itself contain an embedded store It may be useful To store a collection of streams in an embedded store From the outside - the embedded store appears as a single stream Can be copied or deleted as a whole without the need to consider its internal complexities 74
75 Embedded Stores An embedded store cannot be modified Thus behaves like a direct file store Which means that a permanent file store cannot be embedded 75
76 Embedded Stores Embedded File Store 76
77 Swizzles Stores can be used to manage complex data relationships Such as that in a large document which may embed other documents within itself An efficient way to manage memory in cases like this Is to use a class which maintains a dual representation of the data Defer loading it into memory from a store until required to do so 77
78 Swizzles The templated swizzle classes CSwizzleC<class T> and CSwizzle<class T> Can be used to represent an object Either by: Stream ID the stream contains the external representation of that object Pointer - if the object is in memory 78
79 Swizzles Externalizing a swizzle is a two-stage process which involves: Externalizing the in-memory object which the swizzle represents - to its own stream Externalizing the resulting stream ID A typical container-type object Does not hold a pointer directly to a contained object But owns a swizzle object which can represent the contained object Either as a pointer or as a stream ID 79
80 Curriculum Check List The Symbian OS File System Streams and Stores 80
Windows NT File System. Outline. Hardware Basics. Ausgewählte Betriebssysteme Institut Betriebssysteme Fakultät Informatik
Windows Ausgewählte Betriebssysteme Institut Betriebssysteme Fakultät Informatik Outline NTFS File System Formats File System Driver Architecture Advanced Features NTFS Driver On-Disk Structure (MFT,...)
Outline. Windows NT File System. Hardware Basics. Win2K File System Formats. NTFS Cluster Sizes NTFS
Windows Ausgewählte Betriebssysteme Institut Betriebssysteme Fakultät Informatik 2 Hardware Basics Win2K File System Formats Sector: addressable block on storage medium usually 512 bytes (x86 disks) Cluster:
About the File Manager 2
This chapter describes how your application can use the to store and access data in files or to manipulate files, directories, and volumes. It also provides a complete description of all routines, data
Operating Systems and Networks
recap Operating Systems and Networks How OS manages multiple tasks Virtual memory Brief Linux demo Lecture 04: Introduction to OS-part 3 Behzad Bordbar 47 48 Contents Dual mode API to wrap system calls
FTP Client Engine Library for Visual dbase. Programmer's Manual
FTP Client Engine Library for Visual dbase Programmer's Manual (FCE4DB) Version 3.3 May 6, 2014 This software is provided as-is. There are no warranties, expressed or implied. MarshallSoft Computing, Inc.
Acronis Backup & Recovery: Events in Application Event Log of Windows http://kb.acronis.com/content/38327
Acronis Backup & Recovery: Events in Application Event Log of Windows http://kb.acronis.com/content/38327 Mod ule_i D Error _Cod e Error Description 1 1 PROCESSOR_NULLREF_ERROR 1 100 ERROR_PARSE_PAIR Failed
PCI-SIG ENGINEERING CHANGE REQUEST
PCI-SIG ENGINEERING CHANGE REQUEST TITLE: Update DMTF SM CLP Specification References DATE: 8/2009 AFFECTED DOCUMENT: PCIFW30_CLP_1_0_071906.pdf SPONSOR: Austin Bolen, Dell Inc. Part I 1. Summary of the
Chapter 3: Operating-System Structures. System Components Operating System Services System Calls System Programs System Structure Virtual Machines
Chapter 3: Operating-System Structures System Components Operating System Services System Calls System Programs System Structure Virtual Machines Operating System Concepts 3.1 Common System Components
ANDROID APPS DEVELOPMENT FOR MOBILE GAME
ANDROID APPS DEVELOPMENT FOR MOBILE GAME Lecture 7: Data Storage and Web Services Overview Android provides several options for you to save persistent application data. Storage Option Shared Preferences
Chapter 13 File and Database Systems
Chapter 13 File and Database Systems Outline 13.1 Introduction 13.2 Data Hierarchy 13.3 Files 13.4 File Systems 13.4.1 Directories 13.4. Metadata 13.4. Mounting 13.5 File Organization 13.6 File Allocation
Chapter 13 File and Database Systems
Chapter 13 File and Database Systems Outline 13.1 Introduction 13.2 Data Hierarchy 13.3 Files 13.4 File Systems 13.4.1 Directories 13.4. Metadata 13.4. Mounting 13.5 File Organization 13.6 File Allocation
winhex Disk Editor, RAM Editor PRESENTED BY: OMAR ZYADAT and LOAI HATTAR
winhex Disk Editor, RAM Editor PRESENTED BY: OMAR ZYADAT and LOAI HATTAR Supervised by : Dr. Lo'ai Tawalbeh New York Institute of Technology (NYIT)-Jordan X-Ways Software Technology AG is a stock corporation
C# Cookbook. Stephen Teilhet andjay Hilyard. O'REILLY 8 Beijing Cambridge Farnham Köln Paris Sebastopol Taipei Tokyo '"J""'
C# Cookbook '"J""' Stephen Teilhet andjay Hilyard O'REILLY 8 Beijing Cambridge Farnham Köln Paris Sebastopol Taipei Tokyo Tableof Contents Preface xv 1. Numbers 1 1.1 Determining Approximate Equality Between
Raima Database Manager Version 14.0 In-memory Database Engine
+ Raima Database Manager Version 14.0 In-memory Database Engine By Jeffrey R. Parsons, Senior Engineer January 2016 Abstract Raima Database Manager (RDM) v14.0 contains an all new data storage engine optimized
File System Management
Lecture 7: Storage Management File System Management Contents Non volatile memory Tape, HDD, SSD Files & File System Interface Directories & their Organization File System Implementation Disk Space Allocation
MA-WA1920: Enterprise iphone and ipad Programming
MA-WA1920: Enterprise iphone and ipad Programming Description This 5 day iphone training course teaches application development for the ios platform. It covers iphone, ipad and ipod Touch devices. This
µtasker Document FTP Client
Embedding it better... µtasker Document FTP Client utaskerftp_client.doc/1.01 Copyright 2012 M.J.Butcher Consulting Table of Contents 1. Introduction...3 2. FTP Log-In...4 3. FTP Operation Modes...4 4.
Gladinet Cloud Backup V3.0 User Guide
Gladinet Cloud Backup V3.0 User Guide Foreword The Gladinet User Guide gives step-by-step instructions for end users. Revision History Gladinet User Guide Date Description Version 8/20/2010 Draft Gladinet
The HTTP Plug-in. Table of contents
Table of contents 1 What's it for?... 2 2 Controlling the HTTPPlugin... 2 2.1 Levels of Control... 2 2.2 Importing the HTTPPluginControl...3 2.3 Setting HTTPClient Authorization Module... 3 2.4 Setting
E-mail Listeners. E-mail Formats. Free Form. Formatted
E-mail Listeners 6 E-mail Formats You use the E-mail Listeners application to receive and process Service Requests and other types of tickets through e-mail in the form of e-mail messages. Using E- mail
About this release. McAfee Application Control and Change Control 6.1.1. Addendum. Content change tracking. Configure content change tracking rule
Addendum McAfee Application Control and Change Control 6.1.1 About this release For use with epolicy Orchestrator 4.6 5.0 Software This document is an addendum to the McAfee Change Control and Application
Glossary of Object Oriented Terms
Appendix E Glossary of Object Oriented Terms abstract class: A class primarily intended to define an instance, but can not be instantiated without additional methods. abstract data type: An abstraction
The Win32 Network Management APIs
The Win32 Network Management APIs What do we have in this session? Intro Run-Time Requirements What's New in Network Management? Windows 7 Windows Server 2003 Windows XP Network Management Function Groups
What is new in Switch 12
What is new in Switch 12 New features and functionality: Remote Designer From this version onwards, you are no longer obliged to use the Switch Designer on your Switch Server. Now that we implemented the
Chapter 6, The Operating System Machine Level
Chapter 6, The Operating System Machine Level 6.1 Virtual Memory 6.2 Virtual I/O Instructions 6.3 Virtual Instructions For Parallel Processing 6.4 Example Operating Systems 6.5 Summary Virtual Memory General
Cache Configuration Reference
Sitecore CMS 6.2 Cache Configuration Reference Rev: 2009-11-20 Sitecore CMS 6.2 Cache Configuration Reference Tips and Techniques for Administrators and Developers Table of Contents Chapter 1 Introduction...
Version of this tutorial: 1.06a (this tutorial will going to evolve with versions of NWNX4)
Version of this tutorial: 1.06a (this tutorial will going to evolve with versions of NWNX4) The purpose of this document is to help a beginner to install all the elements necessary to use NWNX4. Throughout
SkyRecon Cryptographic Module (SCM)
SkyRecon Cryptographic Module (SCM) FIPS 140-2 Documentation: Security Policy Abstract This document specifies the security policy for the SkyRecon Cryptographic Module (SCM) as described in FIPS PUB 140-2.
1. Product Information
ORIXCLOUD BACKUP CLIENT USER MANUAL LINUX 1. Product Information Product: Orixcloud Backup Client for Linux Version: 4.1.7 1.1 System Requirements Linux (RedHat, SuSE, Debian and Debian based systems such
Online Backup Client User Manual Linux
Online Backup Client User Manual Linux 1. Product Information Product: Online Backup Client for Linux Version: 4.1.7 1.1 System Requirements Operating System Linux (RedHat, SuSE, Debian and Debian based
System Security Fundamentals
System Security Fundamentals Alessandro Barenghi Dipartimento di Elettronica, Informazione e Bioingegneria Politecnico di Milano alessandro.barenghi - at - polimi.it April 28, 2015 Lesson contents Overview
PTC Integrity Eclipse and IBM Rational Development Platform Guide
PTC Integrity Eclipse and IBM Rational Development Platform Guide The PTC Integrity integration with Eclipse Platform and the IBM Rational Software Development Platform series allows you to access Integrity
2- Electronic Mail (SMTP), File Transfer (FTP), & Remote Logging (TELNET)
2- Electronic Mail (SMTP), File Transfer (FTP), & Remote Logging (TELNET) There are three popular applications for exchanging information. Electronic mail exchanges information between people and file
Example of Standard API
16 Example of Standard API System Call Implementation Typically, a number associated with each system call System call interface maintains a table indexed according to these numbers The system call interface
4D Plugin SDK v11. Another minor change, real values on 10 bytes is no longer supported.
4D Plugin SDK v11 4D Plugin API 4D Plugin API v11 is a major upgrade of 4D Plugin API. The two major modifications are that it is now fully Unicode compliant, and that it gives support to the new 4D pictures.
create-virtual-server creates the named virtual server
Name Synopsis Description Options create-virtual-server creates the named virtual server create-virtual-server [--help] --hosts hosts [--httplisteners http-listeners] [--networklisteners network-listeners]
Chapter 3: Operating-System Structures. Common System Components
Chapter 3: Operating-System Structures System Components Operating System Services System Calls System Programs System Structure Virtual Machines System Design and Implementation System Generation 3.1
Dell InTrust 11.0. Preparing for Auditing Microsoft SQL Server
2014 Dell Inc. ALL RIGHTS RESERVED. This guide contains proprietary information protected by copyright. The software described in this guide is furnished under a software license or nondisclosure agreement.
alternative solutions, including: STRONG SECURITY for managing these security concerns. PLATFORM CHOICE LOW TOTAL COST OF OWNERSHIP
9.0 Welcome to FirstClass 9.0, the latest and most powerful version of the one of the industry s leading solutions for communication, collaboration, content management, and online networking. This document
CS3600 SYSTEMS AND NETWORKS
CS3600 SYSTEMS AND NETWORKS NORTHEASTERN UNIVERSITY Lecture 2: Operating System Structures Prof. Alan Mislove ([email protected]) Operating System Services Operating systems provide an environment for
Navigating Endpoint Encryption Technologies
Navigating Endpoint Encryption Technologies Whitepaper November 2010 THIS WHITE PAPER IS FOR INFORMATIONAL PURPOSES ONLY, AND MAY CONTAIN TYPOGRAPHICAL ERRORS AND TECHNICAL INACCURACIES. THE CONTENT IS
What is a database? COSC 304 Introduction to Database Systems. Database Introduction. Example Problem. Databases in the Real-World
COSC 304 Introduction to Systems Introduction Dr. Ramon Lawrence University of British Columbia Okanagan [email protected] What is a database? A database is a collection of logically related data for
RecoveryVault Express Client User Manual
For Linux distributions Software version 4.1.7 Version 2.0 Disclaimer This document is compiled with the greatest possible care. However, errors might have been introduced caused by human mistakes or by
TZWorks Windows Event Log Viewer (evtx_view) Users Guide
TZWorks Windows Event Log Viewer (evtx_view) Users Guide Abstract evtx_view is a standalone, GUI tool used to extract and parse Event Logs and display their internals. The tool allows one to export all
Java Interview Questions and Answers
1. What is the most important feature of Java? Java is a platform independent language. 2. What do you mean by platform independence? Platform independence means that we can write and compile the java
Online Backup Linux Client User Manual
Online Backup Linux Client User Manual Software version 4.0.x For Linux distributions August 2011 Version 1.0 Disclaimer This document is compiled with the greatest possible care. However, errors might
Zen Internet. Online Data Backup. Zen Vault Express for Windows. Issue: 2.0.08
Zen Internet Online Data Backup Zen Vault Express for Windows Issue: 2.0.08 Contents 1 Introduction... 3 1.1 System Requirements... 3 2 Installation... 5 2.1 The Setup WIzard... 5 3 The Backup Service...
æ A collection of interrelated and persistent data èusually referred to as the database èdbèè.
CMPT-354-Han-95.3 Lecture Notes September 10, 1995 Chapter 1 Introduction 1.0 Database Management Systems 1. A database management system èdbmsè, or simply a database system èdbsè, consists of æ A collection
Online Backup Client User Manual
For Linux distributions Software version 4.1.7 Version 2.0 Disclaimer This document is compiled with the greatest possible care. However, errors might have been introduced caused by human mistakes or by
KITES TECHNOLOGY COURSE MODULE (C, C++, DS)
KITES TECHNOLOGY 360 Degree Solution www.kitestechnology.com/academy.php [email protected] [email protected] Contact: - 8961334776 9433759247 9830639522.NET JAVA WEB DESIGN PHP SQL, PL/SQL
IBM Tivoli Storage Manager Version 7.1. Client Messages and Application Programming Interface Return Codes
IBM Tivoli Storage Manager Version 7.1 Client Messages and Application Programming Interface Return Codes IBM Tivoli Storage Manager Version 7.1 Client Messages and Application Programming Interface Return
Buffer Management 5. Buffer Management
5 Buffer Management Copyright 2004, Binnur Kurt A journey of a byte Buffer Management Content 156 A journey of a byte Suppose in our program we wrote: outfile
Survey of Filesystems for Embedded Linux. Presented by Gene Sally CELF
Survey of Filesystems for Embedded Linux Presented by Gene Sally CELF Presentation Filesystems In Summary What is a filesystem Kernel and User space filesystems Picking a root filesystem Filesystem Round-up
Auditing a Web Application. Brad Ruppert. SANS Technology Institute GWAS Presentation 1
Auditing a Web Application Brad Ruppert SANS Technology Institute GWAS Presentation 1 Objectives Define why application vulnerabilities exist Address Auditing Approach Discuss Information Interfaces Walk
Appendix. Web Command Error Codes. Web Command Error Codes
Appendix Web Command s Error codes marked with * are received in responses from the FTP server, and then returned as the result of FTP command execution. -501 Incorrect parameter type -502 Error getting
Distributed File Systems. NFS Architecture (1)
COP 6611 Advanced Operating System Distributed File Systems Chi Zhang [email protected] NFS Architecture (1) a) The remote access model. (like NFS) b) The upload/download model (like FTP) 2 1 NFS Architecture
Python for Series 60 Platform
F O R U M N O K I A Getting Started with Python for Series 60 Platform Version 1.2; September 28, 2005 Python for Series 60 Platform Copyright 2005 Nokia Corporation. All rights reserved. Nokia and Nokia
Distributed File Systems
Distributed File Systems Paul Krzyzanowski Rutgers University October 28, 2012 1 Introduction The classic network file systems we examined, NFS, CIFS, AFS, Coda, were designed as client-server applications.
Integrating VoltDB with Hadoop
The NewSQL database you ll never outgrow Integrating with Hadoop Hadoop is an open source framework for managing and manipulating massive volumes of data. is an database for handling high velocity data.
Lesson Objectives. To provide a grand tour of the major operating systems components To provide coverage of basic computer system organization
Lesson Objectives To provide a grand tour of the major operating systems components To provide coverage of basic computer system organization AE3B33OSD Lesson 1 / Page 2 What is an Operating System? A
EMC Documentum Repository Services for Microsoft SharePoint
EMC Documentum Repository Services for Microsoft SharePoint Version 6.5 SP2 Installation Guide P/N 300 009 829 A01 EMC Corporation Corporate Headquarters: Hopkinton, MA 01748 9103 1 508 435 1000 www.emc.com
IceWarp to IceWarp Server Migration
IceWarp to IceWarp Server Migration Registered Trademarks iphone, ipad, Mac, OS X are trademarks of Apple Inc., registered in the U.S. and other countries. Microsoft, Windows, Outlook and Windows Phone
JBackpack Manual. Version 0.9.3. Abstract
JBackpack Manual JBackpack Manual Version 0.9.3 Abstract JBackpack is a personal backup program. It features incremental backups, network transparency and encryption. Table of Contents 1. Overview... 1
HP IMC Firewall Manager
HP IMC Firewall Manager Configuration Guide Part number: 5998-2267 Document version: 6PW102-20120420 Legal and notice information Copyright 2012 Hewlett-Packard Development Company, L.P. No part of this
Enterprise Remote Control 5.6 Manual
Enterprise Remote Control 5.6 Manual Solutions for Network Administrators Copyright 2015, IntelliAdmin, LLC Revision 3/26/2015 http://www.intelliadmin.com Page 1 Table of Contents What is Enterprise Remote
Storage Class Memory Support in the Windows Operating System Neal Christiansen Principal Development Lead Microsoft nealch@microsoft.
Storage Class Memory Support in the Windows Operating System Neal Christiansen Principal Development Lead Microsoft [email protected] What is Storage Class Memory? Paradigm Shift: A non-volatile storage
CS 2112 Spring 2014. 0 Instructions. Assignment 3 Data Structures and Web Filtering. 0.1 Grading. 0.2 Partners. 0.3 Restrictions
CS 2112 Spring 2014 Assignment 3 Data Structures and Web Filtering Due: March 4, 2014 11:59 PM Implementing spam blacklists and web filters requires matching candidate domain names and URLs very rapidly
System Calls and Standard I/O
System Calls and Standard I/O Professor Jennifer Rexford http://www.cs.princeton.edu/~jrex 1 Goals of Today s Class System calls o How a user process contacts the Operating System o For advanced services
Lab 2 : Basic File Server. Introduction
Lab 2 : Basic File Server Introduction In this lab, you will start your file system implementation by getting the following FUSE operations to work: CREATE/MKNOD, LOOKUP, and READDIR SETATTR, WRITE and
Hypertable Architecture Overview
WHITE PAPER - MARCH 2012 Hypertable Architecture Overview Hypertable is an open source, scalable NoSQL database modeled after Bigtable, Google s proprietary scalable database. It is written in C++ for
Access Control and Audit Trail Software
Varian, Inc. 2700 Mitchell Drive Walnut Creek, CA 94598-1675/USA Access Control and Audit Trail Software Operation Manual Varian, Inc. 2002 03-914941-00:3 Table of Contents Introduction... 1 Access Control
Virtuozzo Virtualization SDK
Virtuozzo Virtualization SDK Programmer's Guide February 18, 2016 Copyright 1999-2016 Parallels IP Holdings GmbH and its affiliates. All rights reserved. Parallels IP Holdings GmbH Vordergasse 59 8200
Phoenix Technologies Ltd.
PC Division Desktop Product Line Subject: Standard BIOS 32-bit Service Directory Proposal Revision: 0.4 Revision Date: June 22, 1993 Document ID: Author: ATBIOS Thomas C. Block Origin Date: May 24, 1993
Lenovo Online Data Backup User Guide Version 1.8.14
Lenovo Online Data Backup User Guide Version 1.8.14 Contents Chapter 1: Installing Lenovo Online Data Backup...5 Downloading the Lenovo Online Data Backup Client...5 Installing the Lenovo Online Data
Object Oriented Database Management System for Decision Support System.
International Refereed Journal of Engineering and Science (IRJES) ISSN (Online) 2319-183X, (Print) 2319-1821 Volume 3, Issue 6 (June 2014), PP.55-59 Object Oriented Database Management System for Decision
Tutorial on Socket Programming
Tutorial on Socket Programming Computer Networks - CSC 458 Department of Computer Science Seyed Hossein Mortazavi (Slides are mainly from Monia Ghobadi, and Amin Tootoonchian, ) 1 Outline Client- server
Managed File Transfer with Universal File Mover
Managed File Transfer with Universal File Mover Roger Lacroix [email protected] http://www.capitalware.com Universal File Mover Overview Universal File Mover (UFM) allows the user to combine
COMMONWEALTH OF PENNSYLVANIA DEPARTMENT S OF PUBLIC WELFARE, INSURANCE, AND AGING
COMMONWEALTH OF PENNSYLVANIA DEPARTMENT S OF PUBLIC WELFARE, INSURANCE, AND AGING INFORMATION TECHNOLOGY STANDARD Name Of Standard: Defect Management and Reporting Domain: Application Domain Date Issued:
Configuring and Monitoring Hitachi SAN Servers
Configuring and Monitoring Hitachi SAN Servers eg Enterprise v5.6 Restricted Rights Legend The information contained in this document is confidential and subject to change without notice. No part of this
Chapter 12 File Management
Operating Systems: Internals and Design Principles, 6/E William Stallings Chapter 12 File Management Dave Bremer Otago Polytechnic, N.Z. 2008, Prentice Hall Roadmap Overview File organisation and Access
Chapter 12 File Management. Roadmap
Operating Systems: Internals and Design Principles, 6/E William Stallings Chapter 12 File Management Dave Bremer Otago Polytechnic, N.Z. 2008, Prentice Hall Overview Roadmap File organisation and Access
SimpleFTP. User s Guide. On-Core Software, LLC. 893 Sycamore Ave. Tinton Falls, NJ 07724 United States of America
SimpleFTP User s Guide On-Core Software, LLC. 893 Sycamore Ave. Tinton Falls, NJ 07724 United States of America Website: http://www.on-core.com Technical Support: [email protected] Information: [email protected]
Monitoring PostgreSQL database with Verax NMS
Monitoring PostgreSQL database with Verax NMS Table of contents Abstract... 3 1. Adding PostgreSQL database to device inventory... 4 2. Adding sensors for PostgreSQL database... 7 3. Adding performance
Configuring Backup Settings. Copyright 2009, Oracle. All rights reserved.
Configuring Backup Settings Objectives After completing this lesson, you should be able to: Use Enterprise Manager to configure backup settings Enable control file autobackup Configure backup destinations
How to Encrypt your Windows 7 SDS Machine with Bitlocker
How to Encrypt your Windows 7 SDS Machine with Bitlocker ************************************ IMPORTANT ******************************************* Before encrypting your SDS Windows 7 Machine it is highly
File Management. Chapter 12
Chapter 12 File Management File is the basic element of most of the applications, since the input to an application, as well as its output, is usually a file. They also typically outlive the execution
White Paper. Security Model. Sage ACT! maximizes flexibility and provides options for securing data. Table of Contents
White Paper Sage ACT! maximizes flexibility and provides options for securing data Table of Contents Introduction... 4 Sage ACT! Security Overview... 4 User Roles... 4 Types of Security in Sage ACT!...
We mean.network File System
We mean.network File System Introduction: Remote File-systems When networking became widely available users wanting to share files had to log in across the net to a central machine This central machine
Lecture 25 Symbian OS
CS 423 Operating Systems Design Lecture 25 Symbian OS Klara Nahrstedt Fall 2011 Based on slides from Andrew S. Tanenbaum textbook and other web-material (see acknowledgements) cs423 Fall 2011 1 Overview
Physical Data Organization
Physical Data Organization Database design using logical model of the database - appropriate level for users to focus on - user independence from implementation details Performance - other major factor
Secure Web Application Coding Team Introductory Meeting December 1, 2005 1:00 2:00PM Bits & Pieces Room, Sansom West Room 306 Agenda
Secure Web Application Coding Team Introductory Meeting December 1, 2005 1:00 2:00PM Bits & Pieces Room, Sansom West Room 306 Agenda 1. Introductions for new members (5 minutes) 2. Name of group 3. Current
Kofax Export Connector 8.3.0 for Microsoft SharePoint
Kofax Export Connector 8.3.0 for Microsoft SharePoint Administrator's Guide 2013-02-27 2013 Kofax, Inc., 15211 Laguna Canyon Road, Irvine, California 92618, U.S.A. All rights reserved. Use is subject to
What is new in syslog-ng Premium Edition 4 F1
What is new in syslog-ng Premium Edition 4 F1 August 26, 2011 Copyright 1996-2011 BalaBit IT Security Ltd. Table of Contents 1. Preface... 3 2. New module architecture... 4 3. Multithreading, scaling,
Developing an ODBC C++ Client with MySQL Database
Developing an ODBC C++ Client with MySQL Database Author: Rajinder Yadav Date: Aug 21, 2007 Web: http://devmentor.org Email: [email protected] Assumptions I am going to assume you already know how
Input Output. 9.1 Why an IO Module is Needed? Chapter 9
Chapter 9 Input Output In general most of the finite element applications have to communicate with pre and post processors,except in some special cases in which the application generates its own input.
Operating System Structures
COP 4610: Introduction to Operating Systems (Spring 2015) Operating System Structures Zhi Wang Florida State University Content Operating system services User interface System calls System programs Operating
TEL2821/IS2150: INTRODUCTION TO SECURITY Lab: Operating Systems and Access Control
TEL2821/IS2150: INTRODUCTION TO SECURITY Lab: Operating Systems and Access Control Version 3.4, Last Edited 9/10/2011 Students Name: Date of Experiment: Read the following guidelines before working in
Microsoft Visual Studio Integration Guide
Microsoft Visual Studio Integration Guide MKS provides a number of integrations for Integrated Development Environments (IDEs). IDE integrations allow you to access MKS Integrity s workflow and configuration
Job Reference Guide. SLAMD Distributed Load Generation Engine. Version 1.8.2
Job Reference Guide SLAMD Distributed Load Generation Engine Version 1.8.2 June 2004 Contents 1. Introduction...3 2. The Utility Jobs...4 3. The LDAP Search Jobs...11 4. The LDAP Authentication Jobs...22
