본문 바로가기

Computer Science13

시스템 콜(System Call) 시스템 콜이란 운영체제에서 프로그램이 구동되는데 있어 파일을 읽어 오거나, 파일을 쓰거나, 혹은 화면에 메시지를 출력하는 등 많으 부분이 커널 모드를 사용한다. 시스템 콜은 이러한 커널 영역의 기능을 사용자 모드가 사용 가능하게, 즉 프로세스가 하드웨어에 직접 접근해서 필요한 기능을 사용할 수 있게 해준다. ( 프로세스가 운영체제 기능을 사용할 수 있게 요청) 시스템 콜들은 실제로 운영체제에서 사용하라고 만들어놓은 코드들(함수)로, 프로그래밍을 할 때 시스템콜이 들어있는 헤더파일을 불러와서 사용합니다. System Call 은 사용자 프로세스가 소프트웨어 인터럽트를 통해 커널의 기능을 이용하기 위한 서비스를 요청하는 하나의 방법이다. 처리방식 사용자 프로세스가 시스템 콜을 요청하면 제어가 커널로 넘어옴(.. 2022. 7. 6.
인터럽트란? (Interrupt) 인터럽트 : 프로그램 실행 중 예기치 못한 상황이 발생할 때 현재 작업을 중단하고 발생한 상황을 우선 처리한 후 원래 작업으로 복귀하는 것 외부 인터럽트 : 전원, 외부장치로 인한 인터럽트, 입출력 내부 인터럽트 : 잘못된 명령어나 데이터를 사용할 때 발생 (exception, trap, overflow, cache miss) 소프트웨어 인터럽트 : 프로그램의 원하는 위치에서 특수한 호출을 사용해 명령어를 발생할 수 있게 함 (SVC : SuperVisor Call) - SCV 인터럽트가 발생하는 경우 사용자가 SVC 명령어를 사용해 의도적으로 호출 복잡한 입출력을 처리하는 경우 기억장치 할당, operator와 통신 할 경우 인터럽트 우선순위 외부 > 내부 > 소프트웨어 인터럽트 동작 과정 인터럽트 요.. 2022. 6. 29.
프로세스와 스레드의 차이 프로세스 현재 실행되고 있는 프로그램. 최소 한개 이상의 스레드가 프로그램을 실행시키는 것. 프로그램이 메모리에 적재되면 프로세스가 됨 프로세스의 상태변화 운영체제가 프로세서 스케줄러를 이용하여 관리. 프로세스 스케줄러는 선정한 작업의 상태를 변화시키며 프로세스의 생성에서 종료까지 과정 수행. 준비 → 실행 : dispatch 실행 → 준비 : timeout 실행 → 대기(보류) : block 대기(보류) → 준비 : wakeup 스레드 프로세스의 직접 실행 정보를 제외한 나머지 관리정보를 공유 스레드 마다 다른 프로시저, 다른 실행 기록( 별도 스택 필요) 관련 자원과 함께 메모리 공유 가능 하므로 데이터 손상 고려 간단 용어 설명 SP : 스택 포인터 SR : 순서열 레지스터 == Instructio.. 2022. 6. 14.