What is meant by a system call?


A system call is an interrupt to the operating system to perform some activity. On receiving a system call CPU suspend the current activity and branch to an interrupt service routine and executes it. It results in performing the task desired by the caller. On receiving a system call, the program status word which contains the state of CPU is stored in stack along with the return address. System calls are traps to operating system. They are handled by the operating system. Normal function call does not save program status work in stack. Only the return address is stored in stack. Normal function calls are not managed by operating system. In normal function call, program control is transferred to a subroutine and after the execution of subroutine, program control returns to the main program. System calls provide an interface between the process and operating system calls allows user level processes to request some services from operating system which process itself is not allowed to do. When a system call is made, operating system enter into Kernel mode where it has access to privileged instructions and can perform the desired service on behalf of user level process.

What is meant by a process in an operating system?

A process is program under execution. It includes the code, data, stack and processor register values at that instant. When a process is scheduled for execution by the operating system, it assigns an unique id number for that process.

What do you understand by client server system?



A client server system is a computing system that is composed of two logical parts, a server which provides services and a client, which request services from server. The two parts can run on separate machines on a network allowing users to access powerful server resources. For example, in a network databases, software's etc. is stored in a large server. There may be many computers connected in the network. The application programs in client computers will contain client components. For example in a DBMS system, the application programs on a client machine contain SQL data manipulation commands. The portion of the DBMS residing on the client sends these commands to the server across the communications channel that connects the server to the client. At the server, the server portion of the DBMS interprets and executes the SQL command and then sends the results back to the client across the communication channel. If we want to retrieve data by using a client server system only the data that is required travels across communication channel from server to client. This saves network bandwidth. Other advantages are;
1. Reduction of responsibilities and cost overhead. Data is more secure in one place than in multiple places without proper security. Overhead of maintaining data at multiple places can be reduced.
2. Enables distribution of processing from centralized to desktop computing.
3. There are greater possibilities for expansion by adding hardware to existing networks without replacing existing hardware.

What is MTA?



 The actual mail transfer is done through message transfer agent. To send mail, a system must have the client MTA and to receive mail, a system must have server MTA. The MTA is used to transfer the message send by the user agent to the destination. MTA client sends and MTA server at destination MTA server receives. The received mails are stored in destination server system. The destination server system contains a module called mail access agent MAA. The user site will have MAA client. The user uses the MAA client to send request to MAA server to send the messages. In return the MAA server sends the messages to the client MAA. This whole operation is called push-pull operation. The protocol that defines MTA client and MTA server in the Internet is SMTP (Simple Mail Transfer Protocol). MAA client and MAA server uses POP2 (Post office protocol version3) or IMAP4 (Internet Mail Access protocol version 4).

Between recursion and iteration, which is more efficient?



Both iteration and recursion are based on a control statement. Iteration uses a repetitive structure. Recursion uses a selection structure. Both iteration and recursion uses repetition. Iteration explicitly uses repetition structure. Recursion always achieves repetition through repeated function cells. Any problem that can be solved recursively can be solved iteratively. Recursion repeatedly invokes function calls and this leads to larger processor time requirement and memory requirement. In iteration this overhead is omitted because no function calls are made, only loop statements are to be executed to achieve repetition. Hence recursion methods more naturally mirrors the problem and results in program that is easy to understand and debug.

What is a function prototype?



A function prototype is a function declaration that specifies the data types of its arguments in the parameter list. The compiler uses the information in a function prototype to ensure that the corresponding function definition and corresponding function declaration and the cells within the scope of prototype contain the correct number of arguments or parameters and each argument or parameter is of correct data type.

What do you understand by structured programming?



Structured programming is a technique for organising and coding computer programs in which a hierarchy of modules is used, each having a single entry and a single exit point. Code is written in such a way control is passed downward through the structure without unconditional branches to higher levels of the structure. Three types of control flow used are:
1. Sequential
2. Test
3. Iteration
Structured programming employs top-down design model in which the developers map out the overall program structure into separate subsections. In structured programming codes can be loaded into memory in efficient manner and codes can be reused easily.

What is sequential logic?



A sequential logic is a circuit whose output depends on current input and previous values stored in the flip flops inside.