게시글
질문&답변
2024.05.03
운영체제와 프로그램에 관계
응용 프로그램이 운영체제에게 부탁을하면 "운영체제"가 대신 하드웨어에 접근하는 것에 가깝습니다. 프로그램 관점에서 좀 더 엄밀하게 정의해드리자면 하드웨어에 접근하기 위한 커널 영역 함수를 실행(시스템 콜)하는 것과 같다고 보시면 됩니다 :)
- 0
- 1
- 36
질문&답변
2024.04.21
부모 프로세스와 자식 프로세스
안녕하세요 첫 번째 자식 프로세스입니다.
- 0
- 1
- 72
질문&답변
2024.04.21
질문이 여러가지가 있습니다 ㅠㅠ
안녕하세요 하나씩 답변드리겠습니다. 질문이 많아 질문당 답변이 짧을 수도 있다는 점 미리 양해부탁드립니다. 1.어셈블리코드의 경우에는 CPU의 명령어라고 하셨는데 그렇다면 CPU에 의존적인 상황인데 왜 컴파일러마다 어셈블리코드가 달라질수있는건가요? 컴파일러에 따라서 최적화 등 제공하는 기능이 다르기 때문입니다. 2. 같은 컴파일러로 다른 어셈블리코드가 나온다는거는 운영체제가 해당 CPU에 맞는 어셈블리변환을 해주는거 같은데 맞을까요? 하나의 원인이라 보기는 어렵습니다. 같은 컴파일러라도 버전에 따라 다른 결과가 나올 수 잇고, 컴파일 과정에서 사용되는 라이브러리에 따라서도 다를 수 있습니다. 이 부분을 보다 깊고 자세히 이해하시려면 시스템 프로그래밍을 학습해보심을 추천드립니다. 3.RISC의 경우에는 어차피 연산 코드부분의 크기가 같기 때문에 해당 부분의 비트만 해석하면되지만 CISC의 경우에는 크기가 유동적이고 데이터도 바이트코드 연산코드도 같은 바이트 코드라면 CPU는 해당부분을 어떻게 구분하는지 궁금합니다 ! 상세하게는 CPU 업체마다 다릅니다. 일반적으로는 제어 장치가 명령어를 해석한 결과가 해석 가능한 명령어에 맞게 정해져 있습니다 4.명령어의 크기는 일반적으로 워드 크기와 같을까요? 일반적으로 그렇습니다 5.메모리 주소 하나당 크기는 메모리에의해서 결정지어지는건가요? 아니면 CPU에 의해서 결정지어지는건가요? 질문이 다소 모호한 것 같습니다. 컴퓨터의 부품은 설계 시에 다른 부품과의 호환이 중요하기에 둘 중 하나에 의해서만 결정되지 않습니다. 6.ALU가 계산을 할때 레지스터가 피연산자를 제공해주고 ALU는 계산된값을 레지스터에 담는다 해당 부분에서 제어장치의 제어신호없이 레지스터나 ALU가 각각 전달을 하는건가요? 아니면 모든 데이터 전달과정에는 반드시 제어장치의 제어신호가 포함된다고 보면될까요? 제어신호가 포함됩니다. 7. ALU계산결과가 레지스터값보다 큰경우엔 어떻게 되나요? 오버플로우가 발생합니다. 플래그 레지스터의 오버플로우를 참고해 보세요 8.명령어 레지스터와 메모리버퍼 레지스터의 차이가 명확하게 이해가 가지않습니다 .. 메모리 버퍼는 데이터 버스를 통해서 데이터를 받긴하지만 그대로 명령어 레지스터로 전달을 해준다면 메모리버퍼레지스터에서 바로 명령어를 전달해줘도 되는데 두개가 구분되서 존재한다는거는 명확한 이유가 있을꺼같은데 잘 모르겠습니다 명령어 레지스터에 담기기 전에 저장되는 임시 공간을 메모리 버퍼 레지스터라고 이해해주길 바랍니다. 명령어를 하나씩 읽지 않는다는 점에 유의하여 생각해보세요 :) 9.직접 주소 지정방식의 경우에는 ex)기존 오퍼랜드에 1바이트데이터를 저장할수있던것을 메모리 주소 참조를 통해 2바이트를 저장할수있기 때문에 데이터 크기가 커진다는게 이해가 갑니다. 간접주소 지정방식의 경우에는 하지만 이런식으로 데이터 크기자체가 커지는게 아닌 명령어 한개당 참조할수있는 주소가 많아지는거같은데 이게 맞을까요? 맞습니다 스택주소 지정방식에서의 스택은 프로세스 하나당의 스택 영역이 아닌 메모리에서 스택범위가 따로존재하는건가요? 그리고 검색해보니 해당부분이 커널영역이라고 하던데 맞을까요? 정확히는 프로세스마다 프로세스가 사용 가능한 사용자 영역과 커널 영역의 스택 영역이 모두 있습니다. 관련하여 커널 스택이라 검색해보세요 그리고 현재 대부분의 컴퓨터에는 MMU를 활용한 베이스지정레지스터 방식과 스택 방식이 사용이 되나요? 네 MMU, 베이스 레지스터 모두 사용됩니다. 명령어 파이프라이닝에서 만약에 실행 단계 ALU계산단계에서 ALU가 한클럭에 끝낼수없는 복잡한 계산의 경우에는 인출 해석 여러번의 실행후 저장의 루틴인가요? 아니면 여러번의 인출 해석 실행 저장의 루틴 방식일까요? CISC를 설명드릴 적에 언급하여 드렸듯 CPU마다 지원하는 명령어 종류가 다를 수 있습니다. 여러 클락에 걸쳐 실행되는 명령어가 있을 수 있고 그렇지 않은 명령어도 있습니다. 그리고 만약 슈퍼스칼라를 사용하게되면 같은 클럭내에서 실행이 겹치기떄문에 ALU를 명령어 2개가 사용이 되는데 구조적위험이 반드시 생겨서 아예 못할꺼같은데 아주 조금의 시간차를 동시에 실행하는것처럼 파이프라이닝을 구성하나요? 슈퍼스칼라를 사용 가능한 CPU의 경우 구조적 위험이 발생하지 않게 레지스터, ALU 등이 여러 개 존재합니다.
- 0
- 2
- 96
질문&답변
2024.04.20
Compare & pull request 버튼이 안뜨는 경우는 언제인가요?
안녕하세요, (네트워크에 문제가 없다는 전제 하에 설명드리자면) 새로고침을 해 보아도 뜨지 않는다면 실수가 났을 확률이 높고, 잘못된 브랜치에 push했을 가능성이 있습니다. 확인해보길 바랍니다.
- 0
- 2
- 75
질문&답변
2024.04.18
메모리 쓰기 관련해서 질문있습니다.
안녕하세요 꼭 해당 순서대로 순차적으로 신호가 흐르는 것은 아닙니다. 사실상 거의 동시에 이루어진다고 보시면 됩니다. 또한 시간 차가 발생할 경우를 대비해 버퍼를 두기도 합니다 :)
- 0
- 1
- 60
질문&답변
2024.04.18
스택 영역과 힙 영역의 데이터 인출 순서
자료구조 관점에서 큐는 선입선출일지모르나 운영체제 컴퓨터 내부 관점에서 언제나 반드시 선입선출이 지켜지지는 않습니다 일례로 바로 뒤에 이어질 스케줄링에서도 '스케줄링 큐'로 프로세스 및 스레드들이 관리되지만 우선순위가 반영되어 저장된 데이터를 인출합니다.
- 0
- 2
- 96
질문&답변
2024.04.10
안녕하세요. 주소지정방식에 대해 질문합니다.
주소를 통해 명시할 수 있는 오퍼랜드 크기 "연산 코드를 뺀" 오퍼랜드 필드(주소)를 통해 명시할 수 있는 오퍼랜드 크기는 다르기 때문입니다~!
- 0
- 1
- 75
질문&답변
2024.04.10
파이프라이닝 기법 슈퍼스칼라
명령어 파이프라인 기법의 원리는 코어에 쓰레드가 여러개 있어서 가능한건가요? 명령어 1,2,3,4가 동시에 겹쳐서 실행되려면 1코어에 쓰레드가 4개여야하는거죠? 하나의 코어라도 인출과 해석 등 동시에 실행할 수 있는 명령여의 경우 동시 실행이 가능합니다~ 결국 시피유 성능을 높이자는 얘기인거죠? 그렇습니다~ 슈퍼스칼라 기법 슈퍼스칼라는 코어가 단일이 아니라 멀티이니까 여러개의 파이프라인을 이용가능한거죠? 네 그렇습니다. 멀티 스레드와 멀티 코어를 지원할 경우 슈퍼 스칼라가 지원되는 것이 일반적입니다.
- 0
- 1
- 62
질문&답변
2024.04.10
데이터베이스 강의
안녕하세요~ 네트워크 강의는 현재 유튜브에 차례차례 업로드 되고 있고, 완성이 된다면 전체 강의를 인프런에 올릴 예정입니다. 데이터베이스는 (물론 생각은 있지만) 그 전에 집필 이후 휴식기를 조금 가질 예정입니다.
- 0
- 1
- 76
질문&답변
2024.04.09
pdf, ppt
안녕하세요 :) 강의 자료는 따로 제공해드리지 않습니다..ㅠㅠ
- 0
- 2
- 111