운영체제 서비스 관점 - 프로그램 실행환경 제공
사용자를 위한 서비스
1. 사용자 인터페이스 (UI) - 거의 모든 운영체제가 제공
> 명령어 라인 인터페이스 (CLI)
> 그래픽 사용자 인터페이스 (GUI)
> 배치(batch) 인터페이스 - shell 프로그램
2. 프로그램 실행
> 프로그램을 메모리에 적재(load)후 실행(run)시킴
> 실행되는 프로그램을 종료시킴 (정상적 종료, 비정상적 종료 - 오류)
3. 입출력 연산
> 입출력 동작의 효울과 보호를 위해서 사용자가 직접 입출력을 수행할 수 없게 함
> 따라서 운영체제가 대신 입출력 수행 서비스를 제공
4. 파일 시스템 연산
> 파일/디렉토리 read/write/create/delete
> 파일 검색, 파일 목록 및 정보 출력
> 파일/디렉토리 접근 권한 관리 등
5. 통신
> 프로세스 간에 정보를 교환 (동일 컴퓨터 내의 프로세스 간, 컴퓨터 네트워크로 연결된 다른 컴퓨터의 프로세스 간)
> 정보 교환 방법 :
> 공유 메모리 (shared memory) 경유 - 동일 컴퓨터
> 메시지 전송 (message passing) 방법 - 동일/다른 컴퓨터
6. 오류탐지
> 오류 발생 요인 -> 하드웨어/내부 인터럽트로 CPU에게 알림
(오류 : 메모리 - 메모리 오류, 입출력 장치 - 네트워크 접속 실패, 프린터 종이 부족, 사용자프로그램 - overflow, 등)
> 오류가 발생할 때, 운영체제는 올바르고 일관성 있는 계산을 보자하기위해 각 오류에 대해서 적절한 조치를 취함
(시스템 정지(halt), 오류 발생 프로세스 종료 - 오류코드 반환, 오류 원인 제거 후 재실행)
> 디버깅 툴 제공
7. 자원할당
> 자원 (resource) : 물리적 자원 - CPU cycle, main memory, 저장장치, 네트워크, I/O deivce 등
추상적 자원 - 파일, 페이지, 프로세스, 프로토콜 등 운영체제가 관리를 위해 추상화한 객체
> 운영체제는 다수의 사용자/다수의 프로세스에게 자원을 할당
> 일부 자원은 특별한 할당 방법을 사용
> 나머지 자원은 일반적인 request / release 방벙을 사용
8. 회계
> 컴퓨터 자원에 대한 사용 기록 - 어떤 자원을 얼마나 사용했는가
> 사용 통계 또는 사용 요금 청구에 사용됨
9. 보호(protection)와 보안(security)
> 보호 - 한 프로세스가 다른 프로세스나 운영체제의 동작을 방해하지 않도록 시스템 자원에 대한 접근을 통제하는 것
> 보안 - 외부로부터 부적합한 시스템 접근을 통제하는 것 (사용자 인증, 외부와 연결되는 입출력 장치의 부적합 접근 시도 방지, 침입탐지를 위한 모든 접속 기록
2.3 시스템 호출(system call) (0) | 2020.04.04 |
---|---|
2.2 사용자 운영체제 인터페이스 (0) | 2020.04.04 |
1.11 컴퓨팅 환경 (0) | 2020.04.04 |
1.10 커널 자료구조 (0) | 2020.04.04 |
1.6 ~ 1.9 자원 관리 (Process, Memory, Storage) (0) | 2020.04.04 |
댓글 영역