##이다. 컴퓨터는 더 빠른 접근, 더 높은 신뢰성을 위해, 또 드라이브의 남은 공간을 더 잘 이용하기 위한 특정한 방식으로 구조화된 파일을 이용하여 디스크에 데이터를 저장한다. 파일을 디스크에 저장하는 이러한 방식을 파일 시스템이라고 부르며 파일이 이름과 특성을 가질 수 있게 한다. 또, 이러한 파일들을 디렉터리 트리로 정렬되는 특정 계급의 디렉터리와 폴더에 저장하게 한다. 초기의 운영 체제는 일반적으로 한 종류의 디스크 드라이브와 한 종류의 파일 시스템을 지원하였다. 초기의 파일 시스템들은 용량, 속도, 또 파일 이름과 디렉터리 구조의 종류에 제한이 있었다. 이러한 제한은 설계된 운영 체제의 제한에 반영되므로 특정한 운영 체제가 하나 이상의 파일 시스템을 지원하는 것을 매우 어렵게 만들었다. 더 단순한 수많은 운영 체제들은 기억 장치의 시스템에 접근하기 위한 제한된 옵션들을 지원하였는데, 유닉스와 GNU / 리눅스와 같은 운영 체제들은 가상 파일 시스템 ( VFS ) 이라는 기술을 지원한다. 유닉스와 같은 운영 체제는 공통 API를 통해 접근하는 파일 시스템이나 디자인에 관계 없이 다양한 기억 장치를 지원한다. 그러므로 프로그램을 개발할 때 장치 접근에 대한 정보를 공부하지 않아도 되게 한다
##로그인 이름공간 문서토론 변수 보기 읽기편집역사 보기 더 보기 검색 둘러보기 대문사용자 모임요즘 화제최근 문서 보기임의 문서로도움말기부 도구 여기를 가리키는 문서가리키는 글의 최근 올리기특수 문서 목록고유 링크문서 정보위키데이터 항목이 문서 인용하기 다른 프로젝트 인쇄 / 내보내기 책 만들기PDF로 다운로드인쇄용 판 다른 언어 ( ) - - 家 語 / Hak - - 日 本 語 Franca / / srpskiBasa / / 中 文 - - 語 링크 편집 이 문서는 2019년 4월 9일 ( 화 ) 02 : 26에 마지막으로 편집되었습니다. 모든 문서는 크리에이티브 커먼즈 저작자표시 - 동일조건변경허락 3. 0에 따라 사용할 수 있으며, 추가적인 조건이 적용될 수 있습니다. 자세한 내용은 이용 약관을 참고하십시오. 미국 및 다른 국가에 등록되어 있는 Wikimedia Foundation, Inc. 소유의 등록 상표입니다. 개인정보 정책 위키백과 소개 면책 조항 개발자 쿠키 정책 모바일 보기
##하다. 이러한 문제를 해결하기 위해 운영 체제들은 반드시 어떠한 종류의 장치가 제어될 것인지를 지시하여야 한다. 그러면 장치 드라이버의 기능이 이러한 운영 체제의 함수 호출을 장치 특유의 호출로 번역하게 된다. 이론적으로 새로운 방식으로 제어되는 새로운 장치는 적절한 드라이버를 사용할 수 있는 상황이라면 올바르게 동작한다. 새로운 드라이버는 운영 체제의 관점에서 장치가 평소처럼 동작하과 있음을 보증하게 된다. 비스타 이전의 윈도우, 2. 6 미만의 리눅스 버전에서는 모든 드라이버 실행이 협동적이어서, 드라이버가 무한 루프에 진입하면 시스템이 정지하는 일이 발생한다. 더 최근에 나온 운영 체제들은 커널 선점을 사용한다. 이 경우 태스크 제공을 위해 커널이 드라이버를 간섭하며 장치 드라이버로부터 응답을 받을 때까지 자신을 프로세스로부터 분리시키며 더 많은 태스크를 부여할 수 있다. 네트워킹 [ 편집 ] 이 부분의 본문은 컴퓨터 네트워크입니다. 현재 대부분의 운영 체제는 다양한 통신 프로토콜, 하드웨어, 응용 프로그램을 지원한다. 다시 말해, 서로 비슷하지 않은 운영 체제를 실행하는 컴퓨터가 자원 ( 유무선 연결을 이용한 연산, 파일, 프린터, 스캐너 ) 을 공유하기 위해 같은 망에 참여할 수 있다. 네트워크는 컴퓨터
. 유닉스의 정보 처리 상호 운용성은 POSIX 표준을 확립함으로써 드러난다. POSIX 표준은 이것이 비록 다양한 유닉스 계열을 위해서 만들어지기는 하였으나 다른 어떠한 운영 체제에라도 적용할 수 있다. BSD 및 BSD 계열 [ 편집 ] 이 부분의 본문은 BSD입니다. 월드 와이드 웹을 위한 최초의 서버는 BSD 기반의 넥스트스텝에서 실행하였다. 유닉스 계열의 하부 집합 가운데 하나로 BSD 계열이 있다. 여기에는 FreeBSD, NetBSD, OpenBSD를 포함한다. 이러한 운영 체제들은 웹 서버에서 가장 쉽게 찾을 수 있지만 개인용 컴퓨터 운영 체제로의 역할도 한다. 인터넷은 BSD와도 많은 관련이 있는데, 네트워크에 연결하여 데이터를 주고 받는 데 흔히 쓰이는 현재의 프로토콜들 가운데 다수가 BSD에서 정의하여 널리 쓰이게 된 것이다. 또, 월드 와이드 웹은 넥스트스텝이라는 BSD 기반 운영 체제를 실행하는 수많은 컴퓨터에서 처음 입증되었다. BSD는 유닉스에 뿌리를 두고 있다. 1974년에 캘리포니아 대학교 버클리는 최초의 유닉스 시스템을 설치하였다. 시간이 지나 컴퓨터 과학부의 학생들과 직원들은 그곳에서 문서 편집기와 같은 새로운 프로그램을 이러한 것들에 일찍이 추가하기 시작하
##도 열성적인 커뮤니티와 전문 분야를 위한 소수 플랫폼으로 개발이 이어지고 있다. DEC의 OpenVMS도 휴렛 패커드가 계속 개발하고 있다. 도스 등의 운영 체제도 FreeDOS와 같은 프로젝트를 통해 명맥을 이어가고 있다. 그 밖의 운영 체제는 운영 체제 교육용이나 학술용, 또는 운영 체제 개념의 연구 등을 위해 예외적으로 쓰인다. 학술과 연구 역할을 모두 수행하는 시스템의 전형적인 예로 미닉스가 있다. 반면 순수 연구 목적으로 쓰이는 것으로는 싱귤래리티가 있다. 구성 요소 [ 편집 ] 운영 체제를 이루는 요소는 컴퓨터의 다른 부분들과 함께 동작하게 만들기 위하여 존재한다. 금융 데이터베이스부터 영화 편집 프로그램에 이르기까지 소프트웨어는 모두 소프트웨어에 쓰이는 하드웨어가 단순히 마우스나 키보드만 이용하든지 아니면 인터넷 연결같이 복잡한 방식을 이용하든지 상관 없이 하드웨어를 이용하기 위하여 운영 체제로 말미암아 실행해야 한다. 커널 [ 편집 ] 이 부분의 본문은 커널 ( 컴퓨팅 ) 입니다. 커널이 응용 소프트웨어를 컴퓨터 하드웨어에 연결하고 있다. 펌웨어와 장치 드라이버의 도움을 받아 커널은 모든 컴퓨터 하드웨어 장치에 대한 가장 기초 수준의 제어권을 제공한다. 커널은 램을 통해 프로그램을 위한 메모리 접근을 관리하며 어느 프로그램이 어느 하드웨어 자원에 접근할지를
. 이 프로젝트가 유닉스 여러 곳의 기능을 복제하는 데 큰 성공을 이루자 GNU 허드 커널 개발은 비생산적인 것으로 입증되었다. 1991년 핀란드 컴퓨터 과학부 학생인 리누스 토르발스는 최초의 리눅스 커널 버전을 출시하였다. 곧 GNU 유저랜드와 시스템 소프트웨어에 병합되면서 컴퓨터 운영 체제를 이루게 되었다. BSD는 유닉스 계열로서 1970년대에 시작하여 수많은 미니컴퓨터에 포팅되었으며 마침내 FreeBSD, NetBSD, OpenBSD와 같이 개인용 컴퓨터에도 쓰이게 되었다. 운영 체제의 예 [ 편집 ] 이 부분의 본문은 운영 체제의 목록입니다. 유닉스 및 유닉스 계열 운영 체제 [ 편집 ] 이 부분의 본문은 유닉스 및 유닉스 계열입니다. 유닉스 계열의 역사 유닉스는 처음에는 어셈블리어로 작성되었다. [ 8 ] 켄 톰프슨은 BCPL에 기반을 둔 B를 작성하였다. 이것으로 말미암아 그는 유닉스를 작성하기도 하였는데, 이는 멀틱스 프로젝트에서의 경험을 바탕으로 한다. C는 B를 대체하였으며 유닉스는 현대의 모든 운영 체제에 영향을 미쳤던 크고 복잡한 계열의 상호 관련 운영 체제로 발전하였다. ( 역사 참조 ) 유닉스 계열 운영 체제
기계에 동작하도록 설계되어 있으며, 제한된 수의 자원으로 동작한다. 매우 크기가 작고 극히 효율적으로 설계되어 있다. 임베디드 운영 체제의 예로 윈도우 CE와 미닉스 3이 있다. 실시간 운영 체제 [ 편집 ] 실시간 운영 체제는 특정한 짧은 시간 내에 이벤트나 데이터의 처리를 보증하는 운영 체제이다. 실시간 운영 체제는 싱글태스킹일 수도 있고, 멀티태스킹일 수도 있으며 멀티태스킹의 경우 특수한 스케줄링 알고리즘을 사용한다. 라이브러리 [ 편집 ] 라이브러리 운영 체제는 네트워크 등 일반적인 운영 체제가 제공하는 서비스들이 라이브러리 형태로 제공되는 것을 의미한다. 운영 체제의 구성 [ 편집 ] 운영 체제는 많은 부분을 이룬다. 가장 중요한 요소 가운데 하나가 커널인데, 커널은 일반인이 일반적으로 보지 못하는 낮은 수준의 프로세스를 제어한다. 얼마나 메모리를 읽고 쓸 것인지, 어느 프로세스를 실행할 것인지, 모니터, 키보드, 마우스와 같은 장치를 통해 어떠한 정보를 주고받을 것인지, 네트워크를 통해 받은 정보를 어떻게 해석할 것인지를 제어한다. 사용자 인터페이스는 컴퓨터 사용자가 직접 프로그램을 제어하고 사용할 수 있게 하는 운영 체제의 기능이다. 사용자 인터페이스는 아이콘과 바탕 화면을 지닌 그래픽이나 명령 줄을 지닌 문자를 이룰 수 있다
관계 없이 다양한 기억 장치를 지원한다. 그러므로 프로그램을 개발할 때 장치 접근에 대한 정보를 공부하지 않아도 되게 한다. VFS는 다양한 파일 시스템에, 특정한 장치 드라이버와 파일 시스템 드라이버를 사용하여 프로그램들이 무제한의 장치에 접근할 수 있는 기능을 운영 체제에 제공한다. 연결된 하드 드라이브와 같은 기억 장치들은 장치 드라이버를 통해 접근한다. 장치 드라이버는 드라이브의 특정한 언어를 이해하고 이 언어를 운영 체제가 모든 디스크 드라이브에 접근할 때 사용하는 표준 언어로 번역할 수 있다. 유닉스에서 이를 블록 장치의 언어라고 한다. 장치 드라이버 [ 편집 ] 이 부분의 본문은 장치 드라이버입니다. 장치 드라이버는 하드웨어 장치들과 상호 작용할 수 있도록 개발된 특정한 종류의 컴퓨터 소프트웨어이다. 장치 드라이버의 주된 설계 목적은 추상화이다. 하드웨어의 모델은, 특히 같은 종류의 장치라 하더라도 각기 다르다. 제조업체들은 더 신뢰할만한, 더 나은 성능을 제공하기 위해 더 새로운 모델들을 출시하고 이러한 새로운 모델들은 다르게 동작하기도 한다. 컴퓨터들과 운영 체제들은 현재든 앞으로든 모든 장치를 어떻게 제어할 것인지 예측하는 것은 불가능하다. 이러한 문제를 해결하기 위해 운영 체제들은 반드시 어떠한 종류의 장치가 제어될 것인지를 지시하여야 한다
##아키텍처 운영 체제 통신 & 네트워크 컴퓨터 오디오 라우팅 네트워크 토폴로지 암호학 차세대 통신망 데이터베이스 데이터 마이닝 RDBMS SQL NoSQL 오라클 데이터베이스 인공 지능 자동추론 전산언어학 컴퓨터 비전 진화 연산 기계 학습 자연 언어 처리 로봇학 컴퓨터 그래픽 시각화 영상 처리 인간과 컴퓨터 상호 작용 컴퓨터 접근성 사용자 인터페이스 착용 컴퓨터 유비쿼터스 컴퓨팅 가상현실 계산과학 인공생명 생물정보학 인지과학 계산화학 계산론적 신경과학 계산물리학 수치해석학 기호계산 정보보호 암호학 물리 보안 애플리케이션 보안 인터넷 보안 네트워크 보안 해킹 크래킹 전거 통제 LCCN : sh85094982 GND : 4006216 - 8 BNF : cb119333481 ( 데이터 ) NDL : 00865121 NKC : ph115593 원본 주소 " " 분류 : 운영 체제숨은 분류 : 문화어 표기를 포함한 문서영어 표기를 포함한 문서한국어 위키백과의 링크가 위키데이터와 다른 위키공용분류LCCN 식별자를 포함한 위키백과 문서GND 식별자를 포함한 위키백과 문서BNF 식별자를 포함한 위키백과 문서 둘러보기 메뉴 개인 도구 로그인하지 않음토론기여계정 만들기로그인 이름공간 문서토론 변수 보기 읽기편집역사 보기 더 보기 검색 둘러보기 대문사용자 모임요
##은 문맥 교환을 없앰으로써 GUI를 더 반응적으로 만들 수 있다. 다른 운영 체제로는 그래픽 하부 시스템을 커널과 운영 체제로부터 분리시키는 모듈성이 있다. 1980년대 유닉스에서 VMS 등은 이러한 방식으로 만들어진 운영 체제였다. GNU / 리눅스 및 맥 OS X 또한 이러한 방식을 취한다. 윈도우 비스타와 같은 현대의 마이크로소프트 윈도우는 거의 사용자 공간에 위치한 그래픽 하부 시스템을 포함하고 있지만 윈도 NT 4. 0과 윈도우 서버 2003 버전 사이의 그래픽 구현 루틴은 거의 커널 공간에 존재한다. 윈도우 9x는 인터페이스와 커널 사이의 구별이 거의 없다. 수많은 컴퓨터 운영 체제는 사용자가 원하는 인터페이스를 만들어 설치할 수 있게 하고 있다. X 윈도 시스템을 GNOME이나 KDE와 함께 쓰면 유닉스 및 유닉스 계열 시스템에서 이러한 설정을 할 수 있다. 수많은 윈도우 셸 치환을 통해 마이크로소프트 윈도우에서도 이러한 작업을 수행할 수 있는데, 윈도우 셸을 교체하는 방식을 쓰지만 윈도우로부터 셸 자체를 분리할 수는 없다. 실시간 운영 체제 [ 편집 ] 이 부분의 본문은 실시간 운영 체제입니다. 실시간 운영 체제 ( RTOS ) 는 정해진 기간 안에 수행이 끝나야 하는 응용 프로그램을 위하여 만들어진 멀티태스
운영체제(運營 體制, 문화어: 조작 체계) 또는 오퍼레이팅 시스템(operating system, 약칭: OS)은 사용자의 하드웨어, 시스템 리소스를 제어하고 프로그램에 대한 일반적 서비스를 지원하는 시스템 소프트웨어이다. 시스템 하드웨어를 관리할 뿐 아니라 응용 소프트웨어를 실행하기 위하여 하드웨어 추상화 플랫폼과 공통 시스템 서비스를 제공한다. 최근에는 가상화 기술의 발전에 힘입어 실제 하드웨어가 아닌 하이퍼바이저(가상 머신) 위에서 실행되기도 한다. 또한 입출력과 메모리 할당과 같은 하드웨어 기능의 경우 운영체제는 응용 프로그램과 컴퓨터 하드웨어 사이의 중재 역할을 한다. 그러나 응용 프로그램 코드는 일반적으로 하드웨어에서 직접 실행된다. 운영체제는 휴대 전화, 게임기에서부터 슈퍼컴퓨터, 웹 서버에 이르기까지 컴퓨터를 포함하는 거의 모든 장치에서 볼 수 있다. 운영체제는 한 면으로는 소비자를, 다른 한 면으로는 프로그램 개발자를 함께 하나의 시장으로 데려다 놓을 수 있는 양면 플랫폼이다. 잘 알려진 현대의 PC 운영체제에는 마이크로소프트 윈도우, 맥 OS X, 리눅스가 있다. 이 밖에 BSD, 유닉스 등의 PC용 운영체제도 존재한다. 운영체제는 실행되는 응용 프로그램들이 메모리와 CPU, 입출력 장치 등의 자원들을 사용할 수 있도록 만들어 준다. 더불어, 이들을 추상화하여 파일 시스템 등의 서비스를 제공한다. 또한 멀티태스킹을 지원하는 경우, 여러 개의 응용 프로그램을 실행하고 있는 동안, 운영체제는 이러한 모든 프로세스들을 스케줄링하여 마치 그들이 동시에 수행되는 것처럼 보이는 효과를 낸다. 또한 운영체제는 컴퓨터 과학의 연구 분야이기도 하다.