[CS] 컴퓨터 구조에 대해서 자세하게 알아보자
컴퓨터 구조 지식은 크게 두가지로 나뉜다.컴퓨터가 이해하는 정보 : 데이터와 명령어컴퓨터의 4가지 핵심 부품 : CPU, 주기억장치, 보조기억장치, 입출력장치컴퓨터 구조를 이해하는 이유는 프로그래밍 문법만으로는 알기 어려운 성능, 용량, 비용을 고려한 개발이 가능하게 하며 문제 해결 능력을 향상 시키기 때문이다. 데이터문자 표현컴퓨터는 0과 1만 인식한다. 그러면 한글과 영어, 특수문자는 어떻게 표현될까? ‘A’는 65 (1000001)로 변환되어 표현됩니다. 이를 인코딩이라 하며 유니코드가 가장 널리 사용된다.실수 표현0.625를 2진법으로 표현하면 0.101이 된다. 이를 통해 컴퓨터에서 실수를 표현하는 두 가지 방식이 있다.고정소수점장점 : 표현 방식이 간단하다던좀 : 표현할 수 있는 버위가 적다부..
- ◽️ Programming/◽️ Computer Science
- · 2024. 7. 15.
[CS] 운영체제에 대해서 자세하게 알아보자
운영체제란 무엇인가?운영체제란 컴퓨터 전체를 진두지휘하는 핵심 프로그램을 말한다.CPU 스케줄링 : 프로그램들에게 CPU를 어떻게 할당하고 관리할 것인지 결정메모리 관리 : 메모리를 어떻게 할당하고 관리할 것인지 결정프로세스 관리 : 프로세스의 실행을 제어하고 관리파일 관리 : 파일 시스템을 관리입출력 관리 : 입출력 장치를 제어하고 활용운영체제는 커널 영역에서 실행되며, 나머지 프로그램들은 사용자 영역에 적재된다. 주요 운영체제UNIX : 1969년 벨 연구소에서 개발된 운영체제로, 이식성이 좋고 커널 크기가 작으며, 소스 코드가 공개되었다.NINUX : UNIX의 영향을 받은 리누스 토발즈가 개발한 운영체제로, 소스가 공개되어 있다.POSIX : UNIX 운영체제 기반의 인터페이스로 리눅스도 POSI..
- ◽️ Programming/◽️ Computer Science
- · 2024. 7. 13.
객체지향 프로그래밍과 SOLID원칙
SOLID는 객체 지향 프로그래밍과 설계에서 중요한 다섯가지 원칙을 나타내는 약어이다. 각 글자는 특정한 설계 원칙을 의미하고, 이 원칙들을 통해 더 유지보수가 쉽고, 확장 가능하며, 이해하기 쉬운 코드를 작성할 수 있도록 도와준다. Single Responsibilty Principle단일 책임 원칙으로써 클래스는 하나의 목적을 가져야하며, 클래스를 변경하는 이유는 단 하나의 이유여야 한다.SRP를 위반하는 예와 준수하는 예를 한번 살펴보자SRP를 위반하는 예class UserManager { func createUser(name: String, age: Int) { // 유저 생성 로직 } func sendWelcomeEmail(email: String) { ..
- ◽️ Programming/◽️ Computer Science
- · 2024. 6. 24.
비트와 바이트 ( CS 50 강의 )
비트 정보를 저장하고 연산을 수행하기 위해 컴퓨터는 비트 라는 측정 단위를 사용한다. 비트는 이진 숫자라는 뜻을 가진 binary digit 의 줄임말이며, 0 과 1, 두가지 값만 가질 수 있는 측정 단위이다. 디지털 데이터를 여러 비트들로 나타냄으로써 두 가지 값만을 가지고도 많은 양의 정보를 저장할 수 있으며, 컴퓨터는 저장되어 있는 데이터를 수정하기 위해 비트에 수학적 연산을 수행할 수 있다. 비트열 하나의 비트는 0과 1, 이 두가지의 값만 저장할 수 있다. 컴퓨터 내부에서 물리적 표현될 때는, 켜고 끌 수 있는 스위치라고 생각할 수 있다. (켜기 = 1, 끄기 = 0 ) 하지만 비트 한개는 많은 양의 데이터를 나타내기에 턱없이 부족하다. 그렇기 때문에 여러 숫자 조합을 컴퓨터에 나타내기 위해 ..
- ◽️ Programming/◽️ Computer Science
- · 2024. 4. 19.
기억장치 ( CS 50 강의 )
기억장치 컴퓨터가 계산을 수행하기 위해서는 비트와 바이트의 형태로 기억장치에 저장할 수 있어야 한다. 컴퓨터가 나중에 데이터를 검색할 수 있도록 보관을 하는 것인데, 하지만 기억장치는 종류마다 서로 다른 속도를 내고 내부에 저장할 수 있는 양에 차이가 있어 서로 다른 장단점을 가지고 있습니다. CPU 캐시 , 하드디스크 , RAM CPU는 용량이 매우 큰 파일이나 데이터를 처리해야 하지만, 한번에 32 또는 64bit의 블록 단위로 굉장히 적은 양의 데이터를 조작하고 계산한다. 하지만 중앙처리장치는 이러한 비트들을 굉장히 빠른 속도로 처리할 수 있다. 하드디스크는 CPU 보다 훨씬 많은 양의 데이터를 저장할 수 있다. 하드디스크는 기가바이트나 테라바이트 단위의 데이터를 저장할 수 있다. 엄청나게 많은 양..
- ◽️ Programming/◽️ Computer Science
- · 2024. 4. 8.
하드웨어 (CS 50 강의)
하드웨어 하드웨어는 컴퓨터를 물리적으로 구성하는 요소이며, 컴퓨터에 연결되어 추가적인 기능을 수행한다고 합니다. 하드웨어는 다양한 형태와 구성 요소가 있고 소비자들은 다양한 하드웨어의 기능과 차이점을 잘 알수록 필요한 하드웨어를 추가할 수 있을 것이기 때문에 이 강의에 시작인 것 같습니다. 컴퓨터 내의 하드웨어 컴퓨터의 하드웨어는 크게 중앙처리장치, 기억장치, 입출력 장치로 구성되어 있습니다. 중앙처리장치(CPU) 는 프로세서 라고 불리기도 하는데, 입력장치에서 받은 명령을 실제로 처리 합니다. CPU가 1초에 얼마나 많은 연산을 할 수 있는지 속도를 측정하는 단위는 기가 헤르츠(GHz) 입니다. 기억장치는 입력된 명령이나 데이터가 저장되는 공간으로, 주기억장치와 보조기억장치로 나눠집니다. 주기억 장치에..
- ◽️ Programming/◽️ Computer Science
- · 2024. 3. 27.