Unit 2 Systems Software Assessment Answers
Unit 2 Systems Software Assessment Answers
A teacher might opt for proprietary software for teaching graphic design because it has been extensively tested by numerous users, resulting in a more stable and reliable product. It also typically comes with technical support and documentation, making it easier for students to learn and troubleshoot. Additionally, the possibility to acquire a multi-user site license makes it economically viable for schools, and the necessity to modify the source code is generally not needed for educational purposes, making proprietary software a practical choice .
Assembly code offers advantages over machine code because it uses mnemonics, such as INP and ADD, which are easier to remember and understand than binary codes used in machine code. Each assembly instruction correlates directly with a machine operation, bridging the gap between human understanding and machine execution. This makes it more accessible for programmers to write and debug code since they can employ meaningful text instead of abstract binary instructions .
The compilation process includes several stages: lexical analysis, parsing (syntax analysis), and semantic analysis. Lexical analysis involves tokenizing the code and removing unnecessary whitespace and comments. During parsing, the tokenized code is checked against language rules, and syntax errors are identified in this stage. Semantic analysis follows, ensuring that symbol and type declarations are meaningful within the program's context. Syntax errors, such as typographical mistakes, are most likely detected during the parsing stage, as demonstrated by the misspelling of "PRINT" as "PRNIT" .
An operating system manages interactions between the user, the application software, and hardware through several functions. It provides a user interface, which acts as a bridge between the user and the hardware, enabling communication and command input. Memory management is another crucial function, allocating RAM to different programs to ensure each process gets a share, and managing paging when RAM is insufficient. Additionally, it handles interrupts to change CPU processing priorities and uses processor scheduling to allow multitasking and ensure fair CPU time allocation among users and processes .
Creating a CGI advertisement requires significant processing power due to the complexity of graphics rendering. A distributed operating system is recommended because it can combine the processing power of multiple networked computers, handling intensive computations and rendering tasks more efficiently than a standalone system. This setup enhances the ability to manage large datasets and complex calculations necessary for high-quality CGI production .
Disk defragmentation is beneficial for magnetic hard drives because it optimizes file storage by reorganizing scattered pieces of data, reducing the physical movement of read/write heads needed during access, which is relatively slow compared to CPU speed. In contrast, solid-state drives have no moving parts, allowing access to memory without delay due to physical movement, hence defragmentation offers no performance benefit and is generally unnecessary for SSDs .
A virtual machine enhances security by acting as a layer between executable code and actual hardware. Users run the virtual machine, which is a trusted application, rather than executing the downloaded code directly, which may be malicious. If potentially harmful code is detected, the virtual machine alerts the user without allowing the code to harm the system. This trust model ensures that only safe, confirmed operations are executed on the host system, effectively isolating and neutralizing malicious threats .
Bytecode is an intermediate code between high-level and machine code, making it possible for programs to be portable across multiple platforms. A virtual machine plays a crucial role by interpreting bytecode for specific hardware, allowing the same code to run on different systems with compatible interpreters. This setup enables software to maintain functionality across varied environments without needing recompilation, thus enhancing portability .
Using virtual memory is less effective than adding more RAM because it relies on disk space to simulate additional RAM, which involves swapping pages in and out of virtual memory. This swapping process consumes resources, slowing down processing because accessing data from the hard drive is slower than accessing data from RAM. Additionally, more RAM allows more processes to be directly loaded into main memory, avoiding disk thrashing, which occurs when the system spends more time swapping pages than executing tasks .
A paging table is used by an operating system to manage memory allocation by dividing memory into equal-sized blocks called pages. These pages may not be contiguous in physical memory, so the paging table keeps track of their logical and physical locations. This allows the system to keep track of where each block of a program is held in memory, facilitating efficient memory allocation and retrieval. It is necessary to ensure that memory can be dynamically allocated and optimized, especially in systems where demands for memory exceed available RAM .

![(b) Explain how it is possible for a single processor to appear to be multi-tasking.
[2]
Scheduling algorithms mean multip](/p?url=https%3A%2F%2Fscreenshots.scribd.com%2FScribd%2F252_100_85%2F356%2F740904516%2F2.jpeg&__src=https%3A%2F%2Fwww.scribd.com%2Fdocument%2F740904516%2FUnit-2-Assessment-Answers&__type=image)


