1. Software
1.1. Computer program
1.1.1. Execution
1.1.1.1. Interpreter
1.1.1.2. Out-of-order execution
1.2. Operating system
1.2.1. Android
1.2.1.1. ASLR
1.2.1.2. ->Linux
1.2.1.3. Android rooting
1.2.1.4. X window system
1.2.1.5. HAL
1.2.1.5.1. Radio Interface Layer
1.2.1.6. Native C/C++ libraries
1.2.1.6.1. Bionic
1.2.1.7. Dalvik
1.2.1.7.1. 1
1.2.1.7.2. Register machine
1.2.1.7.3. Stack machine
1.2.1.7.4. Comparison Java vs A. API
1.2.2. Kernel
1.2.2.1. Light-weight process
1.2.2.2. Processes, kernel threads, user threads, and fibers
1.2.2.3. System call
1.2.2.4. Kernel mode
1.2.2.5. User mode/space
1.2.2.6. Monolithic kernel
1.2.2.7. Microkernel
1.2.2.8. Hybrid kernel
1.2.2.9. Ring
1.2.2.9.1. Supervisor mode
1.2.2.9.2. Protected mode
1.2.3. Linux
1.2.3.1. Unix signal
1.2.4. Loader
1.2.5. POSIX
1.2.6. Process
1.2.6.1. Inter proces communication
1.2.6.1.1. Remote procedure call
1.2.6.1.2. Synchronization
1.2.6.1.3. Limited IPC
1.2.6.1.4. sleeping barber
1.2.6.1.5. Message passing
1.2.6.1.6. Privilege separation
1.2.6.1.7. Shared memory
1.2.6.1.8. Network socket
1.2.6.1.9. Socket
1.2.6.1.10. Berkeley socket
1.2.6.1.11. Unix domain socket
1.2.6.1.12. Raw socket
1.2.6.1.13. Anonymous pipe
1.2.6.1.14. Named Pipe
1.2.6.2. Child process
1.2.6.3. Contex switching
1.2.6.3.1. Preemption
1.2.6.3.2. State
1.2.6.3.3. Context
1.2.6.3.4. Interrupt
1.2.6.4. Orphan pocess
1.2.6.5. Parent process
1.2.6.6. Process group
1.2.6.7. Process management
1.2.6.8. Process state
1.2.6.8.1. Process control block
1.2.6.8.2. Representation
1.2.6.9. Run queue
1.2.6.10. Wait
1.2.6.11. Zombie process
1.2.6.12. Process identifier
1.2.7. Scheduling
1.2.7.1. ->Types of OS schedulers
1.2.7.1.1. -> OS implementations
1.2.7.2. Time slice
1.2.7.3. Scheduler activations
1.2.8. Task
1.2.8.1. Task parallelism
1.2.8.1.1. Computer multitasking
1.2.9. Multithreading
1.2.9.1. Multithreading - computer architecture
1.2.9.2. Thread
1.2.10. Ring
1.2.11. POSIX
1.3. Compiler
1.3.1. Cross compiler
1.3.1.1. Object code
1.4. Programming
1.4.1. Programming paradigm
1.4.1.1. Event driven
1.4.2. Generic programming
1.4.3. Computer network programming
1.4.4. Multiple dispatch
1.4.5. Double dispatch
1.4.6. Dynamic dispatch
1.4.7. UML
1.4.8. Client-server
1.4.9. Static library
1.4.10. Event loop
1.5. Runtime library
1.6. Virtual machine
1.7. Middleware
2. Hardware
2.1. CPU
2.1.1. Arithmetic logic unit
2.1.2. CPU cache
2.1.2.1. Cache
2.1.2.2. Multi-level cache
2.1.3. Concurrency
2.1.3.1. Concurrent computing
2.1.4. Control unit
2.1.5. Distributed computing
2.1.6. Heat dissipation
2.1.7. Instruction set
2.1.7.1. Addressing mode
2.1.7.2. Subroutine
2.1.7.3. Opcode
2.1.7.3.1. Machine code
2.1.7.4. Byte code
2.1.8. Memory mapped I/O
2.1.9. Microprocessor
2.1.10. Mobile processor
2.1.11. Multi-core processor
2.1.12. Multiprocessing
2.1.13. Parallelism
2.1.13.1. Parallel computing
2.1.13.1.1. Instruction-level parallelism
2.1.14. Process isolation
2.1.14.1. Polyinstalation
2.1.15. Processor register
2.1.15.1. Word
2.1.15.2. Load-store architecture
2.1.15.3. Locality of reference
2.1.15.4. Register memory architecture
2.1.16. Program counter
2.1.17. Wait state
2.1.17.1. Instruction prefetch
2.1.18. Control register
2.1.19. CPU bound
2.1.20. I/o bound
2.1.21. Memory bound
2.1.22. CPU modes
2.2. Computer architecture
2.3. Memory
2.3.1. Address space layout randomization
2.3.2. Memory management
2.3.2.1. Virtual memory
2.3.2.1.1. Memory maped file
2.3.2.1.2. Page table
2.3.2.1.3. Virtual address space
2.3.2.1.4. Trashing
2.3.2.2. Address space
2.3.2.3. Stack-based memory allocation
2.3.2.3.1. Call stack
2.3.2.3.2. Stack overflow
2.3.2.4. Dynamic memory allocation
2.3.2.5. Memory leak
2.3.2.6. Executable space protection
2.3.3. Memory protection
2.3.4. Primary storage
2.3.5. Memory management unit
2.3.6. Read-only memory
2.3.6.1. BIOS
2.3.7. Bootstrapping
2.4. Computer Bus
2.4.1. Address bus
3. Misc
3.1. Asynchronous method dispatch
4. Networking
4.1. Multiplexing
4.1.1. Multiplexer
4.1.2. TDM/FDM
4.2. Model
4.2.1. OSI
4.2.1.1. OSI protocols
4.2.2. TCP/IP
4.2.3. Differences
4.3. Communication protocol
4.3.1. Connection-oriented protocol
4.3.2. Connectionless communication
4.3.3. Asynchronous communication
4.3.4. Comparison synchronous asynchronous
4.3.5. Routed p.
4.3.6. Routing p.
4.3.7. List of protocols
4.3.8. Routing schemes enumerated