<?xml version="1.0" encoding="UTF-8"?>
<!-- name="generator" content="pyblosxom/1.4.1 7/27/2007" -->
<!DOCTYPE rss PUBLIC "-//Netscape Communications//DTD RSS 0.91//EN" "http://my.netscape.com/publish/formats/rss-0.91.dtd">

<rss version="0.91">
<channel>
<title>Блогчетање   </title>
<link>http://danilo.segan.org/blog</link>
<description>Данилово блогче</description>
<language>en</language>
<item>
  <title>RMS in Belgrade</title>
  <link>http://danilo.segan.org/blog/os/stallman-in-belgrade</link>
  <description><![CDATA[
<p>Richard Stallman had two talks in Belgrade these days: one
yesterday on free software in general, and another today concerning 
copyright versus community.</p>

<center style="font-size: 80%;"><img src="http://danilo.segan.org/slike/fsn-jelic.jpg"><br />
<em>This is the guy that made it happen, 
<a href="http://fsn.org.yu/">Ivan Jelić (FSN)</a>, while taking a
picture of RMS :)</em> 
</center>

<p>The first talk was too crowded, but it was quite good and to the
point.  However, RMS destroyed it a bit with his attitute toward
people when answering questions (screaming "I can't hear you" or "I
can't understand you" at them, while they were struggling with their
English). He's definitely not The Man for the public relations.</p> 

<p>However, my "trick" question of when is next Emacs coming out still
ended up unresponded, even if he said "we are close".  Not that it is
stopping me from continuing to use Emacs from CVS with Gtk+
integration. :)</p>


<center style="font-size: 80%;"><img src="http://danilo.segan.org/slike/fsn-rms.jpg"><br />
<em>This is the guy that that everyone was there to hear (pardon the image
quality, you are welcome to buy me a DSLR ;).</em>
</center>

<p>The second session was not as crowded and not as fun, but it still
made a lot of sense, and I hope at least some people learned something
from it. The funniest thing was the question from someone in the
audience: "why do you think community is more important?"  The first
thing that crossed my mind was: "hey you, go back and sit in your own
corner, all by yourself".</p>

<p>For me, it was a great opportunity to see many people I know
from the free software community in Serbia, but I am still sad that I
missed some others.</p>

<p>Now, I couldn't help it but think that someone a bit friendlier,
like our own <a href="http://gnome.org/~jdub/">Jeff "jdub" Waugh</a>
would have sent out an even better image of what we are
doing!</p> 

]]></description>
</item>

<item>
  <title>Архитектура меморијског подсистема на x86 процесорима</title>
  <link>http://danilo.segan.org/blog/os/arhitektura-memorijskog-podsistema-na-x86-procesorima</link>
  <description><![CDATA[
<p>Хм, разгледајући веб и тражећи понешто о страничењу, Гугл ме посла и на <a href="http://www.elitesecurity.org">Елитсекјурити</a> форуме. Тамо се расправља о разликама између <a href="http://www.elitesecurity.org/tema/38600">сегментирања и страничења</a>, или о <a href="http://www.elitesecurity.org/tema/39355">врстама језгара оперативних система</a>.</p><p>
Оно што је мени занимљиво сада је да напоменем које су то разлике између сегментирања и страничења, бар на Интеловим процесорима, пошто о њима једино понешто и знам.</p><p>
На првом месту, сегментирање је <strong>обавезно</strong> на Интеловим процесорима — оно се не може искључити, већ се једино може привидно заобићи тако што се направе сегменти за код, податке, стек исте величине, и са истим положајем.</p><p>
Страничење, са друге стране, обезбеђује <em>виртуелни адресни простор</em>, и то је основни разлог зашто се оно чешће користи од сегментирања. Па, можда вас занима чему служи виртуелни адресни простор?</p><p>
Виртуелни адресни простор своју примену најчешће има у обезбеђивању „размене/замене за меморију“ (на енглеском „swap“, што говори о техничком начину изведбе овога: страница у меморији се размењује са страницом уписаном на диску) помоћу неког јефтинијег уређаја, као што је диск. На неким системима ово зову и „виртуелна меморија“, али то се не слаже са општеприхваћеном употребом.</p><p>
Ваља поменути и да странице на Интел процесорима новијим од Пентијума могу бити и 4МБ, чиме се обезбеђује знатно већи адресни простор, а у ограниченом пољу примена и већа брзина.</p><p>
Сегментирање, са друге стране, је одличан механизам у који је уложено много више труда и напора при стварању Интел процесора. Једина, условно речено, „мана“ у односу на страничење је што не користи блокове утврђене величине, и самим тим је проналажење одговарајућег сегмента операција која се обавља у два корака (1. погледај где се налази тражени сегмент; 2. припреми тај сегмент за употребу — код страничења се положај странице имплицира њеном адресом [мада у пракси, и то захтева једно гледање у табелу], и она се може одмах „довући“).</p><p>
Као и странице, и сегменти се могу користити за обезбеђивање „размене за меморију“, и то са много бољим учинком, зато што је један сегмент углавном посвећен једном процесу, и много је већа вероватноћа да ће баш подаци из њега требати ускоро (наравно, ово значи да је потребно уложити и много више труда у развој распоређивача процеса на вишепрограмским системима, и одредити оптималну политику избора сегмената за довлачење, њихов редослед, итд. пошто је једна грешка много скупља од погрешно довучене странице).</p><p>
Оно што говори о супериорности сегмената у односу на странице је то што је могуће сегменте додељивати на произвољан начин, и то било као „глобалне“ (уписане у глобалну табелу описника, тј. GDT) или „локалне“ (за појединачни процес, дефинисан помоћу TSS-а, а ово се уписује у засебну табелу за сваки од таквих процеса: LDT).</p><p>
И где је овде предност сегмената у односу на странице? Као прво, раздвајањем сваког дела оперативног система, корисничке спреге, и корисничких програма у засебне сегменте аутоматски повећава безбедност — нпр. драјвер (гонич :) не може да приступи осталим услугама језгра, или меморији других драјвера и програма (иначе, садашњи оперативни системи то решавају тако што користе друге могућности Интел процесора за заштиту, као што је „ниво рада“, где се нулти ниво резервише за језгро; ово, наравно, не чува друге програме до самог језгра). Ово је хардверски безуслован начин да се обезбеди заштита меморије.</p><p>
А одговор на питање зашто се страничење ипак много више користи од сегментирања је веома једноставан и сигурно се може назрети и изнад: пристојну политику додељивања страница је много лакше направити од политике сегментирања која би донела значајна побољшања. А уз то, што се тиче безбедности, још увек преовладавају условни (а не безусловни) механизми забране приступа, и иако се са њима иде све даље — они су кривци за већину модерних проблема са програмима.</p><p>
Са практичне стране, сегментирањем се може постићи исто што и страничењем, док обрнуто није случај. Када се користе заједно, може се рећи да је страничење „испод“ сегментирања, тј. сегменти су одређени у односу на виртуелни адресни простор постављен страничењем.</p><p>
На несрећу, већина језгара је одлучила да поједностави што је више могуће основну спрегу са процесором, па тако имамо случај где нпр. у Линукс језгру није могуће омогућити процесу директан приступ У/И портовима већим од одређеног броја, зато што њихова битмапа није стала у једну меморијску страницу (тј. 4КБ, односно У/И портови преко 0x8000) заједно са TSS-ом (ово је било тачно бар до 2.2 серије, али сумњам да је ишта измењено од тада). На тај начин, софтвер намеће ограничења ради једноставности израде, иако хардвер нуди много више.</p><p>
Жеља ми је да једног дана нађем више времена да о овоме размислим, и покушам можда да направим и прототип језгра које ће увелико користити сегментирање. Е па, зато и сва ова писанија — не желим да заборавим на све ово у потпуности :)</p>
]]></description>
</item>

<item>
  <title>GNU/KFreeBSD</title>
  <link>http://danilo.segan.org/blog/os/gnu-kfreebsd</link>
  <description><![CDATA[
<p>I've just mentioned GNU/KFreeBSD to a <a href="http://geekchix.org">friend</a>, and while searching for something entirely different, I came across fresh guide for <a href="http://jrac.host.sk/?page=gnukfreebsd">installation</a>.</p><p>
And this has apparently been released only a couple of hours back, which means that there's no way Google could have indexed it :)</p><p>
For those who have missed most of it, the first <a href="http://sources.redhat.com/ml/libc-alpha/2003-06/msg00053.html">announcement</a> (I know of) is on <a href="http://sources.redhat.com/ml/libc-alpha/">libc-alpha</a> mailing list. If you want to track development, visit <a href="http://savannah.nongnu.org/projects/glibc-bsd/">glibc-bsd</a> project page at Savannah.</p>
]]></description>
</item>

</channel>
</rss>
