본문 바로가기
  • 시 쓰는 개발자

CS 개념47

운영체제 수업 (4) 03/14 학교 수업을 정리한 내용입니다. 참고만 해주세요. 0314 목요일 CPU - Data Unit(=Data Path) CPU 구조 대략적으로 설명 ALU Operand1. AC Operand2. DR ALU의 출력은 AC로 레지스터의 기능 (TR, INPR, OUTR는 다루지 않음) 데이터 받고 load 데이터 값 증가 (inc) 데이터 삭제 (clear) Special Purpose Register AR (Address Register) 명령어의 주소를 PC로부터 전달받아 저장한다. 데이터 주소 가능 , 명령어 주소 가능 PC (Program Counter) "다음 실행할" 명령어의 메모리상 주소를 저장한다. 데이터 주소는 불가능 , 명령어 주소만 가능 IR (Instruction Register) 실행.. 2024. 3. 22.
운영체제 수업 (3) 03/12 학교 수업을 정리한 내용입니다. 참고만 해주세요. 0312 화요일 OS 14개 기본 규칙 (믿고 가기) 8. 모든 내부 활동들은 메인 메모리를 사용한 CPU에 의해 실행되는 프로그램들이다. 즉, 컴퓨터에서 어떤 일이 일어나고 있다 = CPU가 메인 메모리를 이용해 프로그램을 실행중이다. 9. 프로그램은 User Program(System Program) / OS Program 이렇게 2개의 종류만 있다. Application들은 다 User Program 이다. 브라우저, 컴파일러, 에디터같은 것들은 System Program이라고도 하는데, 여기서는 User Program으로 합쳐서 간주한다. 10. 모든 프로그램은 User Program / OS Program으로 나뉜다. 11. OS가 하는 일은 프.. 2024. 3. 19.
운영체제 수업 (2) 03/07 학교 수업을 정리한 내용입니다. 참고만 해주세요. 0307 목요일 컴퓨터 시스템의 4개 컴포넌트 하드웨어 → 운영체제 → 애플리케이션 (시스템프로그램/애플리케이션 프로그램) → 사용자 [2] 디바이스 내에서는 구분을 굳이 하지 않는다. CPU와 메모리가 있고, 그 외는 디바이스이다. [3] 커널은 OS의 핵심기능을 담당하고, 그 위에 Application, 그 아래에는 하드웨어가 있다. OS 오버뷰 운영체제는 하드웨어를 관리해준다. OS가 UserProgram과 HardWare를 분리한다. 이를 통해 유저가 편리하게 쓸 수 있게 도와주고, 자원 관리를 효율적으로 할 수 있다.(User Convenience & Resource efficiency) 우리는 CPU, Memory, HDD를 메인으로 배운다. .. 2024. 3. 17.
운영체제 수업 (1) 03/05 학교 수업을 정리한 내용입니다. 참고만 해주세요. 0305 화요일 교수님은 과장 될 사람들을 가르친다. 멋진 과장이 된다는 마인드로 공부해라. 컴퓨터구성 내용 알고 있어야함. CPU, 레지스터 등. 여기서 3개만 배운다. CPU(10주) / 메모리(3주) / 하드디스크(2주) 나중에 까먹을 내용도 지금 필요하면 공부해라. 까먹으면 그때 가서 또 공부해라. 대신 2번째 공부할 때는 처음보다 쉽고 빠르게 할 수 있다. 과장님 되는 법) 관심 - 의지 - 관찰 - 습관 - 통찰력(내년엔 어떤 기술이 나올지에 대한 통찰력) 싸워서 이기는 게 아니라, 이기기로 되어있는 전투를 단지 실행으로 옮겨라. 습관은 의도적으로 시작하고, 나중엔 의식하지 않아도 할 수 있다. 내가 할 수 있는 것만 하자. 그리고 남은 시간에.. 2024. 3. 17.
warning: LF will be replaced by CRLF 다른 상황에서도 뜨는 에러인지는 모르겠는데, 나는 github에 올리려고 add하니까 뜬 에러였다. 그래서 깃허브와 관련이 있는지는 모르겠지만 github 카테고리에 넣어두었다 ... 보통 window와 mac이 협업할 때 생기는 오류라고 한다. 문서의 끝이 LF(맥)와 CRLF(윈도우)로 서로 다르기 때문에 오류가 발생한다. git config --global core.autocrlf true 오류 해결을 위해, LF와 CRLF를 서로 변환해주는 기능을 켜준다. 2024. 1. 23.
프로젝트를 github에 연결하기 (왕초보) 깃허브를 연결할 때는 repository를 먼저 만들고 연결할 수도 있고, 프로젝트 파일을 먼저 만들고 후에 깃허브 repository를 만들어서 연결할 수도 있다. 이번 포스팅에서는 후자를 이야기해보자. 프로젝트 초기에, 노트북에서 작업을 먼저 하고 있었는데 이후 팀 깃허브가 만들어져서 연결해야한다고 치자. git init 먼저 git을 사용할 준비를 해야한다. 그것이 git init인데, 이를 하지 않고 깃허브를 연결하려고 하면 아래와 같은 오류가 발생한다. 따라서 우리는 git init 후, 깃허브와 연결한다. git remote add origin [깃허브주소] 이제 깃허브와 프로젝트를 연결해야한다. 명령어는 git remote add origin [깃허브주소]이다. 아래 사진과 같은 과정을 거치.. 2024. 1. 18.
리눅스로 *.c파일 컴파일하기 GCC란? GCC는 GNU Complier Collection의 약자로, 리눅스를 공부하며 접하게 된다. 영어 뜻에서도 알 수 있듯이 컴파일러이다. 그래서 리눅스상에서 어떤 파일을 만들고 실행하고 싶을 때 컴파일하는 도구로써 사용된다. 참고로, 약자에서 나오는 GNU는 운영체제라고 생각하면 되고, GNU와 Linux를 합쳐서 사용하기 때문에 Linux라고 하는 경우가 많다. 보통 C언어를 작업할 때 접하고, 요즘엔 C++, java등도 지원한다고 한다. 컴파일 과정 컴파일 과정을 알아야하는 이유는, 하나의 소스파일이 실행되면서 점점 이상한 확장자의 파일들이 생기는데 그때마다 혼란스럽지 않기 위함이다. 컴파일해서 소스코드가 실행파일이 되는 과정을 4가지 단계를 거친다. 즉, 저기 아래에서 이야기할 예정인 .. 2023. 11. 26.
LINUX란 ? LINUX 리눅스는 본질적으로 하드웨어와 여러 자원들을 관리해주는 "운영체제"이다. 리눅스는 유닉스(UNIX)라는 운영체제를 기반으로 만들어졌는데, 유닉스보다 명령어 등을 좀 더 쉽게 바꾸어 사용의 편리성을 높였다. 리눅스는 OS임에도 불구하고 오픈소스라서, 누구나 소스코드를 이용/수정/재배포 할 수 있다. 그래서 사용자에 맞게, 그리고 용도에 맞게 자유롭게 수정해 적용할 수 있다. 이러한 맥락에서 우분투가 나왔다고 할 수 있다. 현재는 가정용도 포함해 웹 서버, 클라우드 컴퓨팅, 임베디드 등 여러 분야에서 사용되고 있다. LINUX의 특징 오픈소스 : 오픈소스라는 것이 어쩌면 가장 큰 특징이라고 생각한다. 오픈소스이기 때문에 사람들이 여러 분야에서 자유롭게 활용하고, 각자 상황에 맞게 수정하며, 버그를.. 2023. 11. 15.
SQL과 NoSQL의 차이 프로젝트를 하다보면 SQL은 뭐니까~ NOSQL은 뭐라서 ~~ .... 이런 이야기를 많이 하는데 속으로 뭔지 몰라서 멍하니 있었다. 이번 기회에 제대로 잡아보자. SQL NoSQL 관계 관계형 DB (RDB) 비관계형 DB 스키마 SQL을 사용, 스키마를 미리 정해둔다. 구조화되지 않은 데이터를 위한 동적 스키마 확장방식 수직적 확장 수평적 확장 데이터 형식 테이블 기반 문서, key-value, 그래프 기반 유지비용, DB복잡도 높다 낮다 DB예시 MySQL, MariaDB, Oracle MongoDB, Redis SQL과 NoSQL의 주요 차이점은 ? 테이블간의 관계 여부 SQL : 테이블이 구성되고 테이블은 특정 구조를 가지며 테이블끼리 연결된다. 따라서 SQL은 특정 방식으로 액세스해야 하는 데.. 2023. 11. 9.