![]() |
Bonjour et bienvenu par les États-Unis à la UNIX et Linux Forums! Merci de votre visite et vous joindre à notre communauté mondiale.
|
|
google unix.com
|
|||||||
| Forums | S'inscrire | Forum Rules | Liens | Albums | FAQ | Liste des membres | Calendrier | Recherche | Aujourd'hui, les postes | Marquer les forums comme lus |
| High Level Programming Posez vos questions à propos de C, C + +, Java, SQL, et d'autres langages de programmation ici. |
Plus d'UNIX et Linux Forum Sujets Vous trouverez peut-être utile
|
||||
| Fil | Thread Starter | Forum | Réponses | Last Post |
| sémaphore | raguramtgr | UNIX pour les nuls Questions et réponses | 7 | 06-15-2009 09:39 AM |
| Sémaphore | Jaken | De programmation et de script Shell | 2 | 04-04-2009 05:10 PM |
| dmidecode, RAM vitesse \u003d "Current Speed: Unknown" | Santi | Systèmes de fichiers, disques et mémoire | 0 | 02-16-2006 06:16 AM |
| Sémaphore | vjsony | UNIX pour les nuls Questions et réponses | 3 | 04-07-2003 02:06 PM |
| sémaphore | yls177 | UNIX pour les nuls Questions et réponses | 1 | 10-08-2002 11:18 PM |
|
|
LinkBack | Thread Tools | Recherche sur ce Thread |
Rating:
|
Modes d'affichage |
|
||||
|
sémaphore la vitesse d'accès
Je suis une enquête système de verrouillage utilisant des sémaphores. Pour évaluer la vitesse de base du système-je effectuer une boucle d'obtenir certaines informations sur la sémaphore et de l'afficher:
while:; faire. / semshow; done> res.txt J'ai couru le 3 boîtes - deux analogues modernes HP Xeon boîtes, une course SCO OpenServer 5, l'autre est Fedora 2.6.9, et un vieux PIII boîte moderne sous Linux (ont pas d'info). Les résultats sont très contre-intuitives: H / W | OS | avg nombre de pistes bre sec ---- | --- | ------------------------- Xeon | SCO | 1700 Xeon | Fedora | 500 PIII | Linux (distribution récente, inconnu) | 900 Les trois systèmes sont à peu près au ralenti à l'essai du temps. Je voudrais vous demander, quels seraient les facteurs qui ont fait de surperformer ancienne Unix OS modernes, également, comment se surpasser moderne boîte PIII Xeon boîte dans les mêmes OS. Toute ponters serait appréciée. Semshow Le programme est très basique, voir la liste ci-dessous: Code:
#include <stdio.h>
#include <sys/types.h>
#include <sys/ipc.h>
#include <sys/sem.h>
#include <sys/timeb.h>
#include <time.h>
#include "semlib.h"
#define MODE_CREATE 0
#define MODE_REMOVE 1
key_t IPCKEY;
main(int argc, char *argv[])
{
int sid, i;
pid_t last_rpid, last_wpid;
char dbuf[80];
union semun arg;
unsigned short vals[NSEMS];
struct timeb tb;
struct tm *tp;
if((IPCKEY = get_ipc_key()) == -1)
{
errexit("Can Not Obtain IPC Key");
}
if((sid = semget(IPCKEY, NSEMS, 0)) == -1)
{
errexit("Can Not Get Semaphore ID");
}
memset(vals, 0, sizeof(vals));
arg.array = &vals[0];
if(semctl(sid, NSEMS, GETALL, arg) == -1)
{
errexit("Can Not Get Semaphore Values");
}
if((last_rpid = semctl(sid, RDLOCK, GETPID)) == -1)
{
errexit("Can Not Get Semaphore R-Pid");
}
if((last_wpid = semctl(sid, WRLOCK, GETPID)) == -1)
{
errexit("Can Not Get Semaphore W-Pid");
}
ftime(&tb);
tp = localtime(&tb.time);
strftime(dbuf, sizeof(dbuf) - 1, "%T", tp);
printf("%12li.%03i %s RD:[%i] WR:[%i] %i/%i\n",
tb.time, tb.millitm, dbuf,
vals[RDLOCK], vals[WRLOCK],
last_rpid, last_wpid);
exit(0);
}
Code:
#define NSEMS 2
#define RDLOCK 0
#define WRLOCK 1
union semun {
int val;
struct semid_ds *buf;
unsigned short *array;
};
|
| Bookmarks |
| Thread Tools | Recherche sur ce Thread |
| Modes d'affichage | Rate this thread |
|
|