Concepts with Symbian OS (779878), страница 67
Текст из файла (страница 67)
. . ; flash . . .concepts 30–1, 137, 146–7, 167–68,176–7definition 31sectors, disks 177, 181secure-digital cards (SDs) 31, 154, 212–13security issues 7, 33–38, 40–1, 42–3,48–4, 76–7, 82, 153–4, 189–4, 223–4,277–78, 285–97see also protection . . .authentication concepts 54, 192–4,288–6authorization concepts 287–88, 293–4buffer overflows 286, 292capabilities 54, 192–4, 254–5, 295–6concepts 33–38, 40–1, 42–3, 48–4,189–4, 223–4, 285–97data caging 296definition 285difficulties 286–7failures 190–2, 286file systems 189–4finger example 286, 292gatekeeper security model 294–6human level 286–7, 292levels 286–7Linux 287Microsoft Windows 288networks 223–4, 286–7, 293operating systems 7, 33–38, 40–1, 42–3,48–4, 76–7, 82, 153–4, 190–4,277–78, 285–97passwords 288–6personal information 290–1physical level 286–7, 290–1signed applications 294–6smartphones 193–4, 293–6Symbian OS 193–4, 293–6threat types 292–4Unix 286, 288–90, 292–3virtual machines 301–2security needs, operating systems 7segmentation, memory management156–59, 161, 162–3select 245semaphores 49, 50, 77–78, 116–36see also synchronization operationsbinary semaphores 118–20, 126–7concepts 116–20definition 126–7INDEXlocks 118–20monitors 119–20Unix example 123–6Send 85–6send-as messaging interface, MTM 276–81senders, message characteristics 264–71,273–5SendItem 85–6sequential access, files 174–5, 205serial connectivity 9, 85–6, 210serializability goal, concurrently-sharedresources 112–13serially-shared network resources 33–5Server Message Block (SMB) 187, 189, 225serverssee also file .
. .; socketsclient–server architecture 11, 14, 93,130–1, 221, 231–2, 235, 237–42,245, 265–68, 275–81concepts 10–11, 14, 18, 20–2, 39, 42,43, 48–9, 53, 57, 93, 130–1, 132,178, 187–88, 190–4, 211–12, 221,231–2, 251–60, 265–68ETel 247, 249, 251–60kernel 20–2, 43, 47–59, 132messaging functions 42–3, 275–81passive kernel components 53relay servers 266–69roles 49, 132, 231–2Session Initiation Protocol (SIP) 261–2SetActive 84–6shared data, processes 82, 91–4, 109–36shared memory 137–65, 221–4see also memory . .
.shared resources 33–4, 61–88, 90–4,109–36, 137–65, 205, 216–28see also concurrently-shared . . . ; memorymanagement; networksshell access, Unix 288shortest-job-first strategy (SJF), processscheduling 96–98SIBO 9–10, 42signal 117–18, 119–20, 122–7see also synchronization333signals, processes 72, 117–18signed applications 294–6SIMD (single instruction, multiple data)distributed systems 221Simple Mail Transfer Protocol (SMTP) 268,275single instruction, multiple data (SIMD)distributed systems 221SIP (Session Initiation Protocol) 261–2sizesapplications 155directories 179files 170–1, 181–3SJF (shortest-job-first strategy) 96–98sleeping state, nanothreads 77–78Small Computer Systems Interface (SCSI) bus200–1smartphones 9–11, 20–2, 42–3, 47–58,93–4, 154–6, 177, 229–30, 247–62,285–97see also mobile phones; Symbian OScommunications models 229–30constraints 154–6, 231file systems 188–9, 193–4flash storage 2, 31, 52, 146, 154, 167–68,177, 188–9historical background 9–11, 42–3, 247memory management 154–6, 159–2microkernels 20–2, 43, 47–58, 93–4,104–6, 132, 249, 277networks 218, 226–7platform uniqueness 56security issues 193–4, 293–6storage media 177, 211–12telephony 247–62SMB (Server Message Block) 187, 189, 225SMS 53, 242, 263, 267, 268–1, 276, 280see also messagingSMTP (Simple Mail Transfer Protocol) 268,275socketssee also servers; TCP/IPconcepts 39, 49, 130–2, 225–7, 235,243–5, 261334INDEXsockets (continued )connected sockets 131IPC 130–2, 235network communications 225–7, 243–5,261streams 131SOCK_STREAM 243–5soft real-time systemssee also real-time .
. .concepts 16, 101–2softwaresee also application . . . ; operating systems;processesconcepts 2–11, 35–38, 204–13definition 3device drivers 18, 41, 52–3, 56–58, 177,198, 199–13goals 3–4historical background 7–16I/O issues 204–13interrupts 24–5, 35–6, 43, 104–6protection issues 34–38, 40–1, 48–9,285–97, 301–2signed applications 294–6virtual machines 300–8‘write once, run everywhere’ goal 302software controllers 213Solaris 123–6, 143, 157solid-state storage 146Sony Ericsson 307sorting algorithms 82source codemalicious code 35, 189, 194, 285, 292–6open source 41–2, 91, 287, 289processes 138–1spam 283spoolssee also buffersconcepts 206–7spyware 292SQL 292–3stackscommunications 232–5, 237–44program stack 62–3, 68–9, 76–7, 156,306standards 198, 204–5, 230, 238–9, 271see also protocolsstar networks 218–9starvation issues, process scheduling 100–1,113–16, 122, 134statesnanothreads 77–78processes 63–7, 72, 74–5, 90–4, 133–4threads 71–2, 77–78static monotonic scheduling 102, 105–6statically loaded system libraries 139–1,144–5storage mediabad blocks 182blocks 146–7, 177–78, 179–2, 186–7free space 182removable storage media 212–13smartphones 177, 211–12structural issues 146–7, 177–82Symbian OS 211–12storage structuresaccess models 31–2, 33–38concepts 29–2, 146–54, 167–68,176–7, 178–2, 223–5, 278–9core computing cycle (fetch–execute cycle)29, 204hierarchical levels 29–30, 188, 278–9main mechanisms 29–30storage-free computers 223–5strategies, process scheduling 93–103streams 131, 233–5struct 119structural issuessee also storage .
. .directories 179–2files 168–9, 171–95kernel 20–2, 47–59operating systems 18–39, 47–59telephony 250–60stubs 144–5, 160Sun Microsystems 145, 225suspended state, nanothreads 77–78INDEXswap-space configuration, concepts 153–4,163swapping and paging, memory management145–54, 159, 160, 163SWinstall 295–6switch 86Symbian OS 2, 9–11, 15, 16, 18–19, 32,38–9, 42–3, 48–58, 73–4, 76–79,105–6, 126–7, 132, 156, 159–2,209–13, 226–7, 237–42, 247–62,293–6, 299, 302–7see also mobile phones; operating systems30-bit operating system 159abstraction principles 210–11, 251–62active objects 73–4, 76–79, 83–6, 132,212–13, 236–7communication resources 18–19, 22,38–9, 43, 132, 226–7, 237–42,250–60, 275–81complexity issues 56–58, 276, 280–1concurrently-shared resources 126–7connectivity 226–7data caging 296developer certificates 296diagrammatic overview 56–7emulator 161–2, 251, 302, 303–4EPOC 10–11, 19, 42, 305errors 160ETel 247, 249–60, 295file systems 42, 193–4, 227formation 11, 42gatekeeper security model 294–6historical background 9–11, 19, 38–9,42–3, 247I/O 209–13IPC 132JVM (Java virtual machine) 299, 303–7kernel 20–2, 43, 48–58memory implementation models 161–2memory management 156, 159–2, 227messaging 42–3, 53, 239, 241–2, 263–4,275–81microkernels 20–2, 43, 48–58, 132, 249,277335networks 226–7object-oriented approaches 10–11, 42–3,275page directories/tables 159–2process scheduling 105–6processes 73–4, 76–79, 83–7, 105–6programming 83–7, 276–7protocol-implementation communicationlayer 240–4real-time systems 16, 56, 105–6removable storage media 212–13roots of files 171, 279security issues 193–4, 293–6signed applications 294–6storage media 211–12telephony support 247–62threads 73–4, 76–79, 83–7, 212–13,236–7trust relationships 295–6TTBRs 159–60Unix 42v8 51v9 16, 54, 193, 251, 261–2, 294–6v9.1 54, 304virtual machines 299, 302, 303–7VoIP 261–2synchronization operations 49, 76–7,114–36see also critical sections; mutexes;semaphoresbakery method 115–16concepts 49, 76–7, 114–36dining-philosophers problem 120–6flags 114–15IPC 128–2multiple processes 115–16nanokernel 49, 76–7, 126–7two processes 113–15synchronous device I/O, concepts 26–29,205system function calls 5–6, 36, 42–3, 47, 49,52–4, 69–1, 76, 79–2, 207–9, 231–2,279see also interrupts336INDEXsystem function calls (continued )concepts 5–6, 53–4, 69–1, 76, 207–9kernel 53–4, 69–1, 207–9, 231–2privileged-mode operations 36, 42–3, 47,49, 54system time 38systems perspective, operating systems11–16, 93–4table of contents, directories 170–1tables, files 170–1, 174, 178tape drives, spools 207TCP/IP protocol 39, 42, 218, 226, 227,238–9, 241–2, 244, 261–2, 268‘telephone game’, communications 229telephonyanalog communications 248, 260–1concepts 247–62digital communications 248ETel 247, 249–60kernel 249–50Linux 249–50Microsoft Windows 249models 248–60structural issues 250–60voice communications 248–9, 257VoIP 260–2terminated state, processes 63–5, 66–7, 72,78–80, 90–103, 134tertiary (archival) storageconcepts 30–1definition 31test 126text filessee also filesconcepts 168–1, 267–68text messages 3–6, 15–16, 53, 242, 263,267, 268–1, 276, 280see also SMStext sections, processes 62–3TFTP (trivial-file-transfer protocol) 293Thompson, Ken 8thrashing problems, memory management152–3thr_create 83threadssee also active objects; multithreading;processescancellations 72concepts 25, 41–3, 48–9, 50–2, 67–88,211–12, 236–7creation 71–2, 82–3definition 25, 67kernel threads 70–1management issues 71–2nanothreads 76–79, 127–28programming 82–7scheduling 71–2single threads 68–9, 71states 71–2, 77–78, 236–7Symbian OS 73–4, 76–79, 83–7,212–13, 236–7user threads 69–1threat types, security issues 292–4thr_join 83throughput needs, operating systems 6–7TIFF class F images 273tightly-coupled connections 218time slices 25, 37–38, 97–98, 103–4,105–6time-sharing conceptsmainframe systems 12–13processes 25, 37–38, 97–98, 103–4timers 37–38, 55, 207–8timestamps, message characteristics265–71, 273–5TLBs (translation look-aside buffers) 152–4token-ring networks 218–19touch screens 10tracks, disks 177translation look-aside buffers (TLBs) 152–4translation table-base registers (TTBRs)159–60tree-structured network topology 218–19trivial-file-transfer protocol (TFTP) 293trojan horses 292INDEXtruncate operations, files 174trust relationships, Symbian OS 295–6TSY modules 239, 241–2, 251–4, 257, 261TTBRs (translation table-base registers)159–60turnaround times, process scheduling92–103TXT files 169, 171, 184–5type information, message characteristics273–5UDP 226UFS, Unix 186–7, 305UIQ 307UltraSPARC architectures 74UMTS 250–1Unicode 268uninterruptible state, processes 74–5Unix 8–9, 14, 18–19, 24, 41–2, 51, 71,74–6, 100–1, 123–6, 153, 180, 191–2,220, 225–6, 229–30, 286, 288–90,292–3see also Linuxcommunication resources 18, 229–30concurrently-shared resources 123–6directories 180evolution 19file systems 186–7, 191–2, 305historical background 8–9, 14, 19, 41idle processes 100–1interrupts 24kernel 51, 71networks 220, 225–6POSIX standards 76, 84security issues 286, 288–90, 292–3semaphores example 123–6shell access 288swap-space 153Symbian OS 42TFTP 293threads 71UFS 186–7, 305VFS 186–7337UnloadPhoneModule 252–3URLs 67–68USB connectivity 22, 199, 200, 210user interfaces 2–3user threadssee also threadsconcepts 69–1user-mode operations 35–6, 43, 48–58, 77,93–4, 132, 161user-space servers 43, 48–9, 57, 132see also serversusers 2–3, 35–6, 43, 48–58, 69–1, 77,93–4, 132, 161files 170–1, 190–4passwords 288–6valid–invalid bits 154vCalendar objects 271–2, 277vCards 271–2see also messagingvectors, interrupts 23–29Version 253–4VFAT file system 183–5VFS, Unix 186–7video clips 15–16‘viewing the world through rose-tinted glasses’1, 167virtual clocks 208virtual disks 305virtual machineschallenges 304–5concepts 299–8definition 300implementation methods 303–4JVM (Java virtual machine) 299, 303–7performance considerations 304–5security issues 301–2Symbian OS 299, 302, 303–7uses 301–2virtual memoryconcepts 22, 32, 40–1, 43, 151–4, 159,216systems without virtual memory 154–6338virtual memory (continued )uses 22, 32, 40–1, 43, 151–4virtual reality 299viruses 191, 194, 292, 294VMware 302Voice 257–59voice communications, telephony 248–9,257voice over IP (VoIP) 260–2volumes see partitionsvon Neumann, John 29wait 81–2, 117–18, 119–20, 122–7see also synchronization .
. .waiting state, processes 63–4, 66, 79–1,90–103, 133–4, 236–7waiting times, process scheduling 93–103,113WAP (Wireless Access Protocol) 227,232–5, 242websee also Internetbrowsers 14, 33–5, 47, 67–68, 226,232–5resources 309servers 226INDEXwhileloops 110–11, 113–14Windows see Microsoft WindowsWireless Access Protocol (WAP) 227,232–5, 242wireless connectivity 3–5, 9, 53, 202,217–19, 226–7, 248–9, 263wireless LANs 217–19worms 292–3, 294write 39, 85, 244write locks 118–20‘write once, run everywhere’ goal, software302write operations, files 173, 178, 194, 205,209XNU kernel 91YAFFS 189Zhou dynasty 285zombie processes 67, 74–5.