Ads

Pages

Showing posts with label CS. Show all posts
Showing posts with label CS. Show all posts

Thursday, January 27, 2011

CS410 GDB Solution

Windows Foundation Classes for Java (WFC) provides a framework of Java packages that support components targeted for the Microsoft Windows operating system and the Dynamic HTML object model. WFC is tightly integrated with the Microsoft Visual J++™ development environment and provides a full set of Windows controls written in Java. Building a Java application for Windows is made much easier by this tight integration and the support of features such as IntelliSense, the Forms Designer, the Application Wizard, and the Object Browser. While these Visual J++ features put you well on your way to creating applications, you'll probably want to understand the structure and logic behind the packages and classes that make up WFC.



The purpose of this section is to provide a conceptual framework for the WFC packages and classes and to explain some of the fundamental WFC models. Many of the packages exist as infrastructure for the component model and can be ignored by developers focusing on using the WFC controls. Other packages are most easily accessed from the Visual J++ Forms Designer. When you start exploring the WFC library, you'll want to know which packages and classes are important for your particular application.

.................

First thing about Windows - it is a multi-tasking environment. That means that it can actually run more than one program at one time, giving you higher efficiency. You'll need to process code for each program simultaneously, which is no easy feat. So, the makers of Windows created a system where each program was like a procedure - code was run only when the system requested for it. This meant that they needed to create a whole new system for Windows, containing the API (Application Program Interface). Code was in the form of 'events'. Only when an event occurs will code be run. Now you know why Delphi makes you type code that way!

* WFC Packages provides a high-level overview of the main packages that make up WFC.

* Working with WFC Visual Components describes the controls, forms, and graphical objects in WFC, which include the following subtopics:

o Windows Visual Components

o Dynamic HTML Visual Components

* Handling Events in WFC describes the use of delegates for handling events.

* Localizing Your Application describes the Visual J++ and WFC support and methodology for localizing your project in various languages.

* Using WFC Application Services describes some of the core application features and includes the following subtopics:

o Starting and Quitting an Application

o Handling Application Events

o Accessing System Information

o Performing Clipboard and Drag-and-Drop Operations

* Using Java Threads with WFC describes the threading model for WFC and includes the following subtopics:

o Mixing Java and Win32 Threading Models

o Creating and Exiting a Thread

o Using Thread Storage

o Working with Thread Exceptions

Tuesday, January 25, 2011

CS507 GDB 01 Announced

Graded Discussion Board


Dear Students, GDB for this course is going to be opened on Monday 31st January, 2010. GDB will remain open for 2 days (31st January & 1st February), there will be no alternative or bonus day for it. The GDB will contain 5 marks (weightage 5 out of 100) for this course. So all the students are directed to participate in this GDB otherwise you will loose 5 marks for this course.


You have to attempt the GDB online. GDB via Email will not be accepted nor it will be graded.

Topic for GDB

“Companies in employment services sector should apply integration modeling techniques to their ERP objective.”

If you agree with the above statement then support your answer with suitable arguments and give reason why companies in employment services sector should apply integration modeling techniques and if you don’t agree then provide your arguments to negate the above statement

Saturday, January 22, 2011

CS410 Assignment Solution

Visual Programming (CS410)

Assignment
Total marks = 20
Deadline Date = 21-01-2011

Please carefully read the following instructions before attempting the assignment. Rules for Marking
It should be clear that your assignment would not get any credit if:
  • The assignment is submitted after due date.
  • The submitted assignment does not open or file is corrupt.
  • The assignment is copied. Note that strict action would be taken if the submitted assignment is copied from any other student. Both students will be punished severely.

1) You should concern recommended books to clarify your concepts as handouts are not sufficient.
2) You are supposed to submit your assignment in .doc format. Any other formats like scan images, PDF, Zip, rar, bmp, docx etc will not be accepted
3)
You are advised to upload your assignment at least two days before Due date.
4) This assignment file comprises of Two (2) pages.
5)
Do not send the CPP file of your code, but paste the complete code in same document (.DOC) file in which you will solve other questions.
Important Note:

Assignment comprises of 20 Marks. Note that no assignment will be accepted after due date via email in any case (whether it is the case of load shedding or emergency electric failure or internet malfunctioning etc.). Hence, refrain from uploading assignment in the last hour of the deadline, and try to upload Solutions at least 02 days before the deadline to avoid inconvenience later on.
For any query please contact: [url=mailto:CS410@vu.edu.pk]CS410@vu.edu.pk[/url]

Q1 [Marks: 4+6]
Write about edit control default message processing and describe the default action against these messages.

1.EM_CANUNDO
2.
EM_GETHANDLE
3.
EM_GETLIMITTEXT

Q2 [Marks: 5+5]

Define Dynamic Link Libraries in detail? Also explain its relation with memory management?
....................
SOLUTION:

Define Dynamic Link Libraries in detail? Also explain its relation with memory management?



Dynamic-link library (also written without the hyphen), or DLL, is Microsoft's implementation of the shared library concept in the Microsoft Windows and OS/2 operating systems. These libraries usually have the file extension DLL, OCX (for libraries containing ActiveX controls), or DRV (for legacy system drivers). The file formats for DLLs are the same as for Windows EXE files — that is, Portable Executable (PE) for 32-bit and 64-bit Windows, and New Executable (NE) for 16-bit Windows. As with EXEs, DLLs can contain code, data, and resources, in any combination.

In the broader sense of the term, any data file with the same file format can be called a resource DLL. Examples of such DLLs include icon libraries, sometimes having the extension ICL, and font files, having the extensions FON and FOT
Background for DLL
The first versions of Microsoft Windows ran every program in a single address space. Every program was meant to co-operate by yielding the CPU to other programs so that the GUI was capable of multitasking and could be as responsive as possible. All Operating-System level operations were provided by the underlying operating system: MS-DOS. All higher level services were provided by Windows Libraries Dynamic Link Libraries. The Drawing API, GDI, was implemented in a DLL called GDI.EXE, the user interface in USER.EXE. These extra layers on top of DOS had to be shared across all running windows programs, not just to enable Windows to work in a machine with less than a megabyte of RAM, but to enable the programs to co-operate amongst each other. The Graphics Device Interface code in GDI needed to translate drawing commands to operations on specific devices. On the display, it had to manipulate pixels in the frame buffer. When drawing to a printer, the API calls had to be transformed into requests to a printer. Although it could have been possible to provide hard-coded support for a limited set of devices (like the Color Graphics Adapter display, the HP LaserJet Printer Command Language), Microsoft chose a different approach. GDI would work by loading different pieces of code to work with different output devices—pieces of code called 'Device Drivers'.

The same architectural concept that allowed GDI to load different device drivers is that which allowed the Windows shell to load different windows programs, and for these programs to invoke API calls from the shared USER and GDI libraries. That concept was Dynamic Linking.

In a conventional non-shared, static library, sections of code are simply added to the calling program when its executable is built at the linking phase; if two programs call the same routine, the routine is included in both the programs during the linking stage of the two. With dynamic linking, shared code is placed into a single, separate file. The programs that call this file are connected to it at run time, with the operating system (or, in the case of early versions of Windows, the OS-extension), performing the binding.

For those early versions of Windows (1.0 to 3.11), the DLLs were the foundation for the entire GUI.
Display drivers were merely DLLs with a .DRV extension that provided custom implementations of the same drawing API through a unified Device Driver Interface (DDI).
The Drawing (GDI) and GUI (USER) APIs were merely the function calls exported by the GDI and USER, system DLLs with .EXE extension.

This notion of building up the operating system from a collection of dynamically loaded libraries is a core concept of Windows that persists even today. DLLs provide the standard benefits of shared libraries, such as modularity. Modularity allows changes to be made to code and data in a single self-contained DLL shared by several applications without any change to the applications themselves.

Another benefit of the modularity is the use of generic interfaces for plug-ins. A single interface may be developed which allows old as well as new modules to be integrated seamlessly at run-time into pre-existing applications, without any modification to the application itself. This concept of dynamic extensibility is taken to the extreme with the Component Object Model, the underpinnings of ActiveX.

In Windows 1.x, 2.x and 3.x, all windows applications shared the same address space, as well as the same memory. A DLL was only loaded once into this address space; from then on all programs using the library accessed it. The library's data was shared across all the programs. This could be used as an indirect form of Inter-process communication, or it could accidentally corrupt the different programs. With Windows 95 and successors every process runs in its own address space. While the DLL code may be shared, the data is private except where shared data is explicitly requested by the library. That said, large swathes of Windows 95, Windows 98 and Windows Me were built from 16-bit libraries, a feature which limited the performance of the Pentium Pro microprocessor when launched, and ultimately limited the stability and scalability of the DOS-based versions of Windows.

While DLLs are the core of the Windows architecture, they have a number of drawbacks, collectively called "DLL hell".[1] Currently, Microsoft promotes Microsoft .NET as one solution to the problems of DLL hell, although they now promote Virtualization based solutions such as Microsoft Virtual PC and Microsoft Application Virtualization, because they offer superior isolation between applications. An alternative mitigating solution to DLL hell has been the implementation of Side-by-Side Assembly.
Memory management
In Win32, the DLL files are organized into sections. Each section has its own set of attributes, such as being writable or read-only, executable (for code) or non-executable (for data), and so on.

The code in a DLL is usually shared among all the processes that use the DLL; that is, they occupy a single place in physical memory, and do not take up space in the page file. If the physical memory occupied by a code section is to be reclaimed, its contents are discarded, and later reloaded directly from the DLL file as necessary.

In contrast to code sections, the data sections of a DLL are usually private; that is, each process using the DLL has its own copy of all the DLL's data. Optionally, data sections can be made shared, allowing inter-process communication via this shared memory area. However, because user restrictions do not apply to the use of shared DLL memory, this creates a security hole; namely, one process can corrupt the shared data, which will likely cause all other sharing processes to behave undesirably. For example, a process running under a guest account can in this way corrupt another process running under a privileged account. This is an important reason to avoid the use of shared sections in DLLs.

If a DLL is compressed by certain executable packers (e.g. UPX), all of its code sections are marked as read-and-write, and will be unshared. Read-and-write code sections, much like private data sections, are private to each process. Thus DLLs with shared data sections should not be compressed if they are intended to be used simultaneously by multiple programs, since each program instance would have to carry its own copy of the DLL, resulting in increased memory consumption.

Friday, January 14, 2011

CS101 Assignment No. 4 Solution

Q # 1: Suppose ABC Company have an office in Lahore. It has currently 50 computers. Now, Management is going to buy a new building in front of old building. They want to extend their network between these two buildings with 50 new computers:

Answer the questions given below in scenario described above. (5 * 2 = 10 Marks)

(i) If they can afford good budget, which cable will be suitable for networking. (You have to provide two best options. Option 1 has higher priority than Option 2)

Twisted Pair

Optic Fiber

(ii) Which network Topology will be better in building network in new building.

Star

(iii) Which network Topology will be better in building network between two buildings

Tree

(iv) Which network device(s) will be used to connect two networks?

Router

Switch

Bridge

(v) If we use wireless network between two buildings, what will be drawbacks or risks? (you have to describe two points)

Limited Access

Not Much Secure

Interruption

Low Speed

High Cost

Q # 2: Consider following network Topology and answer the questions given below. (5)

(i) Identify type/name of topology used in the figure above?



Mesh
(ii) If we have to decrease network cost then which type of measure (s) / action (s) we must take.


(Remember the figure given above while answering this question)

Thursday, January 6, 2011

CS402 Assignment 03 Idea Solution

Question1-sol


FA1 u FA2



FA1 FA2


FA2*



Question2-sol

Input

a

a

a

b

a

a

b

a

States

Z0

Z1

Z3

Z3

Z3

Z3

Z3

Z3

Z3

Moore

0

1

1

1

1

1

1

1

1

Mealy

1

1

1

1

1

1

1

1