Linux
-
[Linux] 멀티 스레드와 싱글 스레드 성능 비교하기 _pthreadLinux 2023. 4. 14. 16:33
pthread를 이용해서 멀티 스레드와 싱글 스레드 성능 비교하기 이번 운영체제 과제는 멀티 스레드가 싱글 스레드보다 빠르게 작업 수행이 가능하다는 것을 증명하는 코드를 구현하는 거였어요. 🤔 아래는 과제의 본문입니다. 교수님께서 부가적으로 말씀하신게 sleep()은 쓰지 말라고 하시더군요 🍊 pthread와 관련된 함수 📍 pthread_craete() pthread_create() : 새로운 스레드를 생성하는 함수 #include int pthread_create(pthread_t *thread, const pthread_attr_t *attr, void *(*start_routine) (void *), void *arg); thread: 새로운 스레드의 식별자를 저장할 변수의 포인터입니다. pthr..
-
[Linux] 공유 메모리(Shared Memory)로 채팅 프로그램 구현하기 _IPCLinux 2023. 4. 10. 18:24
IPC 공유 메모리(Shared Memory)로 채팅 프로그램 구현하기 이번 운영체제 과제가 리눅스 환경에서 IPC 기술을 이용한 채팅 프로그램을 만드는 거였어요. 🍊 Shared Memory와 관련된 함수 puts() puts는 문자열을 출력하는 함수입니다. puts 함수는 인자로 받은 문자열을 화면에 출력하고, 마지막에 자동으로 개행문자(\n)를 추가해줍니다. getpid() getpid()는 C언어에서 사용되는 함수 중 하나로, 현재 프로세스의 ID(Process ID, PID)를 반환하는 함수입니다. getpid() 함수는 unistd.h 라이브러리에 선언되어 있습니다. shmget() 공유 메모리(segment)를 생성하거나, 이미 생성된 공유 메모리를 얻는데 사용됩니다. 공유 메모리는 여러 프..