로그인하고 있지 않습니다. 편집하면 당신의 IP 주소가 공개적으로 기록됩니다. 계정을 만들고 로그인하면 편집 시 사용자 이름만 보이며, 위키 이용에 여러 가지 편의가 주어집니다.중간의 다른 편집과 충돌하여 이 편집을 되돌릴 수 없습니다. 스팸 방지 검사입니다. 이것을 입력하지 마세요!'''운영 체제'''(運營 體制, Operating System)는 [[하드웨어]]와 [[소프트웨어]]의 [[자원]]을 관리하고, [[시스템]]에서 사용하는 공용 서비스를 제공하는 [[소프트웨어]]이다. 또한 [[시스템 소프트웨어]]의 일종이다. 약칭은 '''OS'''이다. == 역할 == 주된 역할은 물리적 장치인 하드웨어와 논리적 개념인 소프트웨어를 이어주는 것이다. 가상화 기술이 발달한 요즘에는 [[가상 장치|소프트웨어 위에서 운영체제가 돌아가는 경우]]도 있다. 기본적으로 시스템 소프트웨어를 포함한 모든 소프트웨어의 코드는 하드웨어 위에서 실행된다. 그러나 소프트웨어 측에서 <del>[[위키질]]을 한다던가 하는</del> 특정한 목적으로 입출력이나 메모리 할당과 같은 하드웨어의 기능을 사용하기 위해서는 하드웨어가 인식할 수 있는 특정한 전기적 신호를 보낼 필요가 있다. 물론 개개의 소프트웨어가 직접 전기적 신호를 보낼 수 도 있으나, 복수의 소프트웨어가 동시다발적으로 동작할 경우 상호 간섭으로 인해 예기치 못한 결과(버그)를 내거나, 서로간의 효율을 저하시키는 결과를 낳을 수 있다. 이런 비효율을 제거하고, 하드웨어와 소프트웨어의 커뮤니케이션을 원활히 하는 역할을 담당하는 것이 운영 체제인 것이다. 초기의 컴퓨터들은 [계산기처럼 단순 계산 등 특정한 목적을 위해 만들어졌다. 어느 정도이고 하니, 소프트웨어를 설치하기 위해서는 사용자가 '''직접 [[케이블]]을 옮겨 꽃고 스위치의 전원을 바꿔주어''' 하드웨어가 목적에 맞게 움직이도록 해주어야 하는 지경이었다. 그러던 것이 [[폰 노이만]]이 [[내장 프로그램]]이라는 개념을 발명하면서 [[운영 체제]] 역시 본격적으로 발달하기 시작한다. 즉, 최초의 운영 체제란 사람이 수작업으로 케이블을 갈아 끼워 전자적 신호의 방향을 바꿔주던 것을 컴퓨터 내부에서 자체적으로 처리하기 위해 개발된 것이다. 이후 하드웨어와 소프트웨어가 발달함에 따라 운영 체제 역시 점점 더 많은 기능을 필요로 하게 되었고, 이에 따라 [[런타임 라이브러리]], [[인터럽트]], [[병렬 처리]]와 같은 기능들이 차례로 추가되었다. 또한 운영 체제를 이용하는 측의 편의를 위해 [[사용자 인터페이스]] (User Interface, UI) 및 [[API]] (Application Programming Interface) 등도 차례로 추가, 발전하였다. 현대 사회에서 운영 체제의 역할은 매우 커, 컴퓨터는 물론 [[스마트폰]]이나 [[게임기]], [[자동차]]의 [[엔진]]이나 [[TV]]에 이르기까지 전자 기기를 사용하는 거의 모든 제품에 탑재되어 있다고 해도 과언이 아니다. == 목적 == 운영 체제의 중요한 목적으로는 다음을 들 수 있다. ;하드웨어 추상화 :각 컴퓨터마다 사용하는 하드웨어에는 크고 작은 차이가 있다. 이러한 차이를 응용 프로그램이 직접 대응하려고 하면 극단적인 경우 세상에 존재하는 컴퓨터 댓수만큼의 변수를 처리할 필요가 있다. 그러한 비효율을 막기 위해 운영 체제가 하드웨어와 응용 프로그램 사이에 끼어 중재해 줌으로서 응용 프로그램 개발의 편의성을 증진시켜 준다. ;자원 관리 :개개의 컴퓨터에서 사용할 수 있는 자원은 제한되기 마련이다. 그런 제한된 자원 속에서 운영 체제가 자원을 적절히 할당하고 관리, 보호해 줌으로서 인해 다수의 응용 프로그램을 효율적으로 사용할 수 있다. ;컴퓨터의 효율적 이용 :운영 체제는 제어 프로그램으로서 사용자 프로그램이 사용하는 자원의 이용 순서나 이용 시간을 제어한다. 이를 통해 시스템 전체의 처리율을 향상시켜 컴퓨터를 보다 효율적으로 사용할 수 있게 한다. == 대표적인 운영체제 == 실질적으로는 무척 다양한 수의 운영 체제가 존재하나, 크게 분류하면 다음과 같이 나뉜다고 볼 수 있다. === Microsoft Windows === {{참고|Microsoft Windows}} === UNIX-like === {{참고|유닉스 계열}} * [[HP-UX]] * [[GNU Hurd]] * [[NeXTStep]] * [[솔라리스]] * [[BSD]] ** [[FreeBSD]] ** TrueOS (PC-BSD) * [[XNU]] 커널 ** [[macOS]] ** [[iOS]] ** watchOS ** tvOS ==== Linux ==== {{리눅스 배포판}} * 레드햇·페도라 계열 *: 유서 깊은 배포판인 레드햇 리눅스에서 진화한 배포판 계열. 패키지 관리자로 rpm을 사용한다. ** [[페도라 (운영체제)|페도라]] ** [[RHEL|레드햇 엔터프라이즈 리눅스]] ** [[Rocky Linux]] * 데비안 계열 *: 의존성을 자동으로 찾아주는 패키지 관리자인 apt로 저변을 많이 넓힌 배포판 계열. ** [[데비안]] ** [[우분투]] *** [[리눅스 민트]] *** [[하모니카 OS]] * 아치 계열 *: 미니멀리즘이 한껏 살아있는 아치 리눅스 계열의 배포판. 패키지 관리자로 pacman을 사용한다. ** [[아치 리눅스]] * 젠투 계열 *: 속도를 위해 모든 편의를 포기한 배포판. ** [[젠투 리눅스]] ** [[크롬 OS]] * [[openSUSE]] * [[Steam OS|스팀 OS]] * [[안드로이드 (운영체제)|안드로이드]] === [[기타]] === * [[미고]] * [[바다OS|바다]] * [[파이어폭스 OS]] * [[타이젠]] * [[WebOS]] * [[블랙베리]] * [[블랙베리 10]] * [[BeOS]] * [[OS/2]] (eComStation) * [[RICS OS]] * [[z/OS]] - [[IBM]] * [[아미가OS]] * [[MS-DOS]] == 구성 요소 == 서두에서 언급한 대로, 운영 체제는 하드웨어와 소프트웨어의 자원을 관리함과 동시에 사용자나 응용 소프트웨어에 대해 공용 서비스 (Common Services)를 제공하는 것이 주된 기능이다. 초창기의 운영 체제는 [[컴퓨터]] 자체의 하드웨어 및 소프트웨어적 단순함으로 인해 비교적 단순한 구조를 가지고 있었으나, 현대의 운영 체제는 복수의 소프트웨어들로 이루어진 거대한 소프트웨어군(群) 이라 해도 과언이 아니다. === [[커널]] === [[커널#컴퓨터 용어|해당 문서 참조]] === 네트워킹 === <del>지금 이 항목을 보고 있는 [[위키러]]도 그렇겠지만, </del>현대의 [[컴퓨터]]에 있어서 [[네트워크]]란 뗄래야 떼어놓을 수 없는 기능이다. 그러나 커널 부분의 설명을 읽은 감이 좋은 [[위키러]]라면 눈치챘겠지만, 하드웨어적 구성이 다른 [[컴퓨터]] 간에는 기본적으로 [[OSI 참조 모델|물리층]] 단위에서의 호환성은 없는 것이나 마찬가지다. 이러한 장치 구성이 다른 컴퓨터들을 네트워크로 연결해 주는 것 역시 OS가 가지는 중요한 기능 중 하나이다. === 보안 === 운영 체제는 시스템 보안을 위해 사용자 및 프로그램이 시스템에 액세스 할 수 있는 권한을 설정하고 관리하는 역할을 담당한다. [[윈도우즈]]의 [[UAC]]가 그 대표적인 기능이라 할 수 있다. === 인터페이스 === ==== 사용자 인터페이스 ==== {{본문|사용자 인터페이스}} 사용자 인터페이스(User Interface), 약칭 '''UI'''는 우리가 지금 보고 있는 [[그래픽 사용자 인터페이스|화면]]을 뜻한다. 운영 체제는 [[키보드]]나 [[마우스]] 등의 [[입력 장치]]를 이용해 [[인간]]이 [[컴퓨터]]에게 전기적 신호를 보낼 수 있도록 함과 동시에, [[모니터]], [[스피커]] 등의 [[출력 장치]]를 통해 그러한 전기적 신호가 어떤 결과를 가져오는지 [[시각]], [[청각]] 등의 감각으로 인식할 수 있도록 도와준다. ==== 응용 프로그램 프로그래밍 인터페이스 ==== {{본문|API}} 애플리케이션 프로그래밍 인터페이스('''A'''pplication '''P'''rogramming '''I'''nterface), 약칭 '''API'''. 위에서 거듭 설명했듯, 운영 체제는 사용자 뿐만 아니라 응용 프로그램에게도 하드웨어의 구성이나 시스템의 종류에 구애받지 않고 그 시스템이 가지는 다양한 자원 등을 이용할 수 있도록 배려한다. 인간에 대한 배려가 [[사용자 인터페이스]]라고 한다면, [[애플리케이션]](응용 소프트웨어)에 대한 배려가 바로 [[API]]이다. 알기 쉽게 설명하면, 이 문서를 보는 [[위키니트]]가 자신의 컴퓨터에서 [[온라인 게임]]을 실행하든, [[PC방]]에서 실행하든, 혹은 친구집 컴퓨터에서 실행하든, 같은 애플리케이션이라면 해당 애플리케이션이 지원하는 한도 내에서 운영체제의 종류나 버전에 상관없이 동일한 결과를 얻을 수 있을 것이다. 이것을 가능하게 하는 기능들의 모음이 바로 API이다. API는 OS의 종류 등에 따라<ref>물론 OS에 구애받지 않는 프리 API도 있다.</ref> 다양한 모델이 있으나, 대부분의 API는 [[함수]], [[프로시저]](Procedure), [[변수]], [[데이터 구조]] 등으로 구성되며, 거기에 더해 [[인터프리터]] 기능을 보유하고 있는 경우도 있다. 일반적으로 프로그래머 입장에서 사용하기 편한 API일수록 추상화가 잘 되어 있어 [[블랙박스]]화되어 있기 마련이다. ===== API의 종류 ===== {| | * [[ASPI]] * [[Carbon]] / [[Cocoa]] * [[CORBA]] * Document Object Model (DOM) * [[Direct X]] * [[Java API]] * [[ODBC]] * [[OpenAL]] | * [[OpenCL]] * [[OpenGL]] * [[OpenMP]] * [[POSIX]] * [[QuickTime]] * [[Windows API]] * [[단일 유닉스 규격]] * [[스칼라 API]] |} == 실시간 운영 체제 == [[실시간 운영 체제]] ('''R'''eal '''T'''ime '''O'''perating '''S'''ystem, RTOS)란 한정된 자원 내에서 실행된 잡 (Job) 이 정해진 기간 내에 수행되어야 하는 [[실시간 시스템|특수한 시스템]]을 위해 만들어진 운영 체제이다. === RTOS를 사용하는 시스템의 예 === RTOS을 사용하는 시스템은 다음과 같은 경우를 들 수 있다. * 사용할 수 있는 리소스가 제한되는 경우 ** 각종 산업 제어장치 ** [[임베디드 시스템]] 등 * 미션 크리티컬 시스템 (Mission Critical System)<ref>그 특성상 초장시간동안 오류 없이 사용할 수 있어야 하는 최중요 시스템</ref> ** 각종 [[금융 시스템]]<ref>특히 증권 관련 시스템처럼 1분 1초가 수십 수백억의 손해로 직결되는 시스템</ref> ** 항공 예약 시스템 ** [[인공위성]] 등 가혹한 환경에서의 사용이 전제된 시스템 등 === RTOS의 예<ref>출처: [http://ko.wikipedia.org/wiki/%EC%8B%A4%EC%8B%9C%EA%B0%84_%EC%9A%B4%EC%98%81_%EC%B2%B4%EC%A0%9C 한국어 위키백과]</ref> === * [http://www.mdstec.com 국방/항공용 실시간 운영체제 NEOS] * [[BeOS]] * [[ChorusOS]] * [[CsLEOS]] * [[eCos]] * [http://www.freertos.org FreeRTOS] * [[ITRON]] * [[LynxOS]] * [[MicroC/OS-II]] * [[Nucleus RTOS]] * [[OS-9]] * [[운영 체제 임베디드|OSE]] * [[OSEK/VDX]] * [[pSOS]] * [[QNX]] * [[RMX]] * [[RSX-11]] * [[RT-11]] * [[RTOS-UH]] * [http://www.rtos.com ThreadX] * [[Virtual Real-Time Executive|VRTX]] * [http://www.velos.co.kr Velos] * [[VxWorks]] * [[윈도 CE]] * [[RTLinux]] * [[RTAI]] == 같이 보기 == * [[운영 체제의 역사]] * [[운영 체제의 목록]] * [[운영 체제 최적화]] * [[범용 운영 체제]] * [[전용 운영 체제]] * [[실시간 운영 체제]] (RTOS) * [[임베디드 시스템]] * [[객체 지향 운영 체제]] == 바깥 고리 == * [http://www.netmarketshare.com/operating-system-market-share.aspx?qprid=10&qpmr=1000&qptimeframe=M&qpsp=182&qpcustomd=0&qpcustomb= 실시간 운영체제 점유율] {{각주}} {{소프트웨어 목록}} [[분류:컴퓨터 용어]] [[분류:운영 체제| ]] {{퍼온문서|운영 체제|13874320}} 요약: 리브레 위키에서의 모든 기여는 크리에이티브 커먼즈 저작자표시-동일조건변경허락 3.0 라이선스로 배포됩니다(자세한 내용에 대해서는 리브레 위키:저작권 문서를 읽어주세요). 만약 여기에 동의하지 않는다면 문서를 저장하지 말아 주세요. 글이 직접 작성되었거나 호환되는 라이선스인지 확인해주세요. 리그베다 위키, 나무위키, 오리위키, 구스위키, 디시위키 및 CCL 미적용 사이트 등에서 글을 가져오실 때는 본인이 문서의 유일한 기여자여야 하고, 만약 본인이 문서의 유일한 기여자라는 증거가 없다면 그 문서는 불시에 삭제될 수 있습니다. 취소 편집 도움말 (새 창에서 열림) | () [] [[]] {{}} {{{}}} · <!-- --> · [[분류:]] · [[파일:]] · [[미디어:]] · #넘겨주기 [[]] · {{ㅊ|}} · <onlyinclude></onlyinclude> · <includeonly></includeonly> · <noinclude></noinclude> · <br /> · <ref></ref> · {{각주}} · {|class="wikitable" · |- · rowspan=""| · colspan=""| · |} {{lang|}} · {{llang||}} · {{인용문|}} · {{인용문2|}} · {{유튜브|}} · {{다음팟|}} · {{니코|}} · {{토막글}} {{삭제|}} · {{특정판삭제|}}(이유를 적지 않을 경우 기각될 가능성이 높습니다. 반드시 이유를 적어주세요.) {{#expr:}} · {{#if:}} · {{#ifeq:}} · {{#iferror:}} · {{#ifexist:}} · {{#switch:}} · {{#time:}} · {{#timel:}} · {{#titleparts:}} __NOTOC__ · __FORCETOC__ · __TOC__ · {{PAGENAME}} · {{SITENAME}} · {{localurl:}} · {{fullurl:}} · {{ns:}} –(대시) ‘’(작은따옴표) “”(큰따옴표) ·(가운뎃점) …(말줄임표) ‽(물음느낌표) 〈〉(홑화살괄호) 《》(겹화살괄호) ± − × ÷ ≈ ≠ ∓ ≤ ≥ ∞ ¬ ¹ ² ³ ⁿ ¼ ½ ¾ § € £ ₩ ¥ ¢ † ‡ • ← → ↔ ‰ °C µ(마이크로) Å °(도) ′(분) ″(초) Α α Β β Γ γ Δ δ Ε ε Ζ ζ Η η Θ θ Ι ι Κ κ Λ λ Μ μ(뮤) Ν ν Ξ ξ Ο ο Π π Ρ ρ Σ σ ς Τ τ Υ υ Φ φ Χ χ Ψ ψ Ω ω · Ά ά Έ έ Ή ή Ί ί Ό ό Ύ ύ Ώ ώ · Ϊ ϊ Ϋ ϋ · ΐ ΰ Æ æ Đ(D with stroke) đ Ð(eth) ð ı Ł ł Ø ø Œ œ ß Þ þ · Á á Ć ć É é Í í Ĺ ĺ Ḿ ḿ Ń ń Ó ó Ŕ ŕ Ś ś Ú ú Ý ý Ź ź · À à È è Ì ì Ǹ ǹ Ò ò Ù ù · İ Ż ż ·  â Ĉ ĉ Ê ê Ĝ ĝ Ĥ ĥ Î î Ĵ ĵ Ô ô Ŝ ŝ Û û · Ä ä Ë ë Ï ï Ö ö Ü ü Ÿ ÿ · ǘ ǜ ǚ ǖ · caron/háček: Ǎ ǎ Č č Ď ď Ě ě Ǐ ǐ Ľ ľ Ň ň Ǒ ǒ Ř ř Š š Ť ť Ǔ ǔ Ž ž · breve: Ă ă Ğ ğ Ŏ ŏ Ŭ ŭ · Ā ā Ē ē Ī ī Ō ō Ū ū · à ã Ñ ñ Õ õ · Å å Ů ů · Ą ą Ę ę · Ç ç Ş ş Ţ ţ · Ő ő Ű ű · Ș ș Ț ț 이 문서에서 사용한 틀: 틀:Skin (원본 보기) (준보호됨)틀:각주 (원본 보기) (준보호됨)틀:그래픽 소프트웨어 (편집) 틀:둘러보기 상자 (원본 보기) (보호됨)틀:둘러보기 상자/중첩 (원본 보기) (준보호됨)틀:둘러보기 상자/핵심 (원본 보기) (보호됨)틀:리눅스 배포판 (편집) 틀:본문 (원본 보기) (준보호됨)틀:소프트웨어 목록 (편집) 틀:알림바 (원본 보기) (보호됨)틀:참고 (원본 보기) (준보호됨)틀:틀바 (원본 보기) (준보호됨)틀:퍼온문서 (원본 보기) (준보호됨)이 문서는 다음의 숨은 분류 1개에 속해 있습니다: 분류:퍼온 문서