Smartphone Operating System (779883), страница 67
Текст из файла (страница 67)
. . ;operating systemsactive components 48–2bootstrap programs 25, 51, 58, 76,178–9, 184–5, 223concepts 8–9, 16, 20–2, 25, 41–3,47–59, 104–6, 161–2, 205–8, 210,295–6, 300–8definition 20design issues 20–2, 47–53, 56–58diagrammatic overview 56–7hybrid kernels 21–2I/O structure 205–8, 210interrupt implementation 52–6, 91,104–6layers 48–58memory model 56–7, 161–2, 227nanokernel 48–58, 76–79, 126–7passive components 48, 49, 52–3performance considerations 51–2, 53,205–8roles 8–9, 20–2, 48–3, 54, 205–8, 300servers 20–2, 43, 47–59, 132structures 20–2, 47–59system function calls 53–4, 69–1, 207–9,231–2telephony 249–50types 20–2virtual machines 300–8kernel threadssee also threadsconcepts 70–1kernel-server requests 43LANs (local area networks)217–21323latency issues 55, 92, 103–4, 106LCD management 210–11ldd 141LDDs (logical device drivers) 52–3, 56–58,210–12, 239–40libraries 8, 49, 52–3, 139–1, 143–5lightweight processes (LWP)see also threadsconcepts 73–4, 77limit registers 37, 64Line abstraction, ETel 251, 256–7link editors 139–1Linux 1–2, 6, 14–15, 21–2, 28, 39–2,74–6, 79–1, 84, 91, 103–4, 141, 143,162–3, 170–2, 188–9, 192–3, 205,229–30, 243–5, 249–50, 281–3see also Unixcommunications models 229–30, 243–5,249–50, 281–3epochs 103–4files 170–2, 188–9, 192–3handheld systems 15, 28historical background 6, 14, 15, 41I/O 205, 243–5kernel 21–2, 162–3, 281–2memory management 143, 162–3messaging 264, 281–3MMU 143, 162–3module dependencies 141processes 74–6, 79–1, 84, 91, 103–4scheduling 103–4security issues 287shared process data 82, 91simplicity dangers 283telephony 249–50list, operating systems 7LoadPhoneModule 252–3local area networks (LANs) 217–21locks, semaphores 118–19log-structured file systems 188logical device drivers (LDDs), concepts52–3, 56–58, 210–12, 239–40logical file systems 170–1, 178, 181–2see also files324INDEXlogical memorysee also memory .
. .concepts 141–3, 146–54, 156–59, 216logical/physical addressing, memorymanagement 141–3, 146–54, 156–59,177–78loosely-coupled connections 218Mach kernel 91MacOS 91, 188macro-style interleavings 111–12magnetic disks 31, 138, 145–6, 163,167–68see also disksmail model, IPC concepts 129main memoryconcepts 30–1, 32, 137–65, 202–3definition 31mainframe systems, historical background11–13, 33, 40–1, 93MakeCall 258–60malicious code 35, 189, 194, 285, 292–6malloc 148–9many-to-many model of kernel threading 71many-to-one model of kernel threading70–1Mark I computer (1948) 7maskable interrupts 24master boot record (MBR) 178–9, 180Matsushita (Panasonic) 11MBR see master boot recordmemory 2–9, 15, 22, 30–2, 36–38, 49–3,56–7, 64–5, 77–79, 91–4, 128,137–65, 216, 221–3see also caches; flash .
. . ; RAM; ROMbinding processes 140–1coherence issues 222concepts 30–2, 36–38, 49–3, 56–7,64–5, 77–79, 91–4, 128, 137–65,216DMA 28–9, 203–4, 210–13implementation models 161–2main memory 30–1, 32, 137–65, 202–3MMUs 142–62performance considerations 51–2, 53,137–65protection issues 36–38, 40–1, 153–4,162–3, 216, 301–2record-keeping needs 28shared memory 137–65, 221–4virtual memory 22, 32, 40–1, 43, 151–4,159, 216memory managementallocation patterns 147–50, 162–3application size 155complexity 142–3concepts 57, 64–5, 137–65, 216DLLs 143–5, 155–6dynamic loading 143–5, 148–4, 243execution in-place issues 155fragmentation problems 149–50frames 146–7, 159–1, 162–3hardware-offloading issues 156heaps 149, 155, 156–7, 161Linux 143, 162–3logical/physical memory 141–3, 146–54,156–59, 216MMUs 142–62networks 221–2on-demand paging 151–4overlays 144–5page tables 147–54, 159–2pages 146–54, 156, 159–1segmentation 156–59, 161, 162–3smartphones 154–6, 159–2swapping and paging 145–54, 159, 160,163Symbian OS 156, 159–2thrashing problems 152–3TLBs 152–3memory management units (MMUs), concepts142–62memory model, concepts 56–7, 161–2, 227memory-mapped I/O 202–4message manager applications 3–6message type modules (MTMs) 53, 239,241–2, 275–81INDEXmessaging 42–3, 221, 263–84see also BIO; email; fax; SMSattachments 268, 274–5, 278–9characteristics 264–7, 273–5concepts 42–3, 221, 263–84dissected parts 264–7headers 265–71, 273–5, 278–9Linux 264, 281–3manipulation overview 279–80models 267, 273–5, 278–80, 281–2overview 264–7, 279–80protection issues 277–78pull/push model 267, 269, 272receiving overview 279–1, 283send-as messaging interface 276–81sending overview 279–1, 282–3server functions 42–3, 275–81Symbian OS 42–3, 53, 239, 241–2,263–4, 275–81types 263–73microkernelssee also kernelconcepts 20–2, 43, 47–58, 93–4, 104–6,132, 249–62, 277critique 51–2process scheduling criteria 93–4, 104–6telephony 249–62Microsoft Disk Basic system 182Microsoft SQL Server 2000 292–3Microsoft Windows 1, 6, 9, 13–14, 15,18–19, 42, 51, 99–100, 143, 153,170–1, 182–3, 188–9, 190, 2493.1 9195 1, 18398 2882000 71, 191, 302CE 143communication resources 18emulator 162, 251, 302, 303–4evolution 9, 13–14, 19files 42, 170–2, 182–5, 188–9, 190, 223,288handheld systems 15historical background 9, 13–14, 19325idle processes 100kernel 51, 71Mobile 249NT 71, 184–6plug-and-play concepts 6priorities 99–100roots of files 171security issues 288swap-space 153telephony 249threads 71XP 1, 302Microsoft Word 170–1MIDP (Mobile Information Device Profile)306MIMD (multiple instructions, multiple data)distributed systems 221MIME (Multipurpose Internet Mail Extensions)268mini-SD cards 31minidisks see partitionsMISD (multiple instructions, single data)distributed systems 221MIT 8MMUs (memory management units) 142–62Mobile Information Device Profile (MIDP)306mobile phonessee also smartphones; Symbian OSconcepts 1–16, 42–3, 48, 93–4data requirements 15–16EPOC 10–11, 19, 42, 305file systems 188–9, 193–4focus 4, 42–3historical background 9–11, 15–16,42–3, 247memory management 154–6networks 218, 226–7, 248–9operating systems 2–4, 9–11, 15–16,42–3, 48–58, 93–4real-time systems 16, 56, 93–4resource demands 15–16storage media 177, 211–12text messages 3–6, 15–16326INDEXmobile-phone networks 248–9modems 238, 248–50, 272–3modularity principles 18–19, 22, 231,234–5, 242, 251, 261–2module dependencies, concepts 141Moka5 302monitors, semaphores 119–20monolithic kernelssee also kernelconcepts 20–2, 41, 47–58, 105, 249critique 51Motorola 11mouse 28, 198see also I/Omoving model, memory implementationmodels 161–2MP3s 15–16MPI 220MS-DOS, historical background 8–9, 13,19, 36, 169, 182–3, 188–9MTMs (message type modules) 53, 239,241–2, 275–81MULTICS 8, 12–13, 41multilevel feedback 101multimedia communications 15–16, 43MultiMediaCards 212multiple instructions, multiple data (MIMD)distributed systems 221multiple instructions, single data (MISD)distributed systems 221multiple model, memory implementationmodels 161–2multiple-queuing strategy, process scheduling101, 106multiprogramming concepts 12–13, 15–16,40–1Multipurpose Internet Mail Extensions (MIME)268multitasking operating systems 8, 25,37–38, 40–3, 50–1, 61–88multithreading 25, 41–3, 48–2, 67–88, 212see also threadsbenefits 68–9concepts 25, 41–3, 48–2issues 71–2performance considerations 51–2, 68–9,79, 212mutexes 49, 78, 123–7see also binary semaphores;synchronization operationsconcepts 49, 126–7definition 126mutual-exclusion criteria, critical sections113–16, 126–7MVS, IBM 40–1namesdirectories 171, 179–80files 169, 171, 181, 222–3nanokernelconcepts 48–58, 76–79, 126–7roles 48–9synchronization operations 49, 76–7,126–7nanothreadsconcepts 76–79, 127–28states 77–78NASA 220Network File Services (NFS) 186–7, 189,225, 227networks 1, 3–5, 9–14, 33–38, 39, 42, 93,130–1, 202, 215–28, 231–2see also communications; connectivityabstraction principles 216–27addresses 218–19caches 223–4client–server architecture 11, 14, 93,130–1, 221, 231–2, 235, 237–42,245, 265–68, 275–81closed environments 215–16clustering concepts 220–1, 226–7concepts 11, 14, 33–38, 93, 130–1,215–28, 231–2connection strength 217–18coupling considerations 218, 221denial-of-service attacks 293devices-communication methods 225–7INDEXdistributed systems 13–14, 219–2file systems 222–6influencing criteria 217–19interconnection concepts 217–19message-passing features 42–3, 220–1NFS 186–7, 189, 225, 227performance considerations 223–5powerful tool 215protocols 218–19, 227, 240–4routers 218–19security issues 223–4, 286–7, 293shared memory 221–4shared resources 33–38, 69, 109–36,205, 215–28smartphones 218, 226–7SMB 187, 189, 225sockets 39, 49, 130–2, 225–7, 243–5,261storage-free computers 223–5Symbian OS 226–7topologies 217–19Unix 220new 148–9new hardware, virtual machines 301–2new state, processes 63–4next-hop routing 219NFastMutex 127NFastSemaphore 127NFS (Network File Services) 186–7, 189,225, 227no-starvation criteria, critical sections113–16Nokia 10–11, 247, 249, 255–6, 262, 307non-pre-emptive concepts, process scheduling90–106nonblocking I/O 208–9, 212–13notifications, telephony 254–5NTFS file system 185–6, 305NTP servers 226object code 139–1see also processes327object-oriented approaches 10–11, 42–3,119–20, 275objectssee also abstraction principlesactive objects 73–4, 76–79, 83–6, 132,212–13, 236–7concepts 6–7, 10, 42–3, 48–9, 73–4,76–79, 109concurrently-shared resources 34–5, 42,69, 109–36offsets, segmentation 156–59on-demand paging, memory management151–4ONC RPC 225one-to-one model of kernel threading 71open 42, 187–88, 254–60open operations, files 173, 178, 179open source 41–2, 91, 287, 289open-file tables 179OpenExistingCall 257–60OpenNewCall 257–60operating systemssee also IBM; kernel; Linux; Microsoft .
. . ;Symbian OS; Unix30-bit operating systems 159, 16262-bit machines 163abstraction principles 6–7, 10, 18, 22, 39,42–3, 53–4, 118–20, 130–2, 167,175–6, 198, 204–5, 210–11, 216,229–46, 249–62, 303Apple computers 19, 91, 188BESYS 8, 11–12, 17–18character issues 17–45, 47communication resources 18–19, 22,38–9, 43, 198–14, 216, 229–46,249–62computer-systems perspective 11–16,93–4concepts 1–16, 17–45, 61–2, 90–4, 110,159, 162, 219–2concurrently-shared resources 34–5, 42,69, 109–36DEC VMS 172definitions 2–7328INDEXoperating systems (continued )design issues 17–22, 47–53, 56–58device I/O 25–29, 38–9, 50–3, 64–5,84–6, 197–214dispatchers 91–4distributed systems 13–14, 219–2EPOC 10–11, 19, 42, 305evolution 17–19extensibility needs 6–7file types 169–70goals 1–7good systems 4, 6–7, 18, 28hardware 1–16, 17–45, 109–36historical background 7–16, 17–18, 19,33host operating systems 300–8IBM 8–9, 12, 13, 19, 36, 40–1, 182interrupts 22–29, 35–6, 43, 49, 52–6,72, 91–4, 104–6, 204kernel structures 20–2, 25, 47–59list 7messaging 263–84Microsoft Windows 1, 6, 9, 13–14, 15, 51mobile phones 2–4, 9–11, 15–16, 42–3,48–58, 93–4MS-DOS 8–9, 13, 19, 36, 169, 182–3,188–9multitasking operating systems 8, 25,37–38, 40–3, 50–1, 61–88networks 33–38, 215–28new operating systems 301–2open-file tables 179platforms 39–3portability needs 7pre-emptive/non-pre-emptive schedulingconcepts 90–106, 133–4privileged-mode operations 35–6, 42–3,48–9, 54, 55–6, 76–7processes 25protection issues 33–38, 40–1, 42–3,48–4, 76–7, 82, 153–4, 190–4,277–78, 285–97, 301–2qualities 6–7record-keeping needs 28recursive problems 301–2resource models 2–9, 33–38robustness needs 6–7‘rose-tinted glasses’ 1, 167scalability needs 6security issues 7, 33–38, 40–1, 42–3,48–4, 76–7, 82, 153–4, 190–4,277–78, 285–97Solaris 123–6, 143, 157structural issues 18–39, 47–59telephony 247–62threads 25, 48–9throughput needs 6–7varieties 1–2, 7–9, 13–16, 93–4virtual machines 299–8operation types, files 172–4, 178, 192–4ordered-delivery property, socket streams131OS/360, IBM 8, 12, 40–1outputsee also I/Oconcepts 3–7, 197–214overlays, concepts 144–5owners, files 170–1, 181, 190–4packets, communications 232–5, 260–2pagesdirectories 159–3faults 151, 154logical memory 146–54, 156, 159–1page replacements 151–4tables 147–54, 159–2paging, memory management 146–54, 156Palm handhelds 15, 156parent IDs, processes 64–5, 66–7, 74–5,81–3, 279partition-label control block (PLCB) 179partitions, disks 168–9, 179Pascal 120passalgorithms 290passive components, kernel 48, 49, 52–3passwords 288–6pathnames, files 171, 222–3INDEXpaths, directories 168–1PCBs (process control blocks), concepts64–7, 74, 76–84, 99–100, 104–5,145–7, 295PCMCIA 188–9PCP 40–1PCs see personal computersPDAs 154, 306PDDs (physical device drivers) 52–3,56–58, 210–11, 239–40PDF files 172peer-to-peer systems, concepts 14, 218–19,242, 248–9, 266–7Pentium 1perceptions 1performance considerations 29, 51–2, 53,68–9, 73–4, 92–3, 137–65, 205–8CPU 92–3, 137–38device I/O 29, 180–1, 205–7files 180–2, 206–8I/O handling 29, 180–1, 205–7kernel 51–2, 53, 205–8memory 51–2, 53, 137–65multithreading 51–2, 68–9, 79, 212networks 223–5passive kernel components 53real-time systems 102response times 51, 93–106turnaround times 92–103virtual machines 304–5waiting times 93–103personal computers (PCs)see also desktop systemshistorical background 8–9, 13–14,182–5personal information, security issues 290–1personality layers, concepts 56–7Phone abstraction, ETel 251, 254–5phone calls 15–16phone modelsee also remote procedure callsIPC 129–30photographs 15–16329physical device drivers (PDDs), concepts52–3, 56–58, 210–11, 239–40physical level, security issues 286–7, 290–1physical memorysee also memory .