
- 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..

* process란? -> 실행 중인 프로그램으로 메모리에 올라간 프로그램을 뜻한다. -> 하나의 프로그램에서 여러 프로세스가 생길 수 있다. 1. process 개념 프로세스는 여러 부분으로 구분되며 stack, heap, data, text로 이루어져있다. +) data 안에서도 initialized data와 uninitialized data로 구분된다. 2. process state new - 처음 만들어졌을 때 생성된 상태 ready - 준비 작업이 끝난 실행 가능한 상태 run - 지금 CPU에서 돌아가는 상태 wait - I/O 요청으로 인해 기다려야 하는 상태 terminate - 프로세스의 실행이 다 끝난 상태 3. PCB (process control block) PCB는 유지해야 하는..

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
- Auditing
- ubuntu
- 프리티어
- Android
- interrupt
- 머신러닝
- PostgreSQL
- 실패율
- 백준
- 최고의집합
- 영어끝말잇기
- 최솟값구하기
- 정수삼각형
- xv6
- RDS
- AWS
- dp
- 뉴스클러스터링
- 다음큰숫자
- 응답코드
- qemu
- 프로그래머스
- 우분투설치
- 운영체제
- 이진변환반복하기
- 시스템콜
- PasswordEncoder
- OS
- 괄호회전하기
- springboot
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 31 |