분류 전체보기

컴퓨터 공학(Computer Science)/OS

커널과 시스템 호출

Kernel과 System call 커널이란 부팅 후부터 메모리에 상주하며, CPU, 메모리, 캐시 같은 하드웨어 자원을 관리하고, 프로세스, 파일 시스템 관리 등 운영체제의 핵심적인 기능을 실행하는 코드 커널 코드는 구체적으로 함수의 형태로 존재한다. 응용 프로그램은 Function Call이라는 방식을 통해 응용 프로그램 내의 함수나 라이브러리의 함수를 호출하지만, 커널에 있는 함수는 호출할 수 없다. 응용 프로그램이 커널에 있는 함수를 호출할 수 있는 유일한 방법은 System Call 이라는 방식이다. OS Kernel 인터페이스 System Call : 커널과 응용프로그램 사이 Interrupt : 커널과 하드웨어 장치 사이 이 2가지 방식을 이용해 하드웨어와 응용프로그램 사이를 중계한다. Sy..

컴퓨터 공학(Computer Science)/OS

배치(batch) 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..

컴퓨터 공학(Computer Science)/컴퓨터 구조

컴퓨터 구조, ARM구조 간단 요약

중간 전 기본 컴퓨터구조 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와 외부의 기억장치 사이, 그리고 ..

컴퓨터 공학(Computer Science)/컴퓨터 구조

(컴퓨터 구조2) 레지스터 전송, 마이크로 연산

notion으로 작성됨 https://leeward-periodical-c43.notion.site/Chapter4-79d254dfb4a649c8b03b36877a1062c5?pvs=4 Chapter4 레지스터 전송과 마이크로 연산 레지스터 전송 언어 leeward-periodical-c43.notion.site Chapter4 레지스터 전송과 마이크로 연산 태그: 마이크로 연산, 버스 레지스터 전송 언어 레지스터에 저장된 데이터를 가지고 실행되는 동작을 마이크로 연산(micro-operation)이라고 한다. 예를 들어, 시프트(shift), 카운트(count), 클리어(clear), 로드(load) 등이 있다. 디지털 컴퓨터를 정의하기 위해서 다음을 규정해야 한다. 레지스터의 종류와 기능 레지스터의 ..

컴퓨터 공학(Computer Science)/컴퓨터 구조

(컴퓨터 구조1)디코더, 멀티플렉서, 레지스터, 메모리

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개의 서로다른 출력으로 만들어 ..

Linux

Arm 어셈블리 명령어 간단 소개

어셈블리 명령어 소개 -어셈블리 명령어는 간단 명료하기 때문에, 하나하나보면 이해 어려움 -> 전체적인 흐름을 보자 -calling convention을 알아야함 -레지스터에 대한 기본적인 이해 -- 어셈블리 명령어 기본 포멧 -opcode -: 목적 레지스터(범용 레지스터) Rd -: 1st소스 레지스터(operand 1) Rn -: 2st소스 레지스터(operand 2) Rm if) ADD , , 는 이렇게 표기 = + 기능별 어셈블리 명령어 종류 -데이터 처리 : add, sub, orr, lsl, lsr -메모리 연산 : ldr, str, ldp, stp -조건 분기 : b.cond, cbnz, cbz, tbnz, tbz -분기 : b, bl, ret -익셉션 처리 : svc, hvc, smc, ..

Jminu
'분류 전체보기' 카테고리의 글 목록 (2 Page)