Translate

Archives

On-disk File Timestamps

The Single Unix Specification, Base Definitions (XBD), Section 4.8 entitled “File Times Update” states “An implementation may update timestamps that are marked for update immediately, or it may update such timestamps periodically.” This means that, for example, that file read and write operations are free to set the appropriate flags in the in-memory structures and do the actual updating of the on-disk filesystem structures at a later time. Assuming periodically means from time to time, it implies that a POSIX-compliant operating system is free to update it’s on-disk structures when it is convenient for the operating system to do so.

PAE – Physical Address Extension

PAE (sometimes called PAE-X86) was first implemented by Intel in 1995 in certain models of the Pentium Pro. The PAE IA-32 architecture supports 4 additional address lines for memory selection, so physical address size increases from 32 bits to 36 bits. This enables 4Gb x 2*4 = 64Gb of physical memory to be accessed. The CPUID flag for PAE support is, naturally, PAE. Since then virtually every 32-bit CPU produced comes with PAE support. Even with a PAE-enabled CPU, the IPL32 programming model (IA32 flat memory mode) continues to be able to only see 4 Gb of memory. You need

How to Determine Hardware Mode of Intel CPU

Consider the following output: # grep flags /proc/cpuinfo flags: fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 syscall nx rdtscp lm constant_tsc pni monitor ssse3 lahf_lm How can you the maximum size of a long that can be used with this CPU? The answer is 64-bit because of the presence of the lm flag. The following flags can be used to determine the maximum size of a long for a CPU: lm – Long Mode (64 bits) tm – Protected mode (32-bit) rm – Real Mode

Configuring IP Dynamic Port Ranges

As you are probably aware, IP port numbers are 16 bit unsigned integers in the range 0 to 65535. IANA (Internet Assigned Numbers Authority) manages these port numbers. See the IANA Service Name and Transport Protocol Port Number Registry for more information. IANA specifies the range 49152 to 65535 be used for dynamic (AKA private) ports. From the above referenced document: Port numbers are assigned in various ways, based on three ranges: System Ports (0-1023), User Ports (1024-49151), and the Dynamic and/or Private Ports (49152-65535); the difference uses of these ranges is described in RFC6335. System Ports are assigned by

Access A VMware Virtual Disk from Linux

Recently I needed to recover some data off a VMware Workstation virtual disk using Linux. As you probably know, VMware Workstation (and VMware vSphere) represents a physical disk by a virtual disk whose backing store is one or more VMDK files. VMDK (Virtual Machine Disk) is a documented file format, which uses the file extension .vmdk. It describes containers for virtual hard disk drives to be used in virtual machines like VMware Workstation or VirtualBox. Initially developed by VMware for its virtual appliance products, nowadays VMDK is an open format. Fortunately, VMware provides a simple utility, vmware-mount, for mounting a