Беттерді аударыстыру стратегиялары.
Құжаттарды оптикалық тану бағдарламалары
Көбінесе компьютерге кітаптан мәтіннің бірнеше бетін, журналдан немесе газеттен мақаланы және т.б. енгізу қажет болады. Бірақ түпнұсқа мәтін неғұрлым үлкен болса, соғұрлым көп уақыт жұмсалады. Компьютер жадына мәтіндерді қағаз тасымалдағыштардан енгізу үшін сканерлер мен таңбаларды тану бағдарламалары қолданылады. Осы типтегі ең танымал бағдарламалардың бірі-ABBYY FineReader.
Компьютерлік сөздіктер және аудармашы бағдарламалар
Компьютерлік сөздіктер лезде сөздік мақалаларын іздеуді қамтамасыз етеді. Көптеген сөздіктер пайдаланушыларға ана тілінде сөйлейтіндердің орындауындағы сөздерді тыңдауға мүмкіндік береді.
Компьютерлік сөздіктер жеке сөздер мен сөз тіркестерінің аудармасын орындайды. Мәтіндік құжаттарды аудару үшін аудармашы бағдарламалар қолданылады.
Жады қорының менеджері.
Жад менеджерлері көбінесе иерархияны құрайды: төменгі менеджерлер жадыны бөлу-босату заңдылықтарын қолданады және осылайша жоғары деңгейге жүктемені азайтады. Мысалы:
Жүйелік. Жоғарғы жағында ОЖ-ге орнатылған жад менеджері орналасқан. Ол процестің адрестік кеңістігіне бір немесе басқа бетті енгізеді, яғни ол 4 килобайттық дискреттілікпен жұмыс істейді, бұл оны өте баяу етеді.
Процеске жатады. Бағдарламалау тілінің стандартты кітапханасына енгізілген жад менеджері ОЖ-дан "көтерме" жад блоктарын алады және оларды бағдарламашының қажеттіліктеріне сәйкес таратады. Сонымен қатар, ол жадтың тек бір процеске берілетінін біледі-демек, ағындарды синхрондау мутекстермен емес, фьютекстермен жүзеге асырылады. Ядро режиміне ауысу екі жағдайда болады: жадтың "жедел қоры" жеткіліксіз болғанда және ОЖ-ге жүгіну керек болғанда немесе ағындардың бірі бос емес фьютекске "соқтығысқанда".
Мамандандырылған. Кейбір динамикалық деректер құрылымдары, мысалы, std:: vector, сонымен қатар стандартты кітапханадан жадты алады (әдетте экспоненциалды түрде ұлғайтылатын блоктар). Осылайша, элементтер бір-бірден қосылады, бірақ жоғары менеджерге жүгіну көптеген элементтерге бір рет келеді. Нысан пулы белгілі бір типтегі объектілерге жад бөледі және егер олар ерекшеленсе, ыңғайлы-көп мөлшерде босатылады және т. б.
Мұндай иерархия әр деңгейде бос жадтың "жинақталуына" әкеледі. Бірақ бұл ақталды: жадтың фрагментациясы төмендейді және жылдамдық жоғарылайды.
Достарыңызбен бөлісу: |