분류 전체보기

🍀 Knowledge/운영체제(OS)

[운영체제] 리눅스 명령어 정리

도입 _~_ : 홈 디렉토리 _/_ : 루트 디렉토리 _$_ : normal user _#_ : super user _passwd _: 비밀번호 재설정하기 _su(substitude user)_ : 다른 사용자나 그룹의 ID로 셸을 실행 _exit_ : 셸 종료 파일 들여다보기 _file_ : file의 type보기 _which_ : 명령어 실행 경로 확인하기 _less_ : file의 contents 확인하기 디렉토리 들여다보기 _pwd_ : 현재 작업 디렉토리 출력 _cd_ : 디렉토리 변경 cd - : 직전 디렉토리로 이동 _._ 는 상대 경로 기준이고 _/_ 는 절대 경로 기준이다. _ls_ : 디렉토리 내 파일 목록 출력 파일 타입이 디렉토리면 그 디렉토리 -l : 줄줄이 나열 -a : 숨김 파..

🍀 Knowledge/데이터통신

[데이터통신] 데이터 통신과 네트워크

Data Communication 네트워크는 통신이 가능한 일련의 기기들이 상호 연결된 것이다. 여기에서 기기란 컴퓨터, 데스크톱, 노트북, 휴대전화 같은 것이 될 수도 있고, 혹은 데이터 형식을 변경하는 라우터, 스위치, 모뎀과 같은 것이 될 수 있다. Network Criteria 네트워크를 평가하는 데 있어 중요한 요소는 다음과 같다. Performance(성능) transit time, response time, throughput, delay Reliability(신뢰성) 고장의 빈도 수 고장에서 복구되는 시간 재해에 대한 네트워크 복구 Security(보안) 비 허가된 접근에 대한 보호 데미지나 개발에서 데이터를 보호 위반 및 데이터 손실 복구를 위한 절차 구현 Physical Structur..

🐣 Spring/JPA

[JPA] 다양한 연관관계 매핑 알아보기

* 해당 글은 김영한 강사님의 자바 ORM 표준 JPA 프로그래밍 - 기본편을 보고 간단하게 정리한 글입니다.(자세한 내용은 강의가 최곱니다. 강의 사세요) 자바 ORM 표준 JPA 프로그래밍 - 기본편 강의 - 인프런 저는 야생형이 아니라 학자형인가봐요^^ 활용편 넘어갔다 30% 정도 듣고 도저히 답답해서 기본편을 들어버렸네요^^. 한주 한주 김영한님 강의 들으니 렙업되는 모습을 스스로 느낍니다. 특히 실 www.inflearn.com 다대일 관계 다대일 단방향 연관관계의 주인은 다 쪽에 있다. "다"쪽에서 "일"쪽으로만 참조가 가능하다. @ManyToOne @JoinColumn(name = "TEAM_ID") private Team team; 위와 같이 _@JoinColumn_을 통해 관계를 설정할 ..

🍀 Knowledge/운영체제(OS)

[운영체제] Process Control Block이란?

Control Data Structure _Control Data Structure_는 프로세스들을 관리하기 위해 OS에 의해 사용되는 데이터 구조이다. 각각의 프로세스와 자원에 대한 현재 상태 정보를 가지고 있다. 그리고 OS 시스템 관리에 있어서 각각의 엔티티 마다 테이블들이 구성되는데, 그 중에서 프로세스를 관리하는 테이블을 TCB, Table Control Block이라고 한다. Process Control Block(PCB) PCB는 각각의 Process마다 할당된다. 그리고 내부에는 여러가지 프로세스와 관련된 속성들을 가지고 있다. Identifier : 고유한 식별자이다. State, Priority : 앞서 살펴본 프로세스의 상태 정보이다. Priority는 우선순위를 저장한다. Progr..

🍀 Knowledge/운영체제(OS)

[운영체제] 프로세스 상태도 알아보기

Five State Process Model _Five State Process Model_은 프로세스가 실행되고 종료될 때까지의 흐름을 나타낸 것인데, 이 흐름은 굉장히 중요하므로 기억해 두자. 먼저, 프로세스가 OS에 의해서 새롭게 생성될 것이다. 이는 _fork_라는 명령어로 인해 생성되며 _job queue_ 내부에 들어가게 된다. 해당 상태를 _new_라고 한다. 그 후에 _Ready Queue_안에 프로세스가 들어가게 되어 _Ready_상태를 지닌다. 그 후, 프로세스 스케줄링 정책에 따라서 _Running_상태로 변경될 프로세스들이 선택하게 되어 _Dispatcher_함수를 통해 실제로 프로세스가 프로세서에 할당된다. _Running_상태에 있는 프로세스들은 총 3가지 길목을 마주하게 된다...

🍀 Knowledge/운영체제(OS)

[운영체제] 프로세스의 기본 개념 알아보기

프로세스란? 프로세스란 실행 중인 프로그램이다. xxx.exe는 프로그램이지만, 프로세스는 아니다. 이 프로그램을 더블클릭하여 실행시켜야만 프로세스라고 하는 것이다. 조금 더 정확하게 말하자면, 일련의 명령어의 실행, 혹은 상태로 특정지 어지는 실행의 단위이다. 그러면 누가 프로세스를 만들까? 결국 두 가지 중 하나가 만들게 되는데, 첫 번째는 인간이다. 인간이 GUI 혹은 Command Line을 통하여 프로그램을 시킨다. 두 번째는 프로세스에 의해서다. 이때의 경우 OS process 혹은 User Process가 프로세스를 만들게 된다. 프로세스의 구성 요소? 실행할 수 있는 프로그램(code, text) 프로그램에 사용되는 데이터 기타 실행을 위한 운영체제의 자원(Execution Context)..

🍀 Knowledge/운영체제(OS)

[운영체제] 커널의 종류와 구조를 알아보자.

Monolithic Kernel 운영체제의 주요기능들이 모두 커널 내부에 구현되어 있는 것을 Monolithic Kernel이라고 한다. 또한 커널 모드로 실행되는데, 커널 모드란 컴퓨터가 운영 프로그램 코드를 실행하는 것이 아니라 운영체제의 코드를 실행하는 상황을 말한다. 이러한 Monolothic Kernel은 운영체제 실행 속도가 일반적으로 빠른 편이다. Micro Kernel 몇몇 개의 중요한 기능을 제외하고, 나머지 운영체제 기능이 커널 외부에서 작동하는 것을 Micro Kernel이라고 한다. 여기서 꼭 커널에만 있어야 하는 중요한 기능들은 하드웨어를 직접 제어해야 하는 코드나 프로세스 메모리 영역을 보호하거나, 프로세스들 간의 기본적인 통신 기능, 스케줄링 기능들이 있다. 그 이외의 기능은 ..

🐣 Spring/JPA

[JPA] 연관관계 매핑의 기초

* 해당 글은 김영한 강사님의 자바 ORM 표준 JPA 프로그래밍 - 기본편을 보고 간단하게 정리한 글입니다.(자세한 내용은 강의가 최곱니다. 강의 사세요) 자바 ORM 표준 JPA 프로그래밍 - 기본편 강의 - 인프런 회사땜에 매일 바쁜 와중에 학원이라도 다닐까 생각했는데 마침 JPA 강의가 생겨서 꿀 타이밍이네요. 저는 이 전에 JPA 책을 보고 공부 했었는데요 궁금했던 점, 업무에 적용하며 고민하고 해결하 www.inflearn.com Intro JPA를 사용하기 위해 객체 지향에서의 연관관계와 관계형 데이터베이스에서의 연관관계를 제대로 매핑하는 것이 핵심이다. 따라서 객체 지향에서 테이블에 대한 연관관계를 제대로 이해할 필요가 있는데, 이는 용어부터 제대로 알아야 한다. 우선 각 엔티티의 입장에서..

🍀 Knowledge/운영체제(OS)

[운영체제] 분산 시스템과 System Call이란?

Networking and Distributed Systems 분산 시스템(Distributed System)이란 여러 대의 컴퓨터들을 하나의 네트워크로 묶어 하나의 응용 프로그램을 실행할 수 있도록 하는 것이다. 여기서 컴퓨터들은 각각 하드웨어와 OS를 지니며 처리 속도를 빠르게 할 수 있고, 하나의 네트워크를 형성하기 위해 특정한 규약(프로토콜)을 사용한다. 또한 하나의 컴퓨터가 다운되더라도, 다른 컴퓨터가 그 기능을 수행할 수 있어 안정성이 높다. 이러한 분산 시스템을 사용함으로써, 얻을 수 있는 이점은 아래와 같다. 서비스를 수행하는 데 처리 속도를 높일 수 있다. 데이터를 다중화시켜 가용성을 높일 수 있다.(Data Availability) 신뢰성(reliability)을 높일 수 있다. Com..

🍀 Knowledge/운영체제(OS)

[운영체제] 멀티 프로그래밍과 Time Sharing

Operation System의 발전 이전에는 Operation System이 없었기 때문에 직접 수동으로 하드웨어 장치를 제어하였다. 하지만 이러한 방법은 너무 효율이 떨어졌기에 모니터라는 것을 만들게 되었다. 모니터는 일련의 과정을 제어하는 소프트웨어이다. 따라서 프로그램들이 묶여있으며 그 순서대로 실행될 수 있도록 도와준다. 그리고 이렇게 여러 개의 프로그램들을 묶어놓고 있다가 차례로 하나씩 실행시켜 놓는 방식을 일괄 처리 즉, Batch System이라고 한다. 모니터는 이러한 Simple Batch System 안에서 일련의 과정들이 차례로 수행되었다. Uni-programming 위 그림은 Uniprogramming의 CPU의 동작 방식을 나타낸 것이다. _Run_이라는 상자가 있는 동안에는 ..

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