운영체제는 여러가지의 서비스를 제공합니다
# 사용자 편의성을 위한 서비스
[ 유저 인터페이스 ]
유저 인터페이스는 사용자가 운영체제와 접촉할 수 있게 하도록 서비스하는 방식입니다.
- GUI (Graphical User Interface)
윈도우 os나 맥 os를 보면 그래픽기반의 인터페이스를 제공합니다. 우리가 흔히 아는 마우스 클릭을 통해 프로그램을 실행하거나 키보드 입력을 하면 유저에 친숙한 그래픽방식으로 수행사항을 보여주는 os 입니다 - CLI (command Line Interface)
커맨드를 직접 입력해서 시스템에 요청
리눅스는 물론이고 윈도우 같은 경우에도 cmd명령어를 실행해서 커맨드창에서 CLI로 주로 명령어를 실행하는데, 히스토리 관리나 정확한 실행 요청의 장점이 있습니다, - Touch Screen
모바일 기반의 인터페이스
[ 프로그램 실행 ]
시스템은 반드시 메모리에 프로그램을 적재하고 실행하고 구동종룎지 가능하게 하도록 합니다
[ I/O 수행 ]
실행프로그램에 입출력이 필요할 경우 그 입출력을 시스템내부에서 처리할 수 있도록 지원합니다.
[ 파일 시스템 조작 ]
파일 및 디렉토리 읽기/쓰기/생성/삭제를 지원, 사용자 권한 관리 기능을 지원합니다.
[ 통신 ]
동일하거나 다른 컴퓨터 시스템의 프로세스 사이의 통신을 가능하게 합니다.
# 효율적인 시스템 운영을 위한 서비스
[ 리소스 할당 ]
os는 리소스 할당을 주관하는 역할을 하는데, 다수개의 사용자 혹은 작업을 동시에 처리할 떄, 각각의 리소스에게 적당한 할당을 진행합니다
[ 로깅 ]
어떤 프로그램이 얼마나 많은, 어떤 종류의 컴퓨터 리소스를 사용했는지 계속 추적합니다.
[ 보호와 보안 ]
다수 사용자나 네트워크 구성된 시스템이 동시 처리시 서로 방해되지 않도록 합니다.
네트워크가 커지거나 다수의 사용자가 사용했을 때, 나쁜 의도롤 가지고 접근된 것이 아닐지라도 os는 사용자가 의도하지 않은 액션 혹은 하면 안되는 액션에 대해서 이런 행동들을 하지 않도록 사전에 보호하고, 그러한 행동을 했다고 해도 부정적인 결과값이 유효하지 않도록 보안 정책으로 막아둡니다.