Page 196 - DCAP104_EXPOSURE_TO_COMPUTER_DISCPLINES
P. 196

Unit 9: Software Development



            Software engines output source code or markup code that simultaneously become the input to   Notes
            another computer process. The analogy is that of one process driving another process, with the
            computer code being burned as fuel.

                          Application servers are software engines that deliver applications to client
                          computers. For example, a Wiki is an application server that lets users build
                          dynamic content assembled from articles. Wikis generate HTML, CSS, Java,
                          and JavaScript which are then interpreted by a web browser.

            9.1.11.4 Simultaneous Execution
            Many operating systems support multitasking which enables many computer programs to appear
            to run simultaneously on one computer. Operating systems may run multiple programs through
            process scheduling a software mechanism to switch the CPU among processes often so users can
            interact with each program while it runs. Within hardware, modern day multiprocessor computers
            or computers with multicore processors may run multiple programs.
            One computer program can calculate simultaneously more than one operation using threads or
            separate processes. Multithreading processors are optimized to execute multiple threads efficiently.
            9.1.12 Functional Categories

            Computer programs may be categorized along functional lines. The main functional categories
            are system software and application software. System software includes the operating system
            which couples computer hardware with application software. The purpose of the operating
            system is to provide an environment in which application software executes in a convenient and
            efficient manner. In addition to the operating system, system software includes utility programs
            that help manage and tune the computer. If a computer program is not system software then it
            is application software. Application software includes middleware, which couples the system
            software with the user interface. Application software also includes utility programs that help
            users solve application problems, like the need for sorting.

            Sometimes development environments for software development are seen as a functional category
            on its own, especially in the context of human-computer interaction and programming language
            design. Development environments gather system software (such as compilers and system’s batch
            processing scripting languages) and application software (such as IDEs) for the specific purpose
            of helping programmers create new programs.

            9.2 Hardware/Software Interactions

            In the field of computer science, an interface refers to a point of interaction between components,
            and is applicable at the level of both hardware and software. This allows a component, whether
            a piece of hardware such as a graphics card or a piece of software such as an internet browser,
            to function independently while using interfaces to communicate with other components via an
            input/output system and an associated protocol.
            In addition to hardware and software interfaces, a computing interface may refer to the means
            of communication between the computer and the user by means of peripheral devices such a
            monitor or a keyboard, an interface with the internet via Internet Protocol, and any other point
            of communication involving a computer.
            Most modern computer systems are built as a series of layers, or levels. The lowest level is usually
            considered the physical “hardware” layer and the topmost layer is usually a user application or
            source code.


                                             LOVELY PROFESSIONAL UNIVERSITY                                   189
   191   192   193   194   195   196   197   198   199   200   201