이거 진짜
인터럽트, 폴트, 트랩
여기에서 concurrency에 따른 문제 생각하려고하면 답이없어진다 진짜
특히 인터럽트.
뭐 뒤에보니까 안전하게 핸들러쓰는법
이런얘기나오는거보니 딱봐도 컨커런시이슈아닐까싶은데,
그건 둘째치고
뭔
앞에서 하던 수준으로 뒷부분 하려고하니까
답이없어진다
링커 한 50쪽인가? 그거를 4일인가 걸쳐서 주구장창 읽고있었던거도 답없었는데,
그건 해결이라도 했지
지금 예외에 따른 제어처리라던지 커널, 컨텍스트스위칭
이쪽은
ㄹㅇ
30쪽분량을 하루죙일읽었는데
오늘 얻은 지식보다 앞으로 해결해야할 지식이 넘사벽임 (컨커런시라던지, 인터럽트의 하드웨어적인 구현, 커널의 데이터와 코드세그먼트는 정적인가 즉 동적인 라이브러리로딩이 일어나지 않는가, 등등등등)
답안나와 이거 ㅇㅇㅇ
그냥 뭐
원래 하던대로
매직은 매직으로 받아들여야겠다
그정도 매직수준에서 바라보더라도
공룡책 1000페이지인데 ㅇㅇㅇㅇ
일단 그냥 읽고나서,
나중에 컨커런씨이슈터지면 그때가서 좆되면 될거같음.
인터럽트, 폴트, 트랩
여기에서 concurrency에 따른 문제 생각하려고하면 답이없어진다 진짜
특히 인터럽트.
뭐 뒤에보니까 안전하게 핸들러쓰는법
이런얘기나오는거보니 딱봐도 컨커런시이슈아닐까싶은데,
그건 둘째치고
뭔
앞에서 하던 수준으로 뒷부분 하려고하니까
답이없어진다
링커 한 50쪽인가? 그거를 4일인가 걸쳐서 주구장창 읽고있었던거도 답없었는데,
그건 해결이라도 했지
지금 예외에 따른 제어처리라던지 커널, 컨텍스트스위칭
이쪽은
ㄹㅇ
30쪽분량을 하루죙일읽었는데
오늘 얻은 지식보다 앞으로 해결해야할 지식이 넘사벽임 (컨커런시라던지, 인터럽트의 하드웨어적인 구현, 커널의 데이터와 코드세그먼트는 정적인가 즉 동적인 라이브러리로딩이 일어나지 않는가, 등등등등)
답안나와 이거 ㅇㅇㅇ
그냥 뭐
원래 하던대로
매직은 매직으로 받아들여야겠다
그정도 매직수준에서 바라보더라도
공룡책 1000페이지인데 ㅇㅇㅇㅇ
일단 그냥 읽고나서,
나중에 컨커런씨이슈터지면 그때가서 좆되면 될거같음.
글이 왜이러지 하고 올려봤더니 딱국이노 ㅋㅋ 요즘 통피쓰노
해당 댓글은 삭제되었습니다.
아직은 시스템프로그래밍중인데, 나는 얘를 그냥 운영체제라고 부르고있어
컨텍스트스위칭만 하더라도 아직도 좆도모르겠음. 그래서 ILP하게 execution중인 인스트럭션들까지 죄다 저장하는거? 그건 뭐 커널에? 일단 컨텍스트라는거자체가 스택구조가아닐텐데, 그러면 힙에다가 저장하나? 그리고 인터럽트들 이거 mwsr인건지 swsr가 여러개인건지 기타등등 문제점은 없는건지 폴트중에 인터럽트발생. 애초에 인터럽트가 상태비트라는데
transient한 개념인거면 답 없고 이게 CPU의 ILP만 따질때엔, 모든것을 클럭단위로 동기화를 했었어서 쉬웠음. 이제는 클럭단위의 아득한 위에서 추상화가 더 이뤄져버려서 사실상 카오스가됐고
어차피 클럭 인터벌사이에 모든 데이터신호는 다음 파이프라인까지 전달된거고 그게 레지스터상태를 바꾸면 다시 그 다음 사이클이 동기화되고...
음 일단 커널 모듈관점에서 설명해드림.리눅스 커널이 하는건 커널 모듈 스케줄링임. 응용프로그램 스케줄링은 자세하게는 안파봣음 대충 init 프로세스(init) 포크로 여러 프로세스 만들어지는거보면 shell이 커널 모듈로써 동작하고 프로세스들을 shell에서 포크할꺼임각설하고 커널이 스케줄링할때는 task_struct에다가 현재 컨텍스트를 저장하고 다음 실행할 task_struct를 적재한다음 task_struct 안에있는 컨텍스트를CPU에 로드함딱국님이 학구열 뜨겁습니다 ㅎㅎ
커널 모듈을 스케줄링한다기보다 kthread_create로 만들어진 커널 쓰레드가 정확한 설명임
오 task_struct 가 사실상 컨텍스트의 구조체인가보군요. kthread_create 도 신기하고.