CDT501 Chap.1 Computer Systems and Execution
Computer Systems and Execution
Follow the data before naming the fault
This chapter treats a computer as cooperating parts. Input enters working memory, the processor fetches, decodes and executes instructions, output exposes a result and storage preserves selected data after the process ends.
It then compares processor, memory, storage and network bottlenecks, explains when parallel hardware helps, and follows a request from client to server and back.
What this chapter covers
- 01
Input, processing, output and storage
- 02
CPU fetch-decode-execute cycle
- 03
RAM versus persistent storage
- 04
Workload bottlenecks and parallel engines
- 05
Client-server requests and responses
Worked example · free
Locate a file-processing bottleneck
- 2Separate load, transform and save timings.
- 2Map each stage to its likely resource.
- 2Change one file-path condition and predict the result.
Key terms
- Working Memory
- The fast temporary space holding active instructions and values for running processes.
- Storage
- Persistent capacity that retains files after a process ends or power is removed.
- Bottleneck
- The resource currently limiting the throughput of a particular workload.
- Server
- A role that provides a service to clients over a network.
Computer Systems and Execution FAQ
Why does more storage not always make a program faster?
Storage capacity answers how much persistent data can be kept, while speed depends on the limiting stage of the workload. A task may instead wait on memory, processor work or a network response. Measure loading, computation and saving separately before deciding which resource constrains progress.
When is a graphics processor useful?
A graphics processor is useful when the workload contains many independent operations of a compatible form, such as applying one transformation across numerous pixels. A chain of dependent decisions may remain serial, and transferring data to the device can cost more than the accelerated calculation saves.
What does a web status code describe?
A status code describes the response to one particular request. A missing image can receive a not-found response while the page and other resources still load. Preserve the exact requested address and response rather than generalising one code into a claim about the entire server or network.
How can I distinguish memory pressure from slow storage?
Observe when the delay occurs and which resource changes at the same time. Memory pressure often causes repeated eviction or swapping while an active workload is running; slow storage appears during reading, writing or program loading even when enough memory remains available. Repeat the same operation after a clean restart, record the working data size, and compare resource activity rather than judging from one pause.
Closing applications may reduce memory pressure but cannot improve the underlying transfer rate of a storage device. Likewise, replacing storage may shorten loading without changing a computation limited by processor work. The diagnosis should connect an observed delay to a measured bottleneck before recommending an upgrade.
Assessment move
Draw the data path for one familiar action, such as opening a notebook or loading a web page. Label where state is temporary, where it persists and which message crosses a network boundary. Then time one real program by stage and write a prediction for the comparison that would distinguish two candidate bottlenecks. Begin with a cold run and repeat it once so caching is visible rather than mistaken for a hardware improvement.
Separate file loading, transformation and saving instead of reporting one total runtime. Beside each phase, name the processor, memory, storage or network resource most likely to constrain it, then state an observation that would refute that hypothesis. For example, compare the same file locally and across a remote path while keeping the data and code fixed.
Rehearse RAM versus storage by explaining what disappears after a runtime restart and what survives because it was explicitly written. Next, trace one website request from client to server and back. Record the requested resource, status and response timing; do not convert a single missing resource into a claim that the whole service failed.
Compare a second visit after caching and explain which component supplied the observed bytes. For CPU, GPU and NPU questions, list whether operations are independent, repeated in the same form and numerous enough to repay transfer overhead. End the session with a four-sentence diagnosis containing the observed slow stage, candidate resource, controlled comparison and predicted result.
The goal is not memorising component definitions. It is being able to locate evidence in the data path before recommending a change. Repeat the routine on a different device or program so the component names remain roles rather than product-specific labels.
Working through Computer Systems and Execution in CDT501? Sia is AskSia’s AI Computer Science tutor — ask any CDT501 Computer Systems and Execution question and get a clear, step-by-step explanation grounded in how CDT501 is taught and assessed. Read this chapter free, then take your hardest questions to Sia.