Share to: share facebook share twitter share wa share telegram print page

 

사용자 공간

전통적인 컴퓨터 운영 체제는 일반적으로 가상 메모리커널 공간사용자 공간으로 분리시킨다. 커널 공간은 커널, 커널 확장 기능, 대부분의 장치 드라이버를 실행하기 위한 예비 공간이다. 반면 사용자 공간은 모든 사용자 모드 응용 프로그램들이 동작하는 메모리 영역으로, 이 메모리는 필요할 때 페이징 처리될 수 있다.

개요

이와 비슷한 용어로 유저랜드(userland)가 있는데 이는 사용자 공간에서 실행하는 모든 응용 소프트웨어를 가리킨다.[1] 유저랜드는 일반적으로 운영 체제가 커널과 상호 작용하기 위해 사용하는 다양한 프로그램과 라이브러리를 가리킨다. 여기에는 입출력을 수행하고 파일 시스템 오브젝트를 처리하는 소프트웨어를 아우른다.

개별 사용자 공간 프로세스는 일반적으로 저만의 가상 메모리 공간에서 실행되며, 분명히 요청되지 않을 경우 다른 프로세스의 메모리에 접근할 수 없다. 이는 오늘날의 주류 운영 체제에서 제공되는 메모리 보호 기능의 토대이자 권한 분리를 위한 구성 요소이다. 권한에 따라 프로세스들은 디버거와 같이 커널에 다른 프로세스의 메모리 공간의 일부를 커널 자체에 매핑하도록 요청할 수 있다. 프로그램들은 다른 프로세스와의 공유 메모리 공간을 요청할 수도 있다.

실험적인 운영 체제에서 제공되는 또 다른 접근 방식으로는 모든 소프트웨어 대해 단일 주소 공간을 소유하는 것으로, 프로그래밍 언어의 기계어에 의지함으로써 메모리가 독단적으로 접근하지 못하게 미연에 방지한다. 이는 응용 프로그램들이 단순히 접근이 허가되지 않은 오브젝트에 대한 어떠한 참조를 회득할 수 없게 한다.[2] 이러한 접근 방식은 JXOS, Unununium, 마이크로소프트의 싱귤래리티 연구 프로젝트에 추가되어 있다.

유저랜드커널 공간 간 리눅스의 다양한 계층
사용자 모드 사용자 애플리케이션 예: bash, 리브레오피스, 김프, 블렌더, 0 A.D., 모질라 파이어폭스 등.
저수준 시스템 구성 요소: 시스템 데몬:
systemd, runit, logind, networkd, PulseAudio, ...
윈도 시스템:
X11, Wayland, SurfaceFlinger (안드로이드)
기타 라이브러리:
GTK+, Qt, EFL, SDL, SFML, FLTK, 그누스텝 등.
그래픽스:
메사, AMD 카탈리스트, ...
C 표준 라이브러리 open(), exec(), sbrk(), socket(), fopen(), calloc(), ... (최대 2000개 함수)
glibcPOSIX/SUS 호환을 목적으로 함, uClibc는 임베디드 시스템을 대상으로 함, bionic안드로이드용으로 개발됨 등.
커널 모드 리눅스 커널 stat, splice, dup, read, open, Ioctl, write, mmap, close, exit 등. (약 380개 시스템 호출)
리눅스 커널 시스템 호출 인터페이스(System Call Interface, SCI는 POSIX/SUS 호환을 목표로 함)
프로세스 스케줄링
하위 시스템
IPC
하위 시스템
메모리 관리
하위 시스템
가상 파일
하위 시스템
네트워크
하위 시스템
기타 구성 요소: ALSA, DRI, evdev, LVM, 장치 매퍼, 리눅스 네트워크 스케줄러, 넷필터
리눅스 보안 모듈: SELinux, TOMOYO, 앱아머, 스맥
하드웨어 (CPU, 주 메모리, 데이터 기억 장치 등)

같이 보기

각주

  1. “userland, n.”. 《The Jargon File》. Eric S. Raymond. 2010년 4월 30일에 확인함. 
  2. “What kind of kernel does Unununium have?”. 2019년 10월 30일에 원본 문서에서 보존된 문서. 2012년 10월 14일에 확인함. 
Kembali kehalaman sebelumnya


Index: pl ar de en es fr it arz nl ja pt ceb sv uk vi war zh ru af ast az bg zh-min-nan bn be ca cs cy da et el eo eu fa gl ko hi hr id he ka la lv lt hu mk ms min no nn ce uz kk ro simple sk sl sr sh fi ta tt th tg azb tr ur zh-yue hy my ace als am an hyw ban bjn map-bms ba be-tarask bcl bpy bar bs br cv nv eml hif fo fy ga gd gu hak ha hsb io ig ilo ia ie os is jv kn ht ku ckb ky mrj lb lij li lmo mai mg ml zh-classical mr xmf mzn cdo mn nap new ne frr oc mhr or as pa pnb ps pms nds crh qu sa sah sco sq scn si sd szl su sw tl shn te bug vec vo wa wuu yi yo diq bat-smg zu lad kbd ang smn ab roa-rup frp arc gn av ay bh bi bo bxr cbk-zam co za dag ary se pdc dv dsb myv ext fur gv gag inh ki glk gan guw xal haw rw kbp pam csb kw km kv koi kg gom ks gcr lo lbe ltg lez nia ln jbo lg mt mi tw mwl mdf mnw nqo fj nah na nds-nl nrm nov om pi pag pap pfl pcd krc kaa ksh rm rue sm sat sc trv stq nso sn cu so srn kab roa-tara tet tpi to chr tum tk tyv udm ug vep fiu-vro vls wo xh zea ty ak bm ch ny ee ff got iu ik kl mad cr pih ami pwn pnt dz rmy rn sg st tn ss ti din chy ts kcg ve 
Prefix: a b c d e f g h i j k l m n o p q r s t u v w x y z 0 1 2 3 4 5 6 7 8 9