CS: 1.2 Software and Software Development

0.0(0)
studied byStudied by 0 people
learnLearn
examPractice Test
spaced repetitionSpaced Repetition
heart puzzleMatch
flashcardsFlashcards
Card Sorting

1/167

encourage image

There's no tags or description

Looks like no tags are added yet.

Study Analytics
Name
Mastery
Learn
Test
Matching
Spaced

No study sessions yet.

168 Terms

1
New cards

Describe the role of an operating system in a computer system.

An operating system is a collection of programs that provide an interface between the user and the computer, enabling communication and management of computer memory and resources.

2
New cards

What are some examples of popular desktop operating systems?

Examples of popular desktop operating systems include Windows and macOS.

3
New cards

List some essential features provided by operating systems in a computer system.

Essential features provided by operating systems include memory management, resource management, file management, input/output management, interrupt management, utility software, security, and user interface.

4
New cards

How does an operating system manage computer memory efficiently?

An operating system manages computer memory efficiently by sharing it fairly between multiple programs through techniques like paging, segmentation, and virtual memory.

5
New cards

Define paging in the context of memory management.

Paging is when memory is divided into equal-sized sections called pages, allowing programs to be swapped between main memory and the hard disk as needed.

6
New cards

What is the purpose of utility software in an operating system?

Utility software in an operating system performs tasks like disk defragmentation, backup, formatting, etc., to enhance system performance and user experience.

7
New cards

Explain the importance of security features in an operating system.

Security features like firewalls in an operating system help protect the system from unauthorized access and potential threats.

8
New cards

How does an operating system enable communication between the user and the computer?

An operating system enables communication between the user and the computer by providing a user interface through which users can interact with the system.

9
New cards

Describe the concept of resource management in an operating system.

Resource management in an operating system involves tasks like scheduling to efficiently allocate and manage computer resources among different programs and processes.

10
New cards

Describe segmentation in memory management.

Segmentation is the splitting up of memory into logical sized divisions, known as segments, which vary in size. These segments represent the structure and logical flow of the program, with each segment being allocated to blocks of code like conditional statements or loops.

11
New cards

Explain virtual memory and its function.

Virtual memory uses a section of the hard drive to act as RAM when the main memory space is insufficient to store programs in use. Inactive sections of programs are temporarily moved into virtual memory through paging, freeing up main memory for other programs.

12
New cards

What is disk thrashing and why is it problematic?

Disk thrashing occurs when pages are swapped too frequently between the hard disk and main memory, causing the computer to 'freeze.' This issue arises as more time is spent transferring pages between memory and the hard disk than actually running the program, worsening as virtual memory fills up.

13
New cards

Define interrupts and their purpose.

Interrupts are signals generated by software or hardware to indicate to the processor that a process requires attention. They have varying priorities, and the operating system must consider their urgency when allocating processor time.

14
New cards

How are interrupts managed by the operating system?

Interrupts are stored in order of priority in a priority queue within an interrupt register. The operating system ensures fair servicing of interrupts by the processor through the Interrupt Service Routine.

15
New cards

Describe the process of handling interrupts by the processor.

At the end of each Fetch-Decode-Execute cycle, the processor checks the interrupt register. If a higher priority interrupt exists, the current contents of special purpose registers are temporarily transferred to a stack. The processor then loads the appropriate Interrupt Service Routine (ISR) into RAM and sets a flag to signal the ISR has begun.

16
New cards

Describe the process of handling interrupts in an operating system.

Once an interrupt is serviced, the flag is reset, and the interrupt queue is checked for higher priority interrupts. If found, the process is repeated until all priority interrupts are serviced.

17
New cards

Define the term 'scheduling' in the context of an operating system.

Scheduling is the function of ensuring all sections of programs (jobs) receive a fair amount of processing time by implementing various scheduling algorithms.

18
New cards

How do preemptive scheduling algorithms differ from non-preemptive ones?

Preemptive algorithms actively start and stop jobs by the operating system, while non-preemptive algorithms let a job run until completion before starting another.

19
New cards

Do you know an example of a preemptive scheduling algorithm?

An example of a preemptive scheduling algorithm is Round Robin.

20
New cards

Describe the Round Robin scheduling algorithm.

In Round Robin, each job is given a time slice of processor time to execute. Once all jobs have used their initial time slice, they are granted equal time slices again until completion.

21
New cards

What is a drawback of the Round Robin scheduling algorithm?

A drawback of Round Robin is that longer jobs may take significantly longer to complete due to inefficient splitting of execution into multiple cycles, and it does not consider job priority.

22
New cards

Describe the First Come First Served (FCFS) scheduling algorithm.

Jobs are processed in chronological order of entry into the queue, without considering priority.

23
New cards

Explain the concept of Multilevel Feedback Queues in operating systems.

It involves using multiple queues, each ordered by a different priority level, making it challenging to decide which job to prioritize.

24
New cards

How does the Shortest Job First scheduling algorithm work?

Jobs are ordered in the queue based on the time required for completion, with shorter jobs given preference to minimize waiting time.

25
New cards

Define Shortest Remaining Time scheduling in operating systems.

Jobs are ordered based on the time left for completion, with those closest to completion being serviced first.

26
New cards

What is a Distributed Operating System?

It is an OS that runs across multiple devices, distributing the workload across multiple processors when tasks are executed.

27
New cards

Describe an Embedded Operating System.

It is designed for specific devices to perform a limited range of tasks, challenging to update but consuming less power compared to other OS types.

28
New cards

Describe how multi-tasking operating systems work.

Multi-tasking operating systems enable the user to carry out tasks seemingly simultaneously by using time slicing to switch quickly between programs and applications in memory.

29
New cards

Explain the concept of multi-user systems.

Multiple users make use of one computer within a multi-user system, typically a supercomputer, where a scheduling algorithm is used to ensure fair sharing of processor time between jobs.

30
New cards

What is processor starvation in the context of multi-user systems?

Processor starvation occurs when a process is not given adequate processor time to execute and complete due to the lack of a suitable scheduling algorithm.

31
New cards

Define a real-time operating system.

A real-time operating system is commonly used in time-critical computer systems and is designed to perform a task within a guaranteed time frame, crucial for situations like managing control rods at a nuclear power station or in self-driving cars.

32
New cards

What is the role of BIOS in a computer system?

The BIOS (Basic Input Output System) is the first program that runs when a computer system is switched on, responsible for running key tests like POST, checking hardware functionality, and ensuring the computer is ready to load the operating system into memory.

33
New cards

How does a real-time operating system differ from other operating systems?

A real-time operating system is designed to perform tasks within a guaranteed time frame, crucial for time-critical systems, while other operating systems may not have this strict time constraint.

34
New cards

Describe the importance of a scheduling algorithm in a multi-user system.

A scheduling algorithm is crucial in a multi-user system to ensure fair sharing of processor time between users' jobs and prevent issues like processor starvation.

35
New cards

Explain the significance of the BIOS in the boot process of a computer.

The BIOS plays a critical role in the boot process by running key tests, checking hardware functionality, and ensuring that the computer is ready to load the operating system into memory from the hard disk.

36
New cards

Describe what device drivers are in the context of computer systems.

Device drivers are computer programs provided by the operating system to facilitate interaction with hardware.

37
New cards

How do device drivers enable communication between hardware and the operating system?

Device drivers communicate requests from hardware to the operating system, allowing the system to produce the relevant output.

38
New cards

Define virtual machines and their purpose in computing.

A virtual machine is a software implementation of a computer system that provides an environment for intermediate code to run.

39
New cards

What is intermediate code and why is it useful in computing?

Intermediate code is code that is between machine code and object code, independent of processor architecture, allowing it to be used across different machines and operating systems.

40
New cards

Describe the advantage of using virtual machines for creating a development environment.

Virtual machines save time and money by allowing programmers to test programs on different operating systems without needing multiple physical devices.

41
New cards

How does running intermediate code in a virtual machine compare to running low-level code on the intended device?

Running intermediate code in a virtual machine can be considerably slower than running low-level code on the device it was designed for.

42
New cards

Describe one use of virtual machines mentioned in the content.

Protection from malware by isolating potential threats to the virtual machine.

43
New cards

Describe another use of virtual machines mentioned in the content.

Running incompatible software, allowing programs from different operating systems to run within a VM.

44
New cards

How can virtual machines help with running programs specific to different operating systems?

By enabling the execution of software designed for different OS versions within a virtual environment.

45
New cards

Do virtual machines help in saving costs related to hardware purchases?

Yes, by allowing the use of software that would otherwise require specific hardware.

46
New cards

Define the concept of running games consoles on PCs via a virtual machine.

It involves emulating the hardware and software of a gaming console on a PC using a virtual machine.

47
New cards

How do virtual machines contribute to protecting devices from malware?

By containing any potential malware within the virtual machine, shielding the host device from harm.

48
New cards

What are some essential features provided by operating systems?

Operating systems provide features like memory management, resource management, file management, input/output management, interrupt management, utility software, security, and user interface.

49
New cards

Do operating systems play a role in ensuring fair sharing of computer memory among programs?

Yes, operating systems ensure fair sharing of computer memory among programs to optimize performance.

50
New cards

Describe the importance of memory management in a computer system.

Memory management is crucial to ensure efficient sharing of computer memory among multiple programs being used.

51
New cards

How do popular mobile phone operating systems differ from desktop operating systems?

Popular mobile phone operating systems include iOS and Android, while desktop operating systems include Windows and macOS.

52
New cards

What is the purpose of utility software provided by operating systems?

Utility software provided by operating systems includes functions like disk defragmentation, backup, and formatting to enhance system performance and reliability.

53
New cards

Explain the concept of segmentation in memory management.

Segmentation is a memory management technique where memory is divided into variable-sized segments to optimize storage and retrieval of data.

54
New cards

How does an operating system handle input/output management?

Operating systems manage input/output operations through device drivers that facilitate communication between hardware devices and the computer system.

55
New cards

What is the role of interrupt management in an operating system?

Interrupt management in an operating system handles interruptions from hardware devices, ensuring timely responses and efficient operation.

56
New cards

Describe the function of a firewall in the context of operating systems.

A firewall in operating systems provides security by monitoring and controlling incoming and outgoing network traffic to prevent unauthorized access.

57
New cards

How does virtual memory contribute to efficient memory management in operating systems?

Virtual memory allows the operating system to use disk space as an extension of main memory, enabling efficient management of memory resources.

58
New cards

What are some low-level tasks performed by operating systems?

Operating systems perform low-level tasks such as managing computer memory, resources, file operations, input/output, and security functions.

59
New cards

What is disk thrashing and why is it a concern in memory management?

Disk thrashing occurs when pages are swapped too frequently between the hard disk and main memory, causing the computer to 'freeze.' This issue arises as more time is spent transferring pages between memory and the hard disk than actually running the program, worsening as virtual memory fills up.

60
New cards

Define interrupts and their role in computing.

Interrupts are signals generated by software or hardware to indicate to the processor that a process needs attention. They have varying priorities, and the operating system must consider their urgency when allocating processor time.

61
New cards

Describe the Interrupt Service Routine (ISR) process.

At the end of each Fetch-Decode-Execute cycle, the processor checks the interrupt register. If a higher priority interrupt exists, the current contents of special purpose registers are temporarily transferred into a stack. The processor then loads the appropriate ISR into RAM and sets a flag to signal the ISR has begun.

62
New cards

Define scheduling in the context of an operating system.

Scheduling is the function of ensuring all sections of programs (jobs) receive a fair amount of processing time by implementing various scheduling algorithms.

63
New cards

How do preemptive and non-preemptive scheduling algorithms differ?

Preemptive algorithms actively start and stop jobs by the operating system, while non-preemptive algorithms leave a job alone once started until completion.

64
New cards

Define 'time slice' in the context of scheduling algorithms.

A time slice is a section of processor time allocated to a job within which it is allowed to execute before being interrupted or switched.

65
New cards

How does Round Robin scheduling handle job completion and job priority?

Round Robin removes a job from the queue once completed but may lead to longer completion times for larger jobs due to inefficient splitting. It does not consider job priority.

66
New cards

What is the purpose of the stack in the context of handling interrupts in an operating system?

The stack holds the contents of registers in memory during interrupt handling and transfers them back when the process resumes after servicing interrupts.

67
New cards

Describe First Come First Served (FCFS) scheduling in operating systems.

Jobs are processed in chronological order by which they entered the queue, without considering priority.

68
New cards

Explain Multilevel Feedback Queues in operating systems.

It involves multiple queues ordered by different priorities, making it challenging to decide which job to prioritize.

69
New cards

How does Shortest Job First scheduling work in operating systems?

Jobs are ordered based on completion time, with shorter jobs given preference to minimize waiting time.

70
New cards

What is a Distributed operating system?

A type of OS that runs across multiple devices to distribute the load across multiple processors.

71
New cards

Describe an Embedded operating system.

Designed for specific tasks on specific devices, with limited functionality and difficulty in updating but low power consumption.

72
New cards

What is the purpose of a scheduling algorithm in a multi-user system?

A scheduling algorithm is used to ensure processor time is shared fairly between jobs in a multi-user system.

73
New cards

Define processor starvation in the context of operating systems.

Processor starvation occurs when a process is not given adequate processor time to execute and complete.

74
New cards

How is a real-time operating system different from other operating systems?

A real-time operating system is designed to perform a task within a guaranteed time frame, commonly used in time-critical computer systems.

75
New cards

Describe the function of POST in the BIOS.

POST (Power-on self test) ensures that all hardware components like keyboards and disk drives are correctly connected and functional before the operating system is loaded.

76
New cards

How does the BIOS contribute to the loading of the operating system into RAM?

The BIOS runs key tests like checking the CPU clock, memory, and processor, as well as testing external memory devices, before allowing the operating system to be loaded into RAM from the hard disk.

77
New cards

Describe the nature of applications according to the given specification.

The nature of applications is outlined in section 1.2.2 a of the specification.

78
New cards

List the utilities mentioned in the specification.

Utilities are discussed in section 1.2.2 b of the specification.

79
New cards

Differentiate between open source and closed source as per the specification.

The comparison between open source and closed source is detailed in section 1.2.2 c of the specification.

80
New cards

Name the types of translators mentioned in the specification.

Translators include interpreters, compilers, and assemblers as per section 1.2.2 d of the specification.

81
New cards

Explain the stages of compilation as per the specification.

The stages of compilation include lexical analysis, syntax analysis, code generation, and optimization as outlined in section 1.2.2 e of the specification.

82
New cards

Discuss the role of linkers, loaders, and libraries according to the specification.

The functions of linkers, loaders, and libraries are explained in section 1.2.2 f of the specification.

83
New cards

Describe the nature of applications software.

Applications software can be categorized as either applications software or systems software. Applications software is designed for end-users to perform specific tasks and requires systems software to run.

84
New cards

Do end-users directly interact with systems software?

No, end-users do not directly interact with systems software, but it ensures high performance for the user.

85
New cards

Define utilities in the context of software systems.

Utilities are system software programs that ensure consistent, high performance of the operating system by performing specific functions linked to maintenance.

86
New cards

How does disk defragmentation utility improve computer performance?

The disk defragmentation utility rearranges the contents of the hard drive to allow faster access to files, thus improving performance as fragmented files are stored in different parts of memory.

87
New cards

Describe the function of antivirus utility in a computer system.

The antivirus utility is responsible for detecting potential threats to the computer, alerting the user, and removing these threats to ensure system security.

88
New cards

Describe automatic updating utility.

It ensures the operating system stays up to date by automatically installing updates upon computer restart, enhancing system security against malware and hacking threats.

89
New cards

Do backup utilities create routine copies of files selected by the user?

Yes, backup utilities automatically create routine copies of specific user-selected files.

90
New cards

Define open source vs closed source software.

Open source software allows anyone to use it without a license and is distributed with the source code, while closed source software requires a license for use and the source code is not accessible to the public.

91
New cards

How can open source software be modified and improved?

Open source software can be modified and improved by anyone due to its accessible source code.

92
New cards

Describe an advantage of closed source software.

Users receive expert support and user manuals from the company owning closed source software.

93
New cards

What is a disadvantage of open source software?

Support available online may be insufficient or incorrect, and there may be no user manuals for open source software.

94
New cards

Explain a disadvantage of closed source software.

The license restricts how many people can use the software at once, limiting its accessibility.

95
New cards

What is the difference between open source and closed source software in terms of security?

Closed source software generally offers higher security levels as it is developed professionally, while open source software may have lower security due to its development environment.

96
New cards

Describe the purpose of backup utilities.

Backup utilities automatically create copies of selected files to enable recovery in case of power failure, malicious attacks, or accidents.

97
New cards

How often are files backed up using backup utilities?

The frequency of file backups is specified by the user when using backup utilities.

98
New cards

Describe the factors a user must consider when choosing between open source and closed source software.

Costs, functionality, suitability to the task

99
New cards

Define a translator in the context of programming.

A program that converts high-level source code into low-level object code for execution by a computer

100
New cards

How does a compiler translate high-level code into machine code?

All at once, after carrying out checks and reporting errors