Cooperative Processes

My latest project in ECE 3574 is about cooperative process. The purpose of our assignment to communicate between 2 different files which includes 5 processes altogether. Cooperative process is the idea of of passing/retrieving information within the processes. There are two ways that this can be done:

1) Shared Memory

In shared memory, all communicating processes must establish a region of shared memory. Each processes then reads/writes to this shared memory location. It is important to make sure that two processes may read and write at the same time. A classic example of shared memory problem could be encountered during a producer consumer problem. The producer produces while the consumer consumes the information. The best place to put the data would be in the shared memory location which could be accessed by both the producer and consumer.

2)Message Passing

There is no memory allocated in message passing. A small mail box with a corresponding mail box number is attached to the processes. The processes send and receive data through this mailbox. A communication link must be established for two processes to communicate. My current project focus of Message Passing which utilizes Posix Message Queues.

FTP(File Transfer Protocol)

While doing research for the futures paper, I found some information about FTP. FTP is also called as File Transfer Protocol. We are aware that Unix is a server based operating system. There is one central server and the data of this server can be accessed by several other computers which have access to the parent server. Often times, the access is restricted by enforcing a user name and/or a password. Each computer is like a branch where the server acts as the root of this tree.

FTP is the way to transfer data to and from these server. It can be very beneficial in office where the main data might need to be accessed by all the employees. There is a list of FTP commands that could be found on Google. Some of these commands are:

APPE: Append

DELE: Delete File

MKD: Make directory, etc.

All these commands are typed in the Linux terminal. There are several other ways of transferring files and FTP is one of the major and famous one out there.

Look at this link for several other FTP commands:

http://en.wikipedia.org/wiki/File_Transfer_Protocol

Make Comments

Even though I used make in ECE3574, I never really knew what was going inside of it. We compiled the programming in QT by typing

1) qmake -project

2) qmake

3) make

The three above commands compiled all the C++ and header files, and created an application which was run by ./(application name). After doing the homework for Unix, I finally learned what goes inside of a make file. Make might not be beneficial when compiling one or two files, but it is very helpful in real world problems where it is required to compile 100’s of files. It saves time and time is a big factor in large companies. I initially struggled doing the make file, but the exercise on make assisted a lot and made the whole concept look fairly easy.

I also finished my Tic-Tac-Toe game for ECE 3574. It took a considerable amount of time, but the functionality of the program was working fine. The project required us to save passwords as Sha1 encryption. I initially did not how to encrypt this message, but upon reading QT’s documents, it made the projects seem easy. Regardless, it took a considerable amount of time. In addition to that, we are also learning about process and threads. These concepts are fairly “alien” to me, since I have never used them.

Also, I believe that the format of this class is perfect. The fact that its a point based system  enables us to not work on all the projects, yet still get a good grade. I am just worried, because I haven’t even reached 300 points. These are my updates for this week.