[OS] CH2: Operating-System Structures (1~4 요약 정리)

박세호·2025년 3월 16일
1
post-thumbnail

Operating System Services

운영체제 서비스는 사용자에게 유용한 기능들을 제공함

  1. User interface
    • CLI(Command-Line Interface)
      • 명령어로 컴퓨터 사용
    • GUI(Graphics User Interface)
      • 윈도우, 리눅스 데스크탑 등
    • Batch
      • 일괄처리, 흐름에 따라 순차적으로 자료를 처리하는 방식
  2. Program execution
    • 메모리에 로드하고, 실행, 종료(정상과 비정상 모두)
  3. I/O operations
  4. File-system manipulation
    • 파일 및 폴더의 읽기, 쓰기, 생성, 삭제, 검색, 권환 관리
  5. Communication
    • Shared memory
      • 프로세스 간에 메모리를 일부 공유
    • Message
      • passing header message로 이루어진 패킷을 통해 통신
  6. Error detection
    • 오류를 감지하고, 적절한 액션을 취하고, 수정까지 함
  7. Resource allocation
    • 프로세스는 자원이 있어야 실행이 가능함자원을 할당하고 회수하는 역할자원의 종류: CPU, main memory, file storage, I/O device 등
  8. Accounting
    • 누가 어디에 얼마나 컴퓨터 리소스를 사용했는지 기록함system upgrade에 활용
  9. Protection and security
    • Protection
      • 시스템 리소스 접근 권한을 검증함
    • Security
      • 외부의 허가 없는 접근 등의 보안

User Operating System Interface

  1. CLI
    • Kernal에 프로그램이 상주하는 경우하나의 프로그램에 모든 명령어 집합이 있음
    • 시스템 프로그램으로 구현된 경우명령 각각이 하나의 프로그램임명령을 추가하는 경우 디렉토리에 프로그램 하나만 추가해주면 됨
  2. GUI
    • 사용자 친화적 데스크탑 인터페이스
    • 마우스, 키보드, 모니터가 있음
    • 아이콘이 파일, 프로그램 액션 등을 표현
    • 대부분의 시스템은 CLI와 GUI 모두 가지고 있음무엇이 main이냐 option이냐 차이임

System Calls

  • OS가 제공하는 서비스를 사용하고 싶다 -> System Call 사용
  • 일반적으로 고급언어 (C or C++)로 작성됨
  • 바로 system call을 사용하기보다 high-level인 API로 프로그램에 접근함

파일의 내용을 다른 파일로 복사하는 System call sequence

Example of Standard API

위와 같은 포맷을 이용하여 함수에 파라미터 전달

System Call Implementation

  1. System Call은 고유의 번호가 존재함
  2. System Call Interface는 System Call을 OS kernel에서 실행시키고 상태와 결과값을 반환함
  3. 호출자는 시스템 콜이 어떻게 구현되었는지 알 필요가 없음
  4. 단순히 API를 호출하고 시스템 콜의 역할만 알면 됨

API-System Call-OS Relationship

관계 APIs > C, C++ 등의 라이브러리 > Functions> System Calls

System Call Parameter Passing

  1. Simplest: 레지스터에서 필요한 파라미터를 가져옴
  2. 메모리의 블록 또는 테이블에 저장된 매개 변수와 레지스터의 매개 변수로 전달된 블록의 주소
  3. 파라미터를 스택에 저장하고 프로그램에서 pop해서 사용
  4. 블럭과 스택 방법은 파라미터의 수, 길이에 제한을 두지 않음

Parameter Passing via Table

x는 파라미티가 저장된 주소값이다.

Types of System Calls

분류

  1. Process control
  2. File management
  3. Device management
  4. Information maintenance
  5. Communications

위와 같이 구체적으로 구분이 가능하다.

0개의 댓글