Index

A

access-control lists (ACLs), 832

ACLs (access-control lists), 832

ACPI (advanced configuration and power interface), 862

address space layout randomization (ASLR), 832

admission-control algorithms, 286

advanced configuration and power interface (ACPI), 862

advanced encryption standard (AES), 677

advanced local procedure call (ALPC), 135, 854

ALPC (advanced local procedure call), 135, 854

AMD64 architecture, 387

Amdahl's Law, 167

AMD virtualization technology (AMD-V), 720

Android operating system, 8586

API (application program interface), 6364

Apple iPad, 60, 84

application containment, 713, 727728

Aqua interface, 59, 84

ARM architecture, 388

arrays, 31

ASIDs (address-space identifiers), 374

ASLR (address space layout randomization), 832

assembly language, 77

asynchronous threading, 172

augmented-reality applications, 36

authentication:

multifactor, 689

automatic working-set trimming, 446

B

background processes, 7475, 115, 296

balanced binary search trees, 33

binary search trees, 33

binary translation, 718720

binary trees, 33

bitmaps, 34

bourne-Again shell (bash), 789

bridging, 732

bugs, 66

C

CFQ (Completely Fair Queueing), 817

children, 33

chipsets, 836

Chrome, 123

CIFS (common internet file system), 871

circularly linked lists, 32

client(s):

thin, 35

client-server model, 854855

clock algorithm, 418419

clones, 715

cloud computing, 4142, 716

Cocoa Touch, 84

code integrity module (Windows 7), 832

COM (component object model), 873

common internet file system (CIFS), 871

Completely Fair Queueing (CFQ), 817

computational kernels, 835836

computer environments:

cloud computing, 4142

distributed systems, 3738

mobile computing, 3637

real-time embedded systems, 43

virtualization, 4041

computing:

mobile, 3637

concurrency, 166

Concurrency Runtime (ConcRT), 297, 880881

condition variables, 879

conflict phase (of dispatch latency), 285

containers, 728

control partitions, 723

coupling, symmetric, 17

CPU scheduling:

real-time, 283290

earliest-deadline-first scheduling, 288289

and minimizing latency, 283285

POSIX real-time scheduling, 290

priority-based scheduling, 285287

proportional share scheduling, 289290

rate-monotonic scheduling, 287288

virtual machines, 729

critical-section problem:

and mutex locks, 212213

D

Dalvik virtual machine, 86

data parallelism, 168169

defense in depth, 689

desktop window manager (DWM), 831

device objects, 855

Digital Equipment Corporation (DEC), 379

digital signatures, 832

DirectCompute, 835

discovery protocols, 39

disk(s):

solid-state, 469

dispatcher, 294

DMA controller, 595

doubly linked lists, 32

driver objects, 855

DWM (desktop window manager), 831

dynamic configurations, 837, 838

E

earliest-deadline-first (EDF) scheduling, 288289

EC2, 41

EDF (earliest-deadline-first) scheduling, 288289

efficiency, 837

emulation, 40, 727

emulators, 713

encryption:

public-key, 678

energy efficiency, 837

Erlang language, 241242

event latency, 283284

event-pair objects, 855

exit() system call, 120, 121

ext2 (second extended file system), 811

ext3 (third extended file system), 811813

ext4 (fourth extended file system), 811

extended file attributes, 505

extensibility, 736

F

fast-user switching, 863864

FIFO, 32

file info window (Mac OS X), 505

file replication, 767

file systems:

Windows 7, see Windows 7

foreground processes, 115, 296

fork-join strategy, 172

fourth extended file system (ext4), 811

G

GCD (Grand Central Dispatch), 182183

general trees, 33

gestures, 60

global positioning system (GPS), 36

GNOME desktop, 60

GPS (global positioning system), 36

Grand Central Dispatch (GCD), 182183

granularity, minimum, 797

graphics shaders, 835

guard pages, 847

GUIs (graphical user interfaces), 5962

H

Hadoop, 765

Hadoop distributed file system (HDFS), 767

handle tables, 844

hands-on computer systems, 20

hardware:

virtual machines, 720721

hash collisions, 471

hash functions, 3334

hash maps, 471

HDFS (Hadoop distributed file system), 767

hibernation, 860861

hybrid cloud, 42

hybrid operating systems, 8386

Android, 8586

iOS, 8485

Mac OS X, 84

hypercalls, 726

hypervisors, 712

type 0, 723724

type 1, 724725

type 2, 725

I

IA-32 architecture, 384387

paging in, 385387

segmentation in, 384385

IA-64 architecture, 387

IaaS (infrastructure as a service), 42

idle threads, 840

IDSs (intrusion-detection systems), 691694

imperative languages, 241

impersonation, 853

implicit threading, 177183

Grand Central Dispatch (GCD), 182183

OpenMP and, 181182

thread pools and, 179181

infrastructure as a service (IaaS), 42

Intel processors:

IA-32 architecture, 384387

IA-64 architecture, 387

interface(s):

choice of, 6162

Internet Key Exchange (IKE), 682

interpretation, 40

interpreted languages, 727

interrupt latency, 284285

interrupt service routines (ISRs), 840

I/O (input/output):

virtual machines, 731732

iOS operating system, 8485

I/O system(s):

application interface:

vectored I/O, 603604

IP (Internet Protocol), 681683

iPad, see Apple iPad

ISRs (interrupt service routines), 840

J

Java Virtual Machine (JVM), 107, 726, 736737

journaling file systems, 569570

just-in-time (JIT) compilers, 727

JVM, see Java Virtual Machine

K

K Desktop Environment (KDE), 60

kernel(s):

computational, 835

kernel code, 96

kernel data structures, 3134

arrays, 31

bitmaps, 34

hash functions and maps, 3334

lists, 3133

queues, 32

stacks, 32

trees, 3133

kernel environment, 84

Kernel-Mode Driver Framework (KMDF), 856

kernel-mode threads (KT), 844

kernel modules:

Linux, 96101

kernel transaction manager (KTM), 862

KMDF (Kernel-Mode Driver Framework), 856

KT (kernel-mode threads), 844

KTM (kernel transaction manager), 862

L

latency:

in real-time systems, 283285

target, 797

left child, 33

LFH design, 883884

LIFO, 32

Linux:

kernel modules, 96101

Linux system(s):

obtaining page size on, 370

lists, 3132

live migration (virtual machines), 716, 733735

lock(s):

mutex, 212214

loosely-coupled systems, 17

love bug virus, 694

low-fragmentation heap (LFH) design, 883884

LPCs (local procedure calls), 834

M

Mac OS X operating system, 84

main memory:

paging for management of:

and Oracle SPARC Solaris, 383

memory:

transactional, 239240

memory leaks, 101

memory management:

with virtual machines, 730731

memory-management unit (MMU), 384

micro TLBs, 388

migration:

with virtual machines, 733735

minimum granularity, 797

mobile computing, 3637

mobile systems:

multitasking in, 115

swapping on, 360, 407

module entry point, 97

module exit point, 97

Moore's Law, 6, 835

multicore systems, 14, 16, 166

multifactor authentication, 689

multiprocessor systems (parallel systems, tightly coupled systems), 166

multi-touch hardware, 863

mutant (Windows 7), 841

mutex locks, 212214

N

namespaces, 793

NAT (network address translation), 732

nested page tables (NPTs), 720

network address translation (NAT), 732

non-uniform memory access (NUMA), 834

NPTs (nested page tables), 720

O

OLE (object linking and embedding), 873

open-file table, 546547

OpenMP, 181182, 240241

OpenSolaris, 46

operating system(s):

hybrid systems, 8386

portability of, 836837

Oracle SPARC Solaris, 383

Orange Book, 832

OSI model, 757758

OSI Reference Model, 682

overcommitment, 729

P

PaaS (platform as a service), 42

page address extension (PAE), 396

page directory pointer table, 386

page-frame number (PFN) database, 850851

page-table entries (PTEs), 847

paging:

and Oracle SPARC Solaris, 383

parallelism, 166, 168169

paravirtualization, 713, 725726

partition(s):

control, 723

PC systems, 863

PDAs (personal digital assistants), 11

periodic processes, 286

periodic task rate, 286

personal computer (PC) systems, 863

personalities, 83

PFF (page-fault-frequency), 429430

PFN database, 850851

platform as a service (PaaS), 42

pop, 32

POSIX:

real-time scheduling, 290

POST (power-on self-test), 862

power manager (Windows 7), 860861

power-on self-test (POST), 862

priority-based scheduling, 285287

private cloud, 42

privilege levels, 23

procedural languages, 241

process(es):

background, 7475, 115, 296

foreground, 115, 296

system, 8

processor groups, 835

process synchronization:

alternative approaches to, 238242

functional programming languages, 241242

OpenMP, 240241

transactional memory, 239240

critical-section problem:

software solution to, 212213

programming-environment virtualization, 713, 726727

proportional share scheduling, 289290

protection domain, 721

protocols:

discovery, 39

pseudo-device driver, 730731

PTEs (page-table entries), 847

PTE tables, 847

Pthreads:

thread cancellation in, 186187

public cloud, 41

public-key encryption, 678

push, 32

R

RAID sets, 868

rate, periodic task, 286

rate-monotonic scheduling, 287288

rate-monotonic scheduling algorithm, 287288

RC4, 677

RDP, 717

real-time CPU scheduling, 283290

earliest-deadline-first scheduling, 288289

and minimizing latency, 283285

POSIX real-time scheduling, 290

priority-based scheduling, 285287

proportional share scheduling, 289290

rate-monotonic scheduling, 287288

red-black trees, 35

resume, 715

right child, 33

ROM (read-only memory), 93, 480

routers, 754

RR scheduling algorithm, 271273

S

SaaS (software as a service), 42

Scala language, 241242

scheduling:

earliest-deadline-first, 288289

priority-based, 285287

proportional share, 289290

rate-monotonic, 287288

SSDs and, 478

SCM (Service Control Manager), 860

second extended file system (ext2), 811

security identity (SID), 853

security tokens, 853

Service Control Manager (SCM), 860

services, operating system, 115

session manager subsystem (SMSS), 862

SID (security identity), 853

singly linked lists, 32

SJF scheduling algorithm, 267270

Skype, 40

slim reader-writer (SRW) locks, 879

SLOB allocator, 439

SLUB allocator, 439

SMB (server-message-block), 871

SMSS (session manager subsystem), 862

software as a service (SaaS), 42

solid-state disks (SSDs), 11, 469, 478

SPARC, 383

SRM (security reference monitor), 858859

SRW (slim reader-writer) locks, 879

SSTF scheduling algorithm, 474475

standard swapping, 358360

storage:

thread-local, 187

storage management:

with virtual machines, 732733

subsystems, 135

superuser, 688

Surface Computer, 863

suspended state, 715

swapping:

on mobile systems, 360, 407

standard, 358360

switching:

fast-user, 863864

symmetric coupling, 17

symmetric encryption algorithm, 676

synchronous threading, 172

SYSGEN, 9192

system daemons, 8

system-development time, 715

system hive, 861

system processes, 8, 844845

system restore point, 861

T

target latency, 797

task parallelism, 168169

TEBs (thread environment blocks), 880

terminal applications, 96

terminal server systems, 864

thin clients, 35

third extended file system (ext3), 811813

threads:

implicit threading, 177183

thread attach, 853

thread environment blocks (TEBs), 880

thread-local storage, 187

thread pools, 179181

thunking, 834

time sharing (multitasking), 115

time slice, 796

timestamp counters (TSCs), 840841

touch screen (touchscreen computing), 5, 60

transactions:

atomic, 210

transactional memory, 239240

Transmission Control Protocol/Internet Protocol (TCP/IP), 758761

trap-and-emulate method, 717718

trees, 33, 35

TSCs (timestamp counters), 840841

type 0 hypervisors, 712, 723724

type 1 hypervisors, 712, 724725

type 2 hypervisors, 713, 725

U

UAC (User Account Control), 701

UI (user interface), 5255

UMDF (User-Mode Driver Framework), 856

UMS, see user-mode scheduling

USBs (universal serial buses), 469

User Account Control (UAC), 701

user mode, 787

User-Mode Driver Framework (UMDF), 856

user-mode scheduling (UMS), 296297, 835, 880881

user-mode threads (UT), 844

UT (user-mode threads), 844

V

VACB (virtual address control block), 857

variables:

condition, 879

VAX minicomputer, 379380

VCPU (virtual CPU), 717

vectored I/O, 603604

virtual CPU (VCPU), 717

virtualization, 4041

advantages and disadvantages of, 714716

and application containment, 727728

and emulation, 727

and operating-system components, 728735

CPU scheduling, 729

I/O, 731732

live migration, 733735

memory management, 730731

storage management, 732733

para-, 725726

programming-environment, 726727

virtual machines, 711738. See also virtualization

advantages and disadvantages of, 714716

and binary translation, 718720

examples, 735737

features of, 715717

and hardware assistance, 720721

history of, 713714

Java Virtual Machine, 736737

life cycle of, 722723

trap-and-emulate systems, 717718

type 0 hypervisors, 723724

type 1 hypervisors, 724725

type 2 hypervisors, 725

VMware, 735736

virtual machine control structures (VMCSs), 721

virtual machine manager (VMM), 2223, 41, 712

virtual machine sprawl, 723

VMCSs (virtual machine control structures), 721

VMM, see virtual machine manager

VM manager, 846852

VMware, 714, 735736

W

wait() system call, 120122

Win32 API, 875

Windows 7:

dynamic device support, 837, 838

and energy efficiency, 837

fast-user switching with, 863864

security in, 700701

synchronization in, 833834, 878879

terminal services, 863864

user-mode scheduling in, 296297

Windows executive:

booting, 862863

power manager, 860861

Windows group policy, 875

Windows Task Manager, 87, 88

Windows Vista, 830

security in, 700

symbolic links in, 869870

Windows XP, 830

Winsock, 881

Workstation (VMWare), 735736

X

x86-64 architecture, 387

Xen, 714

Z

zones, 728

..................Content has been hidden....................

You can't read the all page of ebook, please click here login for view all page.
Reset
3.144.97.187