Posts

Showing posts from March, 2016

String Programs

#include <stdio.h> int main(){     char name[20];     printf("Enter name: ");     scanf("%s",name);     printf("Your name is %s.",name);     return 0; } ***************************************** #include <stdio.h> int main() {     char name[30];     printf("Enter name: ");     gets(name);     //Function to read string from user.     printf("Name: ");     puts(name);    //Function to display string.     //return 0; } ***************************************** #include <stdio.h> #include <string.h> int main () {    char str1[12] = "Hello";    char str2[12] = "World";    char str3[12];    int  len ;    /* copy str1 into str3 */    strcpy(str3, str1);    printf("strcpy( str3, str1) :  %s\n", str3 );    /* concatenates str1 and str2 */    strcat( str1, str2);    printf("strcat( str1, str2):   %s\n", str1 );    /* total lenghth of str1 after concatenation */    len =

Distributed Deadlock Detection

Distributed Deadlock Detection Deadlock can occur whenever two or more processes are competing for limited resources and the processes are allowed to acquire and hold a resource (obtain a lock) thus preventing others from using the resource while the process waits for other resources. Two common places where deadlocks may occur are with processes in an operating system (distributed or centralized) and with transactions in a database.   The concepts discussed here are applicable to any system that allocates resources to processes. Locking protocols such as the popular Two Phase Locking (see concurrency control) give rise to deadlock as follows: process A gets a lock on data item X while process B gets a lock on data item Y.   Process A then tries to get a lock on Y.   As Y is already locked, process A enters a blocked state.   Process B now decides to get a lock on X, but is blocked.   Both processes are now blocked, and, by the rules of Two Phase Locking, neither will reli