1) 운영체제 정의
운영체제(OS : Operating System)는 사용자가 필요로 하는 프로그램(응용 소프트웨어 : Application Program)의 실행을 위한 시스템 소프트웨어(SS : System Software)의 하나이다.
위에서 운영체제가 시스템 소프트웨어의 하나라고 언급했지만, 최근에는 대부분의 시스템 소프트웨어가 운영체제에 포함되는 추세로 시스템 소프트웨어 = 운영체제의 의미로 사용하기도 한다.
위의 두 번째 그림에서, 인터페이스 / 시스템 콜 / 커널이 운영체제의 영역이다.
운영체제를 정의하자면 다음과 같다.
- 컴퓨터 하드웨어 관리와 사용자의 인터페이스를 담당하는 프로그램
- 컴퓨터의 성능을 효율적으로 운영, 관리 및 감독하는 프로그램
- 컴퓨터의 각종 자원들을 효율적으로 관리하여 사용자에게 최대의 편의성을 제공하는 프로그램
- 종류로는 Window, LINUX, MAC OS 등이 있음.
2) 운영체제 목적
정의 부분에서 언급한 내용이 곧 운영체제의 목적이라고 볼 수 있다.
- 컴퓨터 시스템의 하드웨어를 효율적으로 사용하도록
- 컴퓨터의 모든 자원을 관리 -> 기억장치, I/O장치, 프로세서, 프로그램, 파일 및 데이터
운영체제의 성능 평가 요소는 다음과 같다.
- 처리능력 향상 -> 일정 시간동안 시스템에서 처리할 수 있는 일의 양으로 시스템의 생산성을 나타내는 단위
- 반환시간 단축 -> 시스템에 작업을 의뢰한 때부터 처리가 완료될 때까지의 소요시간
- 사용 가능도 증대 -> 시스템의 자원을 사용할 필요가 있을 때 얼마나 신속하게 사용할 수 있는가의 정도
- 신뢰도 향상 -> 주어진 문제를 얼마나 정확하게 처리하는가의 정도
운영체제 역할
① 하드웨어 자원 관리
- 프로세서, 기억장치, I/O 장치 등의 하드웨어의 자원을 할당(스케줄링)하고 관리
② 메모리 관리
- 한정된 메모리를 어떤 프로세스에 얼마나 할당해야 하는지를 관리함
③ 입출력에 대한 보조 기능 제공
- 사용자 응용 프로그램이 키보드, 프린터 등과의 통신을 할 수 있도록 지원
④ 사용자와 시스템간의 편리한 인터페이스 제공
- 터미널 환경(CLI), 그래픽 사용자 환경(GUI)
⑤ 파일, 데이터 관리 및 자원의 공유 기능 제공
- 파일의 생성, 삭제, 변경, 유지 등 관리
⑥ 시스템 오류를 검사 및 복구시키고, 자원을 보호하는 기능 제공
⑦ 컴퓨터 네트워크 관리 및 네트워크 프로토콜을 지원해 컴퓨터 간 통신을 제어
⑧ 프로세스 관리
- 프로세스 생성&제거, 시작&정지 등 프로세스 스케줄링 및 동기화 관리
시스템콜
운영체제가 커널에 접근하기 위한 인터페이스이며 유저 프로그램이 운영체제의 서비스를 받기 위해 커널 함수를 호출 할 때 쓴다.
유저 프로그램이 I/O 요청으로 트랩(trap)을 발동하면 올바른 I/O 요청인지 확인 한 후 유저 모드가 시스템콜을 통해 커널 모드로 변환되어 실행된다.
이때, 유저 모드에서 파일을 읽는 것이 아니라 커널 모드에서 파일을 읽고 다시 유저모드로 돌아가 로직을 수행한다.
-> 이를 통해, 컴퓨터 자원에 대한 직접 접근을 차단할 수 있고, 프로그램을 외부로부터 보호할 수 있다.
modebit
시스템 콜 작동시 modebit을 통해 유저 모드와 커널 모드를 구분 한다.
modebit 은 1, 0의 값을 가지는 플래그 변수로
1 -> 유저 모드
0 -> 커널 모드
에 해당한다.
'Basic > 운영체제' 카테고리의 다른 글
[OS] 멀티 쓰레드와 동기화 (0) | 2024.06.19 |
---|---|
[OS] 쓰레드 (0) | 2024.06.13 |
[OS] 프로세스 (0) | 2024.06.12 |
[OS] 메모리 구조 (0) | 2024.06.10 |
[OS] 커널(Kernel)이란? (1) | 2024.05.27 |