Computer(인강)(213)
-
프로세스 구조와 컴퓨터 구조
안녕하세요 bannavi입니다^ㅅ^ 오늘은~~ 프로세스 구조와 컴퓨터 구조에 대해서 살펴볼거에요 바로 시작해볼게요! 고고~ 프로세스(process)는 일반적으로 어떻게 구성되어 있을까? 1. text(CODE) : 코드 2. data : 변수/초기화된 데이터 3. stack : 임시 데이터(함수 호출, 로컬 변수 등) 4. heap : 코드에서 동적으로 만들어지는 데이터 참고. 스택(stack)은 자료구조 였지만, 이러한 스택을 이용해서 함수를 실행할 수 있는 구조를 만드는것을 스텍프레임(stack frame)이라고 합니다. PC(Program Counter) + SP(Stack Pointer) 09:43 참고 참고.EBP는 어떤 부분이 문제였는지를 빠르게 tracking하기 위해서 제공한다.
2021.02.21 -
프로세스 구조
안녕하세요 bannavi입니다^ㅅ^ 정신없이 빠르게 포스팅을 진행하고 있네요 하하.. 저는 100프로 이해하고 넘어가기 보다 흐름을 80프로 정도 익히고 다시 한번 읽어보면서 나중에 공부할때 해당 내용을 조금씩 추가해서 포스팅할 예정이랍니다. 괜찮아요! 지금 저는 '익숙해지는것'이 목적이랍니다. 오늘 공부는 프로세스와 컨텍스트 스위칭에 대해서 살펴 볼거에요. 바로 시작해보겠습니다^ㅅ^ 프로세스와 컨텍스트 스위칭 컨텍스트 스위칭이 뭐지? A라는 프로세스가 CPU에서 실행을 하다가, 어느순간 scheduler가 B라는 프로세스로 실행하는 프로세스로 바꿔줄때! 바로 이때! 바꿔주는 매커니즘을 컨텍스트 스위칭 이라고 합니다. 컨텍스트 스위칭에 대해서 깊이 알려면 프로세스 구조에 대해서 먼저 공부해야합니다. 디버..
2021.02.21 -
인터럽트 내부 동작
안녕하세요 bannavi에요^ㅅ^ 오늘은 인터럽트 내부 동작에 대해서 살펴볼거에요 먼저 시스템 콜 실행에 대해서 먼저 살펴볼게요! 두-둥 뭐야뭐야 시스템콜도 인터럽트였어??^ㅅ^?? 시스템콜도 내부적으로는 인터럽트 방식으로 처리를 한답니다. 시스템 콜 실행을 위해서는 강제로 인터럽트 명령을 넣어, CPU에게 실행시켜야 합니다. 시스템콜 실제 코드 1. eax 레지스터에 시스템 콜 번호를 넣고, 2. ebx 레지스터에는 시스템 콜에 해당하는 인자값을 넣고, 3. 소프트웨어 인터럽트 명령을 호출하면서 0x80값을 넘겨줌 인터럽트와 시스템 콜(고급) 시스템콜 인터럽트 명령을 호출하면서 0x80값을 넘겨줌 1. CPU는 사용자 모드를 커널 모드로 바꿔줌 2. IDT(Interrupt Descriptor Tabl..
2021.02.21 -
인터럽트 종류
안녕하세요 bannavi입니다.^ㅅ^ 하//// 열심히 썼는데 포스팅이 날아가 버렸네요 ^ㅅ^ 문서 작성중엔 캐시삭제를 하면 안된다는 교훈을 얻으면서...... 시작해보겠습니다. 오늘은 인터럽트의 종류를 살펴볼거에요 그래도 선점형 비선점형 공부할때보단 한결 마음이 가볍네요 (저만 그런거 아니죠...?) 인터럽트 처리 예 인터럽트는 일종의 이벤트로 불립니다. 이 이벤트에 맞게 운영체제가 처리해주어야하고요 주요 인터럽트(Interrupt) 1. 계산하는 코드에서 0으로 나누는 코드 실행시(Divide-by-Zero Interrupt) 2. 타이머 인터럽트 선점형 스케쥴러를 위해 필요 3. 입출력(IO) 인터럽트(여러가지 디바이스..) 인터럽트 종류는 두가지로 나뉩니다 내부 인터럽트와 외부 인터럽트입니다. 내..
2021.02.21 -
인터럽트 란?
안녕하세요 bannavi입니다^ㅅ^ 오늘은 인터럽트에 대해서 살펴볼건데요 휴,, 지난 시간까지 공부 내용이 너무 빡셌다면 이번엔 조금 수월하길 바라면서 시작해보겠습니다 오늘도 화이팅!! ^ㅅ^ 컴퓨터의 CPU 기본 구조 참고 그래 근데 파일 읽기가 누가 알려준다는건데? 어느 한순간 cpu가 실행하는 명령은 하나야(pc가 가리키는 코드 1줄), 근데 그럼 다른 장치와 어떻게 커뮤니케이션을 하는거지? -> 이게 바로 인터럽트. 인터럽트란? CPU가 프로그램을 실행하고 있을때, 입출력 하드웨어 등의 장치(이벤트 발생 -> 운영체제 안에있는 코드를 실행 처리)나 또는 예외상황이 발생하여 처리가 필요할 경우에 CPU에 알려서 처리하는 기술, 위의 초록색을 도와주는것이 인터럽트라고 합니다. 그리고 인터럽트가 필요한..
2021.02.21 -
스케쥴링 알고리즘 조합
안녕하세요 bannavi입니다. 아래는 지금까지 배워봤던 스케쥴러를 적어봤어요. 기억나시나요?ㅎㅎ 오늘은 배웠던 내용을 바탕으로 알고리즘을 공부해볼거에요 바로 시작해보겠습니다^ㅅ^ 13. chapter03 프로세스와 스케쥴러의 이해 06. 스케쥴링 알고리즘 조합 08분 참고하기 @_@ 선점형 너 만만치 않은 놈이였어.....! 이게 몇초를 기준으로 정책을 하느냐(?)에 따라서 답이 달라지기 때문에 더어려운거같아요 이부분은 좀더 천천히 봐야겠네요...쭈굴..ㅠㅠ 제 뇌속의 뉴런이 아........! 하고 이어지는 순간 다시와서 작성해볼게요:) 가볍게 살펴보기 랙? : 마우스/키보드 반응이 느린경우? -> 스케쥴러가 해결해야하는 이슈! 다양하고 복잡한 스케쥴링 알고리즘 필요 리눅스 스케쥴러: O(1), CF..
2021.02.21