BugTraq.Ru: �������� SCO: �������� ��������� ������� (original) (raw)
![]() |
![]() |
![]() |
|---|---|---|
| ����� | ![]() |
|
![]() |
||
![]() |
||
![]() |
������� | ![]() |
![]() |
��������� | ![]() |
![]() |
������ | ![]() |
| ����� | ![]() |
|
| �������� | ![]() |
|
| free soft | ![]() |
|
![]() |
![]() |
�������� SCO: �������� ��������� �������
© �������: ����� ��������, 2003 �.
�� �����������: �������� ������� ������ ��������� �����: http://www.catb.org/~esr/writings/smoking-fizzle.html. ������ ������� �� ������ �������� ���������� � ��������������, �� ��������� �� ���� �� ����, �� ������ ��������� ������, � �� ��������� ����������. ������� html-������������ ��� ���������� �� ������ ����� �����.
������ 1.0 – ������� ������������ 20 ������� 2003 �.
������ 1.1 – �������� �������� ���������� �������� �� �������� 32V.
������ 1.2 – ������������ �������� ���������� �������, ������� ���������� � SIII.
������� ����������: ���� ��� ������� ��� SCO ������� ������������ ��� �������������, ������� ��� ������������ 18 ������� 2003 ����. ������ – ��� ��, ��� ��� ������������� ������������ ���� ����������� ����; ������ – ��, ��� GPL � ������ ������ ���������� ��� ������������� � �������� ������; � ������ – ��, ��� �������� BSD, ��������, ���� ��� �� �������. �� ��������� ������� ��� SCO – ������: ����������� �������� ���� ���� �������� (a) ��� "�������� ���������" ����� SCO/Caldera � 2002 ����, (b) �� ���� ������������� IBM ��� Sequent, (c) ����������� � 90 % ���� �������������� ������������� Linux, � (d) ���� ������� �� Linux 2.5 � ���� 2003 ����, ��������� ��������� ������� ���������, ����� ����. ���� ��� �� ���������� ��� �������� ���� �������������, �������� ����������� SCO, �� ���� – ���������������.
��������
� SCOforum 18 ������� 2003 ���� SCO ������������ ����� ����, ��� ���� ������� ��������������� �� ������������� �� �������� ����� �������� ������� Linux. ��� – ���� �� ����������� ����������� � �� �������� �������� ���� ������ IBM. "���������������" ���� ��� ��������� �����������, ������������ ����� ������, ������������� SCO "System V" � "Linux". ������ ����������� ������ ��������: "����������� ������ �� ������� – ���� ������ �� ������".
������ ������ ������ 24 ���� � ��� ��� ��� ����������� ����� ����������������. ���� ��������� ��������� ������������, ��� �������������� �� Slashdot � Linux Weekly News. ���� ����� � ������� ������, ��� (a): �� ���� �� ��� �� ���� ���������� �� ������� ��� ������������� ���������, � (b): ��� ���������� ��� �� ��������� �������� �� ��������� ���������� ������������, �� ������� ��������� ���� SCO ������ IBM � ���������� �� �������� ��������������. ����� � ����� ��, �� ��� ������ �� ����������: � ��������, ������ � �������������� �����������, � ��� System V.
��������������
������� ������ � ����, ��� ���������� �������� ���������������. �������������� ������ – ����� � �����. �������, ���������� SCO, ��� �������, � ����� ����������� ������ "System V" ���� ���������� ���������, ��������� �� ��� ���������������� � ��������� �������. ����� ���������� ��������, �� �������� ��������� ����������� � ��������� ��������� ������, �������������� SCO "System V":
����� 1, ����� ������� (����� "System V"):
/*
- Allocate 'size' units from the given map.
- Return the base of the allocated space.
- In a map, the addresses are increasing and the
- list is terminated by a 0 size.
- The swap map unit is 512 bytes
- Algorithm is first-fit.
- As part of the kernel evolution toward modular naming, the functions
- malloc, and mfree are being renamed to rmalloc and rmfree.
- Compatibility will be maintained by the following assembly code:
- (also see mfree/rmfree below)
- /
����� 1, ������ ������� ("����� ���� Linux"):
/*
- Allocate 'size' units from the given map.
- Return the base of the allocated space.
- In a map, the addresses are increasing and the
- list is terminated by a 0 size.
- Algorithm is first-fit. */
ulong_t atealloc( struct map *mp, size_t size) { register unsigned int a; register struct map *bp; register unsigned long s;
����� 2 ������ ���������� ����� ������ ���� Linux:
if (size == 0)
return((ulong_t) NULL);
s = mutex_spinlock(maplock(mp));
for (bp = mapstart(mp); bp-m_size; bp++) {
if (bp-m_size = size) {
a = bp-m_addr;
bp-m_addr += size;
if ((bp-m_size -= size) == 0) {
do {
bp++;
(bp-1)-m_addr = bp-m_addr;
} while ((((bp-1)-m_size) = (bp-m_size)));
mapsize(mp)++;
}
ASSERT(bp-m_size < 0x80000000);
mutex_spinunlock(maplock(mp), s);��������, ��� SCO ���������� �� ���������� ����� System V, ������������� ������������.
�����, ���������� �� ������� Linux, ��������� � ����� 2.4 arch/ia64/sn/io/ate_utils.c. ��� – ������ ����� ��������������� �������:
/*
- Allocate 'size' units from the given map.
- Return the base of the allocated space.
- In a map, the addresses are increasing and the
- list is terminated by a 0 size.
- Algorithm is first-fit. */
ulong_t atealloc( struct map *mp, size_t size) { register unsigned int a; register struct map *bp; register unsigned long s;
ASSERT(size = 0);
if (size == 0)
return((ulong_t) NULL);
s = mutex_spinlock(maplock(mp));
for (bp = mapstart(mp); bp-m_size; bp++) {
if (bp-m_size = size) {
a = bp-m_addr;
bp-m_addr += size;
if ((bp-m_size -= size) == 0) {
do {
bp++;
(bp-1)-m_addr = bp-m_addr;
} while ((((bp-1)-m_size) = (bp-m_size)));
mapsize(mp)++;
}
ASSERT(bp-m_size < 0x80000000);
mutex_spinunlock(maplock(mp), s);
return(a);
}
}
/*
* We did not get what we need .. we cannot sleep ..
*/
mutex_spinunlock(maplock(mp), s);
return(0);}
��������������� ��� – ������������ ���������� �������������� ������, ������� ���������� �� ������������� ������ ����� ����. �� �� ����� ������ �����, �� ����� ��� � ����� ������������������ �������� Unixware ��������� SCO, ��, �������������, � ���������� Unix'�� ���� ����� ������� ����������.
����� ����� ������ ������ Unix, ��� ������� ��������� ��� ��� ���������� � ��������� ����� – Fifth Edition (��� �� Version 5 ��� V5), ��������� 1974 ����. ��� – ������ ���������������� ���� �� Fifth Edition, � ����� ������� "1973".
malloc(mp, size) struct map *mp; { register int a; register struct map *bp;
for (bp = mp; bp-m_size; bp++) {
if (bp-m_size = size) {
a = bp-m_addr;
bp-m_addr =+ size;
if ((bp-m_size =- size) == 0)
do {
bp++;
(bp-1)-m_addr = bp-m_addr;
} while ((bp-1)-m_size = bp-m_size);
return(a);
}
}
return(0);}
��� ������ �� Sixth Edition, (��� V6), �� 1976 ����. ����������� ����������� ������� �������; � ��������� ����� ��������� ������ �� V5.
/*
Allocate 'size' units from the given
map. Return the base of the allocated
space.
Algorithm is first-fit. */ malloc(mp, size) struct map *mp; { register int a; register struct map *bp;
for (bp = mp; bp->m_size; bp++) { if (bp->m_size >= size) { a = bp->m_addr; bp->m_addr =+ size; if ((bp->m_size =- size) == 0) do { bp++; (bp-1)->m_addr = bp->m_addr; } while ((bp-1)->m_size = bp->m_size); return(a); } } return(0);
}
��� �� version 6 ���������� � Lions Commentary on Unix, ������������ � 1975-76 �����. ����� Lions (�� ���������� �������� �������) ���� ���������� � ������������� SCO � 1996 ����.
��� – ��� �� Version 7 �� 1979 ����. ������� �� ���������� ������ (V6) ����� �������� �������; ��� ���������� � �������� �������������� ��������� � ���������� � ��������� ���������� ����� C.
/*
/*
Allocate 'size' units from the given
map. Return the base of the allocated
space.
In a map, the addresses are increasing and the
list is terminated by a 0 size.
The core map unit is 64 bytes; the swap map unit
is 512 bytes.
Algorithm is first-fit. */ malloc(mp, size) struct map *mp; { register unsigned int a; register struct map *bp;
for (bp=mp; bp->m_size; bp++) { if (bp->m_size >= size) { a = bp->m_addr; bp->m_addr += size; if ((bp->m_size -= size) == 0) { do { bp++; (bp-1)->m_addr = bp->m_addr; } while ((bp-1)->m_size = bp->m_size); } return(a); } } return(0);
}
��� – ������ ������ �� 32V, ������������ ����� 1979 �����. ������� �� ���������� ������ (V7) �������� �������; ������������ �������������� �������� �������� ����������� � ������.
/*
Allocate 'size' units from the given
map. Return the base of the allocated
space.
In a map, the addresses are increasing and the
list is terminated by a 0 size.
The swap map unit is 512 bytes.
Algorithm is first-fit. */ malloc(mp, size) struct map *mp; { register unsigned int a; register struct map *bp;
for (bp=mp; bp->m_size; bp++) { if (bp->m_size >= size) { a = bp->m_addr; bp->m_addr += size; if ((bp->m_size -= size) == 0) { do { bp++; (bp-1)->m_addr = bp->m_addr; } while ((bp-1)->m_size = bp->m_size); } return(a); } } return(0);
}
������ �� System III �� 1981 ���� ��������� ������ �� 32V �� ����������� ����, ��� ���� �������������� ��������� � ������������ �������� � �����������.
� ��������� �� ������� � ����������� � �������������� ��������� �����, ������ ���� �� V5/V6/V7/32V/SIII ���������. ��� – ����� ���������� ������� ������, � ������� ���������� ������� ��������. �� ������� ��� "������" ������� � ������� ������� ������ �� 32V/SIII ��� �������� ��� ���.
������ – ����� ������� �� Linux. �� ��� ��� ������� �������� ������� �� "������ ������". �������������� �������� � ������������� �������� ������������.
/*
- Allocate 'size' units from the given map.
- Return the base of the allocated space.
- In a map, the addresses are increasing and the
- list is terminated by a 0 size.
- Algorithm is first-fit. */
ulong_t atealloc( struct map *mp, size_t size) { register unsigned int a; register struct map *bp; register unsigned long s;
ASSERT(size >= 0);
if (size == 0)
return((ulong_t) NULL);
s = mutex_spinlock(maplock(mp));
for (bp = mapstart(mp); bp->m_size; bp++) {
if (bp->m_size >= size) {
a = bp->m_addr;
bp->m_addr += size;
if ((bp->m_size -= size) == 0) {
do {
bp++;
(bp-1)->m_addr = bp->m_addr;
} while ((((bp-1)->m_size) =
(bp->m_size)));
mapsize(mp)++;
}
ASSERT(bp->m_size < 0x80000000);
mutex_spinunlock(maplock(mp), s);
return(a);
}
}
/*
* We did not get what we need .. we cannot sleep ..
*/
mutex_spinunlock(maplock(mp), s);
return(0);}
�������� �������������. ���� ����� – ����������. ��������� � ����� � �������� ���������� ������ �������� ���� �������������� ������� ������� ������. �������� "size_t" �������� ������ ����, ����� ���� �� ��������� ����������� � ���� "int". "mapstart" � "mapsize" – ����������� ������������. ������������ ������������ ��������� – ���������� �������� ����� � ��������� ����� ���������� ���������.
������ ������ ���� �� ������ ���� ����������� � ������� 2.11 BSD Unix, �������� �������� ��������������� ��������. ������ 2.11 ������� ����� ������������ ����������������� � � ��� ��������� ���������� ������ �� 32V; ��� ���������� ��������. ��� ���:
/*
Allocate 'size' units from the given map. Return the base of the
allocated space. In a map, the addresses are increasing and the
list is terminated by a 0 size.
Algorithm is first-fit. */ memaddr malloc(mp, size) struct map *mp; register size_t size; { register struct mapent *bp, *ep; memaddr addr; int retry;
if (!size) panic("malloc: size = 0"); /*
- Search for a piece of the resource map which has enough
- free space to accomodate the request. */ retry = 0;
again: for (bp = mp-m_map; bp-m_size; ++bp) if (bp-m_size = size) { /* * Allocate from the map. If we allocated the * entire * piece, move the rest of the map to the left. */ addr = bp-m_addr; bp-m_size -= size; if (bp-m_size) bp-m_addr += size; else for (ep = bp;; ++ep) { *ep = ++bp; if (!bp-m_size) break; } #ifdef UCB_METER if (mp == coremap) freemem -= size; #endif return(addr); } / no entries big enough */ if (!retry++) { if (mp == swapmap) { printf("short of swap\n"); xumount(NODEV); goto again; } else if (mp == coremap) { xuncore(size); goto again; } } return((memaddr)NULL); }
� ������ ... �����! ... ������ �� System V Release 4, � uts/i386/os/malloc.c. ����� �� ������������ �����, ��������� ���������� ��������� ������, � �� ��������� ��������� ��������������� �������� SVr4. ������ ����� � ��������� �������� ��� ���-���, ���������� ����� �������������: ������� ����� �������� �� SVr4 � Linux.
����� ����� SCO, ������� � ������� ������� ��� ������ ���������� ���� �������� ��� ����� ������� � ������� SVr4, ������ ������ ������ �������� � ���, ��� ����� ��������� � ������������, ��� �������� ������ ���������, � ������������� �����������, �������� ����� ����� ������������� ����������, ���������� �����, ������� ����������� ������������ ��������.
����������, ����� ���� �� ��������, ��� ���� ���������� ���� �������. � ����� ������� �� ������ � ����, ���������� � 1993 ����, ������� ����� �����������, ����� ������� �������� � ���, ��� AT&T �������� ���������� ��������� ���� �� ��� Unix � ����� (��. ��� �������� "������� ����" ��� ������������ ����� ����������). ���� �� � ��� ��������� SCO, �� ���������, ���� � ����� �� – �������� ������� ��� ����� � �������. ��������� ���� �� ���� ������������ �������������, � ��������� ��������: � ������ ����� ���������������� ������������� � �� ���� �������� ����� SCO, ���� ��������, ���� ����� ������ ������������� ����� ���� ���� ��� ������������, ������������ ��� �� �������� GPL.
�������� ����. ������ "<" � ������ �������� ������, ��������� � ������ �� Linux; ������ ������������ � ����� ">", ���������. ����� ������ ��� ������, ����� �������������� ��� ����, ��� �������� ����� �������� SVr4 � Linux ���������� � ����������� ������� ������� �����������. �� ��� ��������� ��������: ��� ����, ��� ������� �� SystemV ������� �� ��� ("rmalloc" � ��������� ��� "malloc"), � ����� ������� � �������� ������������/�������������.
6d5 < * The swap map unit is 512 bytes. 8,12d6 < * < * As part of the kernel evolution toward modular naming, the < * functions malloc and mfree are being renamed to rmalloc and rmfree. < * Compatibility will be maintained by the following assembler code: < * (also see mfree/rmfree below) 15,26c9,12 < unsigned long < malloc(mp, size) < register struct map *mp; < register size_t size; < { < return(rmalloc(mp, size)); < } < < unsigned long < rmalloc(mp, size) < register struct map *mp; < register size_t size;
ulong_t atealloc( struct map *mp, size_t size) 30c16,18 < register int s;
register unsigned long s; ASSERT(size >= 0);33,35c21,24 < return(NULL); < ASSERT(size > 0); < s = splhi();
return((ulong_t) NULL); s = mutex_spinlock(maplock(mp));
44c33 < } while ((bp-1)->m_size = bp->m_size);
} while ((((bp-1)->m_size) = (bp->m_size)));47,48c36,38 < ASSERT(bp->m_size < (unsigned)0x80000000); < splx(s);
ASSERT(bp->m_size < 0x80000000); mutex_spinunlock(maplock(mp), s);52c42,46 < splx(s);
/* * We did not get what we need .. we cannot sleep .. */ mutex_spinunlock(maplock(mp), s);
���� � �������������� ���������� � UnixWare �� ������ SVr4, � ����� ������� ���� �� ������� ���� � ����������, ��� ������ ����� ���� �� UnixWare �� �������� ��������� ������ �� SVr4.
�������
��� ��� ����� ���� ���������� ������� ���� ����� ��� ����, ����� ������� ���� (��� ������ ������� ������������� ������������ �� C), ��� ������ �� Linux, 2.11BSD � System V Release 4, ���������� �� �����, ����� ������, ������. ������ �� System V � Linux ������������� ���������� �� ������ ������ ������ � ���, ��� ��� �������� �����, ������������ ���������� �� �������� �����������.
����������, ������ SVr4 �� ��������� �������, � ������ ��������� ����������� �������; �������� – � ��� �����, ��� SVr4 �� ������������ �������������������. ������� ������� � SVr4 ������� � ���, ����� ����������� ���������� (������ �������������, ��� ���������� ������� �� ����� �������� ��������� ��������� ��� ���������� �������), � ������ � Linux ������ ���������� ������������ �������������������� ��� ���������� ���������� ������. �������� �����������.
"������", "System V" � Linux-������ ����� ������� ���� �����, ������ ����� �� ��� ���������� ��� BSD. �������� ����� ��� – ����� �����, ������� ���� ������� �������� ��������, �� ���� ����, ��� ������������� ��� ���������������� ����� �����-�� �����.
����������� �����, ����� �������, ��� � ���� �� Linux ���� �������� ����, ��� �� ��� ���������� �� �������� ������ ����������, � �� ������� ������: ���������� "register". ��� ������ ������� �����������, ������� ����������� C ����������� ������ �������������, � ����������� ������������� �������� �������� � ������� �� � ����� ���� ������ ������ ��� �����. ��� ��� ������� ������: � ���� ��� ���������� "atemalloc" Linux'a?
����� ���������� �������� �������: ��� – ��������� ��������������� ������ ������ ����� ������� ����. ������ ������� – ��������� ���������� �������������. ������������� ���������� ��������� ������� ����; �������� ����������� – ��, ��� ��� SVr4 � ��� Linux �������� ������������ �������� ���� � �����, ��������� ���������� � 32V, � ����� ��������� �� 2.11BSD.
+------> SVr4
|
������ Unix ----+-|
| |
| +------> Linux
|
|
+------> 2.11BSD(�������� �� �������������, � �����, ����� ���� �������� ��� ����� HTML-������.)
����, ������� ��������� � ��������� ���� ������������� ������������� ������ – ��, ��� ��� ������������� ���������� ��������, ��� ��� �������, �������� � Eric Levenez's history chart
��� ��� ����������� � ����������� �� ������� ���� Unix, ��������� SCO, ���������� ����� ��� ����� ������� ������. ��� �� ����� ������� � ������ �� ��� �� ���������� � ������ ��������? ��� ������� �� ����, �� ����� ������ ������� ��� ���������� ���.
��� � ���� ����������?
������ �� ���������������� ������, ����� �������, ��� ����������, � �������� ��� ���������� ��� Linux, �������� �������� ���� BSD.
� 1993 ����������� Unix (Unix Systems Labs, USL) �������� AT&T ���������� ��� � BSDI, ��������, ��������� ������������ ������� BSD, � ��������������� ������������, ���������, ��� � BSD ���������� ��������� ����������� ���. �� ������ ���� ������ ������ �� ��, ��� �������� SCO. ���� ��� ������ ����� ���� ��� ����� ���������, ��� AT&T ���� ��������� �������� ��� �� BSD � ���� ����. �� �������� ���������� ����������� ���������� �������� ����������� �� ��������� ����� AT&T � ��������� �����, �� ������� ����� ���������� �������������� ������������ ������� �� �������� �������� BSD. AT&T ����������� ��������� �������� �������� ������������. ��������� ����������� ��������� �������� – �����.
��������� �������� ��������, ��� ������������� ������ ���� � "��������" BSD – ����������� ������ ������ ��������� � ���, ��� ������, ������������ � Linux ���� �������� �� SCO. � �� �� ����� � ������, ��� ��� ����� ��������� ����������� ��� ������ ������ ���������������� ������������ ����������� �������� ���� (� ���������������� � ��� ������, ��� ����������� ����������� ����� � ����� 2003 ����), ��, ������ ������, � �� ���� �������, ��� �����, ����� ��� – ����������� ������ ��� ������ ������. �� ����� ���� ������ ������� � ���, ��� �� ������� �� Linux ������������� ���������� �� "�������" Unix ���� System V ������, ��� ��� ������� ��� ������������ ��������� Linux.
����� �������� ���������� ���, �� ������ ����������� �������� ����� ��������� � ������������� ������������. ��������� ����������� � ������� ����� ����� �����, ����� �� �������, ��� ������ ���������� �������� ������������ ���, ��� �� ������� �� ����. �������������� ����������� – ����� �� ������, ��� �� ������ ����� ������. ����, ��������� ���������� ���, ������ �����, ����� �������� ������ ���� ��������. ����� ������� ������ ������� ��� – �������� ����� ����������, ������ ��� ����� ��������� ������ ������� ��� ����� ��������� ���.
�������, �� ������� �� ������ ������ ��� �������� – ��� ������ ���� ���������� ���� ����� ���������, ���, ���� �� ���, ��� ���������� ���, ���������� ������ ���, �� �� ����� �� ���������� �� �� ����� ��������� � ������ ������.
� �������, � ����� ������ �� ����� ��������� ����� ���� � ����������� ����������������� �����������. ��� ������ ���������� "bp" ��� �������� ��������� ����������. �� ���� �� ������� ����� �������� �� SVr4 � Linux, ���� "������" Unix � Linux, �� �������� ��� ��������� ��� ����, ����� ������ ���������. ��� ��� �� ����� ������������, ��� �� ����� ���� ����� �������� ���������� �� �������.
�������� ���, ���� ��������� �� ���� ������ ��������������, ������� ������� � ������ "�������" ����. ������ – ��, ��� ������� ������� �� ��� � SVr4, �� ���� � "������" Unix � Linux. ����� �������� ��������� – ��� ��� ������ ����� ����� SVr4 � Linux ���� �� ������� ���������� ���� (�� ������ ������ "ASSERT"). ������ ������������ ��, ��� �����������, �������� ���������� ���, ����� �� ������ �� �������� ����� ����������; ������������� ���������� �� ����� ������ �����, ����� ���� ������� ������ ��������, ������� ����� � ����� �������� ������� ������� ������. ��� ������� ������� �� ������ ��� ��� ����� ����������� ����� ���������� ������� �� � ���, ����� ������� ������ "ASSERT" ���������: ��� ������������ ��� �������, � �� ����� ��� ������, ��� ��� ����� � ��������� �������� ��� ���.
� ������ �������, �������� ��� ����, ��� ������ � �� SVr4 � �� Linux ��������, ���������������� "ASSERT" � ���, ������� ���������� ����������� � ������������� ��������, � �� ����� ��� ������� Unix ����� �� ������, ����� ���������� ��� ��� �������� ����� �������������� ����, ����� ��� � Linux ��� ���������� � SVr4. �� ����� ���� �����, ��� ����� �����������. ������ ����� "ASSERT" ���������� ����������, ��� ��� �� �� �������� (������ �� Linux ��������� ���������, ������ ����). � �� ��� ������, ��� ���������� ������� ���������� �������.
� �������������� ������ Caldera ����������, ��� ������������ ������������������ ��������� (SMP) � Linux ���� ����������� �� SVr4, �� � �� �������������� ������ �� ����� ���������� ��� ����������. ������ ����������������� ��, ��� ������������������ ��������� � Linux ���� � ���� �������� ������ ������ � 1996 ���� � �������������� ������������, ���������������� Caldera. � ����������������, ���������� �������� ����������� ��� ��������� ������� �� "��������" Unix; ��� – ������ ���������� �����������, ������ ��� ���� ����������� ����� ���������� �������� ����������, ������� �� ������������ � 32V.
����������, �������� ������������ ����������� ����, ��� ����� ��� � Linux ��� ���������� � SVr4, �������� ���������������� "mapstart" � "mapsize". ��� ������������ � ������� �� Linux � SVr4, �� ����������� � "������" ����. ��� �� ������� ������������ ��������� SMP.
���� � ��������� �������� ����� – � ��� �����, ��� �� ���������� � Linux � SVr4 �������� – ��� ������������ ����� ���������������� ��� ������� � ��������� ���������� ������. ���, �� ����� ���� ����������� � SVr4 � ��������, ������ ��� ������������ ��� ������ ���� �� �������; ������, ���-��, ���������� ��� �������������� Linux ��� ia64 � �������� ����� ���� ������ SVr4, �������� ������������� ������� ��� ����, ����� ����� �������� ������� ���������. ��� �� ����������� �� ���������.
� �����, �������, ������� �� �����, ������������, ��� ��� Linux ��� �������� ���������� �� "�������" Unix, � �� – ������������ � �� System V. ������ � ������������� �����������, �� ������� �������� ���������� SCO, �� ��������� � ������ ������ �� ������ ��-�� ��������-��������� �������� ���������� ������������ ��������, �� � ����������-����������� �������� ������������� �������������.
�������� ���� ���������������� �������������
� ��������� ��� SCO, ��������� ����, ��� "atemalloc" � Linux, ��������, ��� ���������� �� 32V, ��������� �� ������� �� ����. ��������� ��������������� ���� �� "�������" Unix ������ 32V, ������� �������� ��� ����������� �����.
������ ���� ��� ������� � ����? ������, ��� SCO/Caldera ��������� �������������� �������� ������ 5th Edition, 6th Edition, Version 7, 32V, � System III �� �������� ��������, ���������� �� �������� BSD, � ������ 2002 ����, ������� �� ����, ��� ���� 2.4.19 ���� ���� ��� � Linux.
��� – ����� ������, � ������� Caldera ���������� �������� � ������� ������ ���������� "������ Unix'��". ����� �������, ������� �������� ������, ������������ ��� "������������ ���������� � ���� �� ������ ����������� �������� ���������� � Caldera Intl". ������ �-�� �������� �������� ������ �� ���������� ������������ ����� ��������. � ������ �������� ���������� ���� ��������� � System III, �� ����� ��������, �� ������� SCO �������������� �� ������ � ������� "�������" �������� Unix, ��� ��� ���������� �� Wayback Machine.
������, ���� SCO, ��� �������, ��������� �������� ��� ����, ��� ��� ���� �� "���������" �������� ��������� ���� ��� ������������ �� �� ���������� Unix. �� ��������, ������������ � �������� �� "������" Unix'� (Ancient Unix license), ���������������� ��������������� SCO/Caldera, ������������ ���� Linux ����� ��������� ���������� ��������� ����� "������" Unix'�� � ����, � SCO/Caldera �� ����� ������� �������� ���������� �� ���������� �� ������ ������.
��� ����, ��� ����� ������� ��� ���������� � System V, ��������� �� ������� ��. ����� �������� ����, ��� ������ ����� ��������, ��� ������������ ������� ����, ������� �� �������������� �� � ����� "��������" ���� Unix, ���� ����������� � ���� Linux. ��� �����, ��� �������, ������.
������������� � ������ �����������
�� �� �� ���������. ����, ��� �������, ��� ��� ����� ���������� ����������� �� ���� ����. ��� ���:
1. ��� �� Linux ���������� �� ia64, � �� ��� i386, ��� � SVr4.
2. �� ������� �� SGI, � �� IBM ��� Sequent.
3. �� ��� ������� � ������ 2.4.19 � ������ � 2.5.
4. ������ 32V �� �������� ������� ��������� ������.
������ �� ��� ����� �������� ��� ���� SCO. ������ �������.
���� ��� ���������� ��� ia64 ��� ���������� Itanium, ��� ��� � �������� ������ ����������, ������������� ��� 32-��������� ����������� Intel. ��� ��������, ��� ����� 90% ���� ������������� Linux, ������� ������������� ������������� ������� SCO ������ ������ ������ �� ��������, ���������� �������� ����������� Linux, � ������� ���� ��� �� �������. ���������� �����, SCO �������� �� ��-�� ����, ������� �� �������������� � �� ����� �, ��������, �� ������������ � �������� ���� ����� �� �� ������� �������!
��������� ����� �� ����� Linux ����������� Silicon Graphics, Inc – �� ������� �� ����������� � ��� ��������� ������ � �����������. �� ������� ����� ���� NUMA (���������� ������� � ������������ ������, Non-Uniform Memory Access) SCO ������� ���� ����������, ����� ����� ���� ������� SGI. ������ �� ����� �� ������� ���� SCO � ��������� ���������, ������� �������� �� �����������, ��� ��� �� System V ��� ������������� ��������� �������� IBM � Sequent, ������� ����������� �������� ���������� ������ SCO, ��������� � Unix.
����� ������� �������� ���� � ��� �������� ����������� �� ���� ��������, ���� �� ������ "�����" � ���� "�������������". ������� "�����": ���� ��� "atemalloc" ��� ������ � ������ 2.4.19. ����� �������, GPL �� ���� �� ������� ������ ��������� SCO � ���� ������, ������ ��� ��������� ���� Linuz, ������� �������������� SCO, ���� 2.4.13.
������ �������: ��� ��� ������ �� ������ 2.5 � ���� 2003 ����, �� ��-�� ������� � ���������� �������, � ��-�� ����� �����������. ��� ��� � ������� ������ Linux, ���� ��� �� ������������ ���� � ������ ����������, ������������� ��� ia64!
��������� ����� ��������, ��������� � ���� ���������. � ��� ������ ��������, ������� ����� � ������ ��������, ����������� ����, �����:
P.S.: � ��������� �� ������� ������������ ��� ���������� ������������ � GPL ������� � ���, ��� ��������� ������ ���� �������� ������ ��������, ������� �������� (��� ���������) �����, – � "atealloc.c" �������� ������ "SGI", ��� ��� � �� ����, ���� ����������� �� ��, ��� �� ������� ���.
������ ���������� ��� – ������ ����� ������������� ��� �������� (IBM ��� ����-���� ���), ������������� �� ��, ����� ������ SCO �� ���������������� ������������� ��� ������ ����� ��������� � ����. ������ �����, ����� ���������� ����� ������, � ������������ � ������� ������������� ��������� � ������ ���� ������ ���� ���������� ����� �����, ���, ����� �� ������ ����� ���� ����������. � �� ������, �� ��� ������ ������, ��� ��� ���� �������������� ��� �������� ����������.
���������� ������ ���������� �������� �� ��������� �����
������ 32V, ���������� � 1979 ����, �� ����� �������� ������ �������� �� ���������� ���������� ����� �� ���. ��� ����� �������� ������ ���, �������� ������������� ���������������� �� ��������� �����, �������������� �� 1996 ����, AT&T ��������� ������� � �������� ���������� ���������� �� ��������� ���� �� ������������� ���������� ����� �� �������� ������. ��� – ������� ����, ��� ����� �� ���� "AT&T ������ BSD" ����� �������, ������� � ��� �������� ������������ ����, ��� AT&T ����� ����������� ���� ���������� �� ��������� �����, ���, � ���� ������� ������� ��������, �� ������� AT&T ����� �� ���������� �������� ����������. ����, ���, ���� �� ���� ����� �� ������� � ���� ����, ���, ��������, �������� �� ��� ����� �� ���.
����� ��� ������� � 1996 �������, ������� ������ ������ ���� �� ������������ ��������� ���� ������� ����� ����������� � �������. (���, ��� �� ���� �������� ��������� RIAA, ��� ������ ���� �������� ������������ ���������������� � ������������ � ������������� �������� ���������� �� ��������� �����.)
SCO, ��� ������������� AT&T, ����� �������, ������������ ��������� ��������. ���� ��� ����� ����� ���������� "������" Unix, ������������ ����������� ��� �����, ��� ������ ������, ����� �� ��� ��������� ����� �� ���. ��� �� ���, ���, ��� � �, ������� ����������� System V, ������� �� ��������� �� 1996 ����, ������ ������������ �� ���, ��� ��-�� ����������� �� 1996 ���� ������, ��� � ������, ��� ���������� ���������� ���� �������� �� �������� �������������, ��������� � ���������� �������, ������� �����. (�� ��� ��� ��� ����� ���� �� ����������� ��� �� �� �����������: ��� ���� �� ����� ����������.)
�, ����������, ������������� � ������ ����, ����������� �������� ���� ������� ����� ��� ��� ���� �����, SCO �� ����� ������� ����������� ���������� ������ �� ��������� ���������� ����� �� ����, ������������ �� ��������� �� ��� ����� 1996 ����.
����������
����� �������, � ���������� ������: SCO ����� � ���, ��� �� ����� �������� ��� ���� � ������� � ���, ��� �����. ��, ������������� �������, ��� � ������ ������ ��� ��� ���������� � Linux �� ������ ������ Unix. ��, ��������� ��������������� ���, ����������� �� �� ����������, ��� ������� ��� "�������� ���������", ����� SCO/Caldera ������, ��� ��� ������� � Linux, SCO/Caldera �� ����� � ������ ������ ������� ��������� ��� ����������� ����-���� � ���������������.
�� ������ ����� ��������� ������ ���� �������, ��������� ������ ���� (Greg Lehey). �� ���������� � ��������� ������, �� �������� � ��� �� ����� �������.
���������� ����� ������ ����� ������� (Bruce Perens), ������� �������� ������� ������ �������.







