{"id":157,"date":"2007-11-10T16:33:27","date_gmt":"2007-11-10T15:33:27","guid":{"rendered":"http:\/\/www.eurosource.se\/wordpress\/?p=157"},"modified":"2007-11-10T16:33:27","modified_gmt":"2007-11-10T15:33:27","slug":"problem-med-minnet","status":"publish","type":"post","link":"https:\/\/www.akehedman.se\/wordpress\/?p=157","title":{"rendered":"Problem med minnet"},"content":{"rendered":"<p>Jag vet inte om ni n\u00c3\u00a5gonsin haft problem med minnet. Minnsl\u00c3\u00a4ckor allts\u00c3\u00a5. Minnesfragment som ligger d\u00c3\u00a4r och skr\u00c3\u00a4par helt okontrollerat efter det att man \u00c3\u00a4r klar med en uppgift.  S\u00c3\u00a5 \u00c3\u00a4r det i all afall f\u00c3\u00b6r mig just nu. Eller snarare har varit dom senaste dagarna.<\/p>\n<p>Jag h\u00c3\u00a5ller n\u00c3\u00a4mligen p\u00c3\u00a5 att jobba med daemonen (ung. server programmet) f\u00c3\u00b6r <a href=\"http:\/\/www.vscp.org\">VSCP.<\/a>  Det h\u00c3\u00a4r \u00c3\u00a4r en ganska avancerad bit programvara  d\u00c3\u00a4r en massa programtr\u00c3\u00a5dar, normalt tio men ibland upp till femtio stycken eller fler, skall dela och samverka\u00c2  p\u00c3\u00a5\/om ett antal objekt. F\u00c3\u00b6r det beh\u00c3\u00b6vs semaphorer och mutexar f\u00c3\u00b6r att hindra flera tr\u00c3\u00a5dar fr\u00c3\u00a5n att krocka med varandra. F\u00c3\u00b6r er som inte programmerar j\u00c3\u00a4mf\u00c3\u00b6r en bang\u00c3\u00a5rd med ett aktivt lok + t\u00c3\u00a5gset motsvarande varje tr\u00c3\u00a5d. Det \u00c3\u00a4r allt\u00c3\u00a5s en f\u00c3\u00b6rdel om man koncentrerar sig n\u00c3\u00a4r man sitter med s\u00c3\u00a5nt h\u00c3\u00a4r.<\/p>\n<p>Hursomhelst \u00c3\u00a4r ett av problemen n\u00c3\u00a4r en tr\u00c3\u00a5d avslutas \u00c3\u00a4r att allokerade resurser skall l\u00c3\u00a4mnas tillbaks till operativsystemet. I mitt fall skrivs programmet samtidigt f\u00c3\u00b6r Windows och Unix\/Linux s\u00c3\u00a5 det blir \u00c3\u00a4nnu lite extra att t\u00c3\u00a4nka p\u00c3\u00a5.  Ofta t\u00c3\u00a4nker man fel h\u00c3\u00a4r och man f\u00c3\u00a5r s.k. minnesl\u00c3\u00a4ckor. En minnesl\u00c3\u00a4cka allokerad minnsdel som inte har l\u00c3\u00a4mnats tillbaks n\u00c3\u00a4r programmet har avslutats. Har man nu +10 tr\u00c3\u00a5dar och m\u00c3\u00a5nga objekt i sitt program som skapas och tas bort medans programmet k\u00c3\u00b6rs s\u00c3\u00a5 kan detta kr\u00c3\u00a4va sin man. Rent tr\u00c3\u00b6stl\u00c3\u00b6st ofta f\u00c3\u00b6r det enda man ser \u00c3\u00a4r att typ 32 byte inte har \u00c3\u00a5terl\u00c3\u00a4mnats till systemet. Fr\u00c3\u00a5gan \u00c3\u00a4r naturligtvis var dessa 32 byte kommer ifr\u00c3\u00a5n?<\/p>\n<p>S\u00c3\u00a5 det g\u00c3\u00a4ller att prova sig fram. Koppla bort bit f\u00c3\u00b6r bit av funktionalitetet. Starta och \u00c3\u00a5terstarta programmet tills man lyckas hitta l\u00c3\u00a4ckan. Ofta handlar det om en dag innan man hittar bara en ena s\u00c3\u00a5 n\u00c3\u00a4r den \u00c3\u00a4r hittad s\u00c3\u00a5 \u00c3\u00a4r det bara att starta om allt igen och leta n\u00c3\u00a4sta.<\/p>\n<p>S\u00c3\u00a5 har jag allts\u00c3\u00a5 tillbringar de senaste dagarna. Under eftermiddagen ig\u00c3\u00a5r s\u00c3\u00a5 hittade jag den sista. Sk\u00c3\u00b6nt. Systemet, alla tr\u00c3\u00a5darna, meddelanden, fl\u00c3\u00b6det snurrar som en v8 motor och man vet att det inte l\u00c3\u00a4cker.\u00c2  Allt k\u00c3\u00a4nns stabilt och man kan \u00c3\u00a4ntligen b\u00c3\u00b6rja l\u00c3\u00a4gga till lite roliga saker. Ni vet sm\u00c3\u00a5grejer som man alltid velat ha med. S\u00c3\u00a5nt som anv\u00c3\u00a4ndarna ser. F\u00c3\u00b6r s\u00c3\u00a5 \u00c3\u00a4r det. Ingen anv\u00c3\u00a4ndarna bryr sig ett dugg om det man just \u00c3\u00a4gnat veckor \u00c3\u00a5t s\u00c3\u00a5 l\u00c3\u00a4nge det fungerar, hur vacker en ny tr\u00c3\u00a5d tar vid efter en annan, hur effektivt en drivare skickar sitt meddelande genom systemet ut till klienten.\u00c2  Inte s\u00c3\u00a5 l\u00c3\u00a4nge motorn snurrar och fungerar. Det \u00c3\u00a4r bara yta som intresserar dom. Mer funktioner \u00c3\u00a5t folket helt enkelt!<\/p>\n<p>Kan inte fatta varf\u00c3\u00b6r jag \u00c3\u00a4lskar det h\u00c3\u00a4r jobbet&#8230;..<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Jag vet inte om ni n\u00c3\u00a5gonsin haft problem med minnet. Minnsl\u00c3\u00a4ckor allts\u00c3\u00a5. Minnesfragment som ligger d\u00c3\u00a4r och skr\u00c3\u00a4par helt okontrollerat efter det att man \u00c3\u00a4r klar med en uppgift. S\u00c3\u00a5 \u00c3\u00a4r det i all afall f\u00c3\u00b6r mig just nu. Eller snarare har varit dom senaste dagarna. Jag h\u00c3\u00a5ller n\u00c3\u00a4mligen p\u00c3\u00a5 att jobba med daemonen (ung. [&hellip;]<\/p>\n","protected":false},"author":24,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_crdt_document":"","jetpack_post_was_ever_published":false,"_jetpack_newsletter_access":"","_jetpack_dont_email_post_to_subs":false,"_jetpack_newsletter_tier_id":0,"_jetpack_memberships_contains_paywalled_content":false,"_jetpack_memberships_contains_paid_content":false,"footnotes":"","jetpack_publicize_message":"","jetpack_publicize_feature_enabled":true,"jetpack_social_post_already_shared":false,"jetpack_social_options":{"image_generator_settings":{"template":"highway","default_image_id":0,"font":"","enabled":false},"version":2}},"categories":[2],"tags":[],"class_list":["post-157","post","type-post","status-publish","format-standard","hentry","category-swedish"],"jetpack_publicize_connections":[],"jetpack_featured_media_url":"","jetpack_sharing_enabled":true,"jetpack_likes_enabled":true,"jetpack-related-posts":[{"id":79,"url":"https:\/\/www.akehedman.se\/wordpress\/?p=79","url_meta":{"origin":157,"position":0},"title":"LOOS","author":"\u00c5ke Hedman","date":"2007-06-19","format":false,"excerpt":"Jag bor ju i LOOS. Ja officiella namnet \u00c3\u00a4r ju \"LOS\" men vi som bor h\u00c3\u00a4r vill stava namnet (och g\u00c3\u00b6r d\u00c3\u00a4rf\u00c3\u00b6r det) \"LOOS\" men det f\u00c3\u00a5r vi inte. Har aldrig riktigt fattat varf\u00c3\u00b6r vi inte f\u00c3\u00a5r stava som vi vill men dom styrande (vilka det nu \u00c3\u00a4r) vet s\u00c3\u00a4kert\u2026","rel":"","context":"In &quot;Swedish&quot;","block_context":{"text":"Swedish","link":"https:\/\/www.akehedman.se\/wordpress\/?cat=2"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":352,"url":"https:\/\/www.akehedman.se\/wordpress\/?p=352","url_meta":{"origin":157,"position":1},"title":"En gammal man","author":"\u00c5ke Hedman","date":"2008-04-22","format":false,"excerpt":"Har aldrig f\u00c3\u00b6rst\u00c3\u00a5tt dom som sagt att det \u00c3\u00a4r kn\u00c3\u00a4ckande at inte f\u00c3\u00a5 svar n\u00c3\u00a4r man s\u00c3\u00b6ker ett jobb eller att f\u00c3\u00a5 det d\u00c3\u00a4r brevet med \"tack f\u00c3\u00b6r visat intresse\". P\u00c3\u00a5 senare tid har det dock varit precis s\u00c3\u00a5 det varit. S\u00c3\u00b6ka jobbet -\u00c2\u00a0 sen inte ett ljud.\u00c2\u00a0\u00c2\u00a0 Annat var\u2026","rel":"","context":"In &quot;Swedish&quot;","block_context":{"text":"Swedish","link":"https:\/\/www.akehedman.se\/wordpress\/?cat=2"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":551,"url":"https:\/\/www.akehedman.se\/wordpress\/?p=551","url_meta":{"origin":157,"position":2},"title":"F\u00c3\u00b6rbrukad","author":"\u00c5ke Hedman","date":"2008-06-26","format":false,"excerpt":"Jag f\u00c3\u00a5r s\u00c3\u00a5dana h\u00c3\u00a4r d\u00c3\u00a5 och d\u00c3\u00a5 numera Hej \u00c3\u2026ke F\u00c3\u00b6r en tid sedan fick vi en ans\u00c3\u00b6kan av dig till tj\u00c3\u00a4nsten Tonium - s\u00c3\u00b6ker Mjukvaruutvecklare till Pacemaker\u00c2\u00ae. Vi har mottagit ett stort antal kvalificerade s\u00c3\u00b6kanden och vi har nu valt ut ett mindre antal personer att g\u00c3\u00a5 vidare med.\u2026","rel":"","context":"In &quot;Swedish&quot;","block_context":{"text":"Swedish","link":"https:\/\/www.akehedman.se\/wordpress\/?cat=2"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":590,"url":"https:\/\/www.akehedman.se\/wordpress\/?p=590","url_meta":{"origin":157,"position":3},"title":"V\u00c3\u00a4gsk\u00c3\u00a4l","author":"\u00c5ke Hedman","date":"2008-07-16","format":false,"excerpt":"\u00c3\u201eldste sonen har f\u00c3\u00a5tt tag p\u00c3\u00a5 l\u00c3\u00a4genhet i Uppsala. Han har ju naturligtvis bott tidigare ocks\u00c3\u00a5 men med \u00c3\u00b6vervakning av folket bakom elevboendet och han b\u00c3\u00b6rjar bli aningen f\u00c3\u00b6r gammal f\u00c3\u00b6r det. Grattis till honom. Dessutom blev det billigare s\u00c3\u00a5 grattis till oss ocks\u00c3\u00a5. Minstingen st\u00c3\u00a5r ju p\u00c3\u00a5 tur nu\u2026","rel":"","context":"In &quot;Swedish&quot;","block_context":{"text":"Swedish","link":"https:\/\/www.akehedman.se\/wordpress\/?cat=2"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":251,"url":"https:\/\/www.akehedman.se\/wordpress\/?p=251","url_meta":{"origin":157,"position":4},"title":"Tr\u00c3\u00b6tt s\u00c3\u00a5 tr\u00c3\u00b6tt","author":"\u00c5ke Hedman","date":"2008-03-05","format":false,"excerpt":"Vet ej om det \u00c3\u00a4r m\u00c3\u00a5ndagens yrsel som fortfarande sitter i kroppen men jag \u00c3\u00a4r s\u00c3\u00a5 tr\u00c3\u00b6tt idag. S\u00c3\u00a5 j\u00c3\u00a4kla tr\u00c3\u00b6tt. Undrar ocks\u00c3\u00a5 om det \u00c3\u00a4r n\u00c3\u00a5gon ide att k\u00c3\u00a4mpa vidare. N\u00c3\u00a4sta vecka skall jag ned till Lund och titta p\u00c3\u00a5 ett ett intressant jobb p\u00c3\u00a5 Ericsson Mobile Platforms. F\u00c3\u00a5r\u2026","rel":"","context":"In &quot;Swedish&quot;","block_context":{"text":"Swedish","link":"https:\/\/www.akehedman.se\/wordpress\/?cat=2"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":411,"url":"https:\/\/www.akehedman.se\/wordpress\/?p=411","url_meta":{"origin":157,"position":5},"title":"P\u00c3\u00a5 v\u00c3\u00a4g mot v\u00c3\u00a5r igen","author":"\u00c5ke Hedman","date":"2008-05-19","format":false,"excerpt":"S\u00c3\u00a5 b\u00c3\u00b6rjar sn\u00c3\u00b6n sakta sm\u00c3\u00a4lta bort igen. Blir liksom en andra v\u00c3\u00a5r att l\u00c3\u00a4ngtas efter i \u00c3\u00a5r. I helgen blev man vips i \"vintermod\" igen och\u00c2\u00a0 kunde med gott samvete sitta inne och \"greja\". F\u00c3\u00b6rrutom att s\u00c3\u00a4tta upp lite hyllor, skruvat ihop en s\u00c3\u00a4ng och lite annat domestic s\u00c3\u00a5 har\u2026","rel":"","context":"In &quot;Swedish&quot;","block_context":{"text":"Swedish","link":"https:\/\/www.akehedman.se\/wordpress\/?cat=2"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]}],"jetpack_shortlink":"https:\/\/wp.me\/p68PL2-2x","_links":{"self":[{"href":"https:\/\/www.akehedman.se\/wordpress\/index.php?rest_route=\/wp\/v2\/posts\/157","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.akehedman.se\/wordpress\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.akehedman.se\/wordpress\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.akehedman.se\/wordpress\/index.php?rest_route=\/wp\/v2\/users\/24"}],"replies":[{"embeddable":true,"href":"https:\/\/www.akehedman.se\/wordpress\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=157"}],"version-history":[{"count":0,"href":"https:\/\/www.akehedman.se\/wordpress\/index.php?rest_route=\/wp\/v2\/posts\/157\/revisions"}],"wp:attachment":[{"href":"https:\/\/www.akehedman.se\/wordpress\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=157"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.akehedman.se\/wordpress\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=157"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.akehedman.se\/wordpress\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=157"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}