
- interrupt란? = CPU가 프로그램을 실행하고 있을 때, 예외상황이 발생하여 그에 대한 처리가 필요할 경우 CPU에게 알려 처리할 수 있도록 하는 것 +) 예외사항은 하드웨어에서 생겼을 때, 소프트웨어에서 생겼을 때로 나눌 수 있다. - interrupt handling = OS는 register와 program counter를 저장하여 CPU의 상태를 보존한다. = 어떤 종류의 interrupt가 발생했는지 알아본다 -> polling과 vectoed interrupt system - polling : 하나씩 확인해서 그에 맞는 것을 수행한다. - vectored interrupt system : interrupt 번호로 와서 해당 interrupt에 대한 서비스 루틴을 실행한다. - Sto..

컴퓨터 시스템의 3대 요소는 사용자가 사용하는 시스템과 어플리케이션 프로그램, OS, 하드웨어로 이루어져있다. 1. Application Program - 사용자의 컴퓨팅 문제를 해결하기 위해 시스템 자원이 사용되는 방식을 정의한다. ex) 웹 브라우저, 비디오 게임 등 2. OS - 하드웨어와 다양한 application / 사용자 사이를 제어하고 조정한다. 3. Hardware - 기본적인 컴퓨팅 자원을 제공한다. ex) CPU, 메모리, I/O 장치 (컴퓨팅: 계산의 의미 + 컴퓨터를 사용하는 행위) - OS란? 사용자와 하드웨어 사이에서 중재자 역할을 수행하는 프로그램이다. - OS의 목적은? 1. 사용자가 컴퓨터 시스템을 편리하게 사용할 수 있는 환경을 제공한다 => 환경 제공 ex) virtu..

xv6에서 시스템 콜을 추가하는 방법은 생각보다 간단합니다. 밑의 파일들을 보고 추가하려는 system call을 유사하게 설정하면 되기 때문입니다. 일단 봐야 할 부분은 sysproc.c syscall.c syscall.h usys.S user.h 입니다. 1. sysproc.c system call 함수들이 구현되어 있는 파일로 추가하려는 함수를 해당 형식에 맞게 구현하면 됩니다. 형식은 밑의 코드와 같습니다. int sys_OOO(void){ //동작하고 싶은 코드 } 2. syscall.c 추가하려는 system call을 기존의 system call함수 밑에 똑같은 형식으로 작성해줍니다. 3. syscall.h syscall.h에서는 system call을 번호와 매핑해주는 공간입니다. 추가하려..

+ system call - 사용자와 커널 사이를 연결해주는 매개체 1. User Interface - CLI를 통해서 command 터미널 입력으로 입력할 수 있다. => shell: 해석기 ex) BASH, cmd - 최근에는 GUI로 넘어온 추세이며 이는 사용자가 더 사용하기 편리하다. - TSUI (Touch Sreen User Interface) 2. System Call - OS에서 서비스를 받고 싶으면 system call을 한다. => user mode에서 kernel mode로 도움을 요청하는 것이다. 위의 그림처럼 커널에게 부탁해서 기능이 다시 돌아가는 것을 알 수 있다. +) system call 구현 : user mode에서 함수가 실행되면 kernel mode에서 system ca..
- Total
- Today
- Yesterday
- ubuntu
- 다음큰숫자
- springboot
- 백준
- Android
- 최고의집합
- dp
- 운영체제
- RDS
- xv6
- AWS
- 실패율
- 최솟값구하기
- 뉴스클러스터링
- 영어끝말잇기
- 이진변환반복하기
- 프로그래머스
- 정수삼각형
- 우분투설치
- Auditing
- 머신러닝
- 응답코드
- PostgreSQL
- interrupt
- OS
- 괄호회전하기
- PasswordEncoder
- qemu
- 시스템콜
- 프리티어
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 |