quartz/content/notes/204-exam.md
2022-11-06 13:45:39 +13:00

1.9 KiB

title aliases tags
204-exam

Will be examined

hardware

  • what is a computer
  • combinatorial logic
  • sequetial
    • sr latch
    • D, t, jk flip flop, state transition diagrama
  • archtecture
    • memory, busses, alu, control unit, registers, instructions

assembly

  • machine code
  • registers, stack, instruction set
  • syntac, routines, iteration, comparisons, local vars, parameters

C

  • why C, syntac
  • memory, variables, call by value/address, pointer arithmetic
  • arrays, malloc, free, sentinels, length of array
  • struct and union, declaration, initialization, shallow/deep copy, queues
  • pointers to routines, ADTs, contructors, destructors

Operating systems

  • process scheduling algorithms (smiliar to labs)
  • memory management and replacement algorithms FIFO LRU
  • Layout of process. mapping details
  • page table - logical vs physical memory MMU
  • process communication - parent child relationship - fork, exec - child return status to parent
    • zombie/orphan process
    • shared memory - mmap
    • pipes
    • signals - sigsegv (null pointer) and more
    • PCB process control block (in linux - tast_struct)
    • lifecycle of process - start from fork, suspended for io, terminated by signal or naturally using exit(), interrupts
    • sync
      • data race
      • mutex, lock, semaphore
      • CAS
      • conditions for deadlock
    • system call - interaction betwen user and kernel space
    • threads
      • special process
      • what is shared what is not
  • file system
    • sys calls read, write, open
    • linked allocation, FAT, inode
  • device driver
    • classification of io devices
    • io models
    • io scheduling
    • io buffering - use memroy buffer to keep copy of IO data
    • controller, device driver
  • io systems
    • ports, buses, controllers
    • io memory
    • polling vs interrupt
    • DMA
    • IO performance
    • zero copy
  • file system protection
    • linux protection model
    • setuid, setgid, sticky
    • MAC, DAC, ACL, RBAC