Operating System(9)
-
Chapter 4: Threads
본 게시글은 Operating System Concepts - 9th Edition(공룡책)을 바탕으로 쓰여졌습니다 목표 thread의 개념 소개 Pthread, Windows, Java thread 라이브러리 implicit threading multithreaded programming 관련 문제 Windows 와 Linux의 threads Thread 실행 흐름 CPU의 기본 단위 멀티스레드 컴퓨터 시스템의 기본 대부분 applications은 멀티스레드 스레드는 application 안에서 작동 스레드 생성은 프로세스 생성에 비해 가벼움 코드를 간결화하고, 효율성을 높임 kernels은 일반적으로 멀티스레드 Multithreaded Server Architecure Benefits 책임감(resp..
2021.12.10 -
IPC(Interprocess Communication)
Independent vs cooperating process Independent: 다른 프로세스에 영향을 끼치거나 영향을 받을 수 없음 Cooperating: 다른 프로세스 실행에 영향을 끼치거나 영향을 받을 수 있 - 장점: 정보공유 / 계산 속도 증가/ modularity/ 편리함 IPC(Interprocess Communication) IPC(Interprocess Communication) : 내부 프로세스 간의 협력, 커뮤니케이션 - cooperaing process가 필요한것 Shared Memory communication하기를 원하는 프로세스 간의 공유된 메모리 공간 system call을 부를 필요가 없음 속도가 빠름 생성 공간의 제한이 있음 OS가 아닌 users processes에..
2021.12.02 -
System Program
program 개발과 실행을 위한 환경 제공 OS가 제공하는 service의 대행 대부분의 OS에 대한 사용자의 관점은 system program에 의해 정의된다 System programming language를 통해 System을 쌓는 것 File Modification 파일을 생성하거나 수정하기 위한 에디터 파일의 특정 내용이나 글을 변경하기 위한 명령어 Programming Language Support Compiler, Debugger, Assembler, interpreters(가끔) Program Loading and Execution 실행 준비를 마친 프로그램은 메모리로 load되어야 함 loader, linkage editor, debugging system Communications 프..
2021.12.02 -
System Calls
System Calls OS에 의해 제공되는 Programming Interface 주로 하이 레벨(high-level)인 C나 C++로 작성 API(Application Programming Interface)를 통해 프로그램에 접근 #include ssize_t read(int fd, void *buf, size_t count) //return value, function name, parameters -Example of Standard API 가장 흔한 API: Win32, POSIX API, Java API System Call Implementation 숫자가 각 System Call과 연관 - system call interface는 이 숫자로 index system call interfaa..
2021.12.02 -
Operating System Service
OS는 프로그램과 사용자에게 프로그램과 서비스의 실행 환경을 제공 사용자에게 편리한 기능 제공 User Interface(UI) - CLI(Command-Line), GUI(Graphics User Interface), Batch Program Execution - 프로그램을 메모리에 넣기, 프로그램 실행, 프로그램 실행 종료 I/O operations - file이나 I/O장치 File-system manipulation - 파일 생성, 삭제, 읽기, 쓰기... Communication - 프로세스 사이의 통신, 다른 컴퓨터 간 통신, 메모리 공유나 메시지를 통해 정보 교환 Error detection - 가능한 에러를 인지, 각 에러에 맞는 조취를 해야 함 자원 분배를 통한 효율적인 실행을 보장 Re..
2021.12.02 -
프로세스(Process) & 스레드(Thread)
프로그램(Program) 정의된 업무를 수행하기 위한 명령어들의 순서 정적인 상태 - 아직 실행 중이 아님 운영 체제로부터 독립적 메모리를 할당 받지 못함 프로그램 카운터(Program Counter) 다음에 실행할 명령어를 결정 프로세스(Process) 실행 중인 하나의 프로그램의 인스턴스 운영 체제로부터 할당 받은 작업의 단위 특징 프로세스는 각각 독립된 주소 공간을 가짐 프로세스는 적어도 한 개 이상의 control의 흐름(스레드)을 가짐 운영체제로부터 시스템 자원을 할당 받음 - 메모리, CPU시간, IO장치 다른 프로세스의 자원에 접근하려면 프로세스간 통신(IPC)을 통해서만 가능 운영 체제의 최소 작업 단위 스레드(Thread) 프로세스 내에서 실행의 흐름을 표현 프로세스가 할당 받은 자원을 ..
2021.11.22