bdfgdfg
[OS] 운영체제 개요 본문
운영체제
- 운영체제는 사용자에게 편리한 인터페이스 환경을 제공하고 컴퓨터의 자원을 효율적으로 관리하는 소프트웨어.
- 사용자가 직접 컴퓨터 시스템의 자원을 건드리는게 아니라 운영체제가 컴퓨터 자원을 사용할 수 있는 인터페이스를 제공.
시분할 시스템
- 한 번에 하나의 작업만 수행하는것은 낭비라 효율적으로 사용하기 위한 기법인 다중 프로그래밍 기술이 개발이 되었다.
- 다중 프로그래밍 시스템에서는 CPU 사용시간을 아주 잘게 쪼개어 여러 작업에 나누어 준다.
- 이처럼 여러 작업을 조금씩 처리하여 작업이 동시에 이루어지는 것처럼 보이게 하는 것을 시분할 시스템이라 한다.
-> 이 때 잘게 나뉜 시간 한 조각을 타임 슬라이스 또는 타임 퀀텀이라고 한다.
-> 오늘날의 컴퓨터는 대부분 시분할 시스템이 사용 됨.
--> 하나의 CPU가 하나의 작업을 독점하여 처리하는게 아닌 CPU의 사용시간을 쪼깨어 번갈아가며 여러 작업을 실행시켜 처리. (시분할 운영체제)
커널과 인터페이스
- 커널은 프로세스 관리, 메모리 관리, 저장장치 관리와 같은 운영체제의 핵심적인 기능을 모아놓은 것
-> 컴퓨터를 켜고 끄기 전까지 항상 메모리에 상주한다.
- 즉 쉽게 말하면 운영체제의 핵심 구성요소로 컴퓨터 자원들을 관리하는 역할을 한다.
- 커널은 사용자나 응용 프로그램으로 부터 컴퓨터 자원을 보호하기 위해 자원에 직접 접근하는 것을 차단한다.
-> 따라서 자원을 이용하려면 시스템 호출이라는 인터페이스를 이용하여 접근해야 한다.
-> 파일 입출력을 예로들면 사용자가 디스크에 있는 텍스트 파일에 직접 접근하는게 아닌, 시스템 호출 함수를 이용하여 해당 파일을 쓰고(write) 읽기(read) 처리를 진행한다. (printf,cout도 시스템 호출 함수)
믈론 이러한 시스템 호출은 유저모드에서 커널 모드로의 전환(컨텍스트 스위칭)이 발생하므로 자주 남발하면 성능을 하락시키는 요인이 된다.
유저 모드 : 사용자 응용프로그램이 실행되는 영역
커널 모드 : 커널이 처리하는 작업(자원 관리,스케쥴링등등)이 실행되는 영역
핵심적인 내용만 간추려 정리했습니다.
'CS > 운영체제' 카테고리의 다른 글
[OS] 가상 메모리 (0) | 2022.04.09 |
---|---|
[OS] 스레드 동기화와 교착 상태(Deadlock) (0) | 2022.04.06 |
[OS] 스케줄링 알고리즘과 우선순위 (0) | 2022.04.04 |
[OS] 프로세스와 쓰레드 (0) | 2022.04.03 |
[OS] 컴퓨터 구조 개요 (0) | 2022.03.30 |