일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 겨울 부산
- JanusWebRTCGateway
- vfr video
- 개성국밥
- 달인막창
- JanusGateway
- Value too long for column
- taint
- 오블완
- kotlin
- terminal
- 코루틴 빌더
- 코루틴 컨텍스트
- pytest
- JanusWebRTCServer
- 깡돼후
- PersistenceContext
- k8s #kubernetes #쿠버네티스
- Spring Batch
- 헥사고날아키텍처 #육각형아키텍처 #유스케이스
- VARCHAR (1)
- 자원부족
- 티스토리챌린지
- preemption #
- python
- JanusWebRTC
- mp4fpsmod
- table not found
- tolerated
- PytestPluginManager
목록Unix/이론 (6)
너와 나의 스토리

IPC (Inter-Process communication) 같은 시스템 내의 프로세스들끼리 정보를 공유하는 메커니즘을 제공 * 외부 프로세스들끼리 통신은 소켓을 주로 사용 Permission structure IPC 객체가 만들어지면, 시스템은 IPC facility의 status 구조체를 만든다. effective user-id, group-id는 mode와 함께 접근 권한을 결정한다. umask 값은 IPC facility가 만들어질 때 영향을 미치지 않는다. msgctl, semctl, shmctl을 호출해서 udi, gid, mode를 수정할 수 있다. Identifiers and Keys Key IPC 객체의 외부 이름 IPC 구조가 만들어질 때마다(msgget, semget, shmget을 ..

Pipes 가장 간단한 유닉스 interprocess communication(IPC) 메커니즘이다. 프로세스들끼리 파일 공유하는 방식(단방향으로) special file로 나타낸다 예) $ who | wc -l $ who | wc -l -> who 명령어로 인해 나오는 출력 값을 wc -l의 입력으로 넣음 즉, [who]에서 출력 값을 pipe에 write하고, [wc -l]는 pipe에 있는 데이터를 read 함 * [who], [wc -l], [wc -L] 단독 실행한 결과 pipe() system call First-in-first-out 방식 이러한 순서는 'lseek'로 대체 불가능하다 -> pipe에서 작동 안 함 두 가지 제약 단방향(half duplex) 통신 pipe는 부모와 자식 사이..

Signal Concepts kernel에서 발생하는 일: 커널은 키보드 입력으로부터 인터럽트 캐릭터를 확인하고 SIGINT라고 불리는 시그널을 (foreground group인)모든 프로세스들에게 보낸다 cc가 시그널을 받으면, sigint와 연관된 디폴트 액션을 수행하고 종료한다. 시그널은 소프트웨어 인터럽트이다 시그널은 비동기식 이벤트를 다루는 방법을 제공한다. 시그널은 에러가 아니므로 에러처리와 혼동하지 말아야 한다. 프로세스는 시그널을 받으면 시그널을 처리하기 위한 액션을 취해야 한다. 모든 시그널은 이름을 가지며, 이 이름은 SIG-로 시작한다 이 이름은 헤더에 양수인 상수로 정의된다 signal SIGABRT: abort 함수(비정상 종료)를 호출함으로써 생성됨. 호출 프로세스 자기 자신에게..

3.1 Files in a multi-user environment Users and ownerships UNIX 시스템의 모든 파일은 시스템의 사용자 중 한명이 소유하고 있다. 소유자는 보통 파일을 만든 유저이다. 소유자의 실제 identity user-id (uid) uid는 특정 유저네임과 연관된다. Users and ownerships 각 유닉스 프로세스는 보통 프로세스를 시작한 유저의 uid와 관련된다. 파일이 만들어질 때, 시스템은 프로세스를 만든 uid를 참조하여 소유권을 설립한다. 소유권 변경 superuser 또는 파일의 소유자 superuser(username=root, uid=0) group 각 user는 한 개 이상의 group에 속한다. /etc/group에서 정의됨 그룹의 실제적..

File and Filesystem File 바이트의 연속적인 시퀀스 운영체제에서 강요하는 형식이 없다 각 바이트는 디스크 파일에서 개별적으로 주소 지정 가능 파일은 또한 외부 장치에 대한 균일한 인터페이스이다 Filesystem 컴퓨터 파일과 데이터를 저장하고 조직하는 메서드 파일을 찾고 접근하기 쉽게 한다. 파일 시스템은 데이터 저장 장치를 사용할 수도 있다 ex) CD-ROM, hard disk 2.1 UNIX file access primitives UNIX primitives open, read, write, lseek, close -> unbuffered I/O 함수 호출 실행 동안만 캐시 안에 데이터가 존재하고, 함수 호출 끝나면 캐시 안의 데이터가 지워진다. File Descriptor 프..

Logging In 유닉스 시스템에 로그인할 때, name과 password를 넣는다. 패스워드를 입력할 때, 우리의 입력이 보이지는 않지만 입력되고 있는 것이다. Shell 로그인한 후, shell에 명령어를 입력할 수 있다. ex) KornShell(/bin/ksh): $ File and Directories File system 유닉스 파일 시스템은 계층적으로 정렬되어 있다(hierarchical arrangement) 모든 디렉토리는 root(/.)로 시작한다. 디렉토리 또한 하나의 파일이다. 디바이스도 파일. 유닉스에서는 모든 게 다 파일로 취급됨 File name 파일 이름에 '/'과 null 문자열을 넣을 수 없다 . : 현재 디렉토리 .. : 부모 디렉토리 Pathname 절대 경로: /u..