{"id":1744,"date":"2012-02-26T22:00:56","date_gmt":"2012-02-26T21:00:56","guid":{"rendered":"http:\/\/www.blaess.fr\/christophe\/?p=1744"},"modified":"2012-02-26T22:00:56","modified_gmt":"2012-02-26T21:00:56","slug":"options-de-compilation-pour-linux-industriel-2","status":"publish","type":"post","link":"https:\/\/www.blaess.fr\/christophe\/2012\/02\/26\/options-de-compilation-pour-linux-industriel-2\/","title":{"rendered":"Options de compilation pour Linux industriel (2)"},"content":{"rendered":"<p style=\"text-align: justify;\">Dans le <a title=\"Options de compilation pour Linux industriel (1)\" href=\"http:\/\/www.blaess.fr\/christophe\/2012\/02\/19\/options-de-compilation-pour-linux-industriel\/\">pr\u00e9c\u00e9dent article<\/a>, nous avons examin\u00e9 les options du menu <em>General Setup<\/em> \u00e0 prendre particuli\u00e8rement en consid\u00e9ration lors de la pr\u00e9paration d&rsquo;un noyau Linux pour un syst\u00e8me embarqu\u00e9 ou temps-r\u00e9el.<\/p>\n<p style=\"text-align: justify;\">Examinons \u00e0 pr\u00e9sent d&rsquo;autres options propos\u00e9es dans un menu dont le nom varie l\u00e9g\u00e8rement suivant les architectures&nbsp;:<\/p>\n<p>\n<!--more-->\n<\/p>\n<table border=\"1\" cellspacing=\"2\" cellpadding=\"3\">\n<tbody>\n<tr align=\"center\">\n<td><strong>Architecture<\/strong><\/td>\n<td><strong>Menu<\/strong><\/td>\n<\/tr>\n<tr align=\"center\">\n<td>arm<\/td>\n<td>Kernel Features<\/td>\n<\/tr>\n<tr align=\"center\">\n<td>avr32<\/td>\n<td>System Type and Features<\/td>\n<\/tr>\n<tr align=\"center\">\n<td>ia64<\/td>\n<td>Processor Type and Features<\/td>\n<\/tr>\n<tr align=\"center\">\n<td>m32r<\/td>\n<td>Processor Type and Features<\/td>\n<\/tr>\n<tr align=\"center\">\n<td>m68kr<\/td>\n<td>Kernel Features<\/td>\n<\/tr>\n<tr align=\"center\">\n<td>mips<\/td>\n<td>Kernel Type<\/td>\n<\/tr>\n<tr align=\"center\">\n<td>openrisc<\/td>\n<td>Processor Type and Features<\/td>\n<\/tr>\n<tr align=\"center\">\n<td>parisc<\/td>\n<td>Processor Type and Features<\/td>\n<\/tr>\n<tr align=\"center\">\n<td>powerpc<\/td>\n<td>Kernel Options<\/td>\n<\/tr>\n<tr align=\"center\">\n<td>sh<\/td>\n<td>Kernel Features<\/td>\n<\/tr>\n<tr align=\"center\">\n<td>sparc<\/td>\n<td>Kernel Features<\/td>\n<\/tr>\n<tr align=\"center\">\n<td>tile<\/td>\n<td>Tilera-specific Configuration<\/td>\n<\/tr>\n<tr align=\"center\">\n<td>unicore32<\/td>\n<td>Kernel Features<\/td>\n<\/tr>\n<tr align=\"center\">\n<td>x86<\/td>\n<td>Processor Type and Features<\/td>\n<\/tr>\n<tr align=\"center\">\n<td>xtensa<\/td>\n<td>Processor Type and Features<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p>&nbsp;<\/p>\n<ul>\n<li style=\"text-align: justify;\"><strong><em>Tickless system<\/em> :<\/strong> pour les syst\u00e8mes embarqu\u00e9s sur batterie, on activera g\u00e9n\u00e9ralement cette option qui permet au processeur de s&rsquo;endormir \u00ab\u00a0profond\u00e9ment\u00a0\u00bb lorsqu&rsquo;il est inactif. Sur un syst\u00e8me temps-r\u00e9el, au contraire on la d\u00e9sactivera, car l&rsquo;endormissement du processeur rallonge le temps de r\u00e9action aux interruptions.<\/li>\n<li style=\"text-align: justify;\"><strong><em>Timer Frequency<\/em> :<\/strong> C&rsquo;est la fr\u00e9quence du <em>tick<\/em> syst\u00e8me qui influe sur la granularit\u00e9 des timers logiciels de basse fr\u00e9quence. Sur un syst\u00e8me embarqu\u00e9, on emploie g\u00e9n\u00e9ralement une fr\u00e9quence de 300 Hz. Si le syst\u00e8me est tickless, ce param\u00e8tre n&rsquo;a pas d&rsquo;autre influence que la granularit\u00e9 des <em>jiffies<\/em>.<\/li>\n<li style=\"text-align: justify;\"><strong><em>High Resolution Timer Support<\/em> :<\/strong> si l&rsquo;architecture permet de disposer de timers haute r\u00e9solution (fr\u00e9quence sup\u00e9rieure \u00e0 1kHz) il est toujours int\u00e9ressant de les utiliser. Cette option est ind\u00e9pendante de la pr\u00e9c\u00e9dente. Activ\u00e9e.<\/li>\n<li style=\"text-align: justify;\"><strong><em>Preemption Model<\/em> :<\/strong> sur les syst\u00e8mes temps-r\u00e9el ou interactifs, on s\u00e9lectionnera l&rsquo;option la plus pr\u00e9emptible. En particulier si le patch <em>Linux-rt<\/em> est appliqu\u00e9, on choisira \u00ab\u00a0<em>Fully Preemptible Kernel<\/em>\u00a0\u00bb pour obtenir la meilleure r\u00e9activit\u00e9 face aux interruptions.<\/li>\n<li style=\"text-align: justify;\"><strong><em>High Memory Support<\/em> :<\/strong> sur les architectures (32 bits) o\u00f9 cette option est propos\u00e9e, elle permet de g\u00e9rer des quantit\u00e9s de m\u00e9moire \u00e9lev\u00e9es au prix d&rsquo;un l\u00e9ger surco\u00fbt de gestion de la MMU. Sur des syst\u00e8mes embarqu\u00e9s avec une faible quantit\u00e9 de m\u00e9moire (moins d&rsquo;un Go), on choisira en g\u00e9n\u00e9ral la valeur la plus faible ou on d\u00e9sactivera l&rsquo;option.<\/li>\n<\/ul>\n<p style=\"text-align: justify;\">\n<p style=\"text-align: justify;\">Il existe beaucoup d&rsquo;autres options dans ces menus. Elles d\u00e9pendent g\u00e9n\u00e9ralement du support mat\u00e9riel utilis\u00e9, et devront donc \u00eatre configur\u00e9e en fonction de la plate-forme cible.<\/p>\n<p style=\"text-align: justify;\">Nous examinerons quelques \u00e9l\u00e9ments appartenant aux autres menus de configuration dans le prochain article.<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>","protected":false},"excerpt":{"rendered":"<p>Dans le pr&eacute;c&eacute;dent article, nous avons examin&eacute; les options du menu General Setup &agrave; prendre particuli&egrave;rement en consid&eacute;ration lors de la pr&eacute;paration d&rsquo;un noyau Linux pour un syst&egrave;me embarqu&eacute; ou temps-r&eacute;el. Examinons &agrave; pr&eacute;sent d&rsquo;autres options propos&eacute;es dans un menu dont le nom varie l&eacute;g&egrave;rement suivant les architectures&nbsp;:<\/p>","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[8],"tags":[],"class_list":["post-1744","post","type-post","status-publish","format-standard","hentry","category-linux-2"],"_links":{"self":[{"href":"https:\/\/www.blaess.fr\/christophe\/wp-json\/wp\/v2\/posts\/1744","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.blaess.fr\/christophe\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.blaess.fr\/christophe\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.blaess.fr\/christophe\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.blaess.fr\/christophe\/wp-json\/wp\/v2\/comments?post=1744"}],"version-history":[{"count":0,"href":"https:\/\/www.blaess.fr\/christophe\/wp-json\/wp\/v2\/posts\/1744\/revisions"}],"wp:attachment":[{"href":"https:\/\/www.blaess.fr\/christophe\/wp-json\/wp\/v2\/media?parent=1744"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.blaess.fr\/christophe\/wp-json\/wp\/v2\/categories?post=1744"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.blaess.fr\/christophe\/wp-json\/wp\/v2\/tags?post=1744"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}