일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 | 31 |
- youtube review
- 열거형
- sqld
- 컴퓨터 구조
- gitkraken을 통한 프로젝트 올리기
- oracle
- github에 새 리포지토리 추가하기
- 친절한 SQL 튜닝
- 이것이 오라클이다
- 데이터 모델링
- 혼자 공부하는 네트워크
- 인덱스의 개념과 장단점
- mysql 설치 방법과 정상 작동 확인하기
- 운영체제
- 웹 디자인 기능사
- 혼자 공부하는 컴퓨터 구조 + 운영체제
- 혼자 공부하는 SQL
- Update
- 컴퓨터 활용 능력 1급
- 클러스터형 인덱스와 보조 인덱스
- 명령 프롬프트
- 혼자 공부하는 컴퓨터 구조 및 운영체제
- 첫 프로그래밍
- delete
- 데이터모델링
- 컴퓨터 활용 능력
- 리눅스 마스터 2급
- 뷰
- 2025-02-13
- INSERT
- Today
- Total
목록2024/10/18 (17)
코딩 브이로그

안녕하세요, 혼자 공부하는 컴퓨터 구조 + 운영체제를 공부하고 학습한 자료를 남깁니다.01.들어가며(이 프로세스들이 동시에 실행해도 괜찮을까?)(스레드 또한 동기화의 대상이기도 하다.)(프로세스들의 동기화를 고려해야 한다.)02.동기화의 의미공동의 목적을 위해서 동시 다발적으로 협력해서 수행되는 프로세스들은 아무렇게나 실행되서는 안 된다.올바른 수행을 위해 프로세스들을 동기화해주어야 한다.실행 순서 제어, 상호 배제 이렇게 두 가지 동기화가 있다.실행의 문맥을 갖는 프로세스 및 스레드는 동기화의 대상이다.03.실행 순서 제어를 위한 동기화반드시 writer 프로세스가 실행되어야 reader 프로세스가 같은 작업 파일인 book.txt 파일을 읽을 수 있다.04.상호 배제를 위한 동기화프로세스가 교차해서 ..

안녕하세요, 혼자 공부하는 컴퓨터 구조 + 운영체제를 공부하고 학습한 자료입니다.들어가며있는 그대로 외우기 보다는 알고리즘의 아이디어(작동방식, 장단점)에 주목하기0.목차01.선입 선처리 스케줄링(먼저 들어온 프로세스를 먼저 처리)02.최단 작업 우선 스케줄링(CPU 사용시간이 짧은 프로세스를 먼저 실행, 선점형 또는 비선점형 스케줄링으로 구현될 수 있다. 보통 비선점형 스케줄링으로 사용된다.)03.라운드 로빈 스케줄링(선입 선처리 스케줄링에 타임 슬라이스의 기능이 더해진 스케줄링, 즉 정해진 시간 만큼만 돌아가면서 CPU를 할당하는 스케줄링이다. 정해진 시간 이후에는 다시 큐의 맨 뒤에 삽입)(타임 슬라이스의 크기가 매우 중요해진다. 타임 슬라이스의 크기가 매우 클 경우, 오버헤드가 발생할 가능성이 높..

안녕하세요, 혼자 공부하는 컴퓨터 구조 + 운영체제를 공부하고 학습한 자료를 남깁니다.들어가며프로세스에도 우선순위가 있다.Prcess 우선순위 할당 방법(입출력 장치가 많은 프로세스를 빨리 먼저 처리하고, cpu 처리가 많이 필요로 하는 프로세스를 나중에 집중해서 처리하는 방식을 주로 선호한다.)리눅스 또는 macos에서 Process Priority를 확인하는 방법윈도우에서 Process Priority를 확인하는 방법일일이 모든 PCB들을 점검해서 CPU의 우선순위를 선정할 수는 없다.스케줄링 큐를 통해 먼저 들어온 입출력 장치들이나 CPU가 필요한 프로세스들을 처리한다.(큐 구조를 통해 스케줄링 큐를 구현한다. First in First out)준비 큐와 대기 큐(큐를 통해서 먼저 들어온 프로세스가..

안녕하세요, 처음 공부하는 컴퓨터 구조 + 운영체제를 공부하고 학습한 자료를 남깁니다.직접 repl.it 웹 사이트를 통해서 멀티 스레드 및 같은 프로세스를 공유하는 것을 확인해 보았습니다.멀티 스레드 테스트 코드프로세스에 멀티 스레드를 적용한 방식입니다.pid값을 통해 각각의 스레드는 같은 프로세스를 갖지만, 각각의 스레드는 각각의 고유 스레드 id값을 갖는 것을 확인할 수 있습니다.*threading: thread를 생성하기 위한 라이브러리*os: pid를 확인하기 위한 라이브러리 감사합니다.참고 url - https://www.youtube.com/watch?v=yTZ1ECY2Vjc&list=PLYH7OjNUOWLUz15j4Q9M6INxK5J3-59GC&index=33

안녕하세요, 혼자 공부하는 컴퓨터 구조 + 운영체제를 공부하고 복습한 자료를 남깁니다.실습 자료repl.it 사이트를 통해서 Python을 직접 설치하지 않고 멀티 프로세스를 테스트해보았습니다.그 결과로, 부모의 pid는 같지만자식의 pid들은 서로 다르게 찍히는 것을 볼 수 있습니다.자식 프로세스들을 많이 만듦을 통해서 다른 작업들을 수행할 수 있습니다.*os: pid를 읽기 위해 사용된 라이브러리*Process: process를 만들기 위해 사용된 라이브러리 감사합니다.참고 url을 남깁니다.https://www.youtube.com/watch?v=XexLQRaKoTA&list=PLYH7OjNUOWLUz15j4Q9M6INxK5J3-59GC&index=32

안녕하세요, 혼자 공부하는 컴퓨터 구조 + 운영체제를 공부하고 학습한 자료를 남깁니다.소프트웨어적인 스레드를 의미한다.프로그래밍은 스레드를 고려하여 대부분 진행된다.멀티 스레드와 멀티 프로세스가 어떻게 다른지 학습해보도록 하겠다.들어가며단일 프로세스멀티 스레드프로세스를 이루는 프로세스를 위한 여러 명령어를 동시에 실행이 가능할 수 있다.스레드의 구성 요소스레드들은 그 프로세스의 자원을 공유하면서 실행하면 좋겠다.스레드는 실행 흐름의 단위이다.리눅스는 프로세스와 스레드를 임의적으로 구분하지 않는다.요즘 운영체제들은 cpu에게 전달을 할 때 프로세스 단위가 아니라 스레드 단위로 전달을 한다. 멀티 프로세스와 멀티 스레드 비교프로세스끼리는 기본적으로 서로 서로 자원을 공유 하지 않지만스레드끼리는 같은 프로세스..

안녕하세요, 혼자 공부하는 컴퓨터 구조 + 운영체제를 공부하고 학습한 내용을 남깁니다.들어가며동시에 실행되는 각각의 프로세스의 실행 상태를 볼 수 있다.이를 계층적으로 관리합니다.공통적으로 실행되는 프로세스 상태*운영체제마다 조금씩 차이가 있음생성 상태준비 상태실행 상태대기 상태종료 상태프로세스 상태 다이어그램프로세스의 계층 구조프로세스는 계층적인 구조를 형성합니다.프로세스의 계층 구조최초의 프로세스는 부팅시 실행되는 프로세스입니다.프로세스의 계층 구조의 예최초의 프로세스 -> 로그인 프로세스 -> bash 프로세스 -> vim 프로세스최초의 프로세스 (pstree)systemd: 최초의 프로세스macos의 경우 launchd 입니다.프로세스 생성 기법부모 프로세스는 자식 프로세스를 어떻게 생성할까?에서..

안녕하세요, 혼자 공부하는 컴퓨터 구조와 운영체제를 공부하고 학습한 내용을 남깁니다.들어가며이러한 과정을 프로세스를 생성한다라고 한다.작업 관리자를 통한 현재 실행중인 프로세스 확인리눅스, macOS에서는 [ps 명령어]를 통해 현재 실행중인 프로세스를 확인할 수 있다.프로세스에는 크게 두 종류가 있다. 사용자가 볼 수 있는 프로세스와 사용자가 볼 수 없는 프로세스이다.데몬(daemon), 서비스(service) : 사용자와 상호작용하지 않고 그저 정해진 일만 수행하는 프로세스모든 프로세스는 CPU가 필요하다.자신의 차례에 정해진 시간 만큼만 프로세스들은 CPU를 이용*타이머 인터럽트는 클럭을 이용해서 하드웨어에 주기적으로 발생하는 인터럽트이다. 한정된 시간 동안 프로세스는 CPU를 이용한다. 그리고 다..

안녕하세요, 혼자 공부하는 컴퓨터 구조와 운영체제를 공부하고 학습한 내용을 남깁니다.시스템 호출 - strace /bin/ls아주 간단한 명령어 같지만, 실제로 시스템 콜은 굉장히 빈번하게 일어납니다.리눅스 환경에서 c 프로그램을 작성한 예제리눅스 환경에서 c 프로그램을 실행한 결과 "hello, hongong!"strace ./a.out 의 결과또한, 수많은 시스템 콜들이 호출된 것을 볼 수 있다.sudo dtruss /bin/lssudo는 관리자 권한으로 실행과 비슷한, 루트 권한으로 실행하는 명령어이다.macos에서는 dtruss라는 명령어로 시스템 호출을 조회할 수 있다.위 이미지는 /bin/ls를 macos환경에서 dtruss해서 시스템 호출을 한 결과이다. "리눅스 환경에서의 시스템 호출과 m..

들어가며 운영체제는 프로그램한테 제공해주는 기능은 다양합니다.아이폰과 안드로이드 폰이 제공해줄 수 있는 기능이 다르다. 자동차의 엔진, 사람의 심장과 같은 역할 커널은 운영체제의 핵심기능을 담당하는 한 부분유저 인터페이스는 아이콘 또는 마우스로 조작할 수 있는 그래픽 인터페이스가 있고 커맨드 라인 인터페이스가 있습니다.유저 인터페이스는 커널로 부터 도움을 받음 자원에 직접 접근을 하면 위험하다. 운영체제의 코드를 실행해야 한다. 슈퍼바이저 플래그로 사용자 모드와 커널 모드를 구분할 수 있다. 이중 모드는 CPU가 명령어를 실행하는 모드를 크게 사용자 모드와 커널 모드로 구분 시스템 호출은 커널모드로 진입하기 위해서 운영체제에게 부탁하는 것이다.각 명령어를 통해서 시스템을 호출하고 해당 명령어를 ..