Smartphone Operating System (779883), страница 65
Текст из файла (страница 65)
We concluded the chapter by giving an example of howthe Java virtual machine is implemented on Symbian OS.Exercises1.Describe the sequence of actions or calls that must take place fora program in a virtual machine on virtual hardware to write to thevirtual machine’s disk drive.2.Consider memory management on a virtual machine. Would thehost or the virtual machine map the virtual machine’s logical addressrequests to physical addresses? Would the host or the virtual machinedo paging if an application on the virtual machine referenced a pagethat was not in memory?308VIRTUAL MACHINES3.What are the consequences of a poor emulation? Is it sufficientto simply state that a virtual machine ‘approximates’ an operatingenvironment?4.The JVM has an architecture that allows for very short bytecodeinstructions.
Why is this advantageous for Java?5.Does the design of Java have any implications for its performance onSymbian OS?Appendix AWeb Resourceshttp://developer.symbian.com/mainhttp://en.wikipedia.org/wiki/List of operating systemswww.imc.orgwww.kernelthread.com/mac/oshistorywww.knoppix.orgwww.levenez.com/unixwww.microsoft.com/windows/WinHistoryIntro.mspxwww.opengroup.orgwww.pushl.com/taskspywww.renegade-uiq.comwww.ubuntu.orgReferencesCampbell, J. (1990) ‘The Spirit of TIFF Class F’, Cygnet Technologies, 2560 9th.,Suite 220, Berkeley, CA USA.Lamport, L. (1987) ‘A fast mutual exclusion algorithm’, ACM Transactions onComputer Systems, 5:1, 1–11.Leung, J.Y.T.
and Whitehead, J. (1982) ‘On the complexity of fixed-priorityscheduling of periodic, real-time tasks’, Performance Evaluation (Netherlands)2:4 (December 1982), 237–50.Liu, C.L. and Layland, J.W. (1973) ‘Scheduling algorithms for multi-programmingin a hard real-time environment’, Journal of the ACM 20:1 ( January 1973),46–61.Siberschatz, A., Galvin, P. and Gagne, G. (2003) Operating System Concepts,John Wiley & Sons.Index3G networks 1057-bit data 27032-bit operating systems64-bit machines 163159, 162absolute binding 140–1abstraction principlessee also objectscommunications 18–19, 22, 39, 53–4,130–1, 198, 204–5, 210–11, 216,229–31, 235–46, 249–62, 303concepts 6–7, 10, 18, 22, 39, 42–3,53–4, 118–20, 130–2, 167, 175–6,198, 204–5, 210–11, 216–27,229–46, 249–62, 303file systems 167, 175–6HAL 210–11I/O 198, 204–5, 210–11, 303networks 215–27telephony 249–62access issues 170–1, 174–5, 181, 189–4,277, 285–97see also capabilities; security issuesfiles 170–1, 174–5, 181, 189–4MTMs 277access models, storage structures 31–2,33–38accounting information 50, 64active components, kernel 48–2active objectssee also threadsconcepts 73–4, 76–79, 83–6, 132,212–13, 236–7critique 79, 212–13active scheduler, concepts 73–4, 84–6addressesmessage characteristics 265–71, 273–5networks 217–19AF_INET 243–5AFS 225Agenda engine 277aging concepts, process scheduling 100–1allocation patterns, memory management147–50, 162–3analog communications, telephony 248,260–1AnswerIncomingCall 259314INDEXAPI see application programming interfaceApple computers 19, 91, 188application engines 10application programming interface (API)communication resources 18–19,26–29, 38–9, 76, 178, 220, 237–42,275–6concepts 4–5, 10, 18, 26–29, 36–39, 76,172, 178, 220, 237–42, 275–6, 307layers 18–19, 237–42application-specific standard product (ASSP)56–7see also extensionsapplicationssee also processesdefinition 62files 171–2, 178signed applications 294–6size constraints 155ARM processors 54, 161see also CPUASCII 265, 268assembly code 140–1, 305–6ASSP see application-specific standardproductasynchronous calls, nonblocking system calls209asynchronous cancellations, threads 72asynchronous device I/O, concepts 27–29,54–5, 84–6, 205, 236, 277atomicity concepts 113, 116–20attachments, messaging 268, 274–5, 278–9attributes, files/directories 169–1, 179–2authentication concepts 54, 192–4, 288–6see also security issuesauthorization concepts 287–88, 293–4AVKON 307Babbage, Charles 7bad blocks, storage media 182bakery method, multiple-processsynchronization 115–16base registers 37, 64batch-processing, mainframe systems11–13, 62, 93batteries 15–16Bearer Information Object (BIO) messages271–2, 276, 280see also messagingBell Labs 8BeOS 1Beowulf clusters 220–1, 226–7BESYS 8, 11–12, 17–18binary filessee also filesconcepts 168–9binary semaphoressee also mutexesconcepts 118–20, 126–7bind 243–5binding processes, memory 140–1binomial distribution 97BIO (Bearer Information Object) messages271–2, 276, 280see also messagingbiometrics 291blocking/nonblocking I/O 208–9, 212–13blocks, storage media 146–7, 177–78,179–2, 186–7Bluetooth connectivity 1, 39, 42, 131, 202,217, 219, 226–7, 233–5, 238, 240, 272,282, 293, 307bookkeeping operations 50, 64, 83Booleans 114–15bootstrap programs, concepts 24–5, 35, 51,58, 76, 178–9, 184–5, 223bounded services, real-time systems 16,102–4, 122–3bounded-waiting criteria, critical sections113–16, 122–3browsers 14, 33–5, 47, 67–68, 226, 232buddy system, page frames 162buffers 152–4, 206–7, 223–4, 286, 292see also spoolsbugs 37bus-structured network topology 218–19INDEXbusesconcepts 22–4, 137, 176–7, 198–14,218–19I/O 198–14USB connectivity 22, 199, 200, 210busy bits 203–4busy waiting, concepts 118bytecode execution 305–6C 8, 10, 148–9C++ 10, 119, 148–9cachesconcepts 30–1, 32, 137, 206–7, 222,223–4definition 30–1, 32networks 223–4CActive 84–6see also active objectsCActiveScheduler 84–6CAgnEntry 85Call abstraction, ETel 251, 257–60calls, telephony 250–60cancellations, threads 72capabilitiessee also authentication concepts; securityissuesconcepts 54, 192–4, 254–5, 295–6case 86catcommand 180CBaseMtm...classes 275–6CCITT 273CD-R/RWs 188CD-ROMs 31, 167–68, 188, 198CDMA 234, 251CDPD 234character-stream devices 205children IDs, processes 64–5, 66–7, 74–5,81–3, 279circuit-switched networks 251, 260see also GSM .
. .classes, object-oriented approaches 119–20,275315CLDC (Connected Limited DeviceConfiguration) 306client–server architecturesee also networksconcepts 11, 14, 93, 130–1, 221, 231–2,235, 237–42, 245, 265–68, 275–81message-passing features 221clones, processes 72, 79–4, 124–6Close 254–60close operations, files 173, 178closed environments 215–16clustering concepts, networks 220–1, 226–7clusters, disks 177, 181code see source codecommand shells, mainframe systems 12–13command-ready bits 203–4communications 2–3, 9, 15–16, 18–19, 22,25–29, 38–9, 43, 128–2, 197–214,215–28, 229–46, 247–62see also connectivity; networksabstraction principles 18–19, 22, 39,53–4, 130–1, 198, 204–5, 210–11,216, 229–30, 235–46, 249–62, 303asynchronous/synchronous device I/O26–29, 54–5, 84–6, 205, 236, 277bus 22–4, 137, 176–7, 198–14concepts 9, 18–19, 22–4, 25–29, 38–9,43, 128–2, 198–14, 215–28, 229–46constraints 231device I/O 25–29, 38–9, 50–3, 64–5,84–6, 180–1, 197–214distributed systems 13–14, 219–2DMA 28–9, 203–4, 210–13errors 230event-driven communications 236–42flexibility needs 230–1general concepts 230–1, 237general device I/O 201–4historical background 9, 13–16IPC 128–2ISO model 232–3Linux 229–30, 243–5, 249–50, 281–3messaging 42–3, 221, 263–84models 229–46316INDEXcommunications (continued )modularity principles 231, 234–5, 242,251, 261–2multimedia 15–16, 43packets 232–5, 260–2powerful tool 215protocol-implementation layer 240–4stacks 232–5, 237–44structural issues 38–9, 43, 231–46Symbian OS 18–19, 22, 38–9, 43, 132,226–7, 237–42, 250–60, 275–81synchronization operations 49, 76–7,114–36‘telephone game’ 229telephony 247–62types 9, 18–19, 22, 38–9WAP 227, 232–5, 242compact-flash cards 31, 154, 167–68, 177compilation 139–1, 144–5computerssee also devices; hardware; operatingsystems; softwareclosed environments 215–16core computing cycle (fetch–execute cycle)29, 204historical background 7–16, 17–19, 33,182–5, 247platforms 39–3security issues 285–97storage structures 29–2, 146–54,167–68, 176–7, 178–2, 223–5,278–9structural issues 18–39, 43, 47–59,146–7, 168–9, 171–95, 231–46,250–60system types 11–16, 93–4concurrently-shared resources 34–5, 42, 69,109–36, 236–7see also synchronization .
. .concepts 34–5, 42, 69, 109–36deadlocks 120–3, 133–4dining-philosophers problem 120–6environmental issues 110–12models 110–16producer–consumer problem 122–3reader–writer problem 122serializability goal 112–13Symbian OS 126–7Unix example 123–6conditional variables 78Connect 251–2connected environments 33–38, 217–28see also networksConnected Limited Device Configuration(CLDC) 306connected/connectionless socketssee also socketsconcepts 131connectivitysee also communications; networksconcepts 9, 39, 201–3, 226–7, 231–46Symbian OS 226–7content, message characteristics 265–7,273–5, 278–9context-switchesconcepts 25, 37–38, 40–1, 49–50, 55,74, 76, 82, 91–102, 138, 145–6, 156,160–1pre-emptive/non-pre-emptive schedulingconcepts 90–106, 133–4controllers, bus 22–4, 200–1core computing cycle (fetch–execute cycle)29, 204corrupted data 112coupling considerations, networks 218, 221CPhoneCall 253–62CPUbackground 1, 8, 12, 20, 22–5, 35–38,50–1, 52, 61–88, 89–108, 137–38,202–3, 216, 231, 300buses 22–4, 137, 202–3constraints 89, 231historical background 8, 12–13interrupts 23–6, 204multitasking 25, 37–38, 50–1, 52, 61–88performance considerations 92–3,137–38INDEXprocesses 13–16, 25, 32, 37–38, 48–50,55–6, 61–88, 89–108protection issues 35–38registers 29–2, 37, 62–4, 68–9, 74, 91,137, 202–3scheduling concepts 12–13, 40–1,89–108, 216throughput criteria 92–3timers 37–38, 55, 207–8utilization criteria 92–4create operations, files 172–3critical regions, concepts 119–20critical sectionssee also synchronization operationsconcepts 112–34criteria 112–16, 122–3, 126–7CSendAs 280–1CSY modules 239, 241–2cycle stealing DMA 203cylinders, disks 177datacaging 296process sections 62–3registers 202–3databasessee also filesconcepts 168–9, 175date/time of access, files 170–1, 181deadlines, real-time systems 102, 105–6deadlocksconcepts 120–3, 133–4dining-philosophers problem 120–3DEC VMS 172deferred cancellations, threads 72defragmentation 182delete operations, files 174delivery information, message characteristics265–71, 273–5denial-of-service attacks, networks 293desktop systemssee also personal computershistorical background 13–14, 93317destinations, message characteristics265–71, 273–5developer certificates, Symbian OS 296device controllers, concepts 22–4, 198–1,216device driverssee also logical .