![]() |
|
|
google unix.com
|
|||||||
| Forums | Registreer | Forum Regels | Links | Albums | Veelgestelde vragen | Ledenlijst | Kalender | Zoeken | Today's Posts | Markeer forums als gelezen |
| Hoog Niveau Programmering Post vragen over C, C + +, Java, SQL, en andere programmeertalen hier. |
Meer UNIX en Linux Forum Onderwerpen Misschien vindt u Helpful
|
||||
| Draad | Thread Starter | Forum | Antwoorden | Last Post |
| semafoor | raguramtgr | UNIX voor Dummies Questions & Answers | 7 | 06-15-2009 10:39 |
| Semafoor | Jaken | Programmeren en Shell Scripting | 2 | 04-04-2009 06:10 PM |
| dmidecode, RAM-snelheid \u003d "Huidige Snelheid: Onbekend" | Santi | Bestandssystemen, schijven en geheugen | 0 | 02-16-2006 06:16 |
| Semafoor | vjsony | UNIX voor Dummies Questions & Answers | 3 | 04-07-2003 03:06 PM |
| semafoor | yls177 | UNIX voor Dummies Questions & Answers | 1 | 10-09-2002 12:18 AM |
|
|
LinkBack | Thread Tools | Zoeken in deze Thread |
Waardering:
|
Display Modes |
|
||||
|
semafoor toegangssnelheid
Ik ben enkele vergrendeling regeling gebruik van semaforen. Te evalueren basisstelsel snelheid ik een lus om enkele semafoor info en weer te geven: terwijl:; doen. / semshow; gedaan> res.txt Ik heb dit op 3 dozen - twee soortgelijke moderne HP XEON dozen, een stromend SCO OpenServer 5, de andere is Fedora 2.6.9, en een oude PIII vak onder moderne Linux (geen info). De resultaten zijn zeer intuïtief teller: H / W | OS | Gem aantal loopt ber sec ---- | --- | ------------------------- XEON | SCO | 1700 XEON | Fedora | 500 PIII | Linux (recente distro, onbekend) | 900 Alle drie de systemen waren vrijwel stationair op de test tijd. Ik zou willen vragen, wat zouden de factoren die oude Unix te presteren moderne besturingssystemen, ook, hoe komt het PIII vak presteren moderne XEON vak onder soortgelijke OS. Elke ponters zou worden gewaardeerd. De semshow programma is zeer basic, zie hieronder: 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);
}
semlib.h heeft deze defs: Code:
#define NSEMS 2
#define RDLOCK 0
#define WRLOCK 1
union semun {
int val;
struct semid_ds *buf;
unsigned short *array;
};
|
| Bladwijzers |
| Thread Tools | Zoeken in deze Thread |
| Display Modes | Beoordeel deze draad |
|
|