Sunday, December 9, 2012

.::VULMSIT::.eNoxel.com CS604 MID TERM SUBJECTIVE WITH REFERENCE SOLVED BY UMAR SAULAT

CS604- OPERATING SYSTEM

SOLVED SUBJECTIVE FOR MID TERM EXAM

 

 QNo.1 List and define the different metrics by which might evaluate a scheduler (List at least 4). 5 marks

Answer:-

When evaluating a scheduler's performance, utilization and Throughput are traded off for better Response Time. Response time is important for OS's that aim to be user-friendly.

List of Schedulers include:

  1. First-Come, First-Served  (FCFS)
  2. Round-Robin   (RR)
  3. Shortest-Job-First  (SJF)
  4. Priority Scheduling  (PS)

REF :: handouts Page No. 80

 

QNo.2   Write brief the multilevel feedback queue scheduling. 5 marks

Answer:-

Multilevel feedback queue scheduling allows a process to move between queues. The idea is to separate processes with different CPU burst characteristics. If a process uses too much CPU time, it will be moved to a lower-priority queue. This scheme leaves I/O bound and interactive processes in the higher-priority queues. Similarly a process that waits too long in a lower-priority queue may be moved o a higher priority queue. This form of aging prevents starvation.

 

In general, a multi-level feedback queue scheduler is defined by the following parameters:

  • Number of queues
  • Scheduling algorithm for each queue
  • Method used to determine when to upgrade a process to higher priority queue
  • Method used to determine when to demote a process
  • Method used to determine which queue a process enters when it needs service

REF :: handouts Page No. 89

 

Qno.3    Assumption made while formulating a solution to the critical section problem. 2 marks

Answer:-

A solution to the critical section problem must satisfy the following three requirements:

Assumptions made While formulating a solution, we must keep the following assumptions in mind:

  • Assume that each process executes at a nonzero speed
  • No assumption can be made regarding the relative speeds of the N processes.

REF :: handouts Page No. 98


Qno.4    There are many commands. Write the method through which these commands can communicate with each other. 3 marks

Answer:-

There are many commands some of these are given below:-

Command Name              $ pw

Details

You can display the absolute pathname of your working directory with the pwd command

Syntax

/home/students/nadeem/courses/cs604/programs

 

Command Name              cp

Details

You can use the cp command for copying files. You can use the cp file1

file2 command to copy file1 to file2.

Syntax

 cp ~/file1 ~/memos/file2

 

Command Name              mv

Details

You can use the mv command for moving files. You can use the mv file1

file2 command to move file1 to file2.

Syntax

$ mv ~/file1 ~/memos/file2

 

Command Name              rm

Details

You can use the rm command to remove files. You can use the rm file1

command to remove file1

Syntax

$ rm ~/courses/cs604/programs/test.c $               For single file

rm *.o                                                                                   For all files                        

REF :: handouts Page No. 27

 

Qno.5. Write Difference between SJF and Shortest Remaining Time First Scheduling algorithm. 3 marks

Answer: 

Shorted Job First (SJF) Scheduling

Shortest Remaining Time First Scheduling

For long term scheduling in a batch system, we can use as the length the process time limit that a user specifies when he submits the job

Whenever a new job comes in, check the remaining service time on the

current job.

Preemptive SJF scheduling is sometimes called shortest-remaining-time-first scheduling.

For all but the longest jobs, SRT better than SJF

The response ratio is good (Fast)

The response ratio is good (low)

Waiting time is fast

Waiting time is also quite low for most processes

REF :: handouts Page No. 82

Qno6.    Write formula for calculating waiting time in preemptive Shortest Job First Algorithm. 2 marks

Answer:-

Preemptive SJF scheduling is sometimes called shortest-remaining-time-first scheduling.

We illustrate the working of the SJF algorithm by using the following system state.

 

Process       Arrival Time   Burst Time

P1           0.0          7

P2           2.0          4

P3           4.0          1

P4           5.0          4

REF :: handouts Page No. 83

 

Qno7.    Define race condition and how prevent this condition. 2 marks

Answer:-

A situation like this, where several processes access and manipulate the same data
concurrently and the outcome of the manipulation depends on the particular order in
which the access takes place, is called a race condition

REF :: handouts Page No. 97

 

Qno.8    What is Convoy Effect?
Answer:-

When FCFS scheduling algorithm is used, the convoy effect occurs when short

Processes wait behind a long process to use the CPU and enter the ready queue in a

Convoy after completing their I/O.

REF :: handouts Page No. 82


Qno.9    What are the common data structures in Bakery Algorithm?
Answer:-

The bakery algorithm is due to Leslie Lamport and is based on a scheduling algorithm

commonly used in bakeries, ice-cream stores.

REF :: handouts Page No. 103

 

Qno.10 How a pipe can be created?
Answer:-

The pipe() system call   creates a   pipe and returns two file descriptors, one for reading and second for writing,

REF :: handouts Page No. 103

 

Qno.11 Define Progress and Bounded Waiting.
Answer:-

Process:-

If no process is executing in its critical section and some processes wish to enter their critical sections, then only those processes that are not executing in their remainder section can participate in the decision on which will enter its critical section next, and this selection cannot be postponed indefinitely.

 

 

Bounded Waiting:-

There exists a bound on the number of times that other processes are allowed to enter their critical sections after a process has made a request to enter its critical section and before that request is granted.

REF :: handouts Page No. 99

 

Qno.12 What is Starvation and how it occures
Answer:-

Starvation:-

A process that is ready to run but lacking the CPU can be considered blocked-waiting for the CPU.

How it occur:-  

If a deadlock occurs, it can be resolved if one car backs up (preempt resources
and rollback). Several cars may have to be backed up if a deadlock occurs. Starvation is
possible.

REF :: handouts Page No. 129

 


Qno.13 What are the advantages of Round Robin Scheduling Algorithm?
Answer:-

  • If time slice is too short then you will have freq switching btw processes
  • if time slice is too long then you will have less switching btw processes and high priority may have to wait for low priority tasks leading to starvation
  • The average waiting time under the RR policy however is often quite long.
  • The CPU scheduler goes around the ready queue, allocating the CPU to each process for a time interval of up to 1 time quantum
  • The process may have a CPU burst of less than 1 time quantum, in which case the process itself will release the CPU voluntarily.
  • It is the most simple scheduling algorithm
  • It is easy to implement in software
  • If the processes are of varied length then it becomes slow.

REF :: handouts Page No. 86


Qno.14 Analyze the following algorithm to solve the critical section problem and explain whether it satisfies the Mutual Exclusion Characteristic

Flag[i] = True;
Turn = j;
do{
while(Flag[j] = True && turn==j);
critical section
Flag[i] = False;
remainder section
} While(1)


Answer:-

 

To enter its critical section, Pi sets flag[i] to true, and sets 'turn' to j, asserting that if the other process wishes to enter its critical section, it may do so. If both try to enter at the same time, they will attempt to set 'turn' to i and j. However, only one of these assignments will last, the other will occur but be overwritten instantly. Hence, the eventual value of 'turn' will decide which process gets to enter its critical section.

 

To prove mutual exclusion, note that Pi enters its critical section only if either

flag[j]=false or turn=i. Also, if both processes were executing in their critical sections at
the same time, then flag[0]= = flag[1]= = true. These two observations suggest that P0 and
P1 could not have found both conditions in the while statement true at the same time,
since the value of 'turn' can either be 0 or 1. Hence only one process say P0 must have
successfully exited the while statement.  Hence mutual exclusion is preserved.

To prove bounded wait and progress requirements, we note that a process Pi can be
prevented the critical section only if it is stuck in the while loop with the condition
flag[j]= =true and turn=j. If Pj is not ready to enter the critical section, then flag[j]=flase
and Pi can enter its critical section. If Pj has set flag[j]=true and is also executing its while
statement then either turn=i or turn=j. If turn=i then Pi enters its critical section, otherwise
Pj. However, whenever a process finishes executing in its critical section, lets assume Pj,
it resets flag[j] to false allowing Pi to enter its critical section. If Pj resets flag[j]=true, then
it must also set 'turn' to i, and since Pi does not change the value of 'turn' while
executing in its while statement, Pi will enter its critical section (progress) after at most
one entry by Pj (bounded waiting).

REF :: handouts Page No. 145

 

Qno.15 which command is used in Linux environment to get process information? (2)

Answer:-

ps gives a snapshot of the current processes. Without options, ps prints information
about processes owned by the user. Some of the commonly used options are -u, -e, and
-l.

  • -e selects all processes
  • -l formats the output in the long format
  • -u displays the information in user-oriented format

REF :: handouts Page No. 63

 

Qno.16 resource sharing is disadvantage of multithreading....explain?(5)

Answer:-

1.  Resource sharing: Whereas resource sharing is one of the major advantages of
                threads, it is also a disadvantage because proper synchronization is needed
                between threads for accessing the shared resources (e.g., data and files).

2.  Difficult programming model: It is difficult to write, debug, and maintain multi-
                threaded programs for an average user. This is particularly true when it comes to
                writing code for synchronized access to shared resources.

REF :: handouts Page No. 70

Qno.17 Synchronization process is needed in resource sharing and data sharing (3)

Answer:-

Often access to shared data and shared resources, if there is no controlled access to shared data, it is often possible to obtain an inconsistent state of this data. Maintaining data consistency requires mechanisms to ensure the orderly execution of cooperating processes, and hence various process synchronization methods are used.

REF :: handouts Page No. 70


Qno.17 how threads overcome these issues (5)

Answer:-

A thread, sometimes called a lightweight process (LWP), is a basic unit of CPU utilization and executes within the address space of the process that creates it. It comprises a thread ID, a program counter, a register set, errno, and a stack. It shares with other threads belonging to the same process its code sections, data section, current working directory, user and group IDs, signal setup and handlers, PCB and other operating system resources, such as open files and system.

REF :: handouts Page No. 68

 

Qno.18 If process in background then we want its move in foreground then what unix/inux command is use to moving. 3 marks

Answer:-

Moving a process into background

You can use the bg command to put the current or a suspended process into the background. Here is the syntax of the command.

bg [%job_id]

If %job_id is omitted the current job is assumed.

REF :: handouts Page No. 65


Qno.19 How the open source help us to test the algorithm?

Answer:-

The Open Source software licensing has made it possible for us to test various algorithms by implementing them in the Linux kernel and measuring their true performance. The major difficulty is the cost of this approach. The expense is incurred in coding the algorithm and modifying the operating system to support it, as well as its required data structures. The other difficulty with any algorithm evaluation is that the environment in which the algorithm will change.
REF :: handouts Page No. 95

 

 

Qno.20                 Using C for compiling means?

Answer:-

To compile a source file titled program.c, type:
$ gcc program.c

You can run the executable program generated by this command by typing./a.out and
hitting the <Enter> key, as shown in the following session.
$ ./a.out
[ ... program output ... ]

You can store the executable program in a specific file by using the –o option. For
example, in the following session, the executable program is stored in the assignment file.
$ gcc program.c -o assignment

 

You can link a library                   
explicitly by using the –l option. In the following session, we are asking the compiler to
link the math library with our object file as it creates the executable file.
$ gcc program.c –o assignment -lm

$ assignment

[ ... program output ... ]

REF :: handouts Page No. 28


Qno.21 what is difference b/w preemptive and non-preemptive (2)

Answer:-

Preemptive

non-preemptive

in preemptive scheduling we preempt the currently executing process, in non preemptive scheduling we allow the current process to finish its CPU burst time 

in non preemptive scheduling the process at running state can not be forced to leave the CPU until it completes On a preemptive kernel, a process running in kernel mode can be replaced by another process while

in preemptive scheduling the process is forcibly sent to waiting state when a process with higher priority comes to CPU, 

When scheduling takes place only
under
:-

  • When a process switches from the running state to the waiting state (for example,
    an I/O request is being completed)
  • When a process switches from the running state to the ready state (for example
    when an interrupt occurs)
  • When a process switches from the waiting state to the ready state (for example,
    completion of I/O)
  • When a process terminates

 

REF :: handouts Page No. 80

 

Qno.22 Virtual machine V scheduling algorithm different steps

Answer:-

UNIX System V scheduling algorithm is essentially a multilevel feedback priority queues algorithm with round robin within each queue, the quantum being equal to1 second. The priorities are divided into two groups/bands:

  Kernel Group

  User Group

Priorities in the Kernel Group are assigned in a manner to minimize bottlenecks, i.e, processes waiting in a lower-level routine get higher priorities than those waiting at relatively higher-level routines. We discuss this issue in detail in the lecture with an example. In decreasing order of priority, the kernel bands are:

  Swapper

  Block I/O device control processes
  File manipulation

  Character I/O device control processes   User processes

REF :: handouts Page No. 91

 

Qno.23 If a process exits and there are still threads of that process running, will they continue to run?
Answer:-
i
f the thread in the process is running and receives a signal(say Ctrl-C) and the default action of the signal is to terminate a process, does the running thread terminates or the parent process will also terminate. That happens to the threads if the running process terminates because of some signal

REF :: http://stackoverflow.com/questions/3754018/threads-some-questions


Qno.24 What are the important characteristics of TestAndSet? What will be its advantage.
The important characteristic is that this instruction is executed atomically. Thus if two TestAndSet instructions are executed simultaneously, they will be executed sequentially in some arbitrary order.

Advantages :-

  • Simple to implement and understand
  • One memory location for arbitrarily many CPUs

REF :: handouts Page No. 106

 

Qno.25 Considering the Resource sharing feature of thread, what do you think is 'resource sharing' an advantage of a thread or disadvantage of a thread. Explain yours answer briefly.

Answer:-
The Advantages and Disadvantages of Threads

Four main advantages of threads are:

1.  Responsiveness:  Multithreading an interactive application may allow a program
                to continue running even if part of it is blocked or is performing a lengthy
                operation, thereby increasing responsiveness to the user.

2.  Resource sharing: By default, threads share the memory and the resources of the
                process to which they belong. Code sharing allows an application to have several
                different threads of activity all within the same address space.

3.  Economy: Allocating memory and resources for process creation is costly.
                Alternatively, because threads share resources of the process to which they
                belong, it is more economical to create and context switch threads.

4.  Utilization of multiprocessor architectures: The benefits of multithreading of

multithreading can be greatly increased in a multiprocessor environment, where each thread may be running in parallel on a different processor. A single threaded process can only run on one CPU no matter how many are available.

Multithreading on multi-CPU machines increases concurrency.

Some of the main disadvantages of threads are:

1.  Resource sharing: Whereas resource sharing is one of the major advantages of
                threads, it is also a disadvantage because proper synchronization is needed
                between threads for accessing the shared resources (e.g., data and files).

2.  Difficult programming model: It is difficult to write, debug, and maintain multi-
                threaded programs for an average user. This is particularly true when it comes to
                writing code for synchronized access to shared resources.

REF :: handouts Page No. 70

 


--
Zindagi mein 2 Logo ka buhat khayal rahkoooo
Ist woh jiss ney tumhari jeet ke Liye buhat kuch hara hoo
(Father)
2nd woh jiss ko tum ney har dukh me pukaara hoo (Mother)
Regards,
Umair Saulat Mc100403250

--
--
Virtual University of Pakistan*** IT n CS Blog
================================
http://www.eNoxel.com
http://www.enoxelit.tk
http://www.geniusweb.tk
 
and Please do Share this group with your Friends and Class Fellows so that our Circle would expand and can be more useful for other Students.
 
Thanks, n Best of Luck......
 
 
You received this message because you are subscribed to the Google
Groups "vulms" group.
To post to this group, send email to vulmsit@googlegroups.com
To unsubscribe from this group, send email to
vulmsit+unsubscribe@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/vulmsit?hl=en?hl=en
---
You received this message because you are subscribed to the Google Groups "vulms" group.
Visit this group at http://groups.google.com/group/vulmsit?hl=en-GB.
 
 

Saturday, December 8, 2012

.::VULMSIT::.eNoxel.com CS402- MID TERM

MIDTERM SPRING 2012
CS402 – Theory of Automata
Q. Point of Kleen Theory.
Answer:- (Page 25)
1. If a language can be accepted by an FA then it can be accepted by a TG as well.
2. If a language can be accepted by a TG then it can be expressed by an RE as well.
3. If a language can be expressed by a RE then it can be accepted by an FA as well.
Q. Difference and common between NFA & DFA
Answer:- (Page 25) Click here for detail
Difference
1-In FA Finite number of states, having one initial and some (maybe none) final states. While in NFA Finite
many states with one initial and some final state.
2-In FA for each state and for each input letter there is a transition showing how to move from one state to
another while in NFA there may be more than one transition for certain letters and there may not be any
transition for certain letters.
3-In FA  is valid while in NFA  is not valid.
Common
Finite set of input letters,
MIDTERM SPRING 2012
CS402 – Theory of Automata
1) What is the function of mealy machine?
Answer:- (Page 60)
1's complementing and incrementing machines which are basically Mealy machines are very much helpful in
computing.
The incrementing machine helps in building a machine that can perform the addition of binary numbers.

--
Zindagi mein 2 Logo ka buhat khayal rahkoooo
Ist woh jiss ney tumhari jeet ke Liye buhat kuch hara hoo
(Father)
2nd woh jiss ko tum ney har dukh me pukaara hoo (Mother)
Regards,
Umair Saulat Mc100403250

--
--
Virtual University of Pakistan*** IT n CS Blog
================================
http://www.eNoxel.com
http://www.enoxelit.tk
http://www.geniusweb.tk
 
and Please do Share this group with your Friends and Class Fellows so that our Circle would expand and can be more useful for other Students.
 
Thanks, n Best of Luck......
 
 
You received this message because you are subscribed to the Google
Groups "vulms" group.
To post to this group, send email to vulmsit@googlegroups.com
To unsubscribe from this group, send email to
vulmsit+unsubscribe@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/vulmsit?hl=en?hl=en
---
You received this message because you are subscribed to the Google Groups "vulms" group.
Visit this group at http://groups.google.com/group/vulmsit?hl=en-GB.
 
 

.::VULMSIT::.eNoxel.com CS410-MID TERM SUBJECTIVE With REFERENCE SOLVED BY UMAIR SAULAT

CS410 – Visual Programming

SOLVED SUBJECTIVE


Qno.1    How can I use the CopyTo method of the Windows Forms controls collection to copy controls into an array? (3)

Answer:-

The CopyTo method will take the current controls collection and copy all the controls into an array. In order to use it, you must specify the array and the starting point. For instance, the following code copies the controls to the MyArrayOfControls array starting at the first element

 

Ref         http://msdn.microsoft.com/en-us/magazine/cc164035.aspx

 

Qno.2    Write a complete syantax of "Getparents" functions? What kind of value it return and when this function is use?

Answer:-

 

Qno.3    Differentiate pen &brush?

Answer:-

PEN

Brush

A pen is a graphics tool that an application for Microsoft Windows uses to draw lines and curves

A brush is a graphics tool that a Windows based application uses to paint the interior of polygons, ellipses, and paths

Pens to draw freehand lines, straight lines, and curves.

brushes use to paint shapes

pens to designate trends in graphs and to outline bar graphs and pie charts

Brushes to paint the sections of pie charts and the bars in bar graphs.

REF :: Handouts Page No.69

 

 

Qno.4    It is sometimes more efficient for an application to draw directly in a window without relying on the WM_PAINT message. How this task can be accomplished (i.e. how can we draw in a window directly without using WM_PAINT message)? (5)

 

Answer:-

The task can be accomplished which is given below:-

 

This can be useful when the user needs immediate feedback, such as when selecting text and dragging or sizing an object. In such cases, the application usually draws while processing keyboard or mouse messages.

To draw in a window without using a WM_PAINT message, the application uses the GetDC or GetDCEx function to retrieve a display device context for the window. With the display device context, the application can draw in the window and avoid intruding into other windows. When the application has finished drawing, it calls the ReleaseDC function to release the display device context for use by other applications. application draws a selection and an intervening WM_PAINT message occurs, the application must ensure that any drawing done during the message does not corrupt the selection. To avoid this, many applications remove the selection, carry out usual drawing operations, and then restore the selection when drawing is complete

REF :: Handouts Page No.167


Qno.5    How Windows keep track of the files? (3)

Answer:-

The system requires instance handles to keep track of all modules. The system assigns a handle to each copy of a running executable or .dll.
REF :: Handouts Page No.78


Qno.6    Can you write a class without specifying namespace? Which namespace does it belong to by default? (2)

Answer:-

Yes, you can, and then the class belongs to global namespace which has no name. For commercial products, naturally, you wouldn't want global namespace.

REF:: http://www.netsqlinterviewquestions.com/-net_interview_questions/580_can-you-write-a-class-without-specifying-namespace-which-namespace-does-it-belong-to-by-default-.aspx?topicid=2



Qno.7    "In the GDI environment there are two working spaces", Name these two. (2)

Answer:-

In the GDI environment there are two working spaces

  1. Logical
  2. Physical

REF :: Handouts Page No.140

 


Qno.8    how many kinds of macros are there?

Answer:-

There are two kinds of macros.

  1. Object-like macros resemble data objects when used,
  2. Function-like macros resemble function calls.

REF :: Handouts Page No.40

 

Qno.9    What are the GDI environment working space names?

Answer:-

In the GDI environment there are two working spaces

  1. Logical
  2. Physical

REF :: Handouts Page No.140

 

Qno.10                 List down three Pre-Defined GDI objects in window

Answer:-

Pre-defined GDI objects in Windows are:

  • Pens
  • Brushes
  • Fonts
  • Palettes

REF :: Handouts Page No.178

 

Qno.11                 what are macros and its types? Explain it with example.

Answer:-

There are two kinds of macros.

1         Object-like macros resemble data objects when used,

2         Function-like macros resemble function calls.

Example:-

Here's a macro that computes the maximum of two numeric values:

                #define min(X, Y) ((X)>(Y) ? (X)LY))

Explain

To define a macro that takes arguments, you use the #define command with a list of parameters in parentheses after the name of the macro. The parameters may be any valid C identifiers separated by commas at the top level (that is, commas that aren't within parentheses) and, optionally, by white-space characters. The left parenthesis must follow the macro name immediately, with no space in between

REF :: Handouts Page No.40

 

  Qno.12 what is a process?

Answer:-

A series of actions or steps taken to achieve an end, a process is a collection of interrelated work tasks initiated in response to an event that achieves a specific result for the customer of the process.

REF:: https://www.google.com/webhp?source=search_app#hl=en&tbo=d&sclient=psy-ab&q=What+is+Process&oq=What+is+Process&gs_l=hp.3..0l4.1060964.1063012.3.1063209.15.14.0.1.1.2.515.2870.0j11j2j5-1.14.0.les%3B..0.0...1c.1.z147022bvT0&pbx=1&bav=on.2,or.r_gc.r_pw.r_cp.r_qf.&fp=1cb31f4b3d702abf&bpcl=39650382&biw=1024&bih=624

 

 

Qno.13 briefly defines Modal Loop?

Answer:-

Modal loop is run by Modal dialogs and process message as does application message loop. That's why program execution is transfer to modal loop so the modal loop itself gets messages and dispatch message.

REF :: Handouts Page No.246

 

Qno.14 Write windows Programming control process?

Answer:-

1         Edit Control

2         Static Control

REF :: Handouts Page No.120

 

Qno.15 Explain Pointer to Constant, and constant to Painter?

Answer:-

Constant pointer to variable data:

             char * const ptr = buff.                      // constant pointer to variable data

            *ptr = 'a';

            ptr = buff2;                                          // it will be an error

 

since we have declared ptr as a "constant pointer to variable data", so we can change the contents of the place where ptr is pointing at, i.e. data but being a constant variable, the ptr value i.e. the address it contains cannot be modified.

 

Variable pointer to Constant data:

            const char * ptr = buff.                       //variable pointer to constant data

            *ptr = 'a';                                            // it will be an error

            ptr = buf2;

REF :: Handouts Page No.64

 

 

Qno.16 Write the complete syntax or "get parent function"

Answer:-

GetParent function returns the parent handle of the specified child. This function will be useful when the parent of the child window to use.

Syntax::

 

HWND GetParent

(

HWND hWnd   // handle to child window

);

REF :: Handouts Page No.185

 

 

Qno.17 Types of assertion and name them?

Answer:-

There are three types of assertion:

1         Preconditions

  • Specify conditions at the start of a function.

2         Post conditions

  • Specify conditions at the end of a function.

3         Invariants

  • Specify conditions over a defined region of a program

REF :: Handouts Page No.49

 

Qno.18 Write the characteristics of child windows?

Answer:-

Following are the characteristics of child windows.

  • A child window always appears within the client area of its parent window.
  • Child windows are most often as controls.
  • A child window sends WM_COMMAND notification messages to its parent window.
  • When a child window is created a unique identifier for that window is specified in hMenu parameter of CreateWindow()

REF :: Handouts Page No.183

 

 

Qno.18 what will happen if GetUpdateRect returns zero?

Answer:-

An application should call the GetUpdateRect function to determine whether the window has an update region. If GetUpdateRect returns zero, the application should not call the BeginPaint and EndPaint functions.

REF :: Handouts Page No.164

 

 

Qno.19 Define Client area?

Answer:-

The client area is the part of a window where the application displays output, such as text or graphics. For example, a desktop publishing application displays the current page of a document in the client area. The application must provide a function, called a window procedure, to process input to the window and display output in the client area.

REF :: Handouts Page No.84

 

Qno.20 WIN MAIN describe with detail

Answer:-

WinMain is the starting point in Every Win32 GUI programs. WinMain has four

Parameters these are,

  1. First is instance of the current application.
  2. Second parameter is also an instance of this application which is used for the previous application of the same type that is already running. It is used only in Window 16bit editions or Windows 3.1. Windows 32bit editions do not support this parameter. It is here just for compatibility.
  3. Third parameter is a command line argument of string type which is a type defined as char *.
  4. Fourth parameter is windows style.

REF :: Handouts Page No.73

 

Qno.21 Message queues of each application (2)

Answer:-

An application must remove and process messages posted to the message queues of its threads

REF :: Handouts Page No.104

 

 

 

Qno.22 Paint function usage (3)

Answer:-

Paint function performs following tasks.

  • The BeginPaint() function prepares the specified  window for painting and fills a PAINTSTRUCT structure with information about the painting.
  • BeginPaint() first erases the background of window's client area by sending WM_ERASEBKGND message.
  • If the function succeeds, the return value is the handle to a display device context for the specified window.

REF :: Handouts Page No.160

 

Qno.23 Differentiate Desktop Window and Application Window

Answer:-

Desktop Windows

Application Windows

When you start the system, it automatically creates the desktop window. The desktop window is a system-defined window

When you start an application, the system also associates a taskbar button with the application. The taskbar button contains the program icon and title

uses a bitmap to paint the background of the screen

Most applications also create other windows, either directly or indirectly, to perform tasks related to the main window

A system configuration application, such as a Control Panel item, changes the desktop wallpaper by using the System Parameters Info function

An application window includes elements such as a title bar, a menu bar, the window menu (formerly known as the system menu),

REF :: Handouts Page No.114

 

Qno.24 show the implementation of _cdecl calling convolution with respect to (5)

Answer:-

1: Argument passing order.

2: stack maintenance responsibility.

3: name decoration convention.

REF :: Handouts Page No.54

 

Qno.25 What happened if GetUpdateWn returns zero (3)

Answer:-

If GetUpdateRect returns zero, the application should not call the BeginPaint and EndPaint

functions.

REF :: Handouts Page No.164

 

Qno.26 A window may have more than one windows inside it explain the line(2)

Answer:-

A Window may further contain more windows inside it. For example let's take a calculator; A calculator contains more windows in forms of buttons, radio buttons and check boxes.

  • Every Window has its parent and zero or more siblings.
  • Top level window has desktop as its parent.

REF :: Handouts Page No.113

Qno.27 What is the function of ws_paint in Windows class(3)

Answer:-

DispatchMessage function to a window procedure when the application obtains a WM_PAINT message from message Queue by using the GetMessage or PeekMessage functions.

REF :: Handouts Page No.113

 

Qno.28 Message queuing 2 marks

Answer:-

Message Queue is created when every any GDI function call is made or send message or post

Message function calls are made. Message Queue can be attached to every thread either it is

User interface thread or worker threads. User Interface threads always a message queue

REF :: Handouts Page No.332

 

Qno.29 Kernel tasks 3marks

Answer:-

Kernel is a main module of the operating system. This provides system services for managing threads, memory, and resources.

Kernel has to perform very important responsibilities e.g.

1.       Process Management

2.       File Management

3.       Memory Management (System and Virtual Memory)

REF :: Handouts Page No.68

 

Qno.30 Difference between __stdcall and __cdecl calling convention

Answer:-

cdecl and __stdcall just tells the compiler whether the called function or the calling function

cleans up the stack. In __stdcall calling convention, the called function cleans up the stack when

it is about to return. So if it is called in a bunch of different places, all of those calls do not need

to extra code to clean up the stack after the function call.

 

In __cdecl calling convention, it is the caller function that is responsible for cleaning the stack,

so every function call must also need to include extra code to clean up the stack after the

function call.

REF :: Handouts Page N.54

 

Qno.31 Erase window function explanation 5marks

Answer:-

Erase windows uses the GetClipBox function to retrieve the logical coordinates of the area to erase and passes these coordinates to the FillRect function. Applications that process these messages can use similar techniques. The system supplies a window device context with the WM_ICONERASEBKGND message regardless of whether the corresponding window has a private device context.

REF :: Handouts Page No.154

 

 

 

 

Qno.32 Clipboard Working 3mraks

Answer:-

In Windows, data is shareable among applications. We can use it for copying the data from one file to the other in same format.e.g from notepad to MS Word.. All the text or image data you have previously copied can now be pasted in other application.

REF :: Handouts Page No.72

 

Qno.33 write down complete syntax of "getDC" function?(2)

Answer:-

The system retrieves a device context from the cache whenever an application calls the GetDC

or BeginPaint function; the system returns the DC to the cache when the application subsequently calls the ReleaseDC or EndPaint function.

REF :: Handouts Page No.151

 

Qno.34 infinite recursion (3)

Answer:-

Infinite recursion, a special case of an infinite loop that is caused by recursion. This revised function will only run out of stack space if n is less than 1 or n is too large; error checking would remove the first case. For information on recursive functions which never run out of stack

REF :: http://en.wikipedia.org/wiki/Infinite_loop#Infinite_recursion

 

Qno.35 what is stack? (2)

Answer:-

In computer science, a stack is an area of memory that holds all local variables and parameter used by any function, and remembers the order in which functions are called so that function returns occur correctly.

REF:: http://en.wikipedia.org/wiki/Stack_(abstract_data_type)

 

Qno.36 what is extern storage class?

Answer:-

Extern defines a global variable that is visible to all object modules. When you use 'extern' the variable cannot be initialized as all it does is to point the variable name at a storage location that has been previously defined

REF :: Handouts Page No.60

 

 

Qno.37 An application can set up for itself any logical coordinates system, using API. Write down any two.(3)

Answer:-

There are two types of brushes: logical and physical. A logical brush is one that you define in code as the ideal combination of colors and/or pattern that an application should use to paint shapes. A physical brush is one that a device driver creates, which is based on your logical-brush definition.

REF :: Handouts Page No.70

 

 

 

 

Qno.38 what happened if an application does not process WM_ErasebkGrd massages but pass it defWindowProcs.(5)

Answer:-

If it processes WM_ERASEBKGND, the application should use the message's wParam parameter to draw the background. This parameter contains a handle to the display device context for the window. After drawing the background, the application should return a nonzero value. This ensures that BeginPaint does not erroneously set the fErase member of the PAINTSTRUCT structure to a nonzero value (indicating the background should be erased) when the application processes the subsequent WM_PAINT message.

 

An application can define a class background brush by assigning a brush handle or a system color value to thehbrBackground member of the WNDCLASS structure when registering the class with the RegisterClass function. TheGetStockObject or CreateSolidBrush function can be used to create a brush handle. A system color value can be one of those defined for the SetSysColors function. (The value must be increased by one before it is assigned to the member.)

REF :: Handouts Page No.167

 

Qno.38 Define "Virtual-Key" message -    2 Marks

Answer:-

virtual-key code is a device-independent value defined by the system that identifies the purpose of a key. After translating a scan code, the keyboard layout creates a message that includes the scan code, the virtual-key code, and other information about the keystroke, and then places the message in the system message queue.

REF :: Handouts Page No.192

 

Qno.39 Differentiate between Super Classing and Sub Classing.   3 Marks

Answer:-

SuperClassing

SubClassing

Super-classing defines a class that adds new functionality to a predefined window class,

Subclassing is allowed only within a process.

Button or list box controls.

Win32 processes have separate address spaces

Superclassing involves creating a new class that uses the window procedure of an existing class for basic functionality.

An application cannot subclass a window or class that belongs to another process.

 

REF :: Handouts Page No.132


Qno.40
why the entries in the parent process table and child table?  2

Answer:- It means that the handle value that identifies a kernel object is identical in both the parent and the child processes

REF :: http://www.coolinterview.com/interview/54829/

 

 

 

Qno.41 Define instance Handle? Briefly explain  

Answer:- This member is Application instance handle.

REF :: Handouts Page No.90

 

Qno.42 List down the important distance between subclassing and superclassing?  

Answer:-

SuperClassing

SubClassing

Super-classing defines a class that adds new functionality to a predefined window class,

Subclassing is allowed only within a process.

Button or list box controls.

Win32 processes have separate address spaces

Superclassing involves creating a new class that uses the window procedure of an existing class for basic functionality.

An application cannot subclass a window or class that belongs to another process.

 

REF :: Handouts Page No.132

 

Qno.43 Write down the code c/c++ program that has 2 functions on take 4 integer variable as parameters and return their sum and other take 4 integer as arguments and return their multiplication.

Answer

#include <stdio.h>

 

// prototypes, the parameter names are optional,

// print the menu and obtains a selection

int GetChoice();

// inserts a number in the sorted array.

int AddNum (int num[], int sz);

// removes a number from the array.

int DelNum(int num[], int sz);

// prints out the sorted array

void PrintNums(int num[], int sz);

 

void main()

{

      // the number of elements in array A[]

      int Size = 0,

      // the array that will keep its numbers sorted

      A[20],

      // the selection made from the menu

      Selection;

 

      // keep doing this loop until a 4 or Quit is

      // selected from the menu...

      Selection = GetChoice();

      for( ; Selection != 4; )

      {

            if(Selection == 1)

                  Size = AddNum(A, Size);

            else

                  if(Selection == 2)

                        Size = DelNum(A, Size);

                  else

                        PrintNums(A, Size);

            Selection = GetChoice();

      }

}

 

// assuming that user will enter only a valid int

int GetChoice()

{

      int Choice;

 

      printf("Enter 1 - Insert, 2 - Delete, ");

      printf("3 - List and 4 - Quit:  ");

            scanf_s("%d", &Choice);

            return Choice;

}

 

int AddNum(int Num[ ], int sz)

{

      // local variables...

      int i, j, Number;

      // gets the number to insert

      printf("What number to insert? ");

      scanf_s("%d", &Number);

      // finds the place (i) to put the new number

      for(i = 0; i < sz; ++i)

            if(Number < Num[i])

                  break;

      // shift the rest of the array by moving

      // the numbers up by one slot.

      for(j = sz; j > i; --j)

            Num[j] = Num[j - 1];

      // place the new number

      Num[i] = Number;

      // the array size is incremented

      // and return to the calling function

      return ++sz;

}

 

// assuming that the deleted item exists

int DelNum(int Num[], int sz)

{

      // local variables...

      int i, Number;

      // gets the number to be deleted

      printf("What number are you going to delete? ");

      scanf_s("%d", &Number);

      // find the place in the array to be deleted

      for(i = 0; i < sz; ++i)

            if(Number == Num[i])

                  break;

      // the array size is decremented

      --sz;

      // shift the rest of the array by moving the numbers

      // down by one slot

      for( ; i < sz; ++i)

            Num[i] = Num[i + 1];

      // return sz to the calling function

      return sz;

}

 

void PrintNums(int Num[ ], int sz)

{

      // local variable...

      int i;

 

      for(i = 0; i < sz; ++i)

            printf("Num[%d] = %d\t", i, Num[i]);

      printf("\n");

}

 

Output of this Program

 


REF http://www.tenouk.com/clabworksheet/labworksheet13.html

 

Qno.44 Write two macros that perform the same tasks as these functions perform? 5

Answer:-

A macro is a fragment of code which has been given a name. Whenever the name is used, it is replaced by the contents of the macro. There are two kinds of macros. They differ mostly in what they look like when they are used. Object-like macros resemble data objects when used, function-like macros resemble function calls.

 

You may define any valid identifier as a macro, even if it is a C keyword. The preprocessor does not know anything about keywords. This can be useful if you wish to hide a keyword such as const from an older compiler that does not understand it. However, the preprocessor operator defined can never be defined as a macro, and C++'s named operators cannot be macros when you are compiling C++.

 

To define a macro that takes arguments, you use the #define command with a list of parameters in parentheses after the name of the macro. The parameters may be any valid C identifiers separated by commas at the top level (that is, commas that aren't within parentheses) and, optionally, by white-space characters. The left parenthesis must follow the macro name immediately, with no space in between.

 

For example, here's a macro that computes the maximum of two numeric values:

                #define min(X, Y) ((X)>(Y) ? (X):(Y))

REF :: Handouts Page No.40


Qno.45
Two common controls in window programming

Answer:-

Common controls are of these types.

  1. Date Time Picker Control.
  2. List View Control.

REF :: Handouts Page No.121

 

 

Qno.46 Write at least two tasks performed by BeginPaint () function?   3

Answer:-

1         The BeginPaint() function prepares the specified  window for painting and fills a PAINTSTRUCT structure with information about the painting.

2         BeginPaint() first erases the background of window's client area by sending WM_ERASEBKGND message.

REF :: Handouts Page No.160

 

Qno.47 about _cdecl calling convention? 

Answer:-

The __cdecl is the default calling convention for C programs. In this calling convention, the stack is cleaned up by the caller. The __cdecl calling convention creates larger executables than __stdcall, because it requires each function call to include stack cleanup code.

REF :: Handouts Page No.54


--
Zindagi mein 2 Logo ka buhat khayal rahkoooo
Ist woh jiss ney tumhari jeet ke Liye buhat kuch hara hoo
(Father)
2nd woh jiss ko tum ney har dukh me pukaara hoo (Mother)
Regards,
Umair Saulat Mc100403250

--
--
Virtual University of Pakistan*** IT n CS Blog
================================
http://www.eNoxel.com
http://www.enoxelit.tk
http://www.geniusweb.tk
 
and Please do Share this group with your Friends and Class Fellows so that our Circle would expand and can be more useful for other Students.
 
Thanks, n Best of Luck......
 
 
You received this message because you are subscribed to the Google
Groups "vulms" group.
To post to this group, send email to vulmsit@googlegroups.com
To unsubscribe from this group, send email to
vulmsit+unsubscribe@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/vulmsit?hl=en?hl=en
---
You received this message because you are subscribed to the Google Groups "vulms" group.
Visit this group at http://groups.google.com/group/vulmsit?hl=en-GB.