Configuring and Using Shared Memory from a National Instruments VXI//VME Bus Controller

Size: px
Start display at page:

Download "Configuring and Using Shared Memory from a National Instruments VXI//VME Bus Controller"

Transcription

1 Application Note 158 Configuring and Using Shared Memory from a National Instruments VXI//VME Bus Controller Introduction Paul Mueller, Vijay Malhotra This application note discusses configuring and using shared memory in your VXI or VME instrumentation systems and includes code examples and troubleshooting tips. Shared, or dual-ported memory, physically resides on the host VXI/VME controller but can be accessed by different bus masters on the VXI or VME bus. By using shared memory located on your National Instruments VXI/VME controller, you can avoid purchasing expensive dedicated instrument memory modules to store data generated during acquisition, analysis, or waveform generation. There are two options for sharing memory from National Instruments series of VXI/VME controllers: 1. Installing dedicated SIMMs 2. Sharing host memory Both of these will be discussed in separate sections of this application note. Installing Dedicated SIMMs Using this option, you install SIMMs onto a VXI/VME controller and transparently use this memory as if it resided on a VXI/VME device. Once you have configured the controller, the VXI resource manager automatically allocates this memory onto the VXI/VME backplane so that the other VXI/VME instruments in the system can access it. This option is available on the PCI-MXI-2, VXI-MXI-2, VME-MXI-2, VXI-1394 and VXI-1394/G. Note that this option is not available on any embedded VXI/VME controller the Sharing Host Memory section discusses configuring shared memory on an embedded controller. Installing SIMMs onto your VXI/VME controller may require that you modify some jumper/dip switch settings please consult the documentation that was supplied with your controller for more information on this. Once you have installed the SIMMs, you will also need to configure NI-VXI/NI-VISA (the driver level software supplied with all National Instruments VXI/VME controllers) to use this shared memory. Test and Measurement Explorer is used to configure the PCI-MXI-2, VXI-MXI-2, VME-MXI-2, VXI-1394 and VXI-1394/G interfaces on Win 32 platforms (Win 95, Win 98 and Win NT). VXIedit or VXItedit is used on other platforms and for other controllers. Several parameters need to be set in order to use the SIMMs as shared memory. First, the Address Space parameter needs to be set to specify the address space to allocate the memory in (A24 or A32). Up to 16 MB of memory can be addressed in A24 space whereas up to 4 GB can be addressed in A32 space. Note that you can dual port only up to 8 MB in A24 space and up 2 GB in A32 space. Next, you must specify the amount of memory that is to be shared normally this would the same as the amount of RAM installed in the form of SIMMs. Figure 1 shows a PCI-MXI-2 configured to share 8 MB of memory. ni.com and National Instruments are trademarks of National Instruments Corporation. Product and company names mentioned herein are trademarks or trade names of their respective companies A-01 Copyright 2000 National Instruments Corporation. All rights reserved. May 2000

2 Figure 1. 8 MB SIMM Configured in PCI-MXI-2 The VXI resource manager will allocate 8 MB of memory for the PCI-MXI-2 board in the A32 address space in the example shown. This memory will be allocated into two different half windows. You can select the byte order and mapping scheme for each of the half windows independently by setting the advanced options as shown in Figure 2 below. To use the SIMMs, you must set either or both half windows to Onboard memory. You will typically select the same Memory Select option for both half windows. Figure 2. Configuring the Shared Memory Windows Application Note

3 Note You should avoid writing to the first 4 KB of memory allocated by the resource manager because it stores EEPROM configuration settings for the MITE chip. This region is used by all MITE-based VXI/VME controllers. Advanced Configuration Options You can bypass this 4 KB limitation if you configure the shared RAM size to be twice the amount of memory that you actually installed. Consider a VME-MXI-2 with two 32 MB SIMMs installed (for a total of 64 MB) that is allocated in the A32 address space starting at offset 0x Normally, the first 4 KB is reserved for the MITE chip and should be avoided. By setting the shared RAM size to 128 MB (twice the amount installed), you bypass this limitation by accessing the RAM at address = Requested Memory Size/2 + offset. As shown in Figure 3 below, the RAM is mapped to the VXI/VME address space at two different locations. All accesses that start at the address 0x are automatically mapped one-for-one to the installed SIMM while the lower half of the window still has the lower 4 KB reserved for the EEPROM. With this configuration, merely access the RAM at the address = Requested Mem Size/2 + offset. Figure 3. Onboard RAM on the VXI/VME-MXI-2 Mapped to the VXI/VME Bus Sharing Host Memory Another option for setting up shared memory is to dual port RAM installed on the host so that it is mapped onto the VXI/VME bus. With this option, you map up to 4 GB of memory (the maximum that can be addressed by a 32 bit address space) onto the VXI/VME bus. You can use this option by itself, or in conjunction with the option of installing dedicated SIMMs (on controllers that offer both options). National Instruments Corporation 3 Application Note 158

4 Sharing host memory involves using memory that would normally be used for the operating system and for running applications and allocating this memory onto the VXI/VME bus. As such, configuring the host memory so that it can be accessed by VXI/VME bus master involves two steps. 1. Configuring the VXI driver to reserve a block of memory from the operating system. 2. Programming the operating system to allocate the local buffer. Configuring the VXI Driver to Reserve a Block of Memory from the Operating System Test and Measurement Explorer is used to configure PCI-MXI-2 or embedded controller platforms on Win 32 platforms (Win 95, Win 98 and Win NT). VXIedit or VXItedit is used on other operating systems 1. Several parameters need to be set in order to dual port the system memory. First, the Address Space parameter needs to be set to specify the address space to allocate the memory in (A24 or A32). Next, you must specify the Shared RAM size (also referred to as VXI Shared RAM size), which is the amount of memory that will be dual ported onto the VXI/VME bus. Note that only some of this memory is protected from the operating system and that it is possible for a VXI/VME bus master device to overwrite the contents of system memory if you are not careful to avoid regions outside those allocated in your applications. The Reserve Physical Memory (also referred to as Shared RAM Pool Size) parameter indicates the size of physically contiguous memory that is allocated on system startup. This memory is protected from the operating system and cannot be used by any applications. The amount of memory that you reserve sets an upper limit to the amount of memory that can safely be allocated on the VXI/VME bus as is discussed in the Allocating Shared Memory section of this application note. Figure 4 below shows a PCI-MXI-2 configured to dual port 8 MB of memory. 1 MB, which is reserved from the OS at startup, is the maximum amount of memory that can safely be allocated by your program. Figure 4. PCI-MXI-2 Configured to Dual Port up to 8 MB of System Memory 1. Sharing host memory is not an option for NI-VXI on HP-UX systems. Application Note

5 Finally, we need to discuss the settings found in the Advanced section. You should leave all of the configuration settings at their default values as shown in Figure 5 below. In particular, the Memory Select option should be set to System Memory. Allocating Shared Memory Figure 5. Configuring Advanced Options for Sharing Host RAM Both the NI-VXI and NI-VISA driver level software includes functions to allocate/deallocate the shared memory, and to fill and extract data from the shared memory. You can use these function calls in the same manner on all platforms. Because of the uniformity in use, all operating system and hardware-level details are completely transparent. Your application programs are also completely portable between the platforms and controllers (provided they have the ability to dual port, or share host memory). The maximum amount of memory that can be allocated by the functions is equal to the 1 KB less than the amount of memory that was reserved from the operating system (see the note below) almost 1 MB in the example shown in Figures 4-6. This application note includes examples that use the NI-VXI and NI-VISA shared memory functions. These examples are shipped with the driver level software. It is not the intention of this application note to discuss the use of the memory allocation functions in detail because this is covered in the documentation supplied with NI-VXI and NI-VISA. Before examining the examples, let us consider an application where we are using the PCI-MXI-2 board shown in Figures 4 and 5. 8 MB of the operating systems memory is dual ported onto the VXI/VME bus as shown in Figure 6. This memory is allocated from the physical memory that is actually installed on the host (64 MB in Figure 6). Only 1 MB of this memory is reserved from the operating system and so this is the maximum amount of memory (see note below) that we can safely allocate in our application. You also must ensure that you avoid writing to VXI/VME addresses higher than 0x100FFFFF in this example because these addresses are mapped to regions of system memory that may be in use by other applications and/or the operating system running on the host system. Accessing these VXI/VME addresses could lead to a corrupt system. Note A small amount of overhead is associated with the process of allocating memory and so you must reserve at least 1 KB more than the amount of memory you wish to allocate. Thus, to allocate 1 KB of memory, specify at least 2 KB in the Reserve Physical Memory parameter (also referred to as Shared RAM Pool Size on some platforms). Also, the Shared RAM size parameter is typically set to All of System RAM. National Instruments Corporation 5 Application Note 158

6 Figure 6. Mapping System Host Memory on the VXI/VME Bus The upper limit for the VXI address shown in Figure 6 is a specific example and will vary depending on your system configuration settings. Accessing Shared Memory This section of the application note contains sample LabVIEW and C code for accessing and using shared memory. The first example illustrates how to access memory on a SIMM chip. The second set of examples illustrates how to allocate and access shared host memory. Accessing Memory on Dedicated SIMM Chips As discussed in the Installing Dedicated SIMMs section of this application note, many National Instruments controllers provide you with the option of installing SIMMs that are automatically mapped onto the VXI/VME backplane by the VXI resource manager. No special memory allocation functions need to be called once the system has been configured correctly. The only programming consideration is that you should avoid accessing the first 4 KB of memory because this is used to store EEPROM configuration settings. As noted earlier, you can get around the 4 KB limitation by modifying various advanced configuration settings. The resource manager dynamically allocates the memory on the VXI/VME bus. Accessing the shared memory from the host controller is identical to accessing any other address in VXI/VME space. Other bus mastering devices can also read and write to this shared memory. However, the bus-mastering device must be provided with the address space and base address of the shared memory in order to be able to access it. There is no standard way for the bus mastering device to obtain this information and you will need to develop your own protocols for communicating this information. Application Note

7 The example in Figure 7 below illustrates a C VISA program that can be used to access the dedicated shared memory and that can also be used to obtain information relating to the address space and offset of the memory. This information could then sent to another VXI/VME bus mastering device using whatever communication scheme you develop so that it can access the shared memory. /* This code listing does not include variable declarations or error checking routines due to space considerations and will not compile. It serves to show the correct sequence of VISA calls for accessing shared memory installed on a dedicated SIMM chip. The example assumes that the controller has a 1 MB SIMM chip installed and is configured to share 1 MB. */ main() { status = viopendefaultrm (&rm); /* Check status */ status = viopen (rm, "VXI::0", VI_NULL, VI_NULL, &instr); /* Check status */ status = vigetattribute (instr, VI_ATTR_MEM_SPACE, &address_space); /* Check status */ status = vigetattribute (instr, VI_ATTR_MEM_BASE, &base_addr); /* At this point any bus-mastering device can access the shared memory at absolute address = base address + 0x1000 (4 KB) in adress space = address_space. */ /* Write to the shared memory */ status = viout8 (instr, address_space, 0x1000, 0XBEEF); /* Check status */ / *Read from shared memory */ status = viin8 (instr, address_space, 0x1000, &value); /* Check status */ /* Compare values */ if (value!=0xbeef) printf( Error\n ); else printf( Success\n ); /* Close sessions */ viclose(instr); viclose(rm); }/* main */ Figure 7. C NI-VISA Program that Accesses Shared Memory on a Dedicated SIMM Accessing and Allocating Shared Host Memory Sharing host memory requires that you configure the controller to share memory and then make NI-VXI or NI-VISA function calls to allocate and access the memory. The two LabVIEW examples shown in Figures 8 and 9 illustrate the use of both NI-VXI and NI-VISA to allocate and access the memory. National Instruments Corporation 7 Application Note 158

8 Figure 8. LabVIEW NI-VISA Example for Sharing Host Memory Figure 9. LabVIEW NI-VXI Example for Sharing Host Memory Figures 10 and 11 contain similar C examples. Note that on some platforms it is possible to perform a direct pointer dereference to access the VXI/VME shared memory when using the NI-VXI functions in a C-based environment. This results in extremely efficient code because you can avoid the small amount of overhead associated with making a function call. The result of the VXIMemAlloc function determines whether you can use direct pointer dereferencing. It should be mentioned that VISA uses pointer dereferences for the low-level vipeek and vipoke functions if it is able to. Thus, both LabVIEW and C programs that use VISA low-level register access calls will run just as efficiently as a similar application that used NI-VXI and pointer dereferencing. The examples in this application note do not include calls to the low-level register access functions/macros. Both NI-VXI and NI-VISA are shipped with several examples that illustrate the use of these low-level functions and you should refer to those examples to learn how to use these low-level functions. Application Note

9 /**************************************************************/ /*This code listing does not include variable declarations or error checking routines due to space considerations and will not compile. It serves to show the correct sequence of VISA calls for allocating and accessing shared memory. Note that it is assumed that shared memory has been configured in either T&M Explorer or VXI Edit. The general flow of this code is: Open Resource Manager Open a session to LA 0 Allocate the shared memory Use vigetattribute to determine the offset of the shared memory. Use viout16 to write a value into shared memory. Use viin16 to read the value to see if the data was written correctly. Use vimemfree to free the shared memory buffer. Close Visa sessions This example also does not show how to use the ViPeek and ViPoke low-level register access functions/macros. */ /**************************************************************/ main() { status = viopendefaultrm (&defaultrm); /* Error check */ status = viopen (defaultrm, "VXI0::0::INSTR", VI_NULL, VI_NULL, &instr); /* Error check */ size = 0x100; /* This is how much memory we are going to set aside in our local RAM. Even though we have possibly many megs requested in VXI space, we are only going to use x100 bytes. */ status = vimemalloc (instr, size, &offset); /* Error check */ /* Determine in which address space the shared memory is located. */ vigetattribute (instr, VI_ATTR_MEM_SPACE, &addrspace); /* Find base address of our controller so another bus master can access shared memory. The shared memory is accessible at absolute address base +offset */ vigetattribute (instr, VI_ATTR_MEM_BASE, &base); /* write a value into shared memory. */ status = viout16 (instr, addrspace, offset, 0xBEEF); /* Error check */ /* At this point, you can use another bus master to access the shared memory at the Base + Offset. Read back from shared memory */ status = viin16 (instr, addrspace, offset, &value); /* Error check */ /* Compare response with stimulus */ if (value == 0xBEEF) printf ("Value written = value read\nsharing is successful!\n"); else printf ("We wrote 0xBEEF, but read back 0x%hX\n", value); status = vimemfree (instr, offset); //free the allocated memory /* Error check */ status = viclose (instr); status = viclose (defaultrm); } Figure 10. C VISA Example for Sharing Host Memory National Instruments Corporation 9 Application Note 158

10 /*This code listing does not include variable declarations or error checking routines due to space considerations and will not compile. It serves to show the correct sequence of NI-VXI calls for allocating and accessing shared memory. It is assumed that shared memory has been configured in either T&M Explorer or VXI Edit */ main() { size = 0x100; InitVXIlibrary() /* error check */ AllocStat = VXImemAlloc (size, &useraddr, &vxiaddr); /* error check */ /* Can read the shared memory using VXImemcopy and/or direct pointer de-reference. If the Status from VXImemAlloc was 0, you can directly de-reference the pointer. If the Status was 1, you can only access the local buffer by using VXImemCopy. You can also use VXIIn/Out and VXIMove on MITE based platforms */ if ( AllocStat == 0 ) /* can access memory directly */ value = *(UINT16 *)useraddr; //deref the pointer directly else / * need to use VXImemCopy to access shared memory */ { direction = 1; / *move from local RAM to "value" */ size = 2; /* read 1 word. */ Status = VXImemCopy (useraddr, &value, size, direction); /* error check */ } VXImemFree (useraddr); /* free allocated memory */ CloseVXIlibrary(); /* close VXI library */ } Figure 11. C NI-VXI Example for Sharing Host Memory Common Questions and Troubleshooting 1. VXImemAlloc/viMemAlloc fails when attempting to allocate a locked down physically contiguous buffer. This may be a result of several things: a. Ensure that the VXI Shared RAM Size is set larger than the Size parameter in VXImemAlloc or vimemalloc. Typically, set the VXI Shared RAM Size to All of System Memory. b. Ensure that the amount of Reserved Physical Memory (also referred to as the Shared RAM Pool) is smaller than the VXI Shared RAM Size parameter. c. Any memory reserved from the operating system is allocated in a contiguous region; the operating system may not have been able to reserve the amount of memory you specified if there were not a large enough contiguous region available to it. You may want to start by reserving less than 1 MB initially and then incrementing this to determine the amount of memory that can be reserved on your system. d. Ensure that the Size parameter in VXImemAlloc or vimemalloc is at least 1 KB smaller than the Shared RAM Pool Size (amount of reserved memory). Application Note

11 2. You get a system crash when your application attempts to access the shared memory buffer directly using the User Address pointer returned from VXImemAlloc(). In most nonvirtual memory systems, your user process can access the shared memory directly. Some virtual memory systems, such as using the AT-MXI under Windows NT, do not have the capability for a user process to access the kernel memory directly. In such systems, VXImemAlloc returns a value of 1, which indicates that the user address returned is not directly accessible by the user process. The user address is actually the kernel virtual address of the allocated shared memory. In this situation, you must use the function VXImemCopy to access the shared memory. Note that LabVIEW and VISA programmers do not need to be concerned about this. 3. How can I access the shared memory allocated with VXImemAlloc() or vimemalloc()? With VISA, you can access the shared memory buffer using viin8/16/32 or viout8/16/32. You can also use pointer dereferencing with NI-VISA if you map the allocated address with vimapaddress and verify that the VI_ATTR_WIN_ACCESS attribute returns VI_DEREF_ADDR. With the NI-VXI functions, you must use VXImemCopy() or you may use pointer dereferencing if VXImemAlloc() returns 0 as its Return value. You cannot reliably use direct VXI access (VXIin, VXIout, or VXImove) to access the shared memory buffer on non MITE-based platforms. 4. Why can't I use NI-VXI direct access functions to access a shared memory buffer allocated by VXImemAlloc()? If you use VXIin, VXIout, or VXImove to access the shared memory buffer, the computer CPU or the VXI/VME controller may not allow that access. VXI/VME controllers without a MITE (e.g. AT-MXI or VXIpc-500 Series) do not allow VXI cycles to addresses on the controller performing the cycle (i.e. they do not allow self-access). Your PC may also not be able to do this self access even in the case where you are using a MITE-based controller. Since the MITE is located on the PCI bus, the processor writes to or reads from the MITE address space. Then the MITE needs to get control of the PCI bus to continue the read or write to the shared RAM. Some computer CPUs will NOT allow a device on the PCI bus to arbitrate for the PCI bus while a cycle is in progress. In some cases, you may be able to write successfully, while VXIin fails with a Bus Error. You must use functions with which the CPU can directly access the shared memory on platforms for which VXImemAlloc returns a nonzero value. C developers using the NI VXI API must use VXImemCopy to access the shared memory buffer in such situations. Developers using LabVIEW or VISA functions do not need to be concerned with this issue. Both LabVIEW and VISA handle this automatically. 5. Which kind of SIMMs can I install on the PCI-MXI-2, VXI-MXI-2, VME-MXI-2 or VXI-MIO boards? 72 pin, 70 ns or faster SIMMs. Parity/nonparity does not matter. 6. Can I configure my system to share both system memory and onboard memory (SIMMs installed in PCI-MXI-2, VXI-MXI-2 or VME-MXI-2)? Yes, typically you will configure the VXI Shared RAM size to be twice the greater of system memory in your computer or onboard RAM. Under the Advanced Shared RAM settings button, select the Lower Half Window to System memory. Configure the Upper Half Window to Onboard memory. Remember that you cannot access the lower 4 KB of the onboard RAM because this is the location of the EEPROM. National Instruments Corporation 11 Application Note 158

12 Summary National Instruments VXI/VME controller provide at least one of two options for dual porting memory onto the VXI backplane. With some controllers, you can install a dedicated RAM SIMM; with some, you can map the operating systems memory onto the VXI/VME bus; and with some, you can do both. This memory appears as if it resides on the VXI/VME bus but resides on the host controller. VXI/VME bus mastering instruments can use this memory to store data required during analysis, generation or acquisition. Using shared memory with low-cost RAM SIMM modules, you can solve you data storage problems without having to purchase expensive dedicated memory modules for your instruments. Most users should consider sharing the host controller RAM and using NI-VISA to access the shared memory buffer as their best option. Developers using VISA do not need to be concerned with having to use special functions to access the local shared memory buffer.

VXI/VME-PCI8000 SERIES

VXI/VME-PCI8000 SERIES READ ME FIRST VXI/VME-PCI8000 SERIES FOR WINDOWS 95/NT Contents This document contains information to help you understand the components of your kit, determine where to start setting up your kit, and learn

More information

VXIPC 800/700 SERIES FOR WINDOWS 95/NT

VXIPC 800/700 SERIES FOR WINDOWS 95/NT READ ME FIRST VXIPC 800/700 SERIES FOR WINDOWS 95/NT Contents This document contains information to help you understand the components of your kit, determine where to start setting up your kit, and learn

More information

Using VME Devices with NI-VXI or NI-VISA

Using VME Devices with NI-VXI or NI-VISA Using VME Devices with NI-VXI or NI-VISA Your application may call for installing VME devices in a VME mainframe or installing VME devices in a VXI mainframe. If using National Instruments' VXI or VME

More information

Using Measurement & Automation Explorer (MAX) with VXI

Using Measurement & Automation Explorer (MAX) with VXI Using Measurement & Automation Explorer (MAX) with VXI Introduction Measurement & Automation Explorer (MAX) provides access to all your National Instruments DAQ, GPIB, IMAQ, IVI, Motion, VISA, and VXI

More information

Agilent I/O Libraries Technical Overview

Agilent I/O Libraries Technical Overview Agilent I/O Libraries Technical Overview Agilent Technologies The Agilent I/O Libraries are the software that is common to the Agilent I/O hardware products -- the original Standard Instrument Control

More information

KIT NI-VISA FOR WINDOWS 95/NT: WIN95, GWIN95, WINNT, AND GWINNT FRAMEWORKS

KIT NI-VISA FOR WINDOWS 95/NT: WIN95, GWIN95, WINNT, AND GWINNT FRAMEWORKS READ ME FIRST VXIplug&play SOFTWARE KIT NI-VISA FOR WINDOWS 95/NT: WIN95, GWIN95, WINNT, AND GWINNT FRAMEWORKS Thank you for purchasing a National Instruments VXIplug&play-compliant controller. To comply

More information

VXI-MXI-Express Series

VXI-MXI-Express Series INSTALLATION GUIDE VXI-MXI-Express Series This document describes how to set up and configure the VXI-MXI-Express Series controller. What You Need to Get Started To set up and use the VXI-MXI-Express Series

More information

NI-VISA for Windows 3.x WIN and GWIN Frameworks. The VXIplug&play software kit contains the following software and documentation components.

NI-VISA for Windows 3.x WIN and GWIN Frameworks. The VXIplug&play software kit contains the following software and documentation components. NATIONAL INSTRUMENTS The Software is the Instrument Read Me First Save this document for future reference. VXIplug&play Software Kit NI-VISA for Windows 3.x WIN and GWIN Frameworks Thank you for purchasing

More information

VXI-8340 SERIES INSTALLATION

VXI-8340 SERIES INSTALLATION VXI-8340 SERIES INSTALLATION AND CONFIGURATION Installation Guide This document explains how to install and configure your VXI-8340 series controller. Installing the Software Use the Setup program that

More information

VISA. NI-VISA User Manual. NI-VISA User Manual. June 1998 Edition Part Number D-01

VISA. NI-VISA User Manual. NI-VISA User Manual. June 1998 Edition Part Number D-01 VISA NI-VISA User Manual NI-VISA User Manual June 1998 Edition Part Number 321074D-01 Internet Support E-mail: support@natinst.com FTP Site: ftp.natinst.com Web Address: www.natinst.com Bulletin Board

More information

Setting up Embedded Controllers and Mainframe Extenders as Non-Slot 0 Devices, Non-Resource Managers

Setting up Embedded Controllers and Mainframe Extenders as Non-Slot 0 Devices, Non-Resource Managers Setting up Embedded Controllers and Mainframe Extenders as Non-Slot Devices, Non-Resource Managers This document describes how to configure various National Instruments VXI/VME controllers for non-slot,

More information

Appendix G. Application Interface Library. G.1 VISA Library

Appendix G. Application Interface Library. G.1 VISA Library Appendix G Application Interface Library G.1 VISA Library 131 Agilent VISA User s Guide Manual Part Number: E2090-90040 Printed in U.S.A. E0701 Contents Agilent VISA User s Guide Front Matter... 9 Notice...

More information

NI-VXI Software Manual for the VXIpc 800/700 Series

NI-VXI Software Manual for the VXIpc 800/700 Series NI-VXI Software Manual for the VXIpc 800/700 Series NI-VXI Software Manual for the VXIpc 800/700 April 1997 Edition Part Number 321125E-01 Copyright 1996, 1997 National Instruments Corporation. All Rights

More information

NI-VISA. User Manual. February 1996 Edition Part Number A-01. Copyright 1996 National Instruments Corporation. All Rights Reserved.

NI-VISA. User Manual. February 1996 Edition Part Number A-01. Copyright 1996 National Instruments Corporation. All Rights Reserved. NI-VISA User Manual February 1996 Edition Part Number 321074A-01 Copyright 1996 National Instruments Corporation. All Rights Reserved. Internet Support GPIB: gpib.support@natinst.com DAQ: daq.support@natinst.com

More information

Bustec VISA Library and Tools User Manual

Bustec VISA Library and Tools User Manual User Manual Bustec VISA Library and Tools User Manual PUBLICATION NUMBER: 8200-XX-UM-0020 Copyright, 2013, Bustec Ltd. Bustec Ltd. Bustec House, Shannon Business Park Shannon, Co. Clare, Ireland Tel: +353

More information

Embedded Systems Dr. Santanu Chaudhury Department of Electrical Engineering Indian Institute of Technology, Delhi

Embedded Systems Dr. Santanu Chaudhury Department of Electrical Engineering Indian Institute of Technology, Delhi Embedded Systems Dr. Santanu Chaudhury Department of Electrical Engineering Indian Institute of Technology, Delhi Lecture - 13 Virtual memory and memory management unit In the last class, we had discussed

More information

CS399 New Beginnings. Jonathan Walpole

CS399 New Beginnings. Jonathan Walpole CS399 New Beginnings Jonathan Walpole Memory Management Memory Management Memory a linear array of bytes - Holds O.S. and programs (processes) - Each cell (byte) is named by a unique memory address Recall,

More information

Developing Networked Data Acquisition Systems with NI-DAQ

Developing Networked Data Acquisition Systems with NI-DAQ Application Note 116 Developing Networked Data Acquisition Systems with NI-DAQ Tim Hayles What Is Remote Device Access? With the NI-DAQ Remote Device Access (RDA ) feature, you can run LabVIEW or LabWindows

More information

Getting Started with Your VXI/VME-PCI8000 Series and the NI-VXI TM Software for Microsoft Operating Systems

Getting Started with Your VXI/VME-PCI8000 Series and the NI-VXI TM Software for Microsoft Operating Systems Getting Started with Your VXI/VME-PCI8000 Series and the NI-VXI TM Software for Microsoft Operating Systems VXI/VME-PCI8000 Series for Microsoft OS December 1996 Edition Part Number 320961C-01 Copyright

More information

Memory Management. Goals of Memory Management. Mechanism. Policies

Memory Management. Goals of Memory Management. Mechanism. Policies Memory Management Design, Spring 2011 Department of Computer Science Rutgers Sakai: 01:198:416 Sp11 (https://sakai.rutgers.edu) Memory Management Goals of Memory Management Convenient abstraction for programming

More information

VISA Events in NI-VISA

VISA Events in NI-VISA VISA Events in NI-VISA Introduction The VISA operations Read, Write, In and Out allow basic I/O operations from the controller to instruments. These operations make up the basics of instrument I/O, but

More information

Outlook. Background Swapping Contiguous Memory Allocation Paging Structure of the Page Table Segmentation Example: The Intel Pentium

Outlook. Background Swapping Contiguous Memory Allocation Paging Structure of the Page Table Segmentation Example: The Intel Pentium Main Memory Outlook Background Swapping Contiguous Memory Allocation Paging Structure of the Page Table Segmentation Example: The Intel Pentium 2 Backgound Background So far we considered how to share

More information

CS 333 Introduction to Operating Systems. Class 11 Virtual Memory (1) Jonathan Walpole Computer Science Portland State University

CS 333 Introduction to Operating Systems. Class 11 Virtual Memory (1) Jonathan Walpole Computer Science Portland State University CS 333 Introduction to Operating Systems Class 11 Virtual Memory (1) Jonathan Walpole Computer Science Portland State University Virtual addresses Virtual memory addresses (what the process uses) Page

More information

Lecture: DRAM Main Memory. Topics: virtual memory wrap-up, DRAM intro and basics (Section 2.3)

Lecture: DRAM Main Memory. Topics: virtual memory wrap-up, DRAM intro and basics (Section 2.3) Lecture: DRAM Main Memory Topics: virtual memory wrap-up, DRAM intro and basics (Section 2.3) 1 TLB and Cache Is the cache indexed with virtual or physical address? To index with a physical address, we

More information

Imagenation PX Series

Imagenation PX Series Imagenation PX Series Guide To Troubleshooting Frame Grabber Installations Imagenation PX Series Frame Grabbers PX500, PX510, PX610 & PX610A Covering all Microsoft Win32 Operating Systems Windows 95, 98,

More information

EECS 482 Introduction to Operating Systems

EECS 482 Introduction to Operating Systems EECS 482 Introduction to Operating Systems Winter 2018 Baris Kasikci Slides by: Harsha V. Madhyastha OS Abstractions Applications Threads File system Virtual memory Operating System Next few lectures:

More information

Handout 4 Memory Hierarchy

Handout 4 Memory Hierarchy Handout 4 Memory Hierarchy Outline Memory hierarchy Locality Cache design Virtual address spaces Page table layout TLB design options (MMU Sub-system) Conclusion 2012/11/7 2 Since 1980, CPU has outpaced

More information

PC-based data acquisition I

PC-based data acquisition I FYS3240 PC-based instrumentation and microcontrollers PC-based data acquisition I Spring 2016 Lecture #8 Bekkeng, 20.01.2016 General-purpose computer With a Personal Computer (PC) we mean a general-purpose

More information

CS330: Operating System and Lab. (Spring 2006) I/O Systems

CS330: Operating System and Lab. (Spring 2006) I/O Systems CS330: Operating System and Lab. (Spring 2006) I/O Systems Today s Topics Block device vs. Character device Direct I/O vs. Memory-mapped I/O Polling vs. Interrupts Programmed I/O vs. DMA Blocking vs. Non-blocking

More information

Memory Management. Reading: Silberschatz chapter 9 Reading: Stallings. chapter 7 EEL 358

Memory Management. Reading: Silberschatz chapter 9 Reading: Stallings. chapter 7 EEL 358 Memory Management Reading: Silberschatz chapter 9 Reading: Stallings chapter 7 1 Outline Background Issues in Memory Management Logical Vs Physical address, MMU Dynamic Loading Memory Partitioning Placement

More information

Ausgewählte Betriebssysteme - Mark Russinovich & David Solomon (used with permission of authors)

Ausgewählte Betriebssysteme - Mark Russinovich & David Solomon (used with permission of authors) Outline Windows 2000 - The I/O Structure Ausgewählte Betriebssysteme Institut Betriebssysteme Fakultät Informatik Components of I/O System Plug n Play Management Power Management I/O Data Structures File

More information

Artisan Technology Group is your source for quality new and certified-used/pre-owned equipment

Artisan Technology Group is your source for quality new and certified-used/pre-owned equipment Artisan Technology Group is your source for quality new and certified-used/pre-owned equipment FAST SHIPPING AND DELIVERY TENS OF THOUSANDS OF IN-STOCK ITEMS EQUIPMENT DEMOS HUNDREDS OF MANUFACTURERS SUPPORTED

More information

Imagenation PXR Series

Imagenation PXR Series Imagenation PXR Series Guide To Troubleshooting Frame Grabber Installations Imagenation PXR Series Frame Grabbers PXR800 Covering All Supported Microsoft Win32 Operating Systems Windows 98, 98SE, and Me

More information

Four Components of a Computer System

Four Components of a Computer System Four Components of a Computer System Operating System Concepts Essentials 2nd Edition 1.1 Silberschatz, Galvin and Gagne 2013 Operating System Definition OS is a resource allocator Manages all resources

More information

CHAPTER 11: IMPLEMENTING FILE SYSTEMS (COMPACT) By I-Chen Lin Textbook: Operating System Concepts 9th Ed.

CHAPTER 11: IMPLEMENTING FILE SYSTEMS (COMPACT) By I-Chen Lin Textbook: Operating System Concepts 9th Ed. CHAPTER 11: IMPLEMENTING FILE SYSTEMS (COMPACT) By I-Chen Lin Textbook: Operating System Concepts 9th Ed. File-System Structure File structure Logical storage unit Collection of related information File

More information

Memory Management. Disclaimer: some slides are adopted from book authors slides with permission 1

Memory Management. Disclaimer: some slides are adopted from book authors slides with permission 1 Memory Management Disclaimer: some slides are adopted from book authors slides with permission 1 CPU management Roadmap Process, thread, synchronization, scheduling Memory management Virtual memory Disk

More information

VME Data Acquisition System, ADC Read

VME Data Acquisition System, ADC Read VME Data Acquisition System, ADC Read Abstract: UTA-HEP/LC 0023 Shashwat Udit University of Texas at Arlington August 25, 2008 This document presents the design concept and the functionality of the newly

More information

PXI Versus Industrial Computers

PXI Versus Industrial Computers PXI Versus Industrial Computers Contents What is PXI?... 3 PXI Systems Alliance... 3 PCI... 3 Physical Features... 5 Electrical Features... 6 Integrated, Expandable Systems... 6 What are Industrial PCs?...

More information

VXI. VXI-1394 User Manual for Windows. VXI-1394 User Manual for Windows. March B-01

VXI. VXI-1394 User Manual for Windows. VXI-1394 User Manual for Windows. March B-01 VXI VXI-1394 User Manual for Windows VXI-1394 User Manual for Windows March 2005 370533B-01 Support Worldwide Technical Support and Product Information ni.com National Instruments Corporate Headquarters

More information

Spring 2017 :: CSE 506. Device Programming. Nima Honarmand

Spring 2017 :: CSE 506. Device Programming. Nima Honarmand Device Programming Nima Honarmand read/write interrupt read/write Spring 2017 :: CSE 506 Device Interface (Logical View) Device Interface Components: Device registers Device Memory DMA buffers Interrupt

More information

VMISFT-9450 I/O Connectivity IOWorks Board Drivers

VMISFT-9450 I/O Connectivity IOWorks Board Drivers I/O Connectivity IOWorks Board Drivers Supports more than 60 I/O products from GE Fanuc C and C++ libraries enable you to choose your programming language Support for multiple operating systems, I/O buses,

More information

Chapter 9 Memory Management

Chapter 9 Memory Management Contents 1. Introduction 2. Computer-System Structures 3. Operating-System Structures 4. Processes 5. Threads 6. CPU Scheduling 7. Process Synchronization 8. Deadlocks 9. Memory Management 10. Virtual

More information

Chapter 4: Multithreaded Programming. Operating System Concepts 8 th Edition,

Chapter 4: Multithreaded Programming. Operating System Concepts 8 th Edition, Chapter 4: Multithreaded Programming, Silberschatz, Galvin and Gagne 2009 Chapter 4: Multithreaded Programming Overview Multithreading Models Thread Libraries Threading Issues 4.2 Silberschatz, Galvin

More information

MXI. Getting Started with Your VXI/VME-PCI8026 and the NI-VXI /NI-VISA Software for Linux. VXI/VME-PCI8026 for Linux

MXI. Getting Started with Your VXI/VME-PCI8026 and the NI-VXI /NI-VISA Software for Linux. VXI/VME-PCI8026 for Linux MXI Getting Started with Your VXI/VME-PCI8026 and the NI-VXI /NI-VISA Software for Linux VXI/VME-PCI8026 for Linux December 1999 Edition Part Number 322651A-01 Worldwide Technical Support and Product Information

More information

Virtual Memory. User memory model so far:! In reality they share the same memory space! Separate Instruction and Data memory!!

Virtual Memory. User memory model so far:! In reality they share the same memory space! Separate Instruction and Data memory!! Virtual Memory User memory model so far:! Separate Instruction and Data memory!! In reality they share the same memory space!!! 0x00000000 User space Instruction memory 0x7fffffff Data memory MicroComuter

More information

Chapter 4: Threads. Overview Multithreading Models Thread Libraries Threading Issues Operating System Examples Windows XP Threads Linux Threads

Chapter 4: Threads. Overview Multithreading Models Thread Libraries Threading Issues Operating System Examples Windows XP Threads Linux Threads Chapter 4: Threads Overview Multithreading Models Thread Libraries Threading Issues Operating System Examples Windows XP Threads Linux Threads Chapter 4: Threads Objectives To introduce the notion of a

More information

Lecture: DRAM Main Memory. Topics: virtual memory wrap-up, DRAM intro and basics (Section 2.3)

Lecture: DRAM Main Memory. Topics: virtual memory wrap-up, DRAM intro and basics (Section 2.3) Lecture: DRAM Main Memory Topics: virtual memory wrap-up, DRAM intro and basics (Section 2.3) 1 TLB and Cache 2 Virtually Indexed Caches 24-bit virtual address, 4KB page size 12 bits offset and 12 bits

More information

Artisan Technology Group is your source for quality new and certified-used/pre-owned equipment

Artisan Technology Group is your source for quality new and certified-used/pre-owned equipment Artisan Technology Group is your source for quality new and certified-used/pre-owned equipment FAST SHIPPING AND DELIVERY TENS OF THOUSANDS OF IN-STOCK ITEMS EQUIPMENT DEMOS HUNDREDS OF MANUFACTURERS SUPPORTED

More information

Virtual Memory. Virtual Memory

Virtual Memory. Virtual Memory Virtual Memory Virtual Memory Main memory is cache for secondary storage Secondary storage (disk) holds the complete virtual address space Only a portion of the virtual address space lives in the physical

More information

CS 134. Operating Systems. April 8, 2013 Lecture 20. Input/Output. Instructor: Neil Rhodes. Monday, April 7, 14

CS 134. Operating Systems. April 8, 2013 Lecture 20. Input/Output. Instructor: Neil Rhodes. Monday, April 7, 14 CS 134 Operating Systems April 8, 2013 Lecture 20 Input/Output Instructor: Neil Rhodes Hardware How hardware works Operating system layer What the kernel does API What the programmer does Overview 2 kinds

More information

Introduction read-only memory random access memory

Introduction read-only memory random access memory Memory Interface Introduction Simple or complex, every microprocessorbased system has a memory system. Almost all systems contain two main types of memory: read-only memory (ROM) and random access memory

More information

MEMORY MANAGEMENT UNITS

MEMORY MANAGEMENT UNITS Memory Management Units memory management unit (MMU) simply converts a virtual address generated by a CPU into a physical address which is applied to the memory system address space divided into fixed

More information

CS3600 SYSTEMS AND NETWORKS

CS3600 SYSTEMS AND NETWORKS CS3600 SYSTEMS AND NETWORKS NORTHEASTERN UNIVERSITY Lecture 11: File System Implementation Prof. Alan Mislove (amislove@ccs.neu.edu) File-System Structure File structure Logical storage unit Collection

More information

2.0 GHz Pentium M 760 and 1.5 GHz Celeron M 370 Embedded Controllers for PXI

2.0 GHz Pentium M 760 and 1.5 GHz Celeron M 370 Embedded Controllers for PXI NI, NI 2.0 GHz Pentium M 760 () 1.5 GHz Celeron M 370 () 512 MB dual-channel DDR2 RAM standard, 2 GB maximum () 256 MB dual-channel DDR2 RAM standard, 2 GB maximum () Internal PXI trigger bus routing Watchdog

More information

Lecture 15: Virtual Memory and Large Caches. Today: TLB design and large cache design basics (Sections )

Lecture 15: Virtual Memory and Large Caches. Today: TLB design and large cache design basics (Sections ) Lecture 15: Virtual Memory and Large Caches Today: TLB design and large cache design basics (Sections 5.3-5.4) 1 TLB and Cache Is the cache indexed with virtual or physical address? To index with a physical

More information

Getting Started with Your VXI/VME-PCI8022 and the NI-VXI Software for Solaris

Getting Started with Your VXI/VME-PCI8022 and the NI-VXI Software for Solaris Getting Started with Your VXI/VME-PCI8022 and the NI-VXI Software for Solaris VXI/VME-PCI8022 for Solaris June 1997 Edition Part Number 321413A-01 Copyright 1997 National Instruments Corporation. All rights

More information

What is a file system

What is a file system COSC 6397 Big Data Analytics Distributed File Systems Edgar Gabriel Spring 2017 What is a file system A clearly defined method that the OS uses to store, catalog and retrieve files Manage the bits that

More information

Software-Defined Test Fundamentals. Understanding the Architecture of Modular, High-Performance Test Systems

Software-Defined Test Fundamentals. Understanding the Architecture of Modular, High-Performance Test Systems Software-Defined Test Fundamentals Understanding the Architecture of Modular, High-Performance Test Systems Contents Executive Summary 4 Architecture Layer No. 5: System Management/Test Executive 5 Architecture

More information

Memory Management. Dr. Yingwu Zhu

Memory Management. Dr. Yingwu Zhu Memory Management Dr. Yingwu Zhu Big picture Main memory is a resource A process/thread is being executing, the instructions & data must be in memory Assumption: Main memory is super big to hold a program

More information

Memory Management (Chaper 4, Tanenbaum)

Memory Management (Chaper 4, Tanenbaum) Memory Management (Chaper 4, Tanenbaum) Memory Mgmt Introduction The CPU fetches instructions and data of a program from memory; therefore, both the program and its data must reside in the main (RAM and

More information

Systems Alliance. VPP-2: System Frameworks Specification

Systems Alliance. VPP-2: System Frameworks Specification Systems Alliance VPP-2: System Frameworks Specification Revision 5.5 March 6, 2013 VPP-2 Revision History This section is an overview of the revision history of the VPP-2 specification. Revision 1.0, July

More information

Systems Alliance. VPP-2: System Frameworks Specification

Systems Alliance. VPP-2: System Frameworks Specification Systems Alliance VPP-2: System Frameworks Specification Revision 7.0, October 19, 2018 VPP-2 Revision History This section is an overview of the revision history of the VPP-2 specification. Revision 1.0,

More information

Using Desktop PCs as RT Targets with the LabVIEW Real-Time Module

Using Desktop PCs as RT Targets with the LabVIEW Real-Time Module Using Desktop PCs as RT Targets with the LabVIEW Real-Time Module Contents The LabVIEW Real-Time Module can execute VIs on RT targets running the real-time operating system of Ardence Phar Lap Embedded

More information

Artisan Technology Group is your source for quality new and certified-used/pre-owned equipment

Artisan Technology Group is your source for quality new and certified-used/pre-owned equipment Artisan Technology Group is your source for quality new and certified-used/pre-owned equipment FAST SHIPPING AND DELIVERY TENS OF THOUSANDS OF IN-STOCK ITEMS EQUIPMENT DEMOS HUNDREDS OF MANUFACTURERS SUPPORTED

More information

The Host Environment. Module 2.1. Copyright 2006 EMC Corporation. Do not Copy - All Rights Reserved. The Host Environment - 1

The Host Environment. Module 2.1. Copyright 2006 EMC Corporation. Do not Copy - All Rights Reserved. The Host Environment - 1 The Host Environment Module 2.1 2006 EMC Corporation. All rights reserved. The Host Environment - 1 The Host Environment Upon completion of this module, you will be able to: List the hardware and software

More information

DYNAMIC ENGINEERING 435 Park Dr., Ben Lomond, Calif Fax Est

DYNAMIC ENGINEERING 435 Park Dr., Ben Lomond, Calif Fax Est DYNAMIC ENGINEERING 435 Park Dr., Ben Lomond, Calif. 95005 831-336-8891 Fax 831-336-3840 http://www.dyneng.com sales@dyneng.com Est. 1988 User Manual PCI LVDS 8R Driver Documentation Revision A Corresponding

More information

Chapter 1: Introduction Dr. Ali Fanian. Operating System Concepts 9 th Edit9on

Chapter 1: Introduction Dr. Ali Fanian. Operating System Concepts 9 th Edit9on Chapter 1: Introduction Dr. Ali Fanian Operating System Concepts 9 th Edit9on Silberschatz, Galvin and Gagne 2013 1.2 Silberschatz, Galvin and Gagne 2013 Organization Lectures Homework Quiz Several homeworks

More information

Storage Management 1

Storage Management 1 Storage Management Goals of this Lecture Help you learn about: Locality and caching Typical storage hierarchy Virtual memory How the hardware and OS give applications the illusion of a large, contiguous,

More information

CS Computer Architecture

CS Computer Architecture CS 35101 Computer Architecture Section 600 Dr. Angela Guercio Fall 2010 An Example Implementation In principle, we could describe the control store in binary, 36 bits per word. We will use a simple symbolic

More information

CSA8000 & TDS8000 Instruments CSA8000B & TDS8000B Instruments Using National Instruments LabVIEW

CSA8000 & TDS8000 Instruments CSA8000B & TDS8000B Instruments Using National Instruments LabVIEW Supplement CSA8000 & TDS8000 Instruments CSA8000B & TDS8000B Instruments Using National Instruments LabVIEW This document applies to software version 1.3 and above. www.tektronix.com Copyright Tektronix,

More information

Princeton University. Computer Science 217: Introduction to Programming Systems. The Memory/Storage Hierarchy and Virtual Memory

Princeton University. Computer Science 217: Introduction to Programming Systems. The Memory/Storage Hierarchy and Virtual Memory Princeton University Computer Science 27: Introduction to Programming Systems The Memory/Storage Hierarchy and Virtual Memory Goals of this Lecture Help you learn about: Locality and caching The memory

More information

Chapter 5B. Large and Fast: Exploiting Memory Hierarchy

Chapter 5B. Large and Fast: Exploiting Memory Hierarchy Chapter 5B Large and Fast: Exploiting Memory Hierarchy One Transistor Dynamic RAM 1-T DRAM Cell word access transistor V REF TiN top electrode (V REF ) Ta 2 O 5 dielectric bit Storage capacitor (FET gate,

More information

Introduction to Operating. Chapter Chapter

Introduction to Operating. Chapter Chapter Introduction to Operating Systems Chapter 1 1.3 Chapter 1.5 1.9 Learning Outcomes High-level understand what is an operating system and the role it plays A high-level understanding of the structure of

More information

Chapter 14: File-System Implementation

Chapter 14: File-System Implementation Chapter 14: File-System Implementation Directory Implementation Allocation Methods Free-Space Management Efficiency and Performance Recovery 14.1 Silberschatz, Galvin and Gagne 2013 Objectives To describe

More information

The Operating System. Chapter 6

The Operating System. Chapter 6 The Operating System Machine Level Chapter 6 1 Contemporary Multilevel Machines A six-level l computer. The support method for each level is indicated below it.2 Operating System Machine a) Operating System

More information

Misc. Third Generation Batch Multiprogramming. Fourth Generation Time Sharing. Last Time Evolution of OSs

Misc. Third Generation Batch Multiprogramming. Fourth Generation Time Sharing. Last Time Evolution of OSs Third Generation Batch Multiprogramming Misc. Problem: but I/O still expensive; can happen in middle of job Idea: have a pool of ready jobs in memory, switch to one when another needs I/O When one job

More information

Operating Systems and Computer Networks. Memory Management. Dr.-Ing. Pascal A. Klein

Operating Systems and Computer Networks. Memory Management. Dr.-Ing. Pascal A. Klein Operating Systems and Computer Networks Memory Management pascal.klein@uni-due.de Alexander Maxeiner, M.Sc. Faculty of Engineering Agenda 1 Swapping 2 Segmentation Algorithms 3 Memory Allocation 4 Virtual

More information

Memory Addressing. Pradipta De

Memory Addressing. Pradipta De Memory Addressing Pradipta De pradipta.de@sunykorea.ac.kr Today s Topic Allow processes (and kernel) to reliably access physical memory How to create illusions of large RAM Ensure memory protection Do

More information

memory management Vaibhav Bajpai

memory management Vaibhav Bajpai memory management Vaibhav Bajpai OS 2013 motivation virtualize resources: multiplex CPU multiplex memory (CPU scheduling) (memory management) why manage memory? controlled overlap processes should NOT

More information

CS252 S05. Main memory management. Memory hardware. The scale of things. Memory hardware (cont.) Bottleneck

CS252 S05. Main memory management. Memory hardware. The scale of things. Memory hardware (cont.) Bottleneck Main memory management CMSC 411 Computer Systems Architecture Lecture 16 Memory Hierarchy 3 (Main Memory & Memory) Questions: How big should main memory be? How to handle reads and writes? How to find

More information

VXI VI Reference Manual

VXI VI Reference Manual VXI VI Reference Manual LabVIEW VXI VI Reference Manual July 2000 Edition Part Number 370122A-01 Worldwide Technical Support and Product Information www.ni.com National Instruments Corporate Headquarters

More information

Chapter 8 Main Memory

Chapter 8 Main Memory COP 4610: Introduction to Operating Systems (Spring 2014) Chapter 8 Main Memory Zhi Wang Florida State University Contents Background Swapping Contiguous memory allocation Paging Segmentation OS examples

More information

Introduction to Operating Systems. Chapter Chapter

Introduction to Operating Systems. Chapter Chapter Introduction to Operating Systems Chapter 1 1.3 Chapter 1.5 1.9 Learning Outcomes High-level understand what is an operating system and the role it plays A high-level understanding of the structure of

More information

1. Memory technology & Hierarchy

1. Memory technology & Hierarchy 1 Memory technology & Hierarchy Caching and Virtual Memory Parallel System Architectures Andy D Pimentel Caches and their design cf Henessy & Patterson, Chap 5 Caching - summary Caches are small fast memories

More information

Chapter 12: File System Implementation

Chapter 12: File System Implementation Chapter 12: File System Implementation Silberschatz, Galvin and Gagne 2013 Chapter 12: File System Implementation File-System Structure File-System Implementation Allocation Methods Free-Space Management

More information

MXI TM Getting Started with Your PCI-Based MXI-2 Interface for Windows

MXI TM Getting Started with Your PCI-Based MXI-2 Interface for Windows TM MXI Getting Started with Your PCI-Based MXI-2 Interface for Windows PCI-Based MXI-2 Interface for Windows August 2002 Edition Part Number 321712C-01 Support Worldwide Technical Support and Product Information

More information

Battery Backup. Sanitization Procedure Waveform Data SDRAM 32 MB (-01/-21) No Yes Yes Cycle Power

Battery Backup. Sanitization Procedure Waveform Data SDRAM 32 MB (-01/-21) No Yes Yes Cycle Power Manufacturer: National Instruments Board Assembly Part Numbers ( DIGITIZERS) Part Number and Revision Description 185701C-01 to 185701H-01 IF DIGITIZER, 16MS 185701F-21 IF DIGITIZER, 16MS 185701C-02 to

More information

Computer Science 146. Computer Architecture

Computer Science 146. Computer Architecture Computer Architecture Spring 2004 Harvard University Instructor: Prof. dbrooks@eecs.harvard.edu Lecture 18: Virtual Memory Lecture Outline Review of Main Memory Virtual Memory Simple Interleaving Cycle

More information

Introduction. CS3026 Operating Systems Lecture 01

Introduction. CS3026 Operating Systems Lecture 01 Introduction CS3026 Operating Systems Lecture 01 One or more CPUs Device controllers (I/O modules) Memory Bus Operating system? Computer System What is an Operating System An Operating System is a program

More information

Lecture 8: Virtual Memory. Today: DRAM innovations, virtual memory (Sections )

Lecture 8: Virtual Memory. Today: DRAM innovations, virtual memory (Sections ) Lecture 8: Virtual Memory Today: DRAM innovations, virtual memory (Sections 5.3-5.4) 1 DRAM Technology Trends Improvements in technology (smaller devices) DRAM capacities double every two years, but latency

More information

Sandboxing Untrusted Code: Software-Based Fault Isolation (SFI)

Sandboxing Untrusted Code: Software-Based Fault Isolation (SFI) Sandboxing Untrusted Code: Software-Based Fault Isolation (SFI) Brad Karp UCL Computer Science CS GZ03 / M030 9 th December 2011 Motivation: Vulnerabilities in C Seen dangers of vulnerabilities: injection

More information

EITF20: Computer Architecture Part 5.1.1: Virtual Memory

EITF20: Computer Architecture Part 5.1.1: Virtual Memory EITF20: Computer Architecture Part 5.1.1: Virtual Memory Liang Liu liang.liu@eit.lth.se 1 Outline Reiteration Virtual memory Case study AMD Opteron Summary 2 Memory hierarchy 3 Cache performance 4 Cache

More information

Chapter 12: File System Implementation

Chapter 12: File System Implementation Chapter 12: File System Implementation Virtual File Systems. Allocation Methods. Folder Implementation. Free-Space Management. Directory Block Placement. Recovery. Virtual File Systems An object-oriented

More information

Introduction to Operating Systems. Chapter Chapter

Introduction to Operating Systems. Chapter Chapter Introduction to Operating Systems Chapter 1 1.3 Chapter 1.5 1.9 Learning Outcomes High-level understand what is an operating system and the role it plays A high-level understanding of the structure of

More information

NI-VISA for Solaris 1.x and 2.x SUN and GSUN Frameworks

NI-VISA for Solaris 1.x and 2.x SUN and GSUN Frameworks NATIONAL INSTRUMENTS The Software is the Instrument Read Me First Save this document for future reference. VXIplug&play Software Kit NI-VISA for Solaris 1.x and 2.x SUN and GSUN Frameworks Thank you for

More information

Virtual Memory. Kevin Webb Swarthmore College March 8, 2018

Virtual Memory. Kevin Webb Swarthmore College March 8, 2018 irtual Memory Kevin Webb Swarthmore College March 8, 2018 Today s Goals Describe the mechanisms behind address translation. Analyze the performance of address translation alternatives. Explore page replacement

More information

Virtual Memory #2 Feb. 21, 2018

Virtual Memory #2 Feb. 21, 2018 15-410...The mysterious TLB... Virtual Memory #2 Feb. 21, 2018 Dave Eckhardt Brian Railing 1 L16_VM2 Last Time Mapping problem: logical vs. physical addresses Contiguous memory mapping (base, limit) Swapping

More information

I/O Systems. Jinkyu Jeong Computer Systems Laboratory Sungkyunkwan University

I/O Systems. Jinkyu Jeong Computer Systems Laboratory Sungkyunkwan University I/O Systems Jinkyu Jeong (jinkyu@skku.edu) Computer Systems Laboratory Sungkyunkwan University http://csl.skku.edu Today s Topics Device characteristics Block device vs. Character device Direct I/O vs.

More information

143A: Principles of Operating Systems. Lecture 5: Address translation. Anton Burtsev October, 2018

143A: Principles of Operating Systems. Lecture 5: Address translation. Anton Burtsev October, 2018 143A: Principles of Operating Systems Lecture 5: Address translation Anton Burtsev October, 2018 Two programs one memory Or more like renting a set of rooms in an office building Or more like renting a

More information

Tutorial on Memory Management, Deadlock and Operating System Types

Tutorial on Memory Management, Deadlock and Operating System Types Operating Systems and Systems Integration Tutorial on Memory Management, Deadlock and Operating System Types 1 Background 1.1 Memory management Virtual memory: is a method of managing memory automatically

More information