Operating System Services
- Operating Systems는 사용자에게 프로그램이 돌아가는 환경을 제공해준다.
- Operating Systems는 User Interface(CLI, GUI, touch-screen and Batch), Program execution, I/O operations의 기능을 제공한다.
- Operating Systems는 파일을 관리하기 위한 File-system manipulation, 프로세스가 많은 정보를 공유하는 Communications, 에러를 감지하는 Error detection 기능을 제공한다.
- 많은 작업을 처리하기 위해 자원(CPU, main memory, file storage, I/O devices)을 할당하는 Resource allocation, 다양한 이벤트 트래킹을 제공하는 Logging, 누가 어떠한 자원에 관해 어떤 유저가 권한이 있는지(인증)에 대한 Protection and security 기능을 제공한다.
User Operating System Interface - CLI
- CLI는 가상 터미널 또는[텍스트 터미널]을 통해 사용자와 컴퓨터가 상호 작용하는 방식이다. (Wikipedia)
- Shell은 운영 체제 상에서 다양한 운영 체제 기능과 서비스를 구현하는 인터페이스를 제공하는 프로그램이다.
- Unix, Linux와 같은 OS가 CLI에 속한다.
User Operating System Interface - GUI
- GUI는 사용자 친화적으로 만들어진 desktop형 Interface다.
- Windows, Mac OS X와 같은 OS가 GUI에 속한다.
System Calls
- System Calls는 다양한 어플리케이션, 소프트웨어가 필요한 기능을 Operating Systems에서 미리 구현한 것을 의미한다.
- System Calls에서 개념을 확장시킨 게 Application Programming Interface(API)이다.
System Call Implementation
- Index table로 System Call을 구분한다.
System Call Parameter Passing
- SImplest: Parameter를 레지스터를 통해 넘겨준다. 만약 사이즈가 모자르면 block, table, memory에 넣고 그 주소값을 넘겨준다.
- 레지스터에 값을 넘기지 않는 경우에는 스택에 값을 push, pop하는 방식으로 Parameter를 넘겨준다.
'공부용 > Kernel Exploit Study' 카테고리의 다른 글
[Kernel Exploit] Basic Operating Systems (4) (0) | 2021.03.04 |
---|---|
[Kernel Exploit] Basic Operating Systems (2) (1) | 2021.03.03 |
[Kernel Exploit] Basic Operating Systems (1) (0) | 2021.03.03 |
[Kernel Exploit] CSAW 2010 Kernel Exploit 분석 (0) | 2021.03.01 |
[Kernel Exploit] To convert from kernel mode to user mode (0) | 2021.02.24 |