- OS(Operating System)은 하드웨어 및 소프트웨어 자원을 효율적으로 관리하여 사용자가 편리하게 이용할 수 있도록 하는 시스템 소프트웨어다.
-
multiprogramming : 여러 작업들이 동시에 메모리에 올라가게 되고 cpu나 I/O 장치 등 각각이 하나의 작업을 마치게 되면 다른 작업을 연이어 수행하게 되는 방식
-
multitasking : 멀티프로그래밍의 단점을 보완하기 위해 나온 방식으로 예를들어 하나의 작업이 cpu처리에 많은 시간이 소요될 경우 다른작업들은 cpu작업을 수행할 수 없으므로 각각의 작업에 일정한 시간을 부여하여 시간이 지날 경우 다른 작업에 시간을 할당하게 된다. 부여되는 시간이 매우 짧기 때문에 빈번한 작업이동이 일어나게 된다.
자원관리
-
자원을 응용프로그램에 나누어주며 사용자가 원활하게 작업 할 수 있도록 도와준다.
-
자원을 요청하는 프로그램이 여러개인 경우 적당한 순서로 자원을 배분하고 회수하여 다른 프로그램으로 나누어 준다.
자원 보호
- 프로그램이나 사용자가 다른 사람의 데이터를 삭제하거나 할 수 없도록 중요한 파일에 접근하지 못하게 보호 하는 등의 역할을 한다.
하드웨어 인터페이스 제공
- 다양한 종류의 하드웨어를 사용할 때 별도 소프트웨어를 설치하지 않더라도 사용할 수 있도록 하드웨어 인터페이스를 제공한다.
- 하드웨어 인터페이스 지원은 드라이버를 컴퓨터에 설치해야 가능하다.
사용자 인터페이스 제공
- 사용자가 운영체제를 편리하게 사용하도록 지원하기 위해 사용자 인터페이스를 제공한다. (GUI 제공)
프로세스
: 메인 메모리에 할당되어 실행중인 상태인 프로그램
- 준비상태의 프로세스 중 우선순위가 높은 프로세스에게 cpu를 할당하는 과정이다.
- 프로세스 내에 위치하여 실제로 작업을 수행하는 주체이며 모든 프로세스는 한 개 이상의 쓰레드를 포함하고 있다. 두개 이상일 경우 멀티스레드 프로세스라고 한다.