티스토리 뷰
운영체제란?
프로그램 실행에 마땅히 필요한 요소들을 가리켜 시스템 자원, 혹은 줄여서 자원이라고 한다. 따라서 CPU, 메모리, 보조기억장치, 입출력장치 등과 같은 컴퓨터 부품들은 모두 자원이다.
모든 프로그램은 실행되기 위해 반드시 자원이 필요하다. 여기서 실행할 프로그램에 필요한 자원을 할당하고, 프로그램이 올바르게 실행되도록 돕는 특별한 프로그램이 바로 운영체제(operating system)이다.
운영체제는 커널 영역(kernel space)라는 공간에 따로 적재되어 실행된다. 커널영역을 제외한 나머지 영역, 사용자가 이용하는 응용 프로그램이 적재되는 영역을 사용자 영역(user space)라고 한다.
운영체제는 커널 영역에 적재되어 사용자 영역에 적재된 프로그램들에 자원을 할당하고 이들이 올바르게 실행되도록 돕는다.
응용 프로그램
응용 프로그램(application software)은 사용자가 특정 목적을 위해 사용하는 일반적인 프로그램을 의미한다. 일상에서 사용하는 워드 프로세서, 인터넷 브라우저, 메모장, 게임 등과 같은 프로그램이 모두 응용 프로그램이다.
운영체제는 실행할 프로그램을 메모리에 적재하고, 더 이상 실행되지 않는 프로그램을 메모리에서 삭제하며 지속적으로 메모리 자원을 관리한다.
CPU
이 세 개의 응용 프로그램이 실행되려면 반드시 CPU가 필요하다. 그렇다면 어떤 프로그램부터 CPU를 사용하게 할까? 그리고 얼마나 오랫동안 CPU를 이용하게 할까?
이 문제 또한 운영체제가 해결한다. 어느 한 프로그램이 CPU를 독점하면 다른 프로그램들은 올바르게 실행될 수 없기 때문에 운영체제는 최대한 공정하게 여러 프로그램에 CPU 자원을 할당한다.
이처럼 운영체제는 응용 프로그램과 하드웨어 사이에서 응용 프로그램에 필요한 자원을 할당하고, 응용 프로그램이 올바르게 실행되도록 관리하는 역할을 맡는다.
운영체제는 흔히 정부에 비유되기도 한다. 한 나라의 정부는 땅, 인력, 돈 등 국내 자원을 효율적으로 배분하고, 국민들이 지켜야 할 규칙을 만들어 나라 전체를 관리한다.
운영체제도 마찬가지이다. 운영체제는 응용 프로그램에 자원을 효율적으로 배분하고, 실행할 프로그램들이 지켜야 할 규칙을 만들어 컴퓨터 시스템 전체를 관리한다.
참고
'CS > 운영체제' 카테고리의 다른 글
[운영체제] 데몬 이해하기 (Daemon) / Hoxy.. pm2도 데몬? (0) | 2025.02.06 |
---|
- Total
- Today
- Yesterday
- hydrationboundary
- map
- 취업까지달린다
- tanstackquery
- 중급 프로젝트
- react
- arguments
- Git
- 객체
- 유사배열객체
- rest parameter
- CSS
- js
- innerhtml
- html
- 동기
- 프론트엔드
- javascript
- Target
- currentTarget
- 비동기
- Next.js
- 코드잇 스프린트
- 스프린트프론트엔드6기
- 코드잇스프린트
- 비제어 컴포넌트
- 리액트
- GitHub
- 제어 컴포넌트
- 배열
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |