운영체제는 컴퓨터 하드웨어를 관리하는 소프트웨이다. application 프로그램들이 동작하는 환경을 제공하는
interrupt들은 주요 방법이다. 하드웨어와 운영체제가 상호작용하는
컴퓨터가 프로그램들을 실행하는 일을 하기 위해서, 프로그램들은 반드시 메인 메모리에 있어야 한다. 오직 프로세서가 직접 접근할 수 있는 대용량 스토리지 공간
메인 메모리는 보통 전원이 꺼지거나 될 잃을 때 내용들을 잃는 휘발성 저장 장치이다.
비휘발성 스토리지는 메인 메모리에서의 확장이고, 대량의 데이터 영구적으로 가지고 있을 능력이 있다.
가장 일반적인 비휘발성 스토리지 장치는 프로그램들과 데이터의 공간을 제공할 수 있는 하드 디스크이다.
컴퓨터 시스템에 있는 스토리지 시스템의 넓은 다양성은 속도와 비용에 따른 계층 구조를 조직할 수 있다. 높은 수준은 비싸지만 빠르다. 계층 구조를 내려가면, 비트당 비용은 일반적으로 감소하고, 반면에 접근 시간은 일반적으로 증가한다.
현대 컴퓨터 아키텍쳐들은 각 CPU가 몇 개의 컴퓨팅 코어들을 포함하는 멀티프로세서 시스템이다.
CPU 이용을 베스트로 하기 위해서, 현대의 운영체제들은 멀티프로그래밍을 사용한다. 동시에 메모리에서 여러 개의 일들을 허락하는. 따라서 CPU가 항상 일을 실행하고 있는 것을 보장한다.
멀티태스킹은 멀티프로그래밍에서 확장된다. CPU 스케줄링 알고리즘은 프로세스 사이에서 빨리 전환된다, 빠른 응답 시간을 사용자들에게 제공하는 것
명력을 막는 것은 특권이다 그리고 오직 커널 모드에서 실행될 수 있다. 예시들은 포함한다 명령이 커널 모드에서 전환(변경)되는 것을 I/O 제어, 타이머 관리, 인터럽트 관리
프로세스는 운영체제에서 동작하기 위한 필수적인 유닛이다. 프로세스 관리는 포함한다 생성하는 것 그리고 프로세스들을 삭제하는 것 그리고 메커니즘을 제공하는 것 프로세스들에게 서로 소통하고 동기화하는
운영체제는 메모리를 관리한다 흔적을 보관하기 위해 메모리의 부분들이 누구에 의해 사용되고있는지. 이것은 또한 책임진다. 동적 할당과 메모리 공간 확보
저장 공간은 운영체제에 의해 관리된다; 이것은 포함한다 파일 시스템들을 제공하는 것을. 나타내기 위해. 파일들, 디렉토리들, 그리고 mass 스토리지 장치의 공간을 관리하는 것
운영체제들은 메커니즘을 제공한다. 운영체제와 사용자들을 보호과 보안을 위해. 보호 방안은 자원들에 제어한다 프로세스 또는 사용자들의 접근을 컴퓨터 시스템이 제공하는.
가상화는 포함한다. 컴퓨터의 하드웨어를 추상화하는 것. 여러 개의 다른 실행 환경에서
데이터 구조는 운영체제에서 사용된다. 리스트, 스택, 큐, 트리, 맵을 포함하는
컴퓨팅은 다양한 환경에서 발생한다. 전통적인 컴퓨팅, 모바일 컴퓨팅, 클라이언트-서버 시스템, P2P 시스템, 클라우드 컴퓨팅, 그리고 실시간 임베디드 시스템을 포함하는
무료 그리고 오픈 소스 운영체제들은 소스코드 포멧으로 이용할 수 있다. 무료 소프트웨어는 허용하도록 라이센스된다 사용에 비용없이, 재배포 그리고 수정. GNU/Linux, FreeBSD, 그리고 Solaris는 인기있는 오픈소스 시스템의 예시들이다.