명령 라인 인터페이스
코드나 단어 등 명령어 입력을 키보드로 요구하는 형태이다.
GUI
사용하기 편리한 사용자 인터페이스로 아이콘 형태를 이용하여 자유로운 마우스 사용을 허용한다.
운영체제의 기능
자원 관리 기능
- 메모리 관리
- 메인 메모리 관리(RAM) : 프로세서가 직접 주소로 지정할 수 있는 유일한 메모리
- 메모리 관리의 기능
- 메모리의 어느 부분을 사용하고, 누가 사용하는지 점검
- 메모리에 저장할 프로세스 결정
- 메모리를 할당하고 회수하는 방법 결정
- 보조기억장치 관리 : 메인 메모리는 공간이 제한되어 데이터와 프로그램을 계속 저장할 수 없어 보조기억장치 이용
- 보조기억장치 관리의 기능
- 빈 여유 공간 관리
- 새로운 파일 작성 시 저장 장소 할당
- 메모리 접근 요청 스케줄링
- 파일 생성하고 삭제
- 프로세스 관리
- 하나의 프로세스는 프로세서, 메모리, 파일, 입출력 장치와 같은 자원으로 구성
- 자원은 프로세스 생성할 때 제공하거나 실행 중에도 할당 가능
- 프로세스 관리를 위한 운영체제의 기능
- 프로세스와 스레드 스케줄링
- 사용자 프로세스와 시스템 프로세스 생성, 제거
- 프로세스 중지, 재수행
- 프로세스 동기화 방법 제공
- 프로세스 통신 방법 제공
- 교착 상태(Deadlock)를 방지하는 방법 제공
- 주변장치 관리
- 임시 저장 buffer-caching 시스템 기능 제공
- 일반 장치용 드라이버 인터페이스 제공
- 특정 장치 드라이버 제공
- 파일 관리
- 파일 생성, 삭제
- 디렉터리 생성, 삭제
- 보조기억장치의 파일 맵핑
- 안전한(비휘발성) 저장장치에 파일 저장
시스템 보호 기능
- 보호란? 컴퓨터 자원에서 프로그램, 프로세스, 사용자의 접근 제어 방법
- 운영체제는 파일 사용 권한 부여, 데이터 암호화 등 서비스를 제공, 데이터와 시스템 보안
- 컴퓨터 시스템에서는 여러 프로세스 동시 실행 가능하므로 상호 보호해야 함
네트워크(통신 기능)
- 프로세서는 다양한 방법으로 구성된 네트워크 이용, 완전 접속과 부분 접속 방법으로 연결
- 연결된 프로세서가 통신을 할 때는 경로 설정, 접속 정책, 충돌, 보안 등 고려(운영체제가 관리)
운영체제 서비스
- 부팅 또는 부트스트래핑
- 운영체제를 메인 메모리에 적재하는 과정
- 부트 로더는 부트스트랩 로더 줄인 말로 하드디스크와 같은 보조기억장치에 저장된 운영체제를 메인 메모리에 적재하는 ROM에 고정시킨 소규모 프로그램
- 사용자 서비스 제공
- 사용자 인터페이스
- 메뉴 인터페이스
- GUI
- 프로그램 실행
- 입출력 동작 수행
- 파일 시스템 조작
- 통신
- 오류 탐지
- 시스템 서비스
- 자원 할당
- 계정
- 보호와 보안
- 보호란? : 시스템 호출하려고 전달한 모든 매개변수의 타당성을 검사하고, 시스템 자원에 모든 사용자 접근을 제어하도록 보장하는 것
- 보안이란? : 잘못된 접근 시도에서 외부 입출력장치 방어, 외부에 사용자 인증을 요구하는 것