1.2 Software and software development

Cards (38)

  • State the purpose of a translator.
    • To convert (high-level or assembly) code to low level/machine code
  • Explain two differences between a compiler and an interpreter.
    • Compiler translates code all at once/before it’s executed
    • Interpreter translates code line by line / during runtime
    • Compiler produces executable file for reuse // Doesn’t need to be translated every time it is run
    • Interpreter needs to re-translate next time program is run
    • Compiler lists all errors//Compiled code doesn’t run if there are any errors
    • Interpreter stops at the first error
    • Compiled programs have the source code hidden
    • Interpreted programs have the source code visible
  • Describe the purpose of code optimisation
    • To make the program run faster// code is more efficient
    • To make the program use fewer resources/less memory
  • Explain why the computer’s operating system uses a first come first served algorithm when sending documents to the printer.
    • For printer queue
    • All documents/users have equal priority
    • Whichever document is received first is printed first
    • First in First Out / Last in Last Out
  • Explain why the computer’s operating system uses a round-robin algorithm for allocating processor time
    • To enable multitasking to take place
    • To switch between active processes and those running in the background
    • To limit each process to a certain amount of time//allow processes an equal share of processor time
    • to ensure the OS cycles through all processes // the process then goes to the back of the end of the queue
    • so that users can receive an immediate response
    • to handle an interrupt immediately
  • Describe one other scheduling algorithm.
    • Shortest job first / shortest remaining time
    • Process which has the shortest time (remaining) is completed first
    • Multilevel feedback queues
    • Uses queues with different priorities
    • Jobs can be moved between queues
  • An object oriented system is implemented to organise further information about each worker’s attendance. Classes, objects, methods and attributes are used in this system. State the meaning of each of the following terms:
    • Object – instantiated from class
    • Method – action object performs / link to procedure/functions
    • Attribute – value held by object / link to variable
  • Describe two ways that an operating system could manage physical memory.
    • Paging blocks of memory of equal size / fixed size
    • Segmentation blocks of memory split logically /variable size
  • Explain one benefit of memory management to the user.
    • Security - does not let programs access memory reserved for other programs.
    • Multitasking - allows multiple programs to run at once
  • Describe how virtual memory allows a user to run programs when physical memory is full.
    • (Currently unneeded) pages moved from memory to secondary storage to create room in memory
    • pages moved back to memory when required
  • Define what is meant by the term ‘device driver’, giving one example of a device driver that a home user would need.
    • Software that allows the operating system to communicate with hardware
    • Examples: Printer driver
    • Webcam driver
    • Sound card driver
    • Graphics card driver
  • Give two examples of utility software, explaining the purpose of both.
    • Encryption - scrambles meaning of data files with a key
    • Defragmentation - organises file segments on secondary storage
    • Compression - reduces size of files
    • Backup - makes regular copies of files in case of loss
  • State what is meant by the term ‘open source software’
    • Source code is freely available to edit/amend / recompile.
  • Give one benefit to Imogen of using an open source IDE rather than a closed source IDE.
    • Can modify code and adapt IDE to her needs
    • Is likely to be financially free of cost.
    • Can recompile to work on different systems •
    • Has the benefit of a community potentially improving the system
    • Can learn from others
    • Can ensure no backdoors / malware
  • Explain what is meant by a library, giving one example of when one may be used
    • Sections of code / program file
    • Written by other authors / already written
    • e.g. GUI routines, database access routine, encryption, graphics
  • Describe one advantage of the use of library files to programmers.
    • Save time - because no need to rewrite code
    • Use expertise of others - to complete tasks that require specialist knowledge / abstract away complexity
    • Has already been tested/the programmer doesn’t have to test it themselves
    • Making debugging easier/saving time
  • Describe one disadvantage of the use of library files to programmers.
    • May (significantly) increase size of compiled file as library contains many routines that aren‘t being used.
    • Not written by the programmer so introduces uncertainty / require further testing / programmer needs to spend time familiarising themselves with it
  • Explain how linkers are used during the compilation process.
    • Links the main program to libraries
    • can either include them in the final executable code
    • or get the executable code to point to the external libraries
  • Define the term ‘embedded operating system’
    • System software/software used to manage the device
    • Which is built into the device itself
    • Stored in the device’s ROM/cannot be changed
    • Specific to the hardware/purpose
  • The code uses direct addressing. Describe one other mode of addressing.
    • Immediate addressing - operand is the value to be used.
    • Indirect Addressing − operand is the memory location holding a value representing the memory location to be used.
    • Indexed Addressing − Operand is added to contents of Index Register to get memory location of value needed.
  • Whilst the line STA count is being executed, the CPU receives a signal from another process, requiring its attention.
    State the name for the signal received by the CPU
    Interrupt
  • Define the term ‘utility’
    • A program with one purpose
    • used for the maintenance of the system
  • State how an application differs from a utility.
    • Application performs tasks for the user (rather than computer).
    • It Performs generic (rather than specific) tasks
  • In order to keep up to date with the latest virus threats, the company is continually updating their software.
    Explain what is meant by Extreme Programming and why it is a suitable approach
    • A software development methodology.
    • Focus is on good quality code
    • It is an agile paradigm
    • it is designed to allow development to respond to changing user requirements.
    • Involves paired programming
    • Suited to this scenario as : Types of virus/threat is continually changing/updating − In order to detect virus effectively there needs to be an emphasis on code quality.
  • Explain why the programmers of anti-virus software may make use of virtual machines when developing the updates.
    • Allows them to run the update on a number of different systems/OS without needing multiple physical machines.
    • They can put viruses on the VM to test if the update can catch them but protect the physical machine from the virus/the VM can quickly be reset to its original state.
  • When running the anti-virus software, an operating system uses a scheduling algorithm to determine an allocation of CPU time to the anti-virus software.
    Explain why a First Come First Served scheduling algorithm would not be suitable in this situation
    • FCFS means jobs are completed in the order they arrive − ineffective in catching viruses/the virus may run first
    • the virus checker may never run/take a long time to start running − the virus checker may be continuously running
    • this will temporarily stall the system/ all other processes have to wait.
  • Describe what the effect would be of a computer having its BIOS overwritten.
    • The computer would not be able to boot/load the OS
    • Or set up its initial configuration/hardware checks
    • Making the computer unusable
  • Explain what happens in Lexical Analysis
    • The comments such as those on the first line, (and whitespace) are removed.
    • Variable names/identifiers like ‘count’ are added to a symbol table.
    • Reserved words/statement components are tokenized. For example ‘WHILE’
  • State the name of the stage of compilation that directly follows Lexical Analysis.
    Syntax analysis
  • List three functions, other than memory management, of an operating system.
    • Provide a (user) interface
    • Manage hardware/peripherals
    • Manage CPU usage / handles interrupts
    • Provide security
    • Provide platform to run other software
    • Provide utilities for system maintenance
  • The operating system needs to load program C into memory but there is not enough space.
    Describe how the operating system would use virtual memory to load program C.
    • Operating system uses area of secondary storage as virtual memory.
    • Move unused pages/parts into virtual memory
    • Load program C into (physical) memory.
  • A taxi firm is investigating replacing its drivers with self-driving cars.
    Explain why the self-driving system will use a real-time operating system
    • Needs to be able to respond instantly to changes - such as someone stepping in front of car
    • RTOS offers a guaranteed response time.
    • A non RTOS might be busy dealing with other tasks and not respond until it is too late.
  • Describe the advantages of using encapsulation.
    • Reduces the chance of errors/inconsistences
    • Ensures objects can only be changed in the way intended
    • Ensuring changes are consistent with how the object should behave
    • Protecting data/ Can’t be changed accidentally
  • Explain, giving an example, why the firm’s computers use operating systems capable of multi-tasking
    • Multitasking allows the user to run more than one program at the same time.
    • E.g. running CAD software whilst checking emails.
  • Describe the Rapid Application Development process
    • Prototype is created
    • Evaluated and feedback used to inform next iteration
    • Any changes are made
    • Process repeated until prototype becomes final product.
  • Give two advantages to the software team of using a library.
    • Saves time/money as prewritten
    • Draws on expertise of other programmers
    • Pre-tested (so likely to work)
  • A small manufacturing business uses networked computers with closed source application software installed.
    Give two other types of application packages that the small business could use, giving an example of a task that the business could use each application for
    • Database to store/query/sort data about customers/staff/stock
    • Word processor to create documents / letters / invoices for clients/staff
    • Presentation software to create presentations for clients/staff
    • Email software for staff to communicate with each other or with customers
  • Describe a drawback of using closed source software (rather than open source software) for the small business.
    • No access to source code
    • Cannot modify//improve to meet business needs
    • Cannot fix bugs
    • (Usually) cost to purchase licences // licence conditions to meet//ongoing fees