파이톨치

[컴퓨터학의 이해] 끄적끄적 본문

카테고리 없음

[컴퓨터학의 이해] 끄적끄적

파이톨치 2024. 3. 26. 14:56
728x90

“3.26 컴퓨터학의 이해”

rwx rwx rwx => 111 100 100(8진수) => 7 4 4(10진수)

A2(16진수) => 1010 0010(2진수)

 

변환 계산을 다루진 않음? 

8진수는 3자리, 16진수(0x)는 4자리씩 끊어서 사용함. 

워드 => 16비트 시절 용어, 운영체제 따라서 다르다. 32비트, 64비트(QWard) 정보의 단위임. 

 

“”1의 보수”” 왜 사용하는가? 음수를 만들기 위해서 사용함. 얘는 다 바꾸면 되는데 (겹쳐서 안 쓴다)

“”2의 보수”” 얘는 1의 보수 + 더하기 1. 왼쪽 부호비트(Most Significant Bit)

 

정규화 사용하는 이유는?

부동소수점은? 정밀도의 의미는? 

32비트 단정도? 64비트 배정도? => 정밀도 2배 이상?됨

 

문자와 코드표

- 아스키코드(8비트), 유니코드 (이게 특수문자 다 들어감, 16비트)

0 => 0x30, NULL(\0) => 0x00

 

논리 표현

Boolean (0 or 1) 자료형

^ ->and, or, ~(not, negation),

 

연산 (시험은 안 낸다? 이해만)

논리 연산, 논리 함수는 패스함.

논리 회로 설계는 설명만. (근데 아는거) (시험 안 낸대)

 

=> 수는 무엇인가? 하드웨어 디바이스에 종속적임. 수를 표현할 때 불 연산을 하며, 범위는 -2 ^ n-1 ~ 2^n-1 -1 로 표현되는데 2의 보수법으로 중복되지 않는 표현을 만들 수 있다. 

정규화 하는 이유는 정밀도 표현하기 ㅜ이해서 -> 단정도 배정도 

문자를 표현하는데, 아스키 도으ㅗ아 유니코드 사용함. 

 

컴퓨터 구조 

뭔가 중간고사에 많이 나온다고 함.

 

# 컴퓨터학의 이해 4/2

명령어 , CPU에서 돌아가는게 프로세스, 프로그램은 Instruction 집합 

명령어는 operation code 와 operand로 구성됨. 

직접 주소? 상대적인 주소? 

고급(원시)언어 -> 어셉블리 -> 기계 -> 실행 

 

캐시 메모리: 멀티코어 있음. 캐시 메모리 여러 개 있음. 

시간 지역성, 최근에 쓴거 다시 될 확률 높다. 공간, 주변 더 많이 사용할 확률 높음. 

메모리 계층 구조 잘 기억해야 함. 위로 갈수록 비싸고 작음. 

버퍼: 

레지스터: 고속으로 처리 

제어장치: 해독기(명령어가 코드 형태라 이를 op code와 oprend로 해석) + 제어기 

레지스터 외울 필요 없음. 

*PC*의 역할은? 다음 실행할 명령어 메모리 주소가 저장된 레지스터 

Machine cycle은 4단계로 이루어짐. fetch, decode, execute, store 

폰 노이만 구조(architecture): 프로그램 내장 방식을 사용해서 컴퓨터가 빨라짐.

 

두 정수 합 구하기? 그냥 보고 이해하기? 시험 안 나온대

 

버스 폭과 병목 현상: 워드의 크기는 레지스터의 크기 64비트 체계면 레지스터 크기는 64비트 

레지스터가 64비트인데 자료 버스가 32비트면 병목현상이 생김.  

 

OS는 플렛폼?? 

프로세스 실행 환경 제공하는 시스템 소프트웨어 

스케줄링 기법 (FIFO, …) -> 라운드 로빈 

운영체제 역할 설명, 운영체제 그림 그리기 (가장 중요) 그림 그리고 설명하기,

user -> application -> OS -> hardware (wiki)

shell (사용자가 명령 주면 인식하고 처리하는 소프트웨어) -> gui, cli 

 

4/4 컴퓨터학의 이해 

m1칩? 

운영체제 os 

user -> app -> os -> hardware 

커널과 디바이스 드라이버 ? 

중간에 어플리 케이션 할 때ㅡ 쉘 동작. 

명령어 인식해서 변환해준다. 

 

프로세스 3가지 상태, 레디, 대기, 실행. 

메모리와 cpu 사이에서 동작한다. 

 

배치 파일? 

시분할 시스템 -> 멀티 테스킹 가능하게 함

 

운영체제 관리(프로세스, 장치와 파일,)

 

운영체제 분류(배치, 시분할, 다중, 실시간, 분산)

다중 프로그래밍 시스템 (cpu의 관점이다.) 

개념 물어봄. 

다중 작업? 단일 작업? 테스크 단위를 job이라고 한다. 

한번에 한가지 작업이나 한 프로그램만 실행하는 시스템

실시간 처리 시스템, 처리 요구 작업 발생할 때마다. 저정뙨 짧은 시간내에 작업 처리해 확실한 응ㅇ답이나 출력 보장 시스템 

특징: 

분산 처리 시스템? 

동사에 작업 수행->성능향상

자료도 복사본으로 여러 곳에 유지함. 쉽게 확장 가능

단순 물리 연결 x, 소스트웨어 시스템과 논리적 설계 필요. 

 

운영체제 (ms dos, 윈도우, os/2, mac, linux, unix)

app -> shell -> kernel(hardware) 이 그림도 중요하래

앱에서 명령어가 날라오면 shell에서 해석한다. 이를 커널에 전달해준다. 

운영체제의 커널와 사용자를 잇는 역할이 shell의 역할이다. 

커멘트 창이 shell임. 사용자가 입력하는 명령어를 기계어로 번역하여 커널에 전달하는 역할을 하는 명령어 해석기(인터프리팅) 

728x90