Kernel, user mode, kernel mode
·
컴퓨터 공학(Computer Science)/OS
User mode, Kernel mode CPU는 User mode, Kernel mode 2가지 중 한 모드에서 동작한다. 어떤 모드로 동작할 것인지는 CPU내의 mode register에서 결정한다. 응용 프로그램은 user mode에서, 커널 코드는 kernel mode에서 동작한다. User mode User mode에서는 User Space만 접근할 수 있다. 만약, Kernel Space에 접근하게 되면 오류를 발생시킨다. User mode에서는 어떤 하드웨어에도 접근할 수 없다. 또 다른 응용 프로그램에게 할당된 메모리에도 접근할 수 없다. 특권 명령(privileged instruction)도 실행할 수 없다. Kernel mode kernel mode 에서는 모든 메모리 공간 접근가능하며..
커널과 시스템 호출
·
컴퓨터 공학(Computer Science)/OS
Kernel과 System call 커널이란 부팅 후부터 메모리에 상주하며, CPU, 메모리, 캐시 같은 하드웨어 자원을 관리하고, 프로세스, 파일 시스템 관리 등 운영체제의 핵심적인 기능을 실행하는 코드 커널 코드는 구체적으로 함수의 형태로 존재한다. 응용 프로그램은 Function Call이라는 방식을 통해 응용 프로그램 내의 함수나 라이브러리의 함수를 호출하지만, 커널에 있는 함수는 호출할 수 없다. 응용 프로그램이 커널에 있는 함수를 호출할 수 있는 유일한 방법은 System Call 이라는 방식이다. OS Kernel 인터페이스 System Call : 커널과 응용프로그램 사이 Interrupt : 커널과 하드웨어 장치 사이 이 2가지 방식을 이용해 하드웨어와 응용프로그램 사이를 중계한다. Sy..
배치(batch) OS, 다중 프로그래밍, 시분할 시스템
·
컴퓨터 공학(Computer Science)/OS
Batch OS 컴퓨터의 idle time을 줄여 활용률을 향상시키기 위해서 Batch OS가 개발되었다. Batch는 개발자가 작성한 punched card(천공 카드)의 한 묶음을 의미하는데, batch 하나가 일종의 프로그램인 셈이다. 이런 일련의 batch들을 한꺼번에 실행하되, 한번에 한개씩 순서대로 처리한다. 이것을 batch processing(배치 처리)라고 함. 즉, 하나의 프로그램이 완전히 끝나야 다음 프로그램 실행으로 넘어갈 수 있다. 다중 프로그래밍(multi-programming) 컴퓨터의 throughput(처리율)을 높이기 위해 CPU를 효율적으로 사용하기 위해 고안한 방법. CPU가 쉬지 못하게 하는게 목적이다. I/O작업시에는 CPU가 일을 하지 않는데, I/O작업시에도 C..
컴퓨터 구조, ARM구조 간단 요약
·
컴퓨터 공학(Computer Science)/컴퓨터 구조
중간 전 기본 컴퓨터구조 ARM구조 요약 컴파일 과정 소스코드 작성 Complie Object Code (컴파일해서 생성되는 바이너리 파일) 링커가 링킹 해준다. → Object Code와 라이브러리를 연결한다. 정적 라이브러리(stdio.h) - Complie time linking 동적 라이브러리(DLL) - Run time linking 실행 기계어의 형식 Opcode : 연산자 Operand : 피연산자 CPU CPU = ALU + CU + Register + Internal Bus ALU : 산술논리연산 CU : 명령 해석하고 실행 CPU내의 데이터 임시보관 Bus 내부 버스 CPU내부에서 레지스터와 ALU사이의 신호교환, 다시 레지스터로 전송 외부 버스 CPU와 외부의 기억장치 사이, 그리고 ..
(컴퓨터 구조2) 레지스터 전송, 마이크로 연산
·
컴퓨터 공학(Computer Science)/컴퓨터 구조
notion으로 작성됨 https://leeward-periodical-c43.notion.site/Chapter4-79d254dfb4a649c8b03b36877a1062c5?pvs=4 Chapter4 레지스터 전송과 마이크로 연산 레지스터 전송 언어 leeward-periodical-c43.notion.site Chapter4 레지스터 전송과 마이크로 연산 태그: 마이크로 연산, 버스 레지스터 전송 언어 레지스터에 저장된 데이터를 가지고 실행되는 동작을 마이크로 연산(micro-operation)이라고 한다. 예를 들어, 시프트(shift), 카운트(count), 클리어(clear), 로드(load) 등이 있다. 디지털 컴퓨터를 정의하기 위해서 다음을 규정해야 한다. 레지스터의 종류와 기능 레지스터의 ..
(컴퓨터 구조1)디코더, 멀티플렉서, 레지스터, 메모리
·
컴퓨터 공학(Computer Science)/컴퓨터 구조
Chapter2 notion으로 작성됨 https://leeward-periodical-c43.notion.site/Chapter2-bec871109a2b48cea56071690ba64e31?pvs=4 Chapter2 디지털 부속품 디코더(Decorder) leeward-periodical-c43.notion.site 태그: 디코더, 레지스터, 멀티 플렉서, 메모리 디코더(Decorder) n비트의 이진코드는 2^n가지의 정보를 나타낼 수 있다. 디코더는 n비트로 코팅된 이진 정보를 최대 2^n개의 서로 다른 출력으로 바꿔주는 조합 회로이다. 이것을 n to m 디코더 라고 부른다. 2 to 4 decoder 위 사진은 2 to 4 Decoder이다. 2비트의 이진정보를 4개의 서로다른 출력으로 만들어 ..