Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Posix ili SysV semafori

0 views
Skip to first unread message

choose one of

unread,
Nov 26, 2009, 2:24:23 AM11/26/09
to
Pozdrav,

Na linuxu postoje dvije API implementacije semafora,
a man pages za posix varijantu kazu:

man sem-overview
"System V semaphores (semget(2), semop(2), etc.) are an older
semaphore API. POSIX semaphores provide a simpler, and better
designed interface than System V semaphores ..."

Medjutim, posix semafori nemaju API za mijenjanje ownera
(e.g. semctl)
Ako ostavimo na stranu "bolji API" (diskutabilno sto je bolje)
jel netko zna koji API je preferiran i koja te tehnicka podloga
zasto je jedan preferiran u odnosu na drugi.


--
^TM

Mladen Gogala

unread,
Nov 26, 2009, 4:31:12 AM11/26/09
to
On Thu, 26 Nov 2009 08:24:23 +0100, choose one of wrote:

> Medjutim, posix semafori nemaju API za mijenjanje ownera (e.g. semctl)
> Ako ostavimo na stranu "bolji API" (diskutabilno sto je bolje) jel netko
> zna koji API je preferiran i koja te tehnicka podloga zasto je jedan
> preferiran u odnosu na drugi.

Ovisi o tome sto ti treba. Oracle podrzava sysv semafore.

--
http://mgogala.byethost5.com

Mladen Turk

unread,
Nov 26, 2009, 9:18:16 AM11/26/09
to
On 11/26/2009 10:31 AM, Mladen Gogala wrote:
> On Thu, 26 Nov 2009 08:24:23 +0100, choose one of wrote:
>
>> Medjutim, posix semafori nemaju API za mijenjanje ownera (e.g. semctl)
>> Ako ostavimo na stranu "bolji API" (diskutabilno sto je bolje) jel netko
>> zna koji API je preferiran i koja te tehnicka podloga zasto je jedan
>> preferiran u odnosu na drugi.
>
> Ovisi o tome sto ti treba.

Treba mi defaultna kernel (2.6) implementacija
semafora. Pretpostavljam da je to samo jedna, a druga
je wrapper oko defaultne.
Koliko mi se cini kernel ima source samo sa sysv
implementaciju unutar ipc/sem.c
Posix semafore nemogu nigdje nac u kernelu


> Oracle podrzava sysv semafore.
>

Kaj imas source code :) ?


Pozdrav,
--
^TM

Drazen Kacar

unread,
Nov 26, 2009, 10:17:21 AM11/26/09
to
Mladen Gogala wrote:

> Ovisi o tome sto ti treba. Oracle podrzava sysv semafore.

Ajme meni. Oracle ne podr�ava, Oracle koristi SysV semafore. Vjerojatno
zato �to kernel mo�e naraviti cleanup ako proces ugine. A i u doba kad su
Oraklo pisali POSIX semafori nisu postojali.

--
.-. .-. Yes, I am an agent of Satan, but my duties are largely
(_ \ / _) ceremonial.
|
| da...@fly.srk.fer.hr

Mladen Gogala

unread,
Nov 26, 2009, 4:46:30 PM11/26/09
to
On Thu, 26 Nov 2009 15:18:16 +0100, Mladen Turk wrote:


>
>> Oracle podrzava sysv semafore.
>>
>>
> Kaj imas source code ?

Ne, nego dokumentaciju i Metalink. Metalink dokument 226209.1 ti
objasnjava kako postaviti semafore, u terminima SYSV parametara.

--
http://mgogala.freehostia.com

Mladen Gogala

unread,
Nov 26, 2009, 4:47:26 PM11/26/09
to
On Thu, 26 Nov 2009 15:17:21 +0000, Drazen Kacar wrote:

>> Ovisi o tome sto ti treba. Oracle podrzava sysv semafore.
>

> Ajme meni. Oracle ne podržava, Oracle koristi SysV semafore.

Nije sija nego vrat.

> Vjerojatno
> zato što kernel može naraviti cleanup ako proces ugine. A i u doba kad


> su Oraklo pisali POSIX semafori nisu postojali.

Slazem se u potpunosti.


--
http://mgogala.freehostia.com

Drazen Kacar

unread,
Nov 26, 2009, 5:42:20 PM11/26/09
to
Mladen Gogala wrote:
> On Thu, 26 Nov 2009 15:17:21 +0000, Drazen Kacar wrote:
>
> >> Ovisi o tome sto ti treba. Oracle podrzava sysv semafore.
> >
> > Ajme meni. Oracle ne podr�ava, Oracle koristi SysV semafore.
>
> Nije sija nego vrat.

Ide mi na �ivce da se Oraklo tretira kao all-encompasing platform. OS
podr�ava SysV semafore, a Oraklo je samo jedna od aplikacija koja ih
koristi. :-P

Mladen Gogala

unread,
Nov 26, 2009, 8:52:14 PM11/26/09
to
On Thu, 26 Nov 2009 22:42:20 +0000, Drazen Kacar wrote:


> Ide mi na živce da se Oraklo tretira kao all-encompasing platform. OS
> podržava SysV semafore, a Oraklo je samo jedna od aplikacija koja ih
> koristi. :-P


All hail the mighty Oracle! U principu se slazem s tobom, Oracle je samo
jedna od baza podataka no daleko je najbolja. Evo ti, samo za tebe, jedan
mali select iz cuvene tabele SCOTT.EMP

mgogala@nyclapwxp2622:~$ psql -U scott -h localhost
Password for user scott:
Welcome to psql 8.3.8, the PostgreSQL interactive terminal.

Type: \copyright for distribution terms
\h for help with SQL commands
\? for help with psql commands
\g or terminate with semicolon to execute query
\q to quit

SSL connection (cipher: DHE-RSA-AES256-SHA, bits: 256)

scott=> select * from emp;
empno | ename | job | mgr | hiredate | sal | comm |
deptno
-------+--------+-----------+------+---------------------+------+------
+--------
7369 | SMITH | CLERK | 7902 | 1980-12-17 00:00:00 | 800 |
| 20
7499 | ALLEN | SALESMAN | 7698 | 1981-02-20 00:00:00 | 1600 | 300
| 30
7521 | WARD | SALESMAN | 7698 | 1981-02-22 00:00:00 | 1250 | 500
| 30
7566 | JONES | MANAGER | 7839 | 1981-04-02 00:00:00 | 2975 |
| 20
7654 | MARTIN | SALESMAN | 7698 | 1981-09-28 00:00:00 | 1250 | 1400
| 30
7698 | BLAKE | MANAGER | 7839 | 1981-05-01 00:00:00 | 2850 |
| 30
7782 | CLARK | MANAGER | 7839 | 1981-06-09 00:00:00 | 2450 |
| 10
7788 | SCOTT | ANALYST | 7566 | 1987-04-19 00:00:00 | 3000 |
| 20
7839 | KING | PRESIDENT | | 1981-11-17 00:00:00 | 5000 |
| 10
7844 | TURNER | SALESMAN | 7698 | 1981-09-08 00:00:00 | 1500 | 0
| 30
7876 | ADAMS | CLERK | 7788 | 1987-05-23 00:00:00 | 1100 |
| 20
7900 | JAMES | CLERK | 7698 | 1981-12-03 00:00:00 | 950 |
| 30
7902 | FORD | ANALYST | 7566 | 1981-12-03 00:00:00 | 3000 |
| 20
7934 | MILLER | CLERK | 7782 | 1982-01-23 00:00:00 | 1300 |
| 10
(14 rows)

scott=> select * from dept;
deptno | dname | loc
--------+------------+----------
10 | ACCOUNTING | NEW YORK
20 | RESEARCH | DALLAS
30 | SALES | CHICAGO
40 | OPERATIONS | BOSTON
(4 rows)

scott=> \q

--
http://mgogala.byethost5.com

Zeljko Vrba

unread,
Nov 27, 2009, 9:25:38 AM11/27/09
to
On 2009-11-26, choose one of <""> wrote:
>
> Medjutim, posix semafori nemaju API za mijenjanje ownera
> (e.g. semctl)
> Ako ostavimo na stranu "bolji API" (diskutabilno sto je bolje)
> jel netko zna koji API je preferiran i koja te tehnicka podloga
> zasto je jedan preferiran u odnosu na drugi.
>
Ja bih ti preporucio SysV jer:
- stariji API, pa je podrzan na vise OS-a
- funkcionalnost je strogi nadskup funkcionalnosti POSIX semafora

Jedina prednost POSIX semafora je sto koristi path za ime semafora umjesto
key_t koji se koristi u semget() pozivu. Osim toga, SysV semafore mozes
pogledati sa ipcs, ubiti sa ipcrm ak svi programi koji koriste semafor
krknu itd... za POSIX semafore ne postoje ekvivalentni alati, kolko je meni
poznato.

0 new messages