시스템 콜을 설명하시오.
경쟁 상태에 대해 설명하시오.
운영체제는 커널모드와 사용자 모드로 나뉘어 구동됨. 운영체제에서 프로그램이 구동되는데 있어 파일을 읽어 오거나, 파일을 쓰거나, 혹은 화면에 메시지를 출력하는 등 많으 부분이 커널 모드를 사용한다.
시스템 콜은 이러한 커널 영역의 기능을 사용자 모드가 사용 가능하게, 즉 프로세스가 하드웨어에 직접 접근해서 필요한 기능을 사용할 수 있게 해준다.
시스템 콜의 유형
2.4.1 프로세스 제어(Process Control)
- 끝내기(end), 중지(abort)
- 적재(load), 실행(execute)
- 프로세스 생성(create process)
- 프로세스 속성 획득과 설정(get process attribute and set process attribute)
- 시간 대기(wait time)
- 사건 대기(wait event)
- 사건을 알림(signal event)
- 메모리 할당 및 해제 : malloc, free
2.4.2 파일 조작(File Manipulation)
- 파일 생성(create file), 파일 삭제(delete file)
- 열기(open), 닫기(close)
- 읽기(read), 쓰기(write), 위치 변경(reposition)
- 파일 속성 획득 및 설정(get file attribute and set file attribute)
2.4.3 장치 관리(Devide Management)
- 장치를 요구(request devices), 장치를 방출release device)
- 읽기, 쓰기, 위치 변경
- 장치 속성 획득, 장치 속성 설정
- 장치의 논리적 부착(attach) 또는 분리(detach)
2.4.4 정보 유지(Information Maintenance)
- 시간과 날짜의 설정과 획득(time)
- 시스템 데이터의 설정과 획득(date)
- 프로세스 파일, 장치 속성의 획득 및 설정
2.4.5 통신(Communication)
- 통신 연결의 생성, 제거
- 메시지의 송신, 수신
- 상태 정보 전달
- 원격 장치의 부착 및 분리
경쟁상태란 공유 자원에 대해 여러 프로세스가 동시에 접근을 시도할 때, 타이밍이나 순서 등이 결과값에 영향을 줄 수 있는 상태이다.
커널 코드 실행 중에 인터럽트가 발생할 경우
프로세스가 시스템 콜을 하여 커널모드로 진입해서 작업을 수행하는 도중에 문맥 교환이 발생할 경우
멀티 프로세서에서 공유 메모리 내의 커널 데이터에 접근할 경우
이밖에도 멀티스레드 환경에서 두 개 이상의 스레드가 공통의 전역변수에 접근할 경우 등에서 race condition이 발생할 수 있다
경쟁 상태의 예
'스터디 관련' 카테고리의 다른 글
CS 스터디 03회차, ~ 6월 30일(목) (0) | 2022.06.30 |
---|---|
CS스터디 02회차, ~06월 09일(목) (0) | 2022.06.09 |
CS스터디 01회차, ~06월 02일(목) (0) | 2022.06.02 |
2/3(수) 과제 (0) | 2021.02.03 |
1/6일 스터디 과제 (0) | 2021.01.06 |