OS 스터디 끝내고 CS로 넘어온지 어언,,~~ 얼마나됐지? 암튼 오랜만에 다시 OS를 공부하게 되었다. >>
종류
- GUI : 그래픽을 통해 사용자와 상호작용
- CUI(=CLI) : 문자를 통해 사용자와 상호작용
역할
프로그램 실행 과정
💡 프로그램은 OS(커널)가 관리
- SSD에 프로그램 설치 (Solid State Drive, 영구 데이터 저장을 위한 장치)
- RAM에 올라감 👉 프로그램이 프로세스가 됨
- CPU가 메모리에 있는 명령어를 실행하면서 프로그램(프로세스) 실행
이 때, 프로세스가 실행되는 과정에는 스와핑, 우선순위 등이 있으며
이러한 과정을 관리해주는 역할이 운영체제의 역할이다!!!
운영체제 역할
- CPU, 프로세스 우선순위 스케줄링
- 메모리 관리
- 프로그램 저장 방식 관리
구조
응용 프로그램 - {OS: 인터페이스 - 시스템콜 - 커널 - 드라이버} - 하드웨어
시스템콜
개념
운영체제가 커널에 접근하기 위한 인터페이스
역할
- 유저모드와 커널모드의 구분, 변환
- 프로세스 생성 및 삭제
- 시간 및 날짜 관련 시스템
- 디바이스 관리 등
과정
- 응용 프로그램이 요청 발동
- 올바른 요청인지 확인
- 시스템콜을 통해 유저모드(modebit = 1)가 커널모드(modebit = 0)로 변환됨
- 커널함수 실행
- 완료되면 시스텀콜을 거쳐 다시 유저모드로 변환
장점